UNPKG

@maximai/maxim-js

Version:

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

86 lines 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaximPromptAPI = void 0; const maxim_1 = require("./maxim"); class MaximPromptAPI extends maxim_1.MaximAPI { constructor(baseUrl, apiKey, isDebug) { super(baseUrl, apiKey, isDebug); } async getPrompt(id, promptVersionNumber) { return new Promise((resolve, reject) => { const url = `/api/sdk/v4/prompts?promptId=${id}` + (promptVersionNumber !== undefined ? `&promptVersionNumber=${promptVersionNumber}` : ""); this.fetch(url) .then((response) => { if (response.error) { reject(response.error); } else { resolve(response.data); } }) .catch((error) => { reject(error); }); }); } async getPrompts() { return new Promise((resolve, reject) => { this.fetch(`/api/sdk/v4/prompts`) .then((response) => { if (response.error) { reject(response.error); } else { resolve(response.data); } }) .catch((error) => { reject(error); }); }); } async runPromptVersion(promptVersionId, input, options) { return new Promise((resolve, reject) => { const payload = { type: "maxim", promptVersionId, input, variables: (options === null || options === void 0 ? void 0 : options.variables) || {}, }; if (options === null || options === void 0 ? void 0 : options.imageUrls) { payload.imageUrls = options.imageUrls; } this.fetch("/api/sdk/v4/prompts/run", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(payload), }) .then((response) => { if (response.error) { reject(new Error(response.error.message)); } else { const responseData = response.data; resolve({ ...responseData, toolCallResults: responseData.toolCallResults ? responseData.toolCallResults.results : undefined, usage: { promptTokens: responseData.usage.prompt_tokens, completionTokens: responseData.usage.completion_tokens, totalTokens: responseData.usage.total_tokens, latency: responseData.usage.latency, }, resolvedMessages: response.resolvedMessages, }); } }) .catch((error) => { reject(error); }); }); } } exports.MaximPromptAPI = MaximPromptAPI; //# sourceMappingURL=prompt.js.map