From 849e9bb40d33df8c0b605bae550bb007938b74fd Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Thu, 3 Sep 2026 11:35:19 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B3=20fix:=20Carry=20Logical=20Endpoin?= =?UTF-8?q?ts=20Through=20Agent=20Runs=20(#15538)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(agents): preserve logical endpoints in run inputs * docs(agents): clarify endpoint input compatibility * chore: update @librechat/agents to version 3.7.19 * refactor(agents): use released endpoint input type --- api/package.json | 2 +- package-lock.json | 10 +++---- packages/api/package.json | 2 +- .../__tests__/run-summarization.test.ts | 29 +++++++++++++++++++ packages/api/src/agents/run.ts | 1 + 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/api/package.json b/api/package.json index 61bbc73bcd..885d87ded1 100644 --- a/api/package.json +++ b/api/package.json @@ -46,7 +46,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "5.1.6", - "@librechat/agents": "^3.7.17", + "@librechat/agents": "^3.7.19", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", diff --git a/package-lock.json b/package-lock.json index 48b706ca93..633d91590a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "5.1.6", - "@librechat/agents": "^3.7.17", + "@librechat/agents": "^3.7.19", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", @@ -10633,9 +10633,9 @@ } }, "node_modules/@librechat/agents": { - "version": "3.7.17", - "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.7.17.tgz", - "integrity": "sha512-aJ3beJxbGNMYaXas0F9M5+e+1A8pjS1ND7TZ8EuEx7BwwN/2qqWn10aIG6Fyqcr/0GPOw8kVkz1BGwAraV3UUg==", + "version": "3.7.19", + "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.7.19.tgz", + "integrity": "sha512-/dHHKBvLoXjX1hFkDJBGP5CjkMp1vS+e3OyLqffa4c7JCenFhOHThBDUdZmCDvoEylRhima0h3fYl/JqCR8+hQ==", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.115.0", @@ -42639,7 +42639,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "5.1.6", - "@librechat/agents": "^3.7.17", + "@librechat/agents": "^3.7.19", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.30.0", "@opentelemetry/api": "^1.9.0", diff --git a/packages/api/package.json b/packages/api/package.json index 8bfdf28f9c..a768105e4b 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -113,7 +113,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "5.1.6", - "@librechat/agents": "^3.7.17", + "@librechat/agents": "^3.7.19", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.30.0", "@opentelemetry/api": "^1.9.0", diff --git a/packages/api/src/agents/__tests__/run-summarization.test.ts b/packages/api/src/agents/__tests__/run-summarization.test.ts index 800a1f387a..b29e85f476 100644 --- a/packages/api/src/agents/__tests__/run-summarization.test.ts +++ b/packages/api/src/agents/__tests__/run-summarization.test.ts @@ -323,6 +323,35 @@ afterAll(() => { delete process.env.TENANT_ISOLATION_STRICT; }); +// --------------------------------------------------------------------------- +// Suite: agent endpoint projection +// --------------------------------------------------------------------------- +describe('agent endpoint projection', () => { + it('preserves each logical endpoint independently from its resolved provider', async () => { + const agents = await callAndCapture({ + agents: [ + makeAgent({ id: 'sales-copilot', provider: 'bedrock', endpoint: 'bedrock' }), + makeAgent({ id: 'dwaine', provider: 'openAI', endpoint: 'DWAINE' }), + ], + }); + + expect(agents).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + agentId: 'sales-copilot', + endpoint: 'bedrock', + provider: 'bedrock', + }), + expect.objectContaining({ + agentId: 'dwaine', + endpoint: 'DWAINE', + provider: 'openAI', + }), + ]), + ); + }); +}); + // --------------------------------------------------------------------------- // Suite: custom endpoint stream usage defaults // --------------------------------------------------------------------------- diff --git a/packages/api/src/agents/run.ts b/packages/api/src/agents/run.ts index f015da0573..95a5278983 100644 --- a/packages/api/src/agents/run.ts +++ b/packages/api/src/agents/run.ts @@ -1770,6 +1770,7 @@ export async function createRun({ const reasoningKey = getReasoningKey(provider, llmConfig, agent.endpoint, agent.reasoningKey); const agentInput: AgentInputs = { provider, + endpoint: agent.endpoint ?? provider, reasoningKey, toolDefinitions, agentId: agent.id,