From 433b680a4a19f682b3de2dc203a4ed1f7c48b69a Mon Sep 17 00:00:00 2001 From: jatmn Date: Wed, 4 Nov 2026 18:24:48 -0800 Subject: [PATCH] fix(requesty): give a Requesty teammate override its own key Teammates now inherit REQUESTY_API_KEY, and Requesty prefers it over OPENAI_API_KEY. applyAgentProviderOverrideToEnv cleared and replaced the dedicated keys of Merge, OrcaRouter, Runcrate and Command Code, but not Requesty, so an agentModels Requesty override kept using the parent's key. Clear it for every override and install the configured key for a canonical Requesty endpoint. Co-Authored-By: Claude Opus 5.5 --- src/services/api/agentRouting.test.ts | 17 +++++++++++++++++ src/services/api/agentRouting.ts | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/src/services/api/agentRouting.test.ts b/src/services/api/agentRouting.test.ts index 33eecc148..0ce37693c 100644 --- a/src/services/api/agentRouting.test.ts +++ b/src/services/api/agentRouting.test.ts @@ -892,3 +892,20 @@ test.each([undefined, 'parent-orca-key'])( expect(env.OPENAI_API_KEY).toBe('custom-key') }, ) + +test.each([undefined, 'parent-requesty-key'])( + 'spawned Requesty override owns its key with ambient %s', ambient => { + const env: NodeJS.ProcessEnv = { REQUESTY_API_KEY: ambient } + applyAgentProviderOverrideToEnv({ + model: 'openai/gpt-5-mini', baseURL: 'https://router.requesty.ai/v1', + apiKey: 'configured-agent-key', + }, env) + expect(env.REQUESTY_API_KEY).toBe('configured-agent-key') + expect(env.OPENAI_API_KEY).toBe('configured-agent-key') + applyAgentProviderOverrideToEnv({ + model: 'custom', baseURL: 'https://custom.example/v1', apiKey: 'custom-key', + }, env) + expect(env.REQUESTY_API_KEY).toBeUndefined() + expect(env.OPENAI_API_KEY).toBe('custom-key') + }, +) diff --git a/src/services/api/agentRouting.ts b/src/services/api/agentRouting.ts index 6919c9413..11d1b1a10 100644 --- a/src/services/api/agentRouting.ts +++ b/src/services/api/agentRouting.ts @@ -57,6 +57,7 @@ const PROVIDER_ENV_VARS_TO_CLEAR_FOR_OVERRIDE = [ 'OPENAI_AUTH_SCHEME', 'OPENAI_AUTH_HEADER_VALUE', 'MERGE_GATEWAY_API_KEY', + 'REQUESTY_API_KEY', 'ORCAROUTER_API_KEY', 'RUNCRATE_API_KEY', 'CMD_API_KEY', @@ -380,4 +381,8 @@ export function applyAgentProviderOverrideToEnv( if (resolveRouteIdFromBaseUrl(providerOverride.baseURL) === 'commandcode') { env.CMD_API_KEY = providerOverride.apiKey } + if (resolveRouteIdFromBaseUrl(providerOverride.baseURL) === 'requesty') { + const key = sanitizeApiKey(providerOverride.apiKey) + if (key) env.REQUESTY_API_KEY = key + } }