diff --git a/api/server/controllers/agents/client.js b/api/server/controllers/agents/client.js index cce4501461..4e157d0620 100644 --- a/api/server/controllers/agents/client.js +++ b/api/server/controllers/agents/client.js @@ -46,6 +46,13 @@ class AgentClient extends BaseClient { this.options = Object.assign({ endpoint: options.endpoint }, clientOptions); } + /** + * Returns the aggregated content parts for the current run. + * @returns {MessageContentComplex[]} */ + getContentParts() { + return this.contentParts; + } + setOptions(options) { logger.info('[api/server/controllers/agents/client.js] setOptions', options); } @@ -437,11 +444,18 @@ class AgentClient extends BaseClient { }); logger.info(this.contentParts, { depth: null }); } catch (err) { - logger.error( - '[api/server/controllers/agents/client.js #chatCompletion] Unhandled error type', + if (!abortController.signal.aborted) { + logger.error( + '[api/server/controllers/agents/client.js #sendCompletion] Unhandled error type', + err, + ); + throw err; + } + + logger.warn( + '[api/server/controllers/agents/client.js #sendCompletion] Operation aborted', err, ); - throw err; } } diff --git a/api/server/controllers/agents/request.js b/api/server/controllers/agents/request.js index 842f2f68cc..c7927e6a60 100644 --- a/api/server/controllers/agents/request.js +++ b/api/server/controllers/agents/request.js @@ -46,6 +46,7 @@ const AgentController = async (req, res, next, initializeClient, addTitle) => { }; try { + /** @type {{ client: TAgentClient }} */ const { client } = await initializeClient({ req, res, endpointOption }); const getAbortData = () => ({ @@ -54,8 +55,8 @@ const AgentController = async (req, res, next, initializeClient, addTitle) => { promptTokens, conversationId, userMessagePromise, - // text: getPartialText(), messageId: responseMessageId, + content: client.getContentParts(), parentMessageId: overrideParentMessageId ?? userMessageId, }); diff --git a/api/server/middleware/abortMiddleware.js b/api/server/middleware/abortMiddleware.js index e855c0cb69..7fb84a3074 100644 --- a/api/server/middleware/abortMiddleware.js +++ b/api/server/middleware/abortMiddleware.js @@ -107,7 +107,7 @@ const createAbortController = (req, res, getAbortData, getReqData) => { finish_reason: 'incomplete', endpoint: endpointOption.endpoint, iconURL: endpointOption.iconURL, - model: endpointOption.modelOptions.model, + model: endpointOption.modelOptions?.model ?? endpointOption.model_parameters?.model, unfinished: false, error: false, isCreatedByUser: false, diff --git a/api/typedefs.js b/api/typedefs.js index 93cc666a8f..136aaca490 100644 --- a/api/typedefs.js +++ b/api/typedefs.js @@ -899,6 +899,12 @@ * @memberof typedefs */ +/** + * @exports TAgentClient + * @typedef {import('./server/controllers/agents/client')} TAgentClient + * @memberof typedefs + */ + /** * @exports ImportBatchBuilder * @typedef {import('./server/utils/import/importBatchBuilder.js').ImportBatchBuilder} ImportBatchBuilder