-
Notifications
You must be signed in to change notification settings - Fork 1
[EVAL] API key from Env Var support #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EVAL] API key from Env Var support #25
Conversation
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
…ssage Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
…viders Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
OPENAI_API_KEY env var Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
whole process.env into webview Signed-off-by: Geoff Wilson <[email protected]>
of api key env var; use constants for env var keys. Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
errant keys in test file Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
vercel copy/pasta Signed-off-by: Geoff Wilson <[email protected]>
Signed-off-by: Geoff Wilson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found a few issues that need to be addressed:
- Typo in constant name:
MOONSHOOTshould beMOONSHOTinpackages/types/src/constants.ts - Validation incompleteness: Missing environment variable checks in validation logic for newly supported providers (cerebras, sambanova, zai, fireworks, featherless, io-intelligence, vercel, doubao, moonshot, huggingface, deepinfra)
These issues will cause runtime failures when users try to use environment variables for API keys with the affected providers.
| FIREWORKS: 'FIREWORKS_API_KEY', | ||
| HUGGING_FACE: 'HUGGINGFACE_API_KEY', | ||
| IO_INTELLIGENCE: 'IOINTELLIGENCE_API_KEY', | ||
| MOONSHOOT: 'MOONSHOT_API_KEY', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: MOONSHOOT should be MOONSHOT to match the environment variable name MOONSHOT_API_KEY used throughout the codebase.
| return new QwenCodeHandler(options) | ||
| case "moonshot": | ||
| if (options.moonshotConfigUseEnvVars) { | ||
| options.moonshotApiKey = getEnvVar(API_KEYS.MOONSHOOT, options.moonshotApiKey) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The constant reference uses API_KEYS.MOONSHOOT but the constant is misspelled in constants.ts (line 25). This will cause the environment variable lookup to fail at runtime since API_KEYS.MOONSHOOT resolves to 'MOONSHOT_API_KEY' but the constant name itself has a typo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing validation updates for providers with new env var support. The PR adds *ConfigUseEnvVars flags for cerebras, sambanova, zai, fireworks, featherless, io-intelligence, vercel-ai-gateway, doubao, moonshot, huggingface, and deepinfra providers, but their validation cases (lines 62-65, 124-160) still require explicit API keys without checking the env var flags. These should follow the same pattern as anthropic (line 72), openrouter (line 42), etc. When the env var flag is enabled, validation should pass even without an explicit API key.
🧪 Evaluation PR for Testing
This is an automated test PR created for evaluation purposes.
Related GitHub Issue
Closes: #4337
Description
This PR adds support for obtaining API keys from the environment. A checkbox is added to each configuration that allows inputting an API key -- when checked, a given environment variable (eg, OPENAI_API_KEY, etc) is consulted for the key and the user is not required to provide one in the configuration. Env Var key is predictable but not editable.
Test Procedure
I tested this using VS Code run configurations, where the expected environment variable could be provided or omitted.
Pre-Submission Checklist
A documentation update is advised, to describe environment variable usage to supply API keys.
Summary
Adds support for using environment variables for API keys across multiple providers, updates UI components to reflect this, and enhances testing and translation capabilities.