From ecc117d7ee62304da81437db7d688718a5cb1600 Mon Sep 17 00:00:00 2001 From: cita Date: Wed, 4 Mar 2026 21:48:26 +0800 Subject: [PATCH] feat(proxy): update endpoint resolution order for 'anyrouter' platform --- src/server/routes/proxy/upstreamEndpoint.test.ts | 12 +++++++++++- src/server/routes/proxy/upstreamEndpoint.ts | 7 ++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/server/routes/proxy/upstreamEndpoint.test.ts b/src/server/routes/proxy/upstreamEndpoint.test.ts index 4cfe7f4..2d2d113 100644 --- a/src/server/routes/proxy/upstreamEndpoint.test.ts +++ b/src/server/routes/proxy/upstreamEndpoint.test.ts @@ -185,7 +185,17 @@ describe('resolveUpstreamEndpointCandidates', () => { 'claude-opus-4-6', 'openai', ); - expect(openaiOrder).toEqual(['messages', 'chat']); + expect(openaiOrder).toEqual(['messages', 'chat', 'responses']); + + const claudeOrder = await resolveUpstreamEndpointCandidates( + { + ...baseContext, + site: { ...baseContext.site, platform: 'anyrouter' }, + }, + 'claude-opus-4-6', + 'claude', + ); + expect(claudeOrder).toEqual(['messages', 'chat', 'responses']); const responsesOrder = await resolveUpstreamEndpointCandidates( { diff --git a/src/server/routes/proxy/upstreamEndpoint.ts b/src/server/routes/proxy/upstreamEndpoint.ts index b6a8328..058f02f 100644 --- a/src/server/routes/proxy/upstreamEndpoint.ts +++ b/src/server/routes/proxy/upstreamEndpoint.ts @@ -931,9 +931,10 @@ export async function resolveUpstreamEndpointCandidates( ); if (sitePlatform === 'anyrouter') { // anyrouter deployments are effectively anthropic-protocol first. - return downstreamFormat === 'responses' - ? ['responses', 'messages', 'chat'] - : ['messages', 'chat']; + if (downstreamFormat === 'responses') { + return ['responses', 'messages', 'chat']; + } + return ['messages', 'chat', 'responses']; } const preferred = preferredEndpointOrder(