Skip to content

Commit 6411619

Browse files
author
GanJiaKouN16
committed
fix: use explicit env var mapping for Together AI provider in vault middleware
The vault middleware built env var names using f'{provider.upper()}_API_KEY' which produces TOGETHER_AI_API_KEY for the 'together_ai' provider kind. The actual env var is TOGETHERAI_API_KEY (no underscore), matching the frontend (llmProviders.ts, transforms.ts), backend (env.py), and the Daytona sandbox runner (daytona.py). Add an explicit _PROVIDER_ENV_VAR_MAP dict (mirroring the Daytona runner pattern) that maps each provider kind to its correct env var name, with fallback to the original f-string pattern for any future providers. Closes #3659
1 parent 971e50e commit 6411619

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

  • sdks/python/agenta/sdk/middlewares/running

sdks/python/agenta/sdk/middlewares/running/vault.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,28 @@
3737
if "mistral" not in _PROVIDER_KINDS:
3838
_PROVIDER_KINDS.append("mistral")
3939

40+
# Mapping from provider kind to environment variable name.
41+
# Most providers follow the pattern PROVIDER_API_KEY, but some have
42+
# underscores in their kind string (e.g. "together_ai") where the env
43+
# var drops the underscore (TOGETHERAI_API_KEY). This explicit mapping
44+
# mirrors the one in the Daytona runner and the frontend llmProviders.ts.
45+
_PROVIDER_ENV_VAR_MAP: Dict[str, str] = {
46+
"openai": "OPENAI_API_KEY",
47+
"cohere": "COHERE_API_KEY",
48+
"anyscale": "ANYSCALE_API_KEY",
49+
"deepinfra": "DEEPINFRA_API_KEY",
50+
"alephalpha": "ALEPHALPHA_API_KEY",
51+
"groq": "GROQ_API_KEY",
52+
"minimax": "MINIMAX_API_KEY",
53+
"mistral": "MISTRAL_API_KEY",
54+
"mistralai": "MISTRAL_API_KEY",
55+
"anthropic": "ANTHROPIC_API_KEY",
56+
"perplexityai": "PERPLEXITYAI_API_KEY",
57+
"together_ai": "TOGETHERAI_API_KEY",
58+
"openrouter": "OPENROUTER_API_KEY",
59+
"gemini": "GEMINI_API_KEY",
60+
}
61+
4062
_AUTH_ENABLED = (
4163
getenv("AGENTA_SERVICES_MIDDLEWARE_AUTH_ENABLED")
4264
or getenv("AGENTA_SERVICE_MIDDLEWARE_AUTH_ENABLED")
@@ -306,7 +328,7 @@ async def get_secrets(
306328
try:
307329
for provider_kind in _PROVIDER_KINDS:
308330
provider = provider_kind
309-
key_name = f"{provider.upper()}_API_KEY"
331+
key_name = _PROVIDER_ENV_VAR_MAP.get(provider, f"{provider.upper()}_API_KEY")
310332
key = getenv(key_name)
311333

312334
if not key:

0 commit comments

Comments
 (0)