/opt/canhelp/node_modules/openai/lib
NameSizeModeActions
responses/-0755rm
AbstractChatCompletionRunner.d.mts41970644editdlrm
AbstractChatCompletionRunner.d.mts.map23290644editdlrm
AbstractChatCompletionRunner.d.ts41880644editdlrm
AbstractChatCompletionRunner.d.ts.map23280644editdlrm
AbstractChatCompletionRunner.js151830644editdlrm
AbstractChatCompletionRunner.js.map101060644editdlrm
AbstractChatCompletionRunner.mjs147230644editdlrm
AbstractChatCompletionRunner.mjs.map101150644editdlrm
AssistantStream.d.mts41540644editdlrm
AssistantStream.d.mts.map35660644editdlrm
AssistantStream.d.ts41450644editdlrm
AssistantStream.d.ts.map35650644editdlrm
AssistantStream.js288890644editdlrm
AssistantStream.js.map186830644editdlrm
AssistantStream.mjs281270644editdlrm
AssistantStream.mjs.map186950644editdlrm
ChatCompletionRunner.d.mts12350644editdlrm
ChatCompletionRunner.d.mts.map9030644editdlrm
ChatCompletionRunner.d.ts12290644editdlrm
ChatCompletionRunner.d.ts.map9020644editdlrm
ChatCompletionRunner.js10460644editdlrm
ChatCompletionRunner.js.map7940644editdlrm
ChatCompletionRunner.mjs8230644editdlrm
ChatCompletionRunner.mjs.map7990644editdlrm
ChatCompletionStream.d.mts85620644editdlrm
ChatCompletionStream.d.mts.map43660644editdlrm
ChatCompletionStream.d.ts85550644editdlrm
ChatCompletionStream.d.ts.map43650644editdlrm
ChatCompletionStream.js256930644editdlrm
ChatCompletionStream.js.map178740644editdlrm
ChatCompletionStream.mjs252400644editdlrm
ChatCompletionStream.mjs.map179560644editdlrm
ChatCompletionStreamingRunner.d.mts15350644editdlrm
ChatCompletionStreamingRunner.d.mts.map11020644editdlrm
ChatCompletionStreamingRunner.d.ts15270644editdlrm
ChatCompletionStreamingRunner.d.ts.map11010644editdlrm
ChatCompletionStreamingRunner.js10350644editdlrm
ChatCompletionStreamingRunner.js.map7830644editdlrm
ChatCompletionStreamingRunner.mjs8220644editdlrm
ChatCompletionStreamingRunner.mjs.map7840644editdlrm
chatCompletionUtils.d.mts5600644editdlrm
chatCompletionUtils.d.mts.map4650644editdlrm
chatCompletionUtils.d.ts5580644editdlrm
chatCompletionUtils.d.ts.map4640644editdlrm
chatCompletionUtils.js5200644editdlrm
chatCompletionUtils.js.map4630644editdlrm
chatCompletionUtils.mjs2850644editdlrm
chatCompletionUtils.mjs.map4270644editdlrm
EventEmitter.d.mts26900644editdlrm
EventEmitter.d.mts.map13460644editdlrm
EventEmitter.d.ts26890644editdlrm
EventEmitter.d.ts.map13450644editdlrm
EventEmitter.js35160644editdlrm
EventEmitter.js.map17410644editdlrm
EventEmitter.mjs33300644editdlrm
EventEmitter.mjs.map17310644editdlrm
EventStream.d.mts33210644editdlrm
EventStream.d.mts.map18900644editdlrm
EventStream.d.ts33190644editdlrm
EventStream.d.ts.map18890644editdlrm
EventStream.js100800644editdlrm
EventStream.js.map51140644editdlrm
EventStream.mjs96960644editdlrm
EventStream.mjs.map51210644editdlrm
jsonschema.d.mts44960644editdlrm
jsonschema.d.mts.map27800644editdlrm
jsonschema.d.ts44950644editdlrm
jsonschema.d.ts.map27790644editdlrm
jsonschema.js7320644editdlrm
jsonschema.js.map2160644editdlrm
jsonschema.mjs6670644editdlrm
jsonschema.mjs.map2160644editdlrm
parser.d.mts39420644editdlrm
parser.d.mts.map30680644editdlrm
parser.d.ts39380644editdlrm
parser.d.ts.map30670644editdlrm
parser.js67860644editdlrm
parser.js.map53550644editdlrm
parser.mjs60770644editdlrm
parser.mjs.map52890644editdlrm
ResponsesParser.d.mts25610644editdlrm
ResponsesParser.d.mts.map22580644editdlrm
ResponsesParser.d.ts25570644editdlrm
ResponsesParser.d.ts.map22570644editdlrm
ResponsesParser.js56220644editdlrm
ResponsesParser.js.map48700644editdlrm
ResponsesParser.mjs52020644editdlrm
ResponsesParser.mjs.map48160644editdlrm
RunnableFunction.d.mts37660644editdlrm
RunnableFunction.d.mts.map24320644editdlrm
RunnableFunction.d.ts37620644editdlrm
RunnableFunction.d.ts.map24310644editdlrm
RunnableFunction.js6290644editdlrm
RunnableFunction.js.map3730644editdlrm
RunnableFunction.mjs4110644editdlrm
RunnableFunction.mjs.map3580644editdlrm
transform.d.mts1680644editdlrm
transform.d.mts.map1980644editdlrm
transform.d.ts1660644editdlrm
transform.d.ts.map1970644editdlrm
transform.js62160644editdlrm
transform.js.map58980644editdlrm
transform.mjs60980644editdlrm
transform.mjs.map58900644editdlrm
Util.d.mts2110644editdlrm
Util.d.mts.map2210644editdlrm
Util.d.ts2100644editdlrm
Util.d.ts.map2200644editdlrm
Util.js9500644editdlrm
Util.js.map8050644editdlrm
Util.mjs7920644editdlrm
Util.mjs.map7870644editdlrm
Edit: /opt/canhelp/node_modules/openai/lib/AssistantStream.mjs (28127B)
var _AssistantStream_instances, _a, _AssistantStream_events, _AssistantStream_runStepSnapshots, _AssistantStream_messageSnapshots, _AssistantStream_messageSnapshot, _AssistantStream_finalRun, _AssistantStream_currentContentIndex, _AssistantStream_currentContent, _AssistantStream_currentToolCallIndex, _AssistantStream_currentToolCall, _AssistantStream_currentEvent, _AssistantStream_currentRunSnapshot, _AssistantStream_currentRunStepSnapshot, _AssistantStream_addEvent, _AssistantStream_endRequest, _AssistantStream_handleMessage, _AssistantStream_handleRunStep, _AssistantStream_handleEvent, _AssistantStream_accumulateRunStep, _AssistantStream_accumulateMessage, _AssistantStream_accumulateContent, _AssistantStream_handleRun; import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs"; import { Stream } from "../streaming.mjs"; import { APIUserAbortError, OpenAIError } from "../error.mjs"; import { EventStream } from "./EventStream.mjs"; import { isObj } from "../internal/utils.mjs"; export class AssistantStream extends EventStream { constructor() { super(...arguments); _AssistantStream_instances.add(this); //Track all events in a single list for reference _AssistantStream_events.set(this, []); //Used to accumulate deltas //We are accumulating many types so the value here is not strict _AssistantStream_runStepSnapshots.set(this, {}); _AssistantStream_messageSnapshots.set(this, {}); _AssistantStream_messageSnapshot.set(this, void 0); _AssistantStream_finalRun.set(this, void 0); _AssistantStream_currentContentIndex.set(this, void 0); _AssistantStream_currentContent.set(this, void 0); _AssistantStream_currentToolCallIndex.set(this, void 0); _AssistantStream_currentToolCall.set(this, void 0); //For current snapshot methods _AssistantStream_currentEvent.set(this, void 0); _AssistantStream_currentRunSnapshot.set(this, void 0); _AssistantStream_currentRunStepSnapshot.set(this, void 0); } [(_AssistantStream_events = new WeakMap(), _AssistantStream_runStepSnapshots = new WeakMap(), _AssistantStream_messageSnapshots = new WeakMap(), _AssistantStream_messageSnapshot = new WeakMap(), _AssistantStream_finalRun = new WeakMap(), _AssistantStream_currentContentIndex = new WeakMap(), _AssistantStream_currentContent = new WeakMap(), _AssistantStream_currentToolCallIndex = new WeakMap(), _AssistantStream_currentToolCall = new WeakMap(), _AssistantStream_currentEvent = new WeakMap(), _AssistantStream_currentRunSnapshot = new WeakMap(), _AssistantStream_currentRunStepSnapshot = new WeakMap(), _AssistantStream_instances = new WeakSet(), Symbol.asyncIterator)]() { const pushQueue = []; const readQueue = []; let done = false; //Catch all for passing along all events this.on('event', (event) => { const reader = readQueue.shift(); if (reader) { reader.resolve(event); } else { pushQueue.push(event); } }); this.on('end', () => { done = true; for (const reader of readQueue) { reader.resolve(undefined); } readQueue.length = 0; }); this.on('abort', (err) => { done = true; for (const reader of readQueue) { reader.reject(err); } readQueue.length = 0; }); this.on('error', (err) => { done = true; for (const reader of readQueue) { reader.reject(err); } readQueue.length = 0; }); return { next: async () => { if (!pushQueue.length) { if (done) { return { value: undefined, done: true }; } return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true })); } const chunk = pushQueue.shift(); return { value: chunk, done: false }; }, return: async () => { this.abort(); return { value: undefined, done: true }; }, }; } static fromReadableStream(stream) { const runner = new _a(); runner._run(() => runner._fromReadableStream(stream)); return runner; } async _fromReadableStream(readableStream, options) { const signal = options?.signal; if (signal) { if (signal.aborted) this.controller.abort(); signal.addEventListener('abort', () => this.controller.abort()); } this._connected(); const stream = Stream.fromReadableStream(readableStream, this.controller); for await (const event of stream) { __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event); } if (stream.controller.signal?.aborted) { throw new APIUserAbortError(); } return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this)); } toReadableStream() { const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); return stream.toReadableStream(); } static createToolAssistantStream(runId, runs, params, options) { const runner = new _a(); runner._run(() => runner._runToolAssistantStream(runId, runs, params, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' }, })); return runner; } async _createToolAssistantStream(run, runId, params, options) { const signal = options?.signal; if (signal) { if (signal.aborted) this.controller.abort(); signal.addEventListener('abort', () => this.controller.abort()); } const body = { ...params, stream: true }; const stream = await run.submitToolOutputs(runId, body, { ...options, signal: this.controller.signal, }); this._connected(); for await (const event of stream) { __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event); } if (stream.controller.signal?.aborted) { throw new APIUserAbortError(); } return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this)); } static createThreadAssistantStream(params, thread, options) { const runner = new _a(); runner._run(() => runner._threadAssistantStream(params, thread, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' }, })); return runner; } static createAssistantStream(threadId, runs, params, options) { const runner = new _a(); runner._run(() => runner._runAssistantStream(threadId, runs, params, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' }, })); return runner; } currentEvent() { return __classPrivateFieldGet(this, _AssistantStream_currentEvent, "f"); } currentRun() { return __classPrivateFieldGet(this, _AssistantStream_currentRunSnapshot, "f"); } currentMessageSnapshot() { return __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"); } currentRunStepSnapshot() { return __classPrivateFieldGet(this, _AssistantStream_currentRunStepSnapshot, "f"); } async finalRunSteps() { await this.done(); return Object.values(__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")); } async finalMessages() { await this.done(); return Object.values(__classPrivateFieldGet(this, _AssistantStream_messageSnapshots, "f")); } async finalRun() { await this.done(); if (!__classPrivateFieldGet(this, _AssistantStream_finalRun, "f")) throw Error('Final run was not received.'); return __classPrivateFieldGet(this, _AssistantStream_finalRun, "f"); } async _createThreadAssistantStream(thread, params, options) { const signal = options?.signal; if (signal) { if (signal.aborted) this.controller.abort(); signal.addEventListener('abort', () => this.controller.abort()); } const body = { ...params, stream: true }; const stream = await thread.createAndRun(body, { ...options, signal: this.controller.signal }); this._connected(); for await (const event of stream) { __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event); } if (stream.controller.signal?.aborted) { throw new APIUserAbortError(); } return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this)); } async _createAssistantStream(run, threadId, params, options) { const signal = options?.signal; if (signal) { if (signal.aborted) this.controller.abort(); signal.addEventListener('abort', () => this.controller.abort()); } const body = { ...params, stream: true }; const stream = await run.create(threadId, body, { ...options, signal: this.controller.signal }); this._connected(); for await (const event of stream) { __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event); } if (stream.controller.signal?.aborted) { throw new APIUserAbortError(); } return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this)); } static accumulateDelta(acc, delta) { for (const [key, deltaValue] of Object.entries(delta)) { if (!acc.hasOwnProperty(key)) { acc[key] = deltaValue; continue; } let accValue = acc[key]; if (accValue === null || accValue === undefined) { acc[key] = deltaValue; continue; } // We don't accumulate these special properties if (key === 'index' || key === 'type') { acc[key] = deltaValue; continue; } // Type-specific accumulation logic if (typeof accValue === 'string' && typeof deltaValue === 'string') { accValue += deltaValue; } else if (typeof accValue === 'number' && typeof deltaValue === 'number') { accValue += deltaValue; } else if (isObj(accValue) && isObj(deltaValue)) { accValue = this.accumulateDelta(accValue, deltaValue); } else if (Array.isArray(accValue) && Array.isArray(deltaValue)) { if (accValue.every((x) => typeof x === 'string' || typeof x === 'number')) { accValue.push(...deltaValue); // Use spread syntax for efficient addition continue; } for (const deltaEntry of deltaValue) { if (!isObj(deltaEntry)) { throw new Error(`Expected array delta entry to be an object but got: ${deltaEntry}`); } const index = deltaEntry['index']; if (index == null) { console.error(deltaEntry); throw new Error('Expected array delta entry to have an `index` property'); } if (typeof index !== 'number') { throw new Error(`Expected array delta entry \`index\` property to be a number but got ${index}`); } const accEntry = accValue[index]; if (accEntry == null) { accValue.push(deltaEntry); } else { accValue[index] = this.accumulateDelta(accEntry, deltaEntry); } } continue; } else { throw Error(`Unhandled record type: ${key}, deltaValue: ${deltaValue}, accValue: ${accValue}`); } acc[key] = accValue; } return acc; } _addRun(run) { return run; } async _threadAssistantStream(params, thread, options) { return await this._createThreadAssistantStream(thread, params, options); } async _runAssistantStream(threadId, runs, params, options) { return await this._createAssistantStream(runs, threadId, params, options); } async _runToolAssistantStream(runId, runs, params, options) { return await this._createToolAssistantStream(runs, runId, params, options); } } _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addEvent(event) { if (this.ended) return; __classPrivateFieldSet(this, _AssistantStream_currentEvent, event, "f"); __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleEvent).call(this, event); switch (event.event) { case 'thread.created': //No action on this event. break; case 'thread.run.created': case 'thread.run.queued': case 'thread.run.in_progress': case 'thread.run.requires_action': case 'thread.run.completed': case 'thread.run.incomplete': case 'thread.run.failed': case 'thread.run.cancelling': case 'thread.run.cancelled': case 'thread.run.expired': __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleRun).call(this, event); break; case 'thread.run.step.created': case 'thread.run.step.in_progress': case 'thread.run.step.delta': case 'thread.run.step.completed': case 'thread.run.step.failed': case 'thread.run.step.cancelled': case 'thread.run.step.expired': __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleRunStep).call(this, event); break; case 'thread.message.created': case 'thread.message.in_progress': case 'thread.message.delta': case 'thread.message.completed': case 'thread.message.incomplete': __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleMessage).call(this, event); break; case 'error': //This is included for completeness, but errors are processed in the SSE event processing so this should not occur throw new Error('Encountered an error event in event processing - errors should be processed earlier'); default: assertNever(event); } }, _AssistantStream_endRequest = function _AssistantStream_endRequest() { if (this.ended) { throw new OpenAIError(`stream has ended, this shouldn't happen`); } if (!__classPrivateFieldGet(this, _AssistantStream_finalRun, "f")) throw Error('Final run has not been received'); return __classPrivateFieldGet(this, _AssistantStream_finalRun, "f"); }, _AssistantStream_handleMessage = function _AssistantStream_handleMessage(event) { const [accumulatedMessage, newContent] = __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateMessage).call(this, event, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")); __classPrivateFieldSet(this, _AssistantStream_messageSnapshot, accumulatedMessage, "f"); __classPrivateFieldGet(this, _AssistantStream_messageSnapshots, "f")[accumulatedMessage.id] = accumulatedMessage; for (const content of newContent) { const snapshotContent = accumulatedMessage.content[content.index]; if (snapshotContent?.type == 'text') { this._emit('textCreated', snapshotContent.text); } } switch (event.event) { case 'thread.message.created': this._emit('messageCreated', event.data); break; case 'thread.message.in_progress': break; case 'thread.message.delta': this._emit('messageDelta', event.data.delta, accumulatedMessage); if (event.data.delta.content) { for (const content of event.data.delta.content) { //If it is text delta, emit a text delta event if (content.type == 'text' && content.text) { let textDelta = content.text; let snapshot = accumulatedMessage.content[content.index]; if (snapshot && snapshot.type == 'text') { this._emit('textDelta', textDelta, snapshot.text); } else { throw Error('The snapshot associated with this text delta is not text or missing'); } } if (content.index != __classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f")) { //See if we have in progress content if (__classPrivateFieldGet(this, _AssistantStream_currentContent, "f")) { switch (__classPrivateFieldGet(this, _AssistantStream_currentContent, "f").type) { case 'text': this._emit('textDone', __classPrivateFieldGet(this, _AssistantStream_currentContent, "f").text, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")); break; case 'image_file': this._emit('imageFileDone', __classPrivateFieldGet(this, _AssistantStream_currentContent, "f").image_file, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")); break; } } __classPrivateFieldSet(this, _AssistantStream_currentContentIndex, content.index, "f"); } __classPrivateFieldSet(this, _AssistantStream_currentContent, accumulatedMessage.content[content.index], "f"); } } break; case 'thread.message.completed': case 'thread.message.incomplete': //We emit the latest content we were working on on completion (including incomplete) if (__classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f") !== undefined) { const currentContent = event.data.content[__classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f")]; if (currentContent) { switch (currentContent.type) { case 'image_file': this._emit('imageFileDone', currentContent.image_file, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")); break; case 'text': this._emit('textDone', currentContent.text, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")); break; } } } if (__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")) { this._emit('messageDone', event.data); } __classPrivateFieldSet(this, _AssistantStream_messageSnapshot, undefined, "f"); } }, _AssistantStream_handleRunStep = function _AssistantStream_handleRunStep(event) { const accumulatedRunStep = __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateRunStep).call(this, event); __classPrivateFieldSet(this, _AssistantStream_currentRunStepSnapshot, accumulatedRunStep, "f"); switch (event.event) { case 'thread.run.step.created': this._emit('runStepCreated', event.data); break; case 'thread.run.step.delta': const delta = event.data.delta; if (delta.step_details && delta.step_details.type == 'tool_calls' && delta.step_details.tool_calls && accumulatedRunStep.step_details.type == 'tool_calls') { for (const toolCall of delta.step_details.tool_calls) { if (toolCall.index == __classPrivateFieldGet(this, _AssistantStream_currentToolCallIndex, "f")) { this._emit('toolCallDelta', toolCall, accumulatedRunStep.step_details.tool_calls[toolCall.index]); } else { if (__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) { this._emit('toolCallDone', __classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")); } __classPrivateFieldSet(this, _AssistantStream_currentToolCallIndex, toolCall.index, "f"); __classPrivateFieldSet(this, _AssistantStream_currentToolCall, accumulatedRunStep.step_details.tool_calls[toolCall.index], "f"); if (__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) this._emit('toolCallCreated', __classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")); } } } this._emit('runStepDelta', event.data.delta, accumulatedRunStep); break; case 'thread.run.step.completed': case 'thread.run.step.failed': case 'thread.run.step.cancelled': case 'thread.run.step.expired': __classPrivateFieldSet(this, _AssistantStream_currentRunStepSnapshot, undefined, "f"); const details = event.data.step_details; if (details.type == 'tool_calls') { if (__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) { this._emit('toolCallDone', __classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")); __classPrivateFieldSet(this, _AssistantStream_currentToolCall, undefined, "f"); } } this._emit('runStepDone', event.data, accumulatedRunStep); break; case 'thread.run.step.in_progress': break; } }, _AssistantStream_handleEvent = function _AssistantStream_handleEvent(event) { __classPrivateFieldGet(this, _AssistantStream_events, "f").push(event); this._emit('event', event); }, _AssistantStream_accumulateRunStep = function _AssistantStream_accumulateRunStep(event) { switch (event.event) { case 'thread.run.step.created': __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data; return event.data; case 'thread.run.step.delta': let snapshot = __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id]; if (!snapshot) { throw Error('Received a RunStepDelta before creation of a snapshot'); } let data = event.data; if (data.delta) { const accumulated = _a.accumulateDelta(snapshot, data.delta); __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = accumulated; } return __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id]; case 'thread.run.step.completed': case 'thread.run.step.failed': case 'thread.run.step.cancelled': case 'thread.run.step.expired': case 'thread.run.step.in_progress': __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data; break; } if (__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id]) return __classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id]; throw new Error('No snapshot available'); }, _AssistantStream_accumulateMessage = function _AssistantStream_accumulateMessage(event, snapshot) { let newContent = []; switch (event.event) { case 'thread.message.created': //On creation the snapshot is just the initial message return [event.data, newContent]; case 'thread.message.delta': if (!snapshot) { throw Error('Received a delta with no existing snapshot (there should be one from message creation)'); } let data = event.data; //If this delta does not have content, nothing to process if (data.delta.content) { for (const contentElement of data.delta.content) { if (contentElement.index in snapshot.content) { let currentContent = snapshot.content[contentElement.index]; snapshot.content[contentElement.index] = __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateContent).call(this, contentElement, currentContent); } else { snapshot.content[contentElement.index] = contentElement; // This is a new element newContent.push(contentElement); } } } return [snapshot, newContent]; case 'thread.message.in_progress': case 'thread.message.completed': case 'thread.message.incomplete': //No changes on other thread events if (snapshot) { return [snapshot, newContent]; } else { throw Error('Received thread message event with no existing snapshot'); } } throw Error('Tried to accumulate a non-message event'); }, _AssistantStream_accumulateContent = function _AssistantStream_accumulateContent(contentElement, currentContent) { return _a.accumulateDelta(currentContent, contentElement); }, _AssistantStream_handleRun = function _AssistantStream_handleRun(event) { __classPrivateFieldSet(this, _AssistantStream_currentRunSnapshot, event.data, "f"); switch (event.event) { case 'thread.run.created': break; case 'thread.run.queued': break; case 'thread.run.in_progress': break; case 'thread.run.requires_action': case 'thread.run.cancelled': case 'thread.run.failed': case 'thread.run.completed': case 'thread.run.expired': case 'thread.run.incomplete': __classPrivateFieldSet(this, _AssistantStream_finalRun, event.data, "f"); if (__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) { this._emit('toolCallDone', __classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")); __classPrivateFieldSet(this, _AssistantStream_currentToolCall, undefined, "f"); } break; case 'thread.run.cancelling': break; } }; function assertNever(_x) { } //# sourceMappingURL=AssistantStream.mjs.map