UNPKG

@maximai/maxim-js

Version:

Maxim AI JS SDK. Visit https://getmaxim.ai for more info.

262 lines 8.55 kB
"use strict"; 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