core: add provider test coverage for upcoming refactor

Add comprehensive test suite for Provider module to ensure safe
refactoring of provider internals. Tests cover:
- Provider loading from env vars and config
- Provider filtering (disabled_providers, enabled_providers)
- Model whitelist/blacklist
- Model aliasing and custom providers
- getModel, getProvider, closest, defaultModel functions

Also adds Env module for instance-scoped environment variable access,
enabling isolated test environments without global state pollution.
This commit is contained in:
Dax Raad
2025-12-03 18:30:42 -05:00
parent 7a4aa68706
commit ee4437ff32
4 changed files with 1805 additions and 11 deletions

26
packages/opencode/src/env/index.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
import { Instance } from "../project/instance"
export namespace Env {
const state = Instance.state(() => {
return { ...process.env } as Record<string, string | undefined>
})
export function get(key: string) {
const env = state()
return env[key]
}
export function all() {
return state()
}
export function set(key: string, value: string) {
const env = state()
env[key] = value
}
export function remove(key: string) {
const env = state()
delete env[key]
}
}