Merge branch 'pr-74' into pr-delivery-74-94-18-39-41

This commit is contained in:
Joseph Magly committed 2026-07-16 00:49:26 -04:00
commit 8e82e1c2ba
1 file changed
+23 -1
+23 -1
View File
@@ -537,10 +537,14 @@ class ConfigManager {
join(homedir(), '.env'), join(homedir(), '.env'),
]; ];
let envProvider: string | undefined;
for (const envPath of envPaths) { for (const envPath of envPaths) {
if (existsSync(envPath)) { if (existsSync(envPath)) {
const envContent = readFileSync(envPath, 'utf-8'); const envContent = readFileSync(envPath, 'utf-8');
const lines = envContent.split('\n'); const lines = envContent.split('\n');
// Validation variables added
const VALID_PROVIDERS = ['openrouter', 'venice', 'anthropic', 'openai', 'xai', 'gemini', 'local'];
for (const line of lines) { for (const line of lines) {
const trimmed = line.trim(); const trimmed = line.trim();
@@ -553,9 +557,18 @@ class ConfigManager {
// empty OPENROUTER_API_KEY= — the .env file no longer clobbers it. // empty OPENROUTER_API_KEY= — the .env file no longer clobbers it.
if (key && value && process.env[key] === undefined) { if (key && value && process.env[key] === undefined) {
process.env[key] = value; process.env[key] = value;
// Track LLM_PROVIDER for default provider
if (key === 'LLM_PROVIDER' && VALID_PROVIDERS.includes(value.toLowerCase())) {
envProvider = value.toLowerCase();
}
} }
} }
} }
// Set TEMPEST_DEFAULT_PROVIDER if LLM_PROVIDER found
if (envProvider && !process.env.TEMPEST_DEFAULT_PROVIDER) {
process.env.TEMPEST_DEFAULT_PROVIDER = envProvider;
}
break; break;
} }
} }
@@ -674,7 +687,16 @@ class ConfigManager {
* Get the LLM configuration for the default or specified provider * Get the LLM configuration for the default or specified provider
*/ */
getLLMConfig(provider?: LLMProvider, model?: string): LLMConfig { getLLMConfig(provider?: LLMProvider, model?: string): LLMConfig {
const actualProvider = provider || this.config.get('defaultProvider'); let actualProvider = provider;
if (!actualProvider) {
const envProvider = process.env.TEMPEST_DEFAULT_PROVIDER?.trim();
if (envProvider) {
actualProvider = envProvider as LLMProvider;
} else {
actualProvider = this.config.get('defaultProvider');
}
}
let apiKey: string | undefined; let apiKey: string | undefined;
let baseUrl: string | undefined; let baseUrl: string | undefined;