diff --git a/api/package.json b/api/package.json index 0e0099ef06..4e3f882a91 100644 --- a/api/package.json +++ b/api/package.json @@ -44,7 +44,7 @@ "@google/genai": "^1.19.0", "@keyv/redis": "^4.3.3", "@langchain/core": "^0.3.80", - "@librechat/agents": "^3.1.39", + "@librechat/agents": "^3.1.40", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", diff --git a/api/server/controllers/agents/callbacks.js b/api/server/controllers/agents/callbacks.js index 867e7f53af..163fc4ebba 100644 --- a/api/server/controllers/agents/callbacks.js +++ b/api/server/controllers/agents/callbacks.js @@ -209,6 +209,7 @@ function getDefaultHandlers({ * @param {GraphRunnableConfig['configurable']} [metadata] The runnable metadata. */ handle: async (event, data, metadata) => { + aggregateContent({ event, data }); if (data?.stepDetails.type === StepTypes.TOOL_CALLS) { await emitEvent(res, streamId, { event, data }); } else if (checkIfLastAgent(metadata?.last_agent_id, metadata?.langgraph_node)) { @@ -227,7 +228,6 @@ function getDefaultHandlers({ }, }); } - aggregateContent({ event, data }); }, }, [GraphEvents.ON_RUN_STEP_DELTA]: { @@ -238,6 +238,7 @@ function getDefaultHandlers({ * @param {GraphRunnableConfig['configurable']} [metadata] The runnable metadata. */ handle: async (event, data, metadata) => { + aggregateContent({ event, data }); if (data?.delta.type === StepTypes.TOOL_CALLS) { await emitEvent(res, streamId, { event, data }); } else if (checkIfLastAgent(metadata?.last_agent_id, metadata?.langgraph_node)) { @@ -245,7 +246,6 @@ function getDefaultHandlers({ } else if (!metadata?.hide_sequential_outputs) { await emitEvent(res, streamId, { event, data }); } - aggregateContent({ event, data }); }, }, [GraphEvents.ON_RUN_STEP_COMPLETED]: { @@ -256,6 +256,7 @@ function getDefaultHandlers({ * @param {GraphRunnableConfig['configurable']} [metadata] The runnable metadata. */ handle: async (event, data, metadata) => { + aggregateContent({ event, data }); if (data?.result != null) { await emitEvent(res, streamId, { event, data }); } else if (checkIfLastAgent(metadata?.last_agent_id, metadata?.langgraph_node)) { @@ -263,7 +264,6 @@ function getDefaultHandlers({ } else if (!metadata?.hide_sequential_outputs) { await emitEvent(res, streamId, { event, data }); } - aggregateContent({ event, data }); }, }, [GraphEvents.ON_MESSAGE_DELTA]: { @@ -274,12 +274,12 @@ function getDefaultHandlers({ * @param {GraphRunnableConfig['configurable']} [metadata] The runnable metadata. */ handle: async (event, data, metadata) => { + aggregateContent({ event, data }); if (checkIfLastAgent(metadata?.last_agent_id, metadata?.langgraph_node)) { await emitEvent(res, streamId, { event, data }); } else if (!metadata?.hide_sequential_outputs) { await emitEvent(res, streamId, { event, data }); } - aggregateContent({ event, data }); }, }, [GraphEvents.ON_REASONING_DELTA]: { @@ -290,12 +290,12 @@ function getDefaultHandlers({ * @param {GraphRunnableConfig['configurable']} [metadata] The runnable metadata. */ handle: async (event, data, metadata) => { + aggregateContent({ event, data }); if (checkIfLastAgent(metadata?.last_agent_id, metadata?.langgraph_node)) { await emitEvent(res, streamId, { event, data }); } else if (!metadata?.hide_sequential_outputs) { await emitEvent(res, streamId, { event, data }); } - aggregateContent({ event, data }); }, }, }; diff --git a/api/server/controllers/agents/client.js b/api/server/controllers/agents/client.js index c7aadc6d87..8edbd28122 100644 --- a/api/server/controllers/agents/client.js +++ b/api/server/controllers/agents/client.js @@ -969,7 +969,7 @@ class AgentClient extends BaseClient { }, user: createSafeUser(this.options.req.user), }, - recursionLimit: agentsEConfig?.recursionLimit ?? 25, + recursionLimit: agentsEConfig?.recursionLimit ?? 50, signal: abortController.signal, streamMode: 'values', version: 'v2', diff --git a/package-lock.json b/package-lock.json index 249ad9e0d6..b2a8eb9930 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "@google/genai": "^1.19.0", "@keyv/redis": "^4.3.3", "@langchain/core": "^0.3.80", - "@librechat/agents": "^3.1.39", + "@librechat/agents": "^3.1.40", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", @@ -11207,9 +11207,9 @@ } }, "node_modules/@librechat/agents": { - "version": "3.1.39", - "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.1.39.tgz", - "integrity": "sha512-HsMOkAKap6O0w4rpr/YdZIrRXBo8tEIM9iO8Z/6txeQUHyRsrdBFo7Kdu+t0leUOq+3NysnD8BRQpcfXKfMF3Q==", + "version": "3.1.40", + "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.1.40.tgz", + "integrity": "sha512-L7caKWIQ7z/lMgASc7MscnH7oqVG0pYTuU4nn6GEr8QIG+oH2ow+q1+xXDJADHS84Zysj93i/tIeuEZrBYrabA==", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.73.0", @@ -42102,7 +42102,7 @@ "@google/genai": "^1.19.0", "@keyv/redis": "^4.3.3", "@langchain/core": "^0.3.80", - "@librechat/agents": "^3.1.39", + "@librechat/agents": "^3.1.40", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.26.0", "@smithy/node-http-handler": "^4.4.5", diff --git a/packages/api/package.json b/packages/api/package.json index b9d233e2ea..037e1949d8 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -87,7 +87,7 @@ "@google/genai": "^1.19.0", "@keyv/redis": "^4.3.3", "@langchain/core": "^0.3.80", - "@librechat/agents": "^3.1.39", + "@librechat/agents": "^3.1.40", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.26.0", "@smithy/node-http-handler": "^4.4.5",