diff options
Diffstat (limited to 'internal/config/config.go')
| -rw-r--r-- | internal/config/config.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index 80777ff..640e933 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -63,6 +63,20 @@ func (r RunnersConfig) GeminiEnabled() bool { return r.Gemini == nil || *r.Ge func (r RunnersConfig) LocalEnabled() bool { return r.Local == nil || *r.Local } func (r RunnersConfig) ContainerEnabled() bool { return r.Container == nil || *r.Container } +// ProviderConfig configures a native (or OpenAI-compatible) LLM provider +// backend for the multi-provider harness — see docs/api-keys-setup.md. Phase +// 1 only adds this type so config has somewhere for it to land; it is not yet +// read by runner construction (no native provider adapters exist yet besides +// the openaicompat one LocalModel already configures). Keyed by provider name +// in the [providers.<name>] TOML table, e.g. [providers.groq], +// [providers.anthropic]. +type ProviderConfig struct { + Endpoint string `toml:"endpoint"` + APIKey string `toml:"api_key"` + DefaultModel string `toml:"default_model"` + TimeoutSeconds int `toml:"timeout_seconds"` +} + type Config struct { DataDir string `toml:"data_dir"` DBPath string `toml:"-"` @@ -89,6 +103,9 @@ type Config struct { LocalModel LocalModel `toml:"local_model"` Runners RunnersConfig `toml:"runners"` Budget BudgetConfig `toml:"budget"` + // Providers configures native/OpenAI-compatible LLM backends by name (see + // ProviderConfig). Unused by runner construction in Phase 1. + Providers map[string]ProviderConfig `toml:"providers"` // ExternalBindAllowed must be explicitly true to bind a non-loopback address. ExternalBindAllowed bool `toml:"external_bind_allowed"` } |
