✅ Fix chat interface - restore continuous conversation flow
🎯 Major improvements to MissionControl component: - Always keep input field visible and functional after AI responses - Auto-clear input after submitting questions for better UX - Add dynamic visual indicators (first question vs follow-up) - Improve response layout with clear separation and hints - Enable proper chat-like experience for continuous learning 🌟 Additional enhancements: - Better language-specific messaging throughout interface - Clearer visual hierarchy between input and response areas - Intuitive flow that guides users to ask follow-up questions - Maintains responsive design and accessibility 🔧 Technical changes: - Enhanced MissionControl state management - Improved component layout and styling - Better TypeScript integration across components - Updated tsconfig for stricter type checking
This commit is contained in:
202
node_modules/openai/lib/AssistantStream.js
generated
vendored
202
node_modules/openai/lib/AssistantStream.js
generated
vendored
@@ -1,12 +1,45 @@
|
||||
"use strict";
|
||||
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;
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
||||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
||||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
||||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
||||
};
|
||||
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
||||
if (kind === "m") throw new TypeError("Private method is not writable");
|
||||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
||||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
||||
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
||||
};
|
||||
var _AssistantStream_instances, _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;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AssistantStream = void 0;
|
||||
const tslib_1 = require("../internal/tslib.js");
|
||||
const Core = __importStar(require("../core.js"));
|
||||
const streaming_1 = require("../streaming.js");
|
||||
const error_1 = require("../error.js");
|
||||
const EventStream_1 = require("./EventStream.js");
|
||||
const utils_1 = require("../internal/utils.js");
|
||||
class AssistantStream extends EventStream_1.EventStream {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
@@ -81,7 +114,7 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
};
|
||||
}
|
||||
static fromReadableStream(stream) {
|
||||
const runner = new _a();
|
||||
const runner = new AssistantStream();
|
||||
runner._run(() => runner._fromReadableStream(stream));
|
||||
return runner;
|
||||
}
|
||||
@@ -95,26 +128,26 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
this._connected();
|
||||
const stream = streaming_1.Stream.fromReadableStream(readableStream, this.controller);
|
||||
for await (const event of stream) {
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
}
|
||||
if (stream.controller.signal?.aborted) {
|
||||
throw new error_1.APIUserAbortError();
|
||||
}
|
||||
return this._addRun(tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
}
|
||||
toReadableStream() {
|
||||
const stream = new streaming_1.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, {
|
||||
static createToolAssistantStream(threadId, runId, runs, params, options) {
|
||||
const runner = new AssistantStream();
|
||||
runner._run(() => runner._runToolAssistantStream(threadId, runId, runs, params, {
|
||||
...options,
|
||||
headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
|
||||
}));
|
||||
return runner;
|
||||
}
|
||||
async _createToolAssistantStream(run, runId, params, options) {
|
||||
async _createToolAssistantStream(run, threadId, runId, params, options) {
|
||||
const signal = options?.signal;
|
||||
if (signal) {
|
||||
if (signal.aborted)
|
||||
@@ -122,21 +155,21 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
signal.addEventListener('abort', () => this.controller.abort());
|
||||
}
|
||||
const body = { ...params, stream: true };
|
||||
const stream = await run.submitToolOutputs(runId, body, {
|
||||
const stream = await run.submitToolOutputs(threadId, runId, body, {
|
||||
...options,
|
||||
signal: this.controller.signal,
|
||||
});
|
||||
this._connected();
|
||||
for await (const event of stream) {
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
}
|
||||
if (stream.controller.signal?.aborted) {
|
||||
throw new error_1.APIUserAbortError();
|
||||
}
|
||||
return this._addRun(tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
}
|
||||
static createThreadAssistantStream(params, thread, options) {
|
||||
const runner = new _a();
|
||||
const runner = new AssistantStream();
|
||||
runner._run(() => runner._threadAssistantStream(params, thread, {
|
||||
...options,
|
||||
headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
|
||||
@@ -144,7 +177,7 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
return runner;
|
||||
}
|
||||
static createAssistantStream(threadId, runs, params, options) {
|
||||
const runner = new _a();
|
||||
const runner = new AssistantStream();
|
||||
runner._run(() => runner._runAssistantStream(threadId, runs, params, {
|
||||
...options,
|
||||
headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
|
||||
@@ -152,30 +185,30 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
return runner;
|
||||
}
|
||||
currentEvent() {
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentEvent, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_currentEvent, "f");
|
||||
}
|
||||
currentRun() {
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentRunSnapshot, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_currentRunSnapshot, "f");
|
||||
}
|
||||
currentMessageSnapshot() {
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f");
|
||||
}
|
||||
currentRunStepSnapshot() {
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentRunStepSnapshot, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_currentRunStepSnapshot, "f");
|
||||
}
|
||||
async finalRunSteps() {
|
||||
await this.done();
|
||||
return Object.values(tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f"));
|
||||
return Object.values(__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f"));
|
||||
}
|
||||
async finalMessages() {
|
||||
await this.done();
|
||||
return Object.values(tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshots, "f"));
|
||||
return Object.values(__classPrivateFieldGet(this, _AssistantStream_messageSnapshots, "f"));
|
||||
}
|
||||
async finalRun() {
|
||||
await this.done();
|
||||
if (!tslib_1.__classPrivateFieldGet(this, _AssistantStream_finalRun, "f"))
|
||||
if (!__classPrivateFieldGet(this, _AssistantStream_finalRun, "f"))
|
||||
throw Error('Final run was not received.');
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_finalRun, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_finalRun, "f");
|
||||
}
|
||||
async _createThreadAssistantStream(thread, params, options) {
|
||||
const signal = options?.signal;
|
||||
@@ -188,12 +221,12 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
const stream = await thread.createAndRun(body, { ...options, signal: this.controller.signal });
|
||||
this._connected();
|
||||
for await (const event of stream) {
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
}
|
||||
if (stream.controller.signal?.aborted) {
|
||||
throw new error_1.APIUserAbortError();
|
||||
}
|
||||
return this._addRun(tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
}
|
||||
async _createAssistantStream(run, threadId, params, options) {
|
||||
const signal = options?.signal;
|
||||
@@ -206,12 +239,12 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
const stream = await run.create(threadId, body, { ...options, signal: this.controller.signal });
|
||||
this._connected();
|
||||
for await (const event of stream) {
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_addEvent).call(this, event);
|
||||
}
|
||||
if (stream.controller.signal?.aborted) {
|
||||
throw new error_1.APIUserAbortError();
|
||||
}
|
||||
return this._addRun(tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
return this._addRun(__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_endRequest).call(this));
|
||||
}
|
||||
static accumulateDelta(acc, delta) {
|
||||
for (const [key, deltaValue] of Object.entries(delta)) {
|
||||
@@ -236,7 +269,7 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
else if (typeof accValue === 'number' && typeof deltaValue === 'number') {
|
||||
accValue += deltaValue;
|
||||
}
|
||||
else if ((0, utils_1.isObj)(accValue) && (0, utils_1.isObj)(deltaValue)) {
|
||||
else if (Core.isObj(accValue) && Core.isObj(deltaValue)) {
|
||||
accValue = this.accumulateDelta(accValue, deltaValue);
|
||||
}
|
||||
else if (Array.isArray(accValue) && Array.isArray(deltaValue)) {
|
||||
@@ -245,7 +278,7 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
continue;
|
||||
}
|
||||
for (const deltaEntry of deltaValue) {
|
||||
if (!(0, utils_1.isObj)(deltaEntry)) {
|
||||
if (!Core.isObj(deltaEntry)) {
|
||||
throw new Error(`Expected array delta entry to be an object but got: ${deltaEntry}`);
|
||||
}
|
||||
const index = deltaEntry['index'];
|
||||
@@ -282,16 +315,16 @@ class AssistantStream extends EventStream_1.EventStream {
|
||||
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);
|
||||
async _runToolAssistantStream(threadId, runId, runs, params, options) {
|
||||
return await this._createToolAssistantStream(runs, threadId, runId, params, options);
|
||||
}
|
||||
}
|
||||
exports.AssistantStream = AssistantStream;
|
||||
_a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addEvent(event) {
|
||||
_AssistantStream_addEvent = function _AssistantStream_addEvent(event) {
|
||||
if (this.ended)
|
||||
return;
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentEvent, event, "f");
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleEvent).call(this, event);
|
||||
__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.
|
||||
@@ -306,7 +339,7 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
case 'thread.run.cancelling':
|
||||
case 'thread.run.cancelled':
|
||||
case 'thread.run.expired':
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleRun).call(this, event);
|
||||
__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleRun).call(this, event);
|
||||
break;
|
||||
case 'thread.run.step.created':
|
||||
case 'thread.run.step.in_progress':
|
||||
@@ -315,14 +348,14 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
case 'thread.run.step.failed':
|
||||
case 'thread.run.step.cancelled':
|
||||
case 'thread.run.step.expired':
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleRunStep).call(this, event);
|
||||
__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':
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_handleMessage).call(this, event);
|
||||
__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
|
||||
@@ -334,13 +367,13 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
if (this.ended) {
|
||||
throw new error_1.OpenAIError(`stream has ended, this shouldn't happen`);
|
||||
}
|
||||
if (!tslib_1.__classPrivateFieldGet(this, _AssistantStream_finalRun, "f"))
|
||||
if (!__classPrivateFieldGet(this, _AssistantStream_finalRun, "f"))
|
||||
throw Error('Final run has not been received');
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_finalRun, "f");
|
||||
return __classPrivateFieldGet(this, _AssistantStream_finalRun, "f");
|
||||
}, _AssistantStream_handleMessage = function _AssistantStream_handleMessage(event) {
|
||||
const [accumulatedMessage, newContent] = tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateMessage).call(this, event, tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_messageSnapshot, accumulatedMessage, "f");
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshots, "f")[accumulatedMessage.id] = accumulatedMessage;
|
||||
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') {
|
||||
@@ -368,48 +401,48 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
throw Error('The snapshot associated with this text delta is not text or missing');
|
||||
}
|
||||
}
|
||||
if (content.index != tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f")) {
|
||||
if (content.index != __classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f")) {
|
||||
//See if we have in progress content
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContent, "f")) {
|
||||
switch (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContent, "f").type) {
|
||||
if (__classPrivateFieldGet(this, _AssistantStream_currentContent, "f")) {
|
||||
switch (__classPrivateFieldGet(this, _AssistantStream_currentContent, "f").type) {
|
||||
case 'text':
|
||||
this._emit('textDone', tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContent, "f").text, tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
this._emit('textDone', __classPrivateFieldGet(this, _AssistantStream_currentContent, "f").text, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
break;
|
||||
case 'image_file':
|
||||
this._emit('imageFileDone', tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContent, "f").image_file, tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
this._emit('imageFileDone', __classPrivateFieldGet(this, _AssistantStream_currentContent, "f").image_file, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentContentIndex, content.index, "f");
|
||||
__classPrivateFieldSet(this, _AssistantStream_currentContentIndex, content.index, "f");
|
||||
}
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentContent, accumulatedMessage.content[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 (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f") !== undefined) {
|
||||
const currentContent = event.data.content[tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentContentIndex, "f")];
|
||||
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, tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
this._emit('imageFileDone', currentContent.image_file, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
break;
|
||||
case 'text':
|
||||
this._emit('textDone', currentContent.text, tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
this._emit('textDone', currentContent.text, __classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")) {
|
||||
if (__classPrivateFieldGet(this, _AssistantStream_messageSnapshot, "f")) {
|
||||
this._emit('messageDone', event.data);
|
||||
}
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_messageSnapshot, undefined, "f");
|
||||
__classPrivateFieldSet(this, _AssistantStream_messageSnapshot, undefined, "f");
|
||||
}
|
||||
}, _AssistantStream_handleRunStep = function _AssistantStream_handleRunStep(event) {
|
||||
const accumulatedRunStep = tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateRunStep).call(this, event);
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentRunStepSnapshot, accumulatedRunStep, "f");
|
||||
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);
|
||||
@@ -421,17 +454,17 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
delta.step_details.tool_calls &&
|
||||
accumulatedRunStep.step_details.type == 'tool_calls') {
|
||||
for (const toolCall of delta.step_details.tool_calls) {
|
||||
if (toolCall.index == tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCallIndex, "f")) {
|
||||
if (toolCall.index == __classPrivateFieldGet(this, _AssistantStream_currentToolCallIndex, "f")) {
|
||||
this._emit('toolCallDelta', toolCall, accumulatedRunStep.step_details.tool_calls[toolCall.index]);
|
||||
}
|
||||
else {
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) {
|
||||
this._emit('toolCallDone', tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f"));
|
||||
if (__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) {
|
||||
this._emit('toolCallDone', __classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f"));
|
||||
}
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentToolCallIndex, toolCall.index, "f");
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentToolCall, accumulatedRunStep.step_details.tool_calls[toolCall.index], "f");
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f"))
|
||||
this._emit('toolCallCreated', tslib_1.__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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -441,12 +474,12 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
case 'thread.run.step.failed':
|
||||
case 'thread.run.step.cancelled':
|
||||
case 'thread.run.step.expired':
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentRunStepSnapshot, undefined, "f");
|
||||
__classPrivateFieldSet(this, _AssistantStream_currentRunStepSnapshot, undefined, "f");
|
||||
const details = event.data.step_details;
|
||||
if (details.type == 'tool_calls') {
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) {
|
||||
this._emit('toolCallDone', tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f"));
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentToolCall, undefined, "f");
|
||||
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);
|
||||
@@ -455,34 +488,34 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
break;
|
||||
}
|
||||
}, _AssistantStream_handleEvent = function _AssistantStream_handleEvent(event) {
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_events, "f").push(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':
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data;
|
||||
__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data;
|
||||
return event.data;
|
||||
case 'thread.run.step.delta':
|
||||
let snapshot = tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id];
|
||||
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);
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = accumulated;
|
||||
const accumulated = AssistantStream.accumulateDelta(snapshot, data.delta);
|
||||
__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = accumulated;
|
||||
}
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id];
|
||||
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':
|
||||
tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data;
|
||||
__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id] = event.data;
|
||||
break;
|
||||
}
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id])
|
||||
return tslib_1.__classPrivateFieldGet(this, _AssistantStream_runStepSnapshots, "f")[event.data.id];
|
||||
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 = [];
|
||||
@@ -500,7 +533,7 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
for (const contentElement of data.delta.content) {
|
||||
if (contentElement.index in snapshot.content) {
|
||||
let currentContent = snapshot.content[contentElement.index];
|
||||
snapshot.content[contentElement.index] = tslib_1.__classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateContent).call(this, contentElement, currentContent);
|
||||
snapshot.content[contentElement.index] = __classPrivateFieldGet(this, _AssistantStream_instances, "m", _AssistantStream_accumulateContent).call(this, contentElement, currentContent);
|
||||
}
|
||||
else {
|
||||
snapshot.content[contentElement.index] = contentElement;
|
||||
@@ -523,9 +556,9 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
}
|
||||
throw Error('Tried to accumulate a non-message event');
|
||||
}, _AssistantStream_accumulateContent = function _AssistantStream_accumulateContent(contentElement, currentContent) {
|
||||
return _a.accumulateDelta(currentContent, contentElement);
|
||||
return AssistantStream.accumulateDelta(currentContent, contentElement);
|
||||
}, _AssistantStream_handleRun = function _AssistantStream_handleRun(event) {
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentRunSnapshot, event.data, "f");
|
||||
__classPrivateFieldSet(this, _AssistantStream_currentRunSnapshot, event.data, "f");
|
||||
switch (event.event) {
|
||||
case 'thread.run.created':
|
||||
break;
|
||||
@@ -538,11 +571,10 @@ _a = AssistantStream, _AssistantStream_addEvent = function _AssistantStream_addE
|
||||
case 'thread.run.failed':
|
||||
case 'thread.run.completed':
|
||||
case 'thread.run.expired':
|
||||
case 'thread.run.incomplete':
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_finalRun, event.data, "f");
|
||||
if (tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f")) {
|
||||
this._emit('toolCallDone', tslib_1.__classPrivateFieldGet(this, _AssistantStream_currentToolCall, "f"));
|
||||
tslib_1.__classPrivateFieldSet(this, _AssistantStream_currentToolCall, undefined, "f");
|
||||
__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':
|
||||
|
||||
Reference in New Issue
Block a user