@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
262 lines • 8.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MaximTestRunAPI = void 0;
const maxim_1 = require("./maxim");
class MaximTestRunAPI extends maxim_1.MaximAPI {
constructor(baseUrl, apiKey) {
super(baseUrl, apiKey);
}
async createTestRun(name, workspaceId, runType, evaluatorConfig, requiresLocalRun, workflowId, promptVersionId, promptChainVersionId, humanEvaluationConfig) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v2/test-run/create`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
name,
workspaceId,
runType,
evaluatorConfig,
requiresLocalRun,
workflowId,
promptVersionId,
promptChainVersionId,
humanEvaluationConfig,
}),
})
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
async markTestRunFailed(testRunId) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/mark-failed`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
testRunId,
}),
})
.then((response) => {
if (response.error) {
reject(response.error);
}
else {
resolve();
}
})
.catch((error) => {
reject(error);
});
});
}
async attachDatasetToTestRun(testRunId, datasetId) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/attach-dataset`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
testRunId,
datasetId,
}),
})
.then((response) => {
if (response.error) {
reject(response.error);
}
else {
resolve();
}
})
.catch((error) => {
reject(error);
});
});
}
async pushTestRunEntry({ testRun, runConfig, entry }) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/push`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
testRun,
runConfig,
entry,
}),
})
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve();
}
})
.catch((error) => {
reject(error);
});
});
}
async markTestRunProcessed(testRunId) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/mark-processed`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
testRunId,
}),
})
.then((response) => {
if (response.error) {
reject(response.error);
}
else {
resolve();
}
})
.catch((error) => {
reject(error);
});
});
}
async getTestRunStatus(testRunId) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/status?testRunId=${testRunId}`)
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
async getTestRunFinalResult(testRunId) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/result?testRunId=${testRunId}`)
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
async executeWorkflowForData({ dataEntry, workflowId, contextToEvaluate, }) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/execute/workflow`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
workflowId,
dataEntry,
contextToEvaluate,
}),
})
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
async executePromptForData({ promptVersionId, input, dataEntry, contextToEvaluate, }) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/execute/prompt`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
promptVersionId,
input,
dataEntry,
contextToEvaluate,
}),
})
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
async executePromptChainForData({ promptChainVersionId, input, dataEntry, contextToEvaluate, }) {
return new Promise((resolve, reject) => {
this.fetch(`/api/sdk/v1/test-run/execute/prompt-chain`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({
promptChainVersionId,
input,
dataEntry,
contextToEvaluate,
}),
})
.then((response) => {
if ("error" in response) {
reject(response.error);
}
else {
resolve(response.data);
}
})
.catch((error) => {
reject(error);
});
});
}
}
exports.MaximTestRunAPI = MaximTestRunAPI;
//# sourceMappingURL=testRun.js.map