@vertesia/client 0.56.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vertesia-client.js","sources":["../../api-fetch-client/lib/esm/errors.js","../../api-fetch-client/lib/esm/sse/TextDecoderStream.js","../../../node_modules/.pnpm/eventsource-parser@1.1.2/node_modules/eventsource-parser/dist/index.js","../../api-fetch-client/lib/esm/sse/EventSourceParserStream.js","../../api-fetch-client/lib/esm/utils.js","../../api-fetch-client/lib/esm/base.js","../../api-fetch-client/lib/esm/sse/index.js","../../api-fetch-client/lib/esm/client.js","../src/AccountApi.ts","../src/AccountsApi.ts","../src/AnalyticsApi.ts","../src/ApiKeysApi.ts","../src/CommandsApi.ts","../src/EnvironmentsApi.ts","../src/IamApi.ts","../src/execute.ts","../src/InteractionsApi.ts","../src/ProjectsApi.ts","../src/PromptsApi.ts","../src/RefsApi.ts","../src/RunsApi.ts","../src/store/AgentsApi.ts","../src/store/EmbeddingsApi.ts","../src/store/CommandsApi.ts","../src/store/errors.ts","../src/StreamSource.ts","../src/store/FilesApi.ts","../src/store/AnalyzeDocApi.ts","../src/store/ObjectsApi.ts","../src/store/TypesApi.ts","../src/store/WorkflowsApi.ts","../src/store/CollectionsApi.ts","../src/store/client.ts","../src/TrainingApi.ts","../src/UsersApi.ts","../src/PluginsApi.ts","../src/client.ts","../src/InteractionBase.ts"],"sourcesContent":["function createMessage(message, request, status, payload, displayDetails) {\n let msg = message;\n if (displayDetails) {\n msg += '\\nRequest: ' + request.method + ' ' + request.url + ' => ' + status;\n const details = payload?.details || payload?.error?.details;\n if (details) {\n const detailsType = typeof details;\n if (detailsType === 'string') {\n msg += '\\nDetails: ' + details;\n }\n else if (detailsType === \"object\") {\n msg += '\\nDetails: ' + JSON.stringify(details, undefined, 2);\n }\n }\n msg += '\\nStack Trace: ';\n }\n return msg;\n}\nexport class RequestError extends Error {\n constructor(message, request, status, payload, displayDetails = true) {\n super(createMessage(message, request, status, payload, displayDetails));\n this.original_message = message;\n this.request = request;\n this.status = status;\n this.payload = payload;\n this.request_info = request.method + ' ' + request.url + ' => ' + status;\n this.displayDetails = displayDetails;\n }\n get details() {\n return this.payload?.details || this.payload?.error?.details;\n }\n}\nexport class ServerError extends RequestError {\n constructor(message, req, status, payload, displayDetails = true) {\n super(message, req, status, payload, displayDetails);\n }\n updateDetails(details) {\n if (details !== this.details) {\n return new ServerError(this.original_message, this.request, this.status, { ...this.payload, details }, this.displayDetails);\n }\n else {\n return this;\n }\n }\n}\nexport class ConnectionError extends RequestError {\n constructor(req, err) {\n super(\"Failed to connect to server: \" + err.message, req, 0, err);\n }\n}\n//# sourceMappingURL=errors.js.map","/**\n * Decode a stream of bytes into a stream of characters.\n * Some javascript env like Bun.js doesn't supports the TextDecoderStream (as for jan 2024)\n * This is a polyfill for bunJS\n */\nlet _TextDecoderStream;\nif (globalThis.TextDecoderStream && typeof globalThis.TextDecoderStream === 'function') {\n _TextDecoderStream = globalThis.TextDecoderStream;\n}\nelse {\n class MyTextDecoderStream extends TransformStream {\n constructor(encoding = \"utf-8\", { fatal = false, ignoreBOM = false } = {}) {\n super(new TextDecodeTransformer(new TextDecoder(encoding, { fatal, ignoreBOM })));\n this._options = { fatal, ignoreBOM, encoding };\n }\n get encoding() {\n return this._options.encoding;\n }\n get fatal() {\n return this._options.fatal;\n }\n get ignoreBOM() {\n return this._options.ignoreBOM;\n }\n }\n class TextDecodeTransformer {\n constructor(decoder) {\n this.decoder = decoder;\n }\n transform(chunk, controller) {\n if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {\n throw new TypeError(\"Input must be a compatible with: ArrayBuffer | Uint8Array\");\n }\n const text = this.decoder.decode(chunk, { stream: true });\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n flush(controller) {\n const text = this.decoder.decode();\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n }\n _TextDecoderStream = MyTextDecoderStream;\n}\nexport { _TextDecoderStream as TextDecoderStream };\n//# sourceMappingURL=TextDecoderStream.js.map","function createParser(onParse) {\n let isFirstChunk;\n let buffer;\n let startingPosition;\n let startingFieldLength;\n let eventId;\n let eventName;\n let data;\n reset();\n return {\n feed,\n reset\n };\n function reset() {\n isFirstChunk = true;\n buffer = \"\";\n startingPosition = 0;\n startingFieldLength = -1;\n eventId = void 0;\n eventName = void 0;\n data = \"\";\n }\n function feed(chunk) {\n buffer = buffer ? buffer + chunk : chunk;\n if (isFirstChunk && hasBom(buffer)) {\n buffer = buffer.slice(BOM.length);\n }\n isFirstChunk = false;\n const length = buffer.length;\n let position = 0;\n let discardTrailingNewline = false;\n while (position < length) {\n if (discardTrailingNewline) {\n if (buffer[position] === \"\\n\") {\n ++position;\n }\n discardTrailingNewline = false;\n }\n let lineLength = -1;\n let fieldLength = startingFieldLength;\n let character;\n for (let index = startingPosition; lineLength < 0 && index < length; ++index) {\n character = buffer[index];\n if (character === \":\" && fieldLength < 0) {\n fieldLength = index - position;\n } else if (character === \"\\r\") {\n discardTrailingNewline = true;\n lineLength = index - position;\n } else if (character === \"\\n\") {\n lineLength = index - position;\n }\n }\n if (lineLength < 0) {\n startingPosition = length - position;\n startingFieldLength = fieldLength;\n break;\n } else {\n startingPosition = 0;\n startingFieldLength = -1;\n }\n parseEventStreamLine(buffer, position, fieldLength, lineLength);\n position += lineLength + 1;\n }\n if (position === length) {\n buffer = \"\";\n } else if (position > 0) {\n buffer = buffer.slice(position);\n }\n }\n function parseEventStreamLine(lineBuffer, index, fieldLength, lineLength) {\n if (lineLength === 0) {\n if (data.length > 0) {\n onParse({\n type: \"event\",\n id: eventId,\n event: eventName || void 0,\n data: data.slice(0, -1)\n // remove trailing newline\n });\n\n data = \"\";\n eventId = void 0;\n }\n eventName = void 0;\n return;\n }\n const noValue = fieldLength < 0;\n const field = lineBuffer.slice(index, index + (noValue ? lineLength : fieldLength));\n let step = 0;\n if (noValue) {\n step = lineLength;\n } else if (lineBuffer[index + fieldLength + 1] === \" \") {\n step = fieldLength + 2;\n } else {\n step = fieldLength + 1;\n }\n const position = index + step;\n const valueLength = lineLength - step;\n const value = lineBuffer.slice(position, position + valueLength).toString();\n if (field === \"data\") {\n data += value ? \"\".concat(value, \"\\n\") : \"\\n\";\n } else if (field === \"event\") {\n eventName = value;\n } else if (field === \"id\" && !value.includes(\"\\0\")) {\n eventId = value;\n } else if (field === \"retry\") {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n onParse({\n type: \"reconnect-interval\",\n value: retry\n });\n }\n }\n }\n}\nconst BOM = [239, 187, 191];\nfunction hasBom(buffer) {\n return BOM.every((charCode, index) => buffer.charCodeAt(index) === charCode);\n}\nexport { createParser };\n//# sourceMappingURL=index.js.map\n","import { createParser } from 'eventsource-parser';\n/**\n * We copied this file from the eventsource-parser/stream package and made it a part of our project.\n * because importing the eventsource-parser/stream breaks tsc build when building the commonjs version\n * see for a similar error:\n * https://stackoverflow.com/questions/77280140/why-typescript-dont-see-exports-of-package-with-module-commonjs-and-moduleres\n */\n/**\n * A TransformStream that ingests a stream of strings and produces a stream of ParsedEvents.\n *\n * @example\n * ```\n * const eventStream =\n * response.body\n * .pipeThrough(new TextDecoderStream())\n * .pipeThrough(new EventSourceParserStream())\n * ```\n * @public\n */\nexport class EventSourceParserStream extends TransformStream {\n constructor() {\n let parser;\n super({\n start(controller) {\n parser = createParser((event) => {\n if (event.type === 'event') {\n controller.enqueue(event);\n }\n });\n },\n transform(chunk) {\n parser.feed(chunk);\n },\n });\n }\n}\n//# sourceMappingURL=EventSourceParserStream.js.map","export function buildQueryString(query) {\n const parts = [];\n for (const key of Object.keys(query)) {\n const val = query[key];\n if (val != null) {\n parts.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(String(val)));\n }\n }\n return parts.join(\"&\");\n}\nexport function join(left, right) {\n if (left.endsWith('/')) {\n if (right.startsWith('/')) {\n return left + right.substring(1);\n }\n else {\n return left + right;\n }\n }\n else if (right.startsWith('/')) {\n return left + right;\n }\n else {\n return left + '/' + right;\n }\n}\nexport function removeTrailingSlash(path) {\n if (path[path.length - 1] === '/') {\n return path.slice(0, -1);\n }\n return path;\n}\n//# sourceMappingURL=utils.js.map","import { ConnectionError, ServerError } from \"./errors.js\";\nimport { sse } from \"./sse/index.js\";\nimport { buildQueryString, join, removeTrailingSlash } from \"./utils.js\";\nexport function fetchPromise(fetchImpl) {\n if (fetchImpl) {\n return Promise.resolve(fetchImpl);\n }\n else if (typeof globalThis.fetch === 'function') {\n return Promise.resolve(globalThis.fetch);\n }\n else {\n // install an error impl\n return Promise.resolve(() => {\n throw new Error('No Fetch implementation found');\n });\n }\n}\nexport class ClientBase {\n constructor(baseUrl, fetchImpl) {\n this.errorFactory = (err) => err;\n this.verboseErrors = true;\n this.baseUrl = removeTrailingSlash(baseUrl);\n this._fetch = fetchPromise(fetchImpl);\n }\n /**\n * Can be subclassed to map to custom errors\n * @param err\n */\n throwError(err) {\n throw this.errorFactory(err);\n }\n getUrl(path) {\n return removeTrailingSlash(join(this.baseUrl, path));\n }\n get(path, params) {\n return this.request('GET', path, params);\n }\n del(path, params) {\n return this.request('DELETE', path, params);\n }\n delete(path, params) {\n return this.request('DELETE', path, params);\n }\n post(path, params) {\n return this.request('POST', path, params);\n }\n put(path, params) {\n return this.request('PUT', path, params);\n }\n /**\n * You can customize the json parser by overriding this method\n * @param text\n * @returns\n */\n jsonParse(text) {\n return JSON.parse(text);\n }\n /**\n * Can be overridden to create the request\n * @param fetch\n * @param url\n * @param init\n * @returns\n */\n createRequest(url, init) {\n return Promise.resolve(new Request(url, init));\n }\n createServerError(req, res, payload) {\n const status = res.status;\n let message = 'Server Error: ' + status;\n if (payload) {\n if (payload.message) {\n message = String(payload.message);\n }\n else if (payload.error) {\n if (typeof payload.error === 'string') {\n message = String(payload.error);\n }\n else if (typeof payload.error.message === 'string') {\n message = String(payload.error.message);\n }\n }\n }\n return new ServerError(message, req, res.status, payload, this.verboseErrors);\n }\n async readJSONPayload(res) {\n return res.text().then(text => {\n if (!text) {\n return undefined;\n }\n else {\n try {\n return this.jsonParse(text);\n }\n catch (err) {\n return {\n status: res.status,\n error: \"Not a valid JSON payload\",\n message: err.message,\n text: text,\n };\n }\n }\n }).catch((err) => {\n return {\n status: res.status,\n error: \"Unable to load response content\",\n message: err.message,\n };\n });\n }\n /**\n * Subclasses You can override this to do something with the response\n * @param res\n */\n handleResponse(req, res, params) {\n res.url;\n if (params && params.reader) {\n if (params.reader === 'sse') {\n return sse(res);\n }\n else {\n return params.reader.call(this, res);\n }\n }\n else {\n return this.readJSONPayload(res).then((payload) => {\n if (res.ok) {\n return payload;\n }\n else {\n this.throwError(this.createServerError(req, res, payload));\n }\n });\n }\n }\n async request(method, path, params) {\n let url = this.getUrl(path);\n if (params?.query) {\n url += '?' + buildQueryString(params.query);\n }\n const headers = this.headers ? Object.assign({}, this.headers) : {};\n const paramsHeaders = params?.headers;\n if (paramsHeaders) {\n for (const key in paramsHeaders) {\n headers[key.toLowerCase()] = paramsHeaders[key];\n }\n }\n let body;\n const payload = params?.payload;\n if (payload) {\n if (params && params.jsonPayload === false) {\n body = payload;\n }\n else {\n body = (typeof payload !== 'string') ? JSON.stringify(payload) : payload;\n if (!('content-type' in headers)) {\n headers['content-type'] = 'application/json';\n }\n }\n }\n const init = {\n method: method,\n headers: headers,\n body: body,\n };\n const req = await this.createRequest(url, init);\n return this._fetch.then(fetch => fetch(req).catch(err => {\n console.error(`Failed to connect to ${url}`, err);\n this.throwError(new ConnectionError(req, err));\n }).then(res => {\n return this.handleResponse(req, res, params);\n }));\n }\n /**\n * Expose the fetch method\n * @param input\n * @param init\n * @returns\n */\n fetch(input, init) {\n return this._fetch.then(fetch => fetch(input, init));\n }\n}\n//# sourceMappingURL=base.js.map","import { TextDecoderStream } from \"./TextDecoderStream.js\";\nimport { EventSourceParserStream } from \"./EventSourceParserStream.js\";\n/**\n * A SSE response reader.\n * Usage client.get('/path', {reader: sse}) or client.post('/path', {reader: sse})\n * where sse is this function\n * @param response\n * @returns\n */\nexport async function sse(response) {\n if (!response.ok) {\n const text = await response.text();\n const error = new Error(\"SSE error: \" + response.status + \". Content:\\n\" + text);\n error.status = response.status;\n throw error;\n }\n if (!response.body) {\n throw new Error('No body in response');\n }\n return response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new EventSourceParserStream());\n}\n// re-export TextDecoderStream (in case it was polyfilled)\nexport { TextDecoderStream };\n//# sourceMappingURL=index.js.map","import { ClientBase } from \"./base.js\";\nfunction isAuthorizationHeaderSet(headers) {\n if (!headers)\n return false;\n return \"authorization\" in headers;\n}\nexport class AbstractFetchClient extends ClientBase {\n constructor(baseUrl, fetchImpl) {\n super(baseUrl, fetchImpl);\n this.baseUrl = baseUrl[baseUrl.length - 1] === '/' ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl;\n this.headers = this.initialHeaders;\n }\n get initialHeaders() {\n return { accept: 'application/json' };\n }\n /**\n * Install an auth callback. If the callback is undefined or null then remove the auth callback.\n * @param authCb a function returning a promise that resolves to the value to use for the authorization header\n * @returns the client instance\n */\n withAuthCallback(authCb) {\n this._auth = authCb || undefined;\n return this;\n }\n withErrorFactory(factory) {\n this.errorFactory = factory;\n return this;\n }\n withLang(locale) {\n if (locale) {\n this.headers['accept-language'] = locale;\n }\n else {\n delete this.headers['accept-language'];\n }\n return this;\n }\n withHeaders(headers) {\n const thisHeaders = this.headers;\n for (const key in headers) {\n const value = headers[key];\n if (value != null) {\n thisHeaders[key.toLowerCase()] = value;\n }\n }\n return this;\n }\n setHeader(key, value) {\n if (!value) {\n delete this.headers[key.toLowerCase()];\n }\n else {\n this.headers[key.toLowerCase()] = value;\n }\n }\n async createRequest(url, init) {\n if (this._auth && !isAuthorizationHeaderSet(init.headers)) {\n const headers = (init.headers ? init.headers : {});\n init.headers = headers;\n const auth = await this._auth();\n if (auth) {\n init.headers[\"authorization\"] = auth;\n }\n }\n this.response = undefined;\n const request = await super.createRequest(url, init);\n this.onRequest && this.onRequest(request);\n return request;\n }\n async handleResponse(req, res, params) {\n this.response = res; // store last response\n this.onResponse && this.onResponse(res, req);\n return super.handleResponse(req, res, params);\n }\n}\nexport class FetchClient extends AbstractFetchClient {\n constructor(baseUrl, fetchImpl) {\n super(baseUrl, fetchImpl);\n }\n}\nexport class ApiTopic extends ClientBase {\n constructor(client, basePath) {\n //TODO we should refactor the way ClientBase and ApiTopic is created\n // to avoid cloning all customizations\n super(client.getUrl(basePath), client._fetch);\n this.client = client;\n this.createServerError = client.createServerError;\n this.errorFactory = client.errorFactory;\n this.verboseErrors = client.verboseErrors;\n }\n createRequest(url, init) {\n return this.client.createRequest(url, init);\n }\n handleResponse(req, res, params) {\n return this.client.handleResponse(req, res, params);\n }\n get headers() {\n return this.client.headers;\n }\n}\n//# sourceMappingURL=client.js.map",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RequestError","Error","constructor","message","request","status","payload","displayDetails","super","msg","method","url","details","error","detailsType","JSON","stringify","undefined","createMessage","this","original_message","request_info","ServerError","req","updateDetails","ConnectionError","err","_TextDecoderStream","globalThis","TextDecoderStream","MyTextDecoderStream","TransformStream","encoding","fatal","ignoreBOM","TextDecodeTransformer","TextDecoder","_options","decoder","transform","chunk","controller","ArrayBuffer","isView","TypeError","text","decode","stream","length","enqueue","flush","BOM","EventSourceParserStream","parser","start","onParse","isFirstChunk","buffer","startingPosition","startingFieldLength","eventId","eventName","data","reset","feed","every","charCode","index","charCodeAt","hasBom","slice","position","discardTrailingNewline","character","lineLength","fieldLength","parseEventStreamLine","lineBuffer","type","id","event","noValue","field","step","valueLength","value","toString","concat","includes","retry","parseInt","Number","isNaN","createParser","removeTrailingSlash","path","ClientBase","baseUrl","fetchImpl","errorFactory","verboseErrors","_fetch","Promise","resolve","fetch","fetchPromise","throwError","getUrl","left","right","endsWith","startsWith","substring","get","params","del","post","put","jsonParse","parse","createRequest","init","Request","createServerError","res","String","readJSONPayload","then","catch","handleResponse","reader","async","response","ok","body","pipeThrough","sse","call","query","parts","key","Object","keys","val","push","encodeURIComponent","join","buildQueryString","headers","assign","paramsHeaders","toLowerCase","jsonPayload","console","input","AbstractFetchClient","initialHeaders","accept","withAuthCallback","authCb","_auth","withErrorFactory","factory","withLang","locale","withHeaders","thisHeaders","setHeader","auth","onRequest","onResponse","ApiTopic","client","basePath","AccountApi","parent","info","update","projects","members","inviteUser","listInvites","listAccountInvitation","acceptInvite","rejectInvite","delete","onboardingProgress","getGoogleToken","getStripeBillingStatus","AccountsApi","create","name","list","AnalyticsApi","runs","ApiKeysApi","retrieve","withValue","requestPublicKey","isNamespaceAvailable","available","initSamples","EnvironmentsApi","all","updateConfig","listModels","listTrainableModels","embeddings","IamApi","aces","AcesApi","roles","RolesApi","options","EventSourceProvider","EventSource","import","executeInteraction","interactionId","onChunk","interaction","ExecutionRunStatus","failed","handleStreaming","runId","reject","EventSourceImpl","streamUrl","URL","bearerToken","token","split","searchParams","set","href","addEventListener","ev","close","InteractionsApi","listEndpoints","listVersionsByName","computeFacets","listNames","execute","run_id","executeByName","nameWithTag","executeInteractionByName","executeAsync","executeInteractionAsync","publish","fork","generateInteraction","generateTestData","suggestImprovements","listVersions","listForks","ProjectsApi","integrations","IntegrationsConfigurationApi","account","projectId","listPlugins","setPlugins","pluginIds","plugins","integrationId","PromptsApi","render","listInteractions","RefsApi","refs","RunsApi","limit","offset","filters","find","filterOptions","sessionTags","tags","Array","isArray","sendToolResults","sendUserMessage","createCheckpoint","search","AgentsApi","deploy","EmbeddingsApi","activate","config","environment","disable","recalculate","CommandsApi","ZenoClientNotFoundError","StreamSource","getMemoryFilePath","FilesApi","getMetadata","uri","file","getOrCreateBucket","getUploadUrl","getDownloadUrl","uploadFile","source","isStream","duplex","log","statusText","downloadFile","uploadMemoryPack","fileId","nameWithExt","File","downloadMemoryPack","gunzip","ds","DecompressionStream","AnalyzeDocApi","objectId","getStatus","getResults","adaptTables","getAdaptedTables","queryParams","format","raw","responseType","getXml","getTables","getImages","getAnnotated","ObjectsApi","analyze","fileUri","getContentSource","showAllRevisions","show_all_revisions","revisionRoot","from_root","listFolders","count","select","getObjectText","upload","mime_type","etag","replace","createPayload","content","createFromExternalSource","metadata","files","contentType","updatePayload","createRevision","revisionLabel","getRevisions","listWorkflowRuns","documentId","listRenditions","getRendition","max_hw","generate_if_missing","exportProperties","setEmbedding","TypesApi","layout","schema","typeId","getTypeByName","typeName","WorkflowsApi","rules","WorkflowsRulesApi","definitions","WorkflowsDefinitionApi","getActivityCatalog","listRuns","ruleId","searchRuns","sendSignal","workflowId","signal","getRunDetails","terminate","reason","cancel","postMessage","retrieveMessages","since","streamMessages","onMessage","workflows","isClosed","interval","setInterval","cleanup","clearInterval","onmessage","AgentMessageType","COMPLETE","workstream_id","onerror","setupStream","objectIds","vars","CollectionsApi","collectionId","addMembers","action","listMembers","searchMembers","deleteMembers","ZenoClient","opts","serverUrl","ensureDefined","objects","types","commands","agents","collections","apikey","withApiKey","apiKey","runOperation","TrainingApi","listSessions","listSessionNames","createSession","getSession","sessionId","addToSession","listSessionRuns","buildSession","getDataUrl","getDataUploadUrl","isResumable","resumable","startTraining","cancelTraining","getTrainingJob","jobId","getAndSyncTrainingJob","sync","setDataset","dataset","UsersApi","userId","PluginsApi","manifest","ids","VertesiaClient","site","studioServerUrl","zenoServerUrl","storeUrl","_jwt","environments","interactions","prompts","accounts","apikeys","analytics","training","users","iam","store","isApiKey","exp","decodeJWT","Date","now","isTokenExpired","jwt","getAuthToken","getRawJWT","trim","getDecodedJWT","project","accountId","authorization","decodedJson","base64","padEnd","Math","ceil","Buffer","from","atob","binary","bytes","Uint8Array","c","base64UrlDecode","InteractionBase","clientOrOpts"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"vertesia-client.js","sources":["../../api-fetch-client/lib/esm/errors.js","../../api-fetch-client/lib/esm/sse/TextDecoderStream.js","../../../node_modules/.pnpm/eventsource-parser@1.1.2/node_modules/eventsource-parser/dist/index.js","../../api-fetch-client/lib/esm/sse/EventSourceParserStream.js","../../api-fetch-client/lib/esm/utils.js","../../api-fetch-client/lib/esm/base.js","../../api-fetch-client/lib/esm/sse/index.js","../../api-fetch-client/lib/esm/client.js","../src/AccountApi.ts","../src/AccountsApi.ts","../src/AnalyticsApi.ts","../src/ApiKeysApi.ts","../src/CommandsApi.ts","../src/EnvironmentsApi.ts","../src/IamApi.ts","../src/execute.ts","../src/InteractionsApi.ts","../src/ProjectsApi.ts","../src/PromptsApi.ts","../src/RefsApi.ts","../src/RunsApi.ts","../src/store/AgentsApi.ts","../src/store/EmbeddingsApi.ts","../src/store/CommandsApi.ts","../src/store/errors.ts","../src/StreamSource.ts","../src/store/FilesApi.ts","../src/store/AnalyzeDocApi.ts","../src/store/ObjectsApi.ts","../src/store/TypesApi.ts","../src/store/WorkflowsApi.ts","../src/store/CollectionsApi.ts","../src/store/client.ts","../src/TrainingApi.ts","../src/UsersApi.ts","../src/PluginsApi.ts","../src/client.ts","../src/InteractionBase.ts"],"sourcesContent":["function createMessage(message, request, status, payload, displayDetails) {\n let msg = message;\n if (displayDetails) {\n msg += '\\nRequest: ' + request.method + ' ' + request.url + ' => ' + status;\n const details = payload?.details || payload?.error?.details;\n if (details) {\n const detailsType = typeof details;\n if (detailsType === 'string') {\n msg += '\\nDetails: ' + details;\n }\n else if (detailsType === \"object\") {\n msg += '\\nDetails: ' + JSON.stringify(details, undefined, 2);\n }\n }\n msg += '\\nStack Trace: ';\n }\n return msg;\n}\nexport class RequestError extends Error {\n constructor(message, request, status, payload, displayDetails = true) {\n super(createMessage(message, request, status, payload, displayDetails));\n this.original_message = message;\n this.request = request;\n this.status = status;\n this.payload = payload;\n this.request_info = request.method + ' ' + request.url + ' => ' + status;\n this.displayDetails = displayDetails;\n }\n get details() {\n return this.payload?.details || this.payload?.error?.details;\n }\n}\nexport class ServerError extends RequestError {\n constructor(message, req, status, payload, displayDetails = true) {\n super(message, req, status, payload, displayDetails);\n }\n updateDetails(details) {\n if (details !== this.details) {\n return new ServerError(this.original_message, this.request, this.status, { ...this.payload, details }, this.displayDetails);\n }\n else {\n return this;\n }\n }\n}\nexport class ConnectionError extends RequestError {\n constructor(req, err) {\n super(\"Failed to connect to server: \" + err.message, req, 0, err);\n }\n}\n//# sourceMappingURL=errors.js.map","/**\n * Decode a stream of bytes into a stream of characters.\n * Some javascript env like Bun.js doesn't supports the TextDecoderStream (as for jan 2024)\n * This is a polyfill for bunJS\n */\nlet _TextDecoderStream;\nif (globalThis.TextDecoderStream && typeof globalThis.TextDecoderStream === 'function') {\n _TextDecoderStream = globalThis.TextDecoderStream;\n}\nelse {\n class MyTextDecoderStream extends TransformStream {\n constructor(encoding = \"utf-8\", { fatal = false, ignoreBOM = false } = {}) {\n super(new TextDecodeTransformer(new TextDecoder(encoding, { fatal, ignoreBOM })));\n this._options = { fatal, ignoreBOM, encoding };\n }\n get encoding() {\n return this._options.encoding;\n }\n get fatal() {\n return this._options.fatal;\n }\n get ignoreBOM() {\n return this._options.ignoreBOM;\n }\n }\n class TextDecodeTransformer {\n constructor(decoder) {\n this.decoder = decoder;\n }\n transform(chunk, controller) {\n if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {\n throw new TypeError(\"Input must be a compatible with: ArrayBuffer | Uint8Array\");\n }\n const text = this.decoder.decode(chunk, { stream: true });\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n flush(controller) {\n const text = this.decoder.decode();\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n }\n _TextDecoderStream = MyTextDecoderStream;\n}\nexport { _TextDecoderStream as TextDecoderStream };\n//# sourceMappingURL=TextDecoderStream.js.map","function createParser(onParse) {\n let isFirstChunk;\n let buffer;\n let startingPosition;\n let startingFieldLength;\n let eventId;\n let eventName;\n let data;\n reset();\n return {\n feed,\n reset\n };\n function reset() {\n isFirstChunk = true;\n buffer = \"\";\n startingPosition = 0;\n startingFieldLength = -1;\n eventId = void 0;\n eventName = void 0;\n data = \"\";\n }\n function feed(chunk) {\n buffer = buffer ? buffer + chunk : chunk;\n if (isFirstChunk && hasBom(buffer)) {\n buffer = buffer.slice(BOM.length);\n }\n isFirstChunk = false;\n const length = buffer.length;\n let position = 0;\n let discardTrailingNewline = false;\n while (position < length) {\n if (discardTrailingNewline) {\n if (buffer[position] === \"\\n\") {\n ++position;\n }\n discardTrailingNewline = false;\n }\n let lineLength = -1;\n let fieldLength = startingFieldLength;\n let character;\n for (let index = startingPosition; lineLength < 0 && index < length; ++index) {\n character = buffer[index];\n if (character === \":\" && fieldLength < 0) {\n fieldLength = index - position;\n } else if (character === \"\\r\") {\n discardTrailingNewline = true;\n lineLength = index - position;\n } else if (character === \"\\n\") {\n lineLength = index - position;\n }\n }\n if (lineLength < 0) {\n startingPosition = length - position;\n startingFieldLength = fieldLength;\n break;\n } else {\n startingPosition = 0;\n startingFieldLength = -1;\n }\n parseEventStreamLine(buffer, position, fieldLength, lineLength);\n position += lineLength + 1;\n }\n if (position === length) {\n buffer = \"\";\n } else if (position > 0) {\n buffer = buffer.slice(position);\n }\n }\n function parseEventStreamLine(lineBuffer, index, fieldLength, lineLength) {\n if (lineLength === 0) {\n if (data.length > 0) {\n onParse({\n type: \"event\",\n id: eventId,\n event: eventName || void 0,\n data: data.slice(0, -1)\n // remove trailing newline\n });\n\n data = \"\";\n eventId = void 0;\n }\n eventName = void 0;\n return;\n }\n const noValue = fieldLength < 0;\n const field = lineBuffer.slice(index, index + (noValue ? lineLength : fieldLength));\n let step = 0;\n if (noValue) {\n step = lineLength;\n } else if (lineBuffer[index + fieldLength + 1] === \" \") {\n step = fieldLength + 2;\n } else {\n step = fieldLength + 1;\n }\n const position = index + step;\n const valueLength = lineLength - step;\n const value = lineBuffer.slice(position, position + valueLength).toString();\n if (field === \"data\") {\n data += value ? \"\".concat(value, \"\\n\") : \"\\n\";\n } else if (field === \"event\") {\n eventName = value;\n } else if (field === \"id\" && !value.includes(\"\\0\")) {\n eventId = value;\n } else if (field === \"retry\") {\n const retry = parseInt(value, 10);\n if (!Number.isNaN(retry)) {\n onParse({\n type: \"reconnect-interval\",\n value: retry\n });\n }\n }\n }\n}\nconst BOM = [239, 187, 191];\nfunction hasBom(buffer) {\n return BOM.every((charCode, index) => buffer.charCodeAt(index) === charCode);\n}\nexport { createParser };\n//# sourceMappingURL=index.js.map\n","import { createParser } from 'eventsource-parser';\n/**\n * We copied this file from the eventsource-parser/stream package and made it a part of our project.\n * because importing the eventsource-parser/stream breaks tsc build when building the commonjs version\n * see for a similar error:\n * https://stackoverflow.com/questions/77280140/why-typescript-dont-see-exports-of-package-with-module-commonjs-and-moduleres\n */\n/**\n * A TransformStream that ingests a stream of strings and produces a stream of ParsedEvents.\n *\n * @example\n * ```\n * const eventStream =\n * response.body\n * .pipeThrough(new TextDecoderStream())\n * .pipeThrough(new EventSourceParserStream())\n * ```\n * @public\n */\nexport class EventSourceParserStream extends TransformStream {\n constructor() {\n let parser;\n super({\n start(controller) {\n parser = createParser((event) => {\n if (event.type === 'event') {\n controller.enqueue(event);\n }\n });\n },\n transform(chunk) {\n parser.feed(chunk);\n },\n });\n }\n}\n//# sourceMappingURL=EventSourceParserStream.js.map","export function buildQueryString(query) {\n const parts = [];\n for (const key of Object.keys(query)) {\n const val = query[key];\n if (val != null) {\n parts.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(String(val)));\n }\n }\n return parts.join(\"&\");\n}\nexport function join(left, right) {\n if (left.endsWith('/')) {\n if (right.startsWith('/')) {\n return left + right.substring(1);\n }\n else {\n return left + right;\n }\n }\n else if (right.startsWith('/')) {\n return left + right;\n }\n else {\n return left + '/' + right;\n }\n}\nexport function removeTrailingSlash(path) {\n if (path[path.length - 1] === '/') {\n return path.slice(0, -1);\n }\n return path;\n}\n//# sourceMappingURL=utils.js.map","import { ConnectionError, ServerError } from \"./errors.js\";\nimport { sse } from \"./sse/index.js\";\nimport { buildQueryString, join, removeTrailingSlash } from \"./utils.js\";\nexport function fetchPromise(fetchImpl) {\n if (fetchImpl) {\n return Promise.resolve(fetchImpl);\n }\n else if (typeof globalThis.fetch === 'function') {\n return Promise.resolve(globalThis.fetch);\n }\n else {\n // install an error impl\n return Promise.resolve(() => {\n throw new Error('No Fetch implementation found');\n });\n }\n}\nexport class ClientBase {\n constructor(baseUrl, fetchImpl) {\n this.errorFactory = (err) => err;\n this.verboseErrors = true;\n this.baseUrl = removeTrailingSlash(baseUrl);\n this._fetch = fetchPromise(fetchImpl);\n }\n /**\n * Can be subclassed to map to custom errors\n * @param err\n */\n throwError(err) {\n throw this.errorFactory(err);\n }\n getUrl(path) {\n return removeTrailingSlash(join(this.baseUrl, path));\n }\n get(path, params) {\n return this.request('GET', path, params);\n }\n del(path, params) {\n return this.request('DELETE', path, params);\n }\n delete(path, params) {\n return this.request('DELETE', path, params);\n }\n post(path, params) {\n return this.request('POST', path, params);\n }\n put(path, params) {\n return this.request('PUT', path, params);\n }\n /**\n * You can customize the json parser by overriding this method\n * @param text\n * @returns\n */\n jsonParse(text) {\n return JSON.parse(text);\n }\n /**\n * Can be overridden to create the request\n * @param fetch\n * @param url\n * @param init\n * @returns\n */\n createRequest(url, init) {\n return Promise.resolve(new Request(url, init));\n }\n createServerError(req, res, payload) {\n const status = res.status;\n let message = 'Server Error: ' + status;\n if (payload) {\n if (payload.message) {\n message = String(payload.message);\n }\n else if (payload.error) {\n if (typeof payload.error === 'string') {\n message = String(payload.error);\n }\n else if (typeof payload.error.message === 'string') {\n message = String(payload.error.message);\n }\n }\n }\n return new ServerError(message, req, res.status, payload, this.verboseErrors);\n }\n async readJSONPayload(res) {\n return res.text().then(text => {\n if (!text) {\n return undefined;\n }\n else {\n try {\n return this.jsonParse(text);\n }\n catch (err) {\n return {\n status: res.status,\n error: \"Not a valid JSON payload\",\n message: err.message,\n text: text,\n };\n }\n }\n }).catch((err) => {\n return {\n status: res.status,\n error: \"Unable to load response content\",\n message: err.message,\n };\n });\n }\n /**\n * Subclasses You can override this to do something with the response\n * @param res\n */\n handleResponse(req, res, params) {\n res.url;\n if (params && params.reader) {\n if (params.reader === 'sse') {\n return sse(res);\n }\n else {\n return params.reader.call(this, res);\n }\n }\n else {\n return this.readJSONPayload(res).then((payload) => {\n if (res.ok) {\n return payload;\n }\n else {\n this.throwError(this.createServerError(req, res, payload));\n }\n });\n }\n }\n async request(method, path, params) {\n let url = this.getUrl(path);\n if (params?.query) {\n url += '?' + buildQueryString(params.query);\n }\n const headers = this.headers ? Object.assign({}, this.headers) : {};\n const paramsHeaders = params?.headers;\n if (paramsHeaders) {\n for (const key in paramsHeaders) {\n headers[key.toLowerCase()] = paramsHeaders[key];\n }\n }\n let body;\n const payload = params?.payload;\n if (payload) {\n if (params && params.jsonPayload === false) {\n body = payload;\n }\n else {\n body = (typeof payload !== 'string') ? JSON.stringify(payload) : payload;\n if (!('content-type' in headers)) {\n headers['content-type'] = 'application/json';\n }\n }\n }\n const init = {\n method: method,\n headers: headers,\n body: body,\n };\n const req = await this.createRequest(url, init);\n return this._fetch.then(fetch => fetch(req).catch(err => {\n console.error(`Failed to connect to ${url}`, err);\n this.throwError(new ConnectionError(req, err));\n }).then(res => {\n return this.handleResponse(req, res, params);\n }));\n }\n /**\n * Expose the fetch method\n * @param input\n * @param init\n * @returns\n */\n fetch(input, init) {\n return this._fetch.then(fetch => fetch(input, init));\n }\n}\n//# sourceMappingURL=base.js.map","import { TextDecoderStream } from \"./TextDecoderStream.js\";\nimport { EventSourceParserStream } from \"./EventSourceParserStream.js\";\n/**\n * A SSE response reader.\n * Usage client.get('/path', {reader: sse}) or client.post('/path', {reader: sse})\n * where sse is this function\n * @param response\n * @returns\n */\nexport async function sse(response) {\n if (!response.ok) {\n const text = await response.text();\n const error = new Error(\"SSE error: \" + response.status + \". Content:\\n\" + text);\n error.status = response.status;\n throw error;\n }\n if (!response.body) {\n throw new Error('No body in response');\n }\n return response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new EventSourceParserStream());\n}\n// re-export TextDecoderStream (in case it was polyfilled)\nexport { TextDecoderStream };\n//# sourceMappingURL=index.js.map","import { ClientBase } from \"./base.js\";\nfunction isAuthorizationHeaderSet(headers) {\n if (!headers)\n return false;\n return \"authorization\" in headers;\n}\nexport class AbstractFetchClient extends ClientBase {\n constructor(baseUrl, fetchImpl) {\n super(baseUrl, fetchImpl);\n this.baseUrl = baseUrl[baseUrl.length - 1] === '/' ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl;\n this.headers = this.initialHeaders;\n }\n get initialHeaders() {\n return { accept: 'application/json' };\n }\n /**\n * Install an auth callback. If the callback is undefined or null then remove the auth callback.\n * @param authCb a function returning a promise that resolves to the value to use for the authorization header\n * @returns the client instance\n */\n withAuthCallback(authCb) {\n this._auth = authCb || undefined;\n return this;\n }\n withErrorFactory(factory) {\n this.errorFactory = factory;\n return this;\n }\n withLang(locale) {\n if (locale) {\n this.headers['accept-language'] = locale;\n }\n else {\n delete this.headers['accept-language'];\n }\n return this;\n }\n withHeaders(headers) {\n const thisHeaders = this.headers;\n for (const key in headers) {\n const value = headers[key];\n if (value != null) {\n thisHeaders[key.toLowerCase()] = value;\n }\n }\n return this;\n }\n setHeader(key, value) {\n if (!value) {\n delete this.headers[key.toLowerCase()];\n }\n else {\n this.headers[key.toLowerCase()] = value;\n }\n }\n async createRequest(url, init) {\n if (this._auth && !isAuthorizationHeaderSet(init.headers)) {\n const headers = (init.headers ? init.headers : {});\n init.headers = headers;\n const auth = await this._auth();\n if (auth) {\n init.headers[\"authorization\"] = auth;\n }\n }\n this.response = undefined;\n const request = await super.createRequest(url, init);\n this.onRequest && this.onRequest(request);\n return request;\n }\n async handleResponse(req, res, params) {\n this.response = res; // store last response\n this.onResponse && this.onResponse(res, req);\n return super.handleResponse(req, res, params);\n }\n}\nexport class FetchClient extends AbstractFetchClient {\n constructor(baseUrl, fetchImpl) {\n super(baseUrl, fetchImpl);\n }\n}\nexport class ApiTopic extends ClientBase {\n constructor(client, basePath) {\n //TODO we should refactor the way ClientBase and ApiTopic is created\n // to avoid cloning all customizations\n super(client.getUrl(basePath), client._fetch);\n this.client = client;\n this.createServerError = client.createServerError;\n this.errorFactory = client.errorFactory;\n this.verboseErrors = client.verboseErrors;\n }\n createRequest(url, init) {\n return this.client.createRequest(url, init);\n }\n handleResponse(req, res, params) {\n return this.client.handleResponse(req, res, params);\n }\n get headers() {\n return this.client.headers;\n }\n}\n//# sourceMappingURL=client.js.map",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RequestError","Error","constructor","message","request","status","payload","displayDetails","super","msg","method","url","details","error","detailsType","JSON","stringify","undefined","createMessage","this","original_message","request_info","ServerError","req","updateDetails","ConnectionError","err","_TextDecoderStream","globalThis","TextDecoderStream","MyTextDecoderStream","TransformStream","encoding","fatal","ignoreBOM","TextDecodeTransformer","TextDecoder","_options","decoder","transform","chunk","controller","ArrayBuffer","isView","TypeError","text","decode","stream","length","enqueue","flush","BOM","EventSourceParserStream","parser","start","onParse","isFirstChunk","buffer","startingPosition","startingFieldLength","eventId","eventName","data","reset","feed","every","charCode","index","charCodeAt","hasBom","slice","position","discardTrailingNewline","character","lineLength","fieldLength","parseEventStreamLine","lineBuffer","type","id","event","noValue","field","step","valueLength","value","toString","concat","includes","retry","parseInt","Number","isNaN","createParser","removeTrailingSlash","path","ClientBase","baseUrl","fetchImpl","errorFactory","verboseErrors","_fetch","Promise","resolve","fetch","fetchPromise","throwError","getUrl","left","right","endsWith","startsWith","substring","get","params","del","post","put","jsonParse","parse","createRequest","init","Request","createServerError","res","String","readJSONPayload","then","catch","handleResponse","reader","async","response","ok","body","pipeThrough","sse","call","query","parts","key","Object","keys","val","push","encodeURIComponent","join","buildQueryString","headers","assign","paramsHeaders","toLowerCase","jsonPayload","console","input","AbstractFetchClient","initialHeaders","accept","withAuthCallback","authCb","_auth","withErrorFactory","factory","withLang","locale","withHeaders","thisHeaders","setHeader","auth","onRequest","onResponse","ApiTopic","client","basePath","AccountApi","parent","info","update","projects","members","inviteUser","listInvites","listAccountInvitation","acceptInvite","rejectInvite","delete","onboardingProgress","getGoogleToken","getStripeBillingStatus","AccountsApi","create","name","list","AnalyticsApi","runs","ApiKeysApi","retrieve","withValue","requestPublicKey","isNamespaceAvailable","available","initSamples","EnvironmentsApi","all","updateConfig","listModels","listTrainableModels","embeddings","IamApi","aces","AcesApi","roles","RolesApi","options","EventSourceProvider","EventSource","import","executeInteraction","interactionId","onChunk","interaction","ExecutionRunStatus","failed","handleStreaming","runId","reject","EventSourceImpl","streamUrl","URL","bearerToken","token","split","searchParams","set","href","addEventListener","ev","close","InteractionsApi","listEndpoints","listVersionsByName","computeFacets","listNames","execute","run_id","executeByName","nameWithTag","executeInteractionByName","executeAsync","executeInteractionAsync","publish","fork","generateInteraction","generateTestData","suggestImprovements","listVersions","listForks","ProjectsApi","integrations","IntegrationsConfigurationApi","account","projectId","listPlugins","setPlugins","pluginIds","plugins","integrationId","PromptsApi","render","listInteractions","RefsApi","refs","RunsApi","limit","offset","filters","find","filterOptions","sessionTags","tags","Array","isArray","sendToolResults","sendUserMessage","createCheckpoint","search","AgentsApi","deploy","EmbeddingsApi","activate","config","environment","disable","recalculate","CommandsApi","ZenoClientNotFoundError","StreamSource","getMemoryFilePath","FilesApi","getMetadata","uri","file","getOrCreateBucket","getUploadUrl","getDownloadUrl","uploadFile","source","isStream","duplex","log","statusText","downloadFile","uploadMemoryPack","fileId","nameWithExt","File","downloadMemoryPack","gunzip","ds","DecompressionStream","AnalyzeDocApi","objectId","getStatus","getResults","adaptTables","getAdaptedTables","queryParams","format","raw","responseType","getXml","getTables","getImages","getAnnotated","ObjectsApi","analyze","fileUri","getContentSource","showAllRevisions","all_revisions","revisionRoot","from_root","listFolders","count","select","getObjectText","upload","mime_type","etag","replace","createPayload","content","createFromExternalSource","metadata","files","contentType","updatePayload","createRevision","revisionLabel","getRevisions","listWorkflowRuns","documentId","listRenditions","getRendition","max_hw","generate_if_missing","exportProperties","setEmbedding","TypesApi","layout","schema","typeId","getTypeByName","typeName","WorkflowsApi","rules","WorkflowsRulesApi","definitions","WorkflowsDefinitionApi","getActivityCatalog","listRuns","ruleId","searchRuns","sendSignal","workflowId","signal","getRunDetails","terminate","reason","cancel","postMessage","retrieveMessages","since","streamMessages","onMessage","reconnectAttempts","lastMessageTimestamp","isClosed","currentSse","interval","maxReconnectAttempts","calculateBackoffDelay","attempts","exponentialDelay","Math","min","pow","random","cleanup","clearInterval","setupStream","isReconnect","workflows","setInterval","onopen","onmessage","timestamp","max","AgentMessageType","COMPLETE","workstream_id","onerror","warn","delay","setTimeout","objectIds","vars","CollectionsApi","collectionId","addMembers","action","listMembers","searchMembers","deleteMembers","ZenoClient","opts","serverUrl","ensureDefined","objects","types","commands","agents","collections","apikey","withApiKey","apiKey","runOperation","TrainingApi","listSessions","listSessionNames","createSession","getSession","sessionId","addToSession","listSessionRuns","buildSession","getDataUrl","getDataUploadUrl","isResumable","resumable","startTraining","cancelTraining","getTrainingJob","jobId","getAndSyncTrainingJob","sync","setDataset","dataset","UsersApi","userId","PluginsApi","manifest","ids","VertesiaClient","site","studioServerUrl","zenoServerUrl","storeUrl","_jwt","environments","interactions","prompts","accounts","apikeys","analytics","training","users","iam","store","isApiKey","exp","decodeJWT","Date","now","isTokenExpired","jwt","getAuthToken","getRawJWT","trim","getDecodedJWT","project","accountId","authorization","decodedJson","base64","padEnd","ceil","Buffer","from","atob","binary","bytes","Uint8Array","c","base64UrlDecode","InteractionBase","clientOrOpts"],"mappings":"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","x_google_ignoreList":[2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/client",
3
- "version": "0.56.0",
3
+ "version": "0.57.0",
4
4
  "type": "module",
5
5
  "types": "./lib/types/index.d.ts",
6
6
  "files": [
@@ -22,8 +22,8 @@
22
22
  "dependencies": {
23
23
  "eventsource": "^3.0.6",
24
24
  "@llumiverse/common": "0.18.0",
25
- "@vertesia/api-fetch-client": "0.56.0",
26
- "@vertesia/common": "0.56.0"
25
+ "@vertesia/common": "0.57.0",
26
+ "@vertesia/api-fetch-client": "0.57.0"
27
27
  },
28
28
  "ts_dual_module": {
29
29
  "outDir": "lib"
@@ -21,24 +21,24 @@ import {
21
21
  } from "@vertesia/common";
22
22
 
23
23
  import { StreamSource } from "../StreamSource.js";
24
- import { ZenoClient } from "./client.js";
25
24
  import { AnalyzeDocApi } from "./AnalyzeDocApi.js";
25
+ import { ZenoClient } from "./client.js";
26
26
 
27
27
  export interface UploadContentObjectPayload extends Omit<CreateContentObjectPayload, "content"> {
28
28
  content?:
29
- | StreamSource
30
- | File
31
- | {
32
- // the source URI
33
- source: string;
34
- // the original name of the input file if any
35
- name?: string;
36
- // the mime type of the content source.
37
- type?: string;
38
-
39
- // the target id in the content store
40
- id?: string;
41
- };
29
+ | StreamSource
30
+ | File
31
+ | {
32
+ // the source URI
33
+ source: string;
34
+ // the original name of the input file if any
35
+ name?: string;
36
+ // the mime type of the content source.
37
+ type?: string;
38
+
39
+ // the target id in the content store
40
+ id?: string;
41
+ };
42
42
  }
43
43
 
44
44
  export interface ComputeFacetsResponse {
@@ -87,7 +87,7 @@ export class ObjectsApi extends ApiTopic {
87
87
  const query = payload.query || ({} as ObjectSearchQuery);
88
88
 
89
89
  // Add revision filtering options
90
- const showAllRevisions = payload.show_all_revisions === true;
90
+ const showAllRevisions = payload.all_revisions === true;
91
91
  const revisionRoot = payload.from_root;
92
92
 
93
93
  return this.get("/", {
@@ -95,7 +95,7 @@ export class ObjectsApi extends ApiTopic {
95
95
  limit,
96
96
  offset,
97
97
  ...query,
98
- show_all_revisions: showAllRevisions ? "true" : undefined,
98
+ all_revisions: showAllRevisions ? "true" : undefined,
99
99
  from_root: revisionRoot,
100
100
  },
101
101
  });
@@ -153,8 +153,6 @@ export class ObjectsApi extends ApiTopic {
153
153
  mime_type: source.type,
154
154
  });
155
155
 
156
- console.log(`Uploading content to ${url}`, { id, mime_type, isStream, source });
157
-
158
156
  // upload the file content to the signed URL
159
157
  /*const res = await this.fetch(url, {
160
158
  method: 'PUT',
@@ -73,14 +73,45 @@ export class WorkflowsApi extends ApiTopic {
73
73
 
74
74
  async streamMessages(runId: string, onMessage?: (message: AgentMessage) => void, since?: number): Promise<void> {
75
75
  return new Promise((resolve, reject) => {
76
- const setupStream = async () => {
76
+ let reconnectAttempts = 0;
77
+ let lastMessageTimestamp = since || 0;
78
+ let isClosed = false;
79
+ let currentSse: EventSource | null = null;
80
+ let interval: NodeJS.Timeout | null = null;
81
+
82
+ const maxReconnectAttempts = 10;
83
+ const baseDelay = 1000; // 1 second base delay
84
+ const maxDelay = 30000; // 30 seconds max delay
85
+
86
+ const calculateBackoffDelay = (attempts: number): number => {
87
+ const exponentialDelay = Math.min(baseDelay * Math.pow(2, attempts), maxDelay);
88
+ // Add jitter to prevent thundering herd
89
+ const jitter = Math.random() * 0.1 * exponentialDelay;
90
+ return exponentialDelay + jitter;
91
+ };
92
+
93
+ const cleanup = () => {
94
+ if (interval) {
95
+ clearInterval(interval);
96
+ interval = null;
97
+ }
98
+ if (currentSse) {
99
+ currentSse.close();
100
+ currentSse = null;
101
+ }
102
+ };
103
+
104
+ const setupStream = async (isReconnect: boolean = false) => {
105
+ if (isClosed) return;
106
+
77
107
  try {
78
108
  const EventSourceImpl = await EventSourceProvider();
79
109
  const client = this.client as VertesiaClient;
80
110
  const streamUrl = new URL(client.workflows.baseUrl + "/runs/" + runId + "/stream");
81
111
 
82
- if (since) {
83
- streamUrl.searchParams.set("since", since.toString());
112
+ // Use the timestamp of the last received message for reconnection
113
+ if (lastMessageTimestamp > 0) {
114
+ streamUrl.searchParams.set("since", lastMessageTimestamp.toString());
84
115
  }
85
116
 
86
117
  const bearerToken = client._auth ? await client._auth() : undefined;
@@ -91,18 +122,25 @@ export class WorkflowsApi extends ApiTopic {
91
122
 
92
123
  const token = bearerToken.split(" ")[1];
93
124
  streamUrl.searchParams.set("access_token", token);
125
+
126
+ if (isReconnect) {
127
+ console.log(`Reconnecting to SSE stream for run ${runId} (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
128
+ }
94
129
 
95
130
  const sse = new EventSourceImpl(streamUrl.href);
96
- let isClosed = false;
131
+ currentSse = sse;
97
132
 
98
133
  // Prevent Node from exiting prematurely
99
- const interval = setInterval(() => {}, 1000);
134
+ interval = setInterval(() => {}, 1000);
100
135
 
101
- // Cleanup when stream resolves
102
- const cleanup = () => {
103
- clearInterval(interval);
136
+ sse.onopen = () => {
137
+ if (isReconnect) {
138
+ console.log(`Successfully reconnected to SSE stream for run ${runId}`);
139
+ }
140
+ // Reset reconnect attempts on successful connection
141
+ reconnectAttempts = 0;
104
142
  };
105
-
143
+
106
144
  sse.onmessage = (ev: MessageEvent) => {
107
145
  if (!ev.data || ev.data.startsWith(":")) {
108
146
  console.log("Received comment or heartbeat; ignoring it.: ", ev.data);
@@ -111,6 +149,12 @@ export class WorkflowsApi extends ApiTopic {
111
149
 
112
150
  try {
113
151
  const message = JSON.parse(ev.data) as AgentMessage;
152
+
153
+ // Update last message timestamp for reconnection
154
+ if (message.timestamp) {
155
+ lastMessageTimestamp = Math.max(lastMessageTimestamp, message.timestamp);
156
+ }
157
+
114
158
  if (onMessage) onMessage(message);
115
159
 
116
160
  // Only close the stream when the main workstream completes
@@ -118,7 +162,6 @@ export class WorkflowsApi extends ApiTopic {
118
162
  console.log("Closing stream due to COMPLETE message from main workstream");
119
163
  if (!isClosed) {
120
164
  isClosed = true;
121
- sse.close();
122
165
  cleanup();
123
166
  resolve();
124
167
  }
@@ -131,21 +174,52 @@ export class WorkflowsApi extends ApiTopic {
131
174
  };
132
175
 
133
176
  sse.onerror = (err: any) => {
134
- if (!isClosed) {
135
- console.error("SSE stream error:", err);
177
+ if (isClosed) return;
178
+
179
+ console.warn(`SSE stream error for run ${runId}:`, err);
180
+ cleanup();
181
+
182
+ // Check if we should attempt reconnection
183
+ if (reconnectAttempts < maxReconnectAttempts) {
184
+ const delay = calculateBackoffDelay(reconnectAttempts);
185
+ console.log(`Attempting to reconnect in ${delay}ms (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
186
+
187
+ reconnectAttempts++;
188
+ setTimeout(() => {
189
+ if (!isClosed) {
190
+ setupStream(true);
191
+ }
192
+ }, delay);
193
+ } else {
194
+ console.error(`Failed to reconnect to SSE stream for run ${runId} after ${maxReconnectAttempts} attempts`);
136
195
  isClosed = true;
137
- sse.close();
138
- cleanup();
139
- reject(err);
196
+ reject(new Error(`SSE connection failed after ${maxReconnectAttempts} reconnection attempts`));
140
197
  }
141
198
  };
142
199
  } catch (err) {
143
- reject(err);
200
+ console.error("Error setting up SSE stream:", err);
201
+ if (reconnectAttempts < maxReconnectAttempts) {
202
+ const delay = calculateBackoffDelay(reconnectAttempts);
203
+ reconnectAttempts++;
204
+ setTimeout(() => {
205
+ if (!isClosed) {
206
+ setupStream(true);
207
+ }
208
+ }, delay);
209
+ } else {
210
+ reject(err);
211
+ }
144
212
  }
145
213
  };
146
214
 
147
215
  // Start the async setup process
148
- setupStream();
216
+ setupStream(false);
217
+
218
+ // Return cleanup function for external cancellation
219
+ return () => {
220
+ isClosed = true;
221
+ cleanup();
222
+ };
149
223
  });
150
224
  }
151
225