Documentation
¶
Index ¶
- Constants
- func AuthModeForProvider(provider string) string
- func ConfigDir() string
- func ConfigPath() string
- func RequiresAPIKey(provider string) bool
- func ResolveProviderAPIKey(provider string, providerCfg ProviderConfig) (string, error)
- func SaveProjectPermissions(workingDir string, perms *ProjectPermissions) error
- func SupportsAPIKey(provider string) bool
- type APIKeyResolver
- type GlobalConfig
- type Loader
- type ProjectPermissions
- type ProviderConfig
- type ResolvedConfig
- type ToolSet
Constants ¶
View Source
const ( ProviderAnthropic = "anthropic" ProviderOpenAI = "openai" ProviderOpenAICodex = "openai-codex" ProviderGoogleAI = "googleai" ProviderMoonshotAI = "moonshotai" ProviderDeepSeek = "deepseek" ProviderZAI = "zai" ProviderMiniMax = "minimax" ProviderOpenCodeGo = "opencode-go" ProviderBedrock = "amazon-bedrock" ProviderOpenAICompatible = "openai-compatible" )
View Source
const ( AuthModeAPIKey = "api_key" AuthModeOAuth = "oauth" AuthModeAWS = "aws" )
View Source
const ConfigFixHint = "To fix configs manually, check ~/.keen/configs.json"
Variables ¶
This section is empty.
Functions ¶
func AuthModeForProvider ¶
func ConfigPath ¶
func ConfigPath() string
func RequiresAPIKey ¶
func ResolveProviderAPIKey ¶
func ResolveProviderAPIKey(provider string, providerCfg ProviderConfig) (string, error)
func SaveProjectPermissions ¶
func SaveProjectPermissions(workingDir string, perms *ProjectPermissions) error
func SupportsAPIKey ¶
Types ¶
type APIKeyResolver ¶
type APIKeyResolver struct {
// contains filtered or unexported fields
}
APIKeyResolver caches a key resolved via apiKeyHelper and refreshes it on demand.
func NewAPIKeyResolver ¶
func NewAPIKeyResolver(provider, helper string) *APIKeyResolver
func (*APIKeyResolver) Get ¶
func (r *APIKeyResolver) Get() (string, error)
func (*APIKeyResolver) Refresh ¶
func (r *APIKeyResolver) Refresh() (string, error)
type GlobalConfig ¶
type GlobalConfig struct {
ActiveProvider string `json:"active_provider"`
ActiveModel string `json:"active_model"`
ThinkingEffort string `json:"thinking_effort,omitempty"`
ShowThinking *bool `json:"show_thinking,omitempty"`
AdversaryProvider string `json:"adversary_provider,omitempty"`
AdversaryModel string `json:"adversary_model,omitempty"`
Providers map[string]ProviderConfig `json:"providers"`
}
func DefaultGlobalConfig ¶
func DefaultGlobalConfig() *GlobalConfig
func (*GlobalConfig) AddModel ¶
func (g *GlobalConfig) AddModel(provider string, model string)
func (*GlobalConfig) GetProviderConfig ¶
func (g *GlobalConfig) GetProviderConfig(provider string) (ProviderConfig, bool)
func (*GlobalConfig) SetProviderConfig ¶
func (g *GlobalConfig) SetProviderConfig(provider string, cfg ProviderConfig)
type Loader ¶
type Loader struct{}
func (*Loader) Load ¶
func (l *Loader) Load() (*GlobalConfig, error)
func (*Loader) Save ¶
func (l *Loader) Save(cfg *GlobalConfig) error
type ProjectPermissions ¶
type ProjectPermissions struct {
Allow ToolSet `json:"allow"`
}
func LoadProjectPermissions ¶
func LoadProjectPermissions(workingDir string) (*ProjectPermissions, error)
func NewProjectPermissions ¶
func NewProjectPermissions() *ProjectPermissions
type ProviderConfig ¶
type ResolvedConfig ¶
type ResolvedConfig struct {
Provider string
APIKey string
APIKeyHelper string
Model string
ThinkingEffort string
BaseURL string
AuthMode string
Headers map[string]string
}
func ResolveAdversary ¶
func ResolveAdversary(global *GlobalConfig) (*ResolvedConfig, error)
func ResolveProvider ¶
func ResolveProvider(global *GlobalConfig, provider, model, thinkingEffort string) (*ResolvedConfig, error)
Click to show internal directories.
Click to hide internal directories.