Versions in this module Expand all Collapse all v0 v0.4.10 Jul 30, 2026 Changes in this version + const ConfigDirName + const EnvAgentDir + const EnvSessionDir + var HTTPIdleTimeoutChoices = []HTTPIdleTimeoutChoice + func ApplyHTTPProxySettings(proxy string) + func ApplyModelConfig(base []ai.Model, config *ModelConfig) ([]ai.Model, error) + func ClearConfigValueCache() + func FallbackRequestAuthResolver(credentials aiauth.CredentialStore) func(context.Context, ai.ProviderID) (*RequestAuth, error) + func FormatHTTPIdleTimeoutMS(timeoutMS int64) string + func FormatProjectTrustPrompt(cwd string) string + func GetAgentDir() (string, error) + func GetConfigValueEnvVarName(value string) (string, bool) + func GetConfigValueEnvVarNames(value string) []string + func GetMissingConfigValueEnvVarNames(value string, scopedEnv map[string]string) []string + func GetProjectTrustParentPath(cwd string) string + func HasTrustRequiringProjectResources(cwd string) bool + func IsCommandConfigValue(value string) bool + func IsConfigValueConfigured(value string, scopedEnv map[string]string) bool + func MigrateAuthToAuthJSON(agentDir string) ([]string, error) + func NormalizePath(path string) (string, error) + func ProjectNpmInstallRoot(cwd string) string + func ReadStoredCredential(provider, path string) *aiauth.Credential + func ResolveAuthConfigValue(value string, scopedEnv map[string]string) (string, bool) + func ResolveAuthConfigValueUncached(value string, scopedEnv map[string]string) (string, bool) + func ResolveConfigValue(ctx context.Context, value string, scopedEnv map[string]string) (string, error) + func ResolveConfigValueOrThrow(value, description string, scopedEnv map[string]string) (string, error) + func ResolveHeaders(headers map[string]string, scopedEnv map[string]string) map[string]string + func ResolveHeadersOrThrow(headers map[string]string, description string, scopedEnv map[string]string) (map[string]string, error) + func ResolveSessionDir(cliValue string, manager *SettingsManager) (string, error) + func UserNpmInstallRoot(agentDir string) string + type AuthStorage struct + func NewAuthStorage(path string) (*AuthStorage, error) + func NewDefaultAuthStorage() (*AuthStorage, error) + func (storage *AuthStorage) Delete(ctx context.Context, provider string) error + func (storage *AuthStorage) List(_ context.Context) ([]aiauth.CredentialInfo, error) + func (storage *AuthStorage) Modify(ctx context.Context, provider string, modify aiauth.ModifyFunc) (*aiauth.Credential, error) + func (storage *AuthStorage) Path() string + func (storage *AuthStorage) Read(_ context.Context, provider string) (*aiauth.Credential, error) + func (storage *AuthStorage) Reload() + type BranchSummarySettings struct + ReserveTokens int64 + SkipPrompt bool + type CompactionSettings struct + Enabled bool + KeepRecentTokens int64 + ReserveTokens int64 + type HTTPIdleTimeoutChoice struct + Label string + TimeoutMS int64 + type ModelConfig struct + Providers map[string]ModelProviderConfig + func LoadModelConfig(path string) (*ModelConfig, error) + func (config *ModelConfig) Error() string + func (config *ModelConfig) HasConfiguredAPIKey(providerID string, env map[string]string) bool + func (config *ModelConfig) ResolveAPIKey(ctx context.Context, providerID string, env map[string]string) (*string, error) + func (config *ModelConfig) ResolveModelHeaders(ctx context.Context, model ai.Model, env map[string]string, apiKeys ...*string) (*map[string]string, error) + type ModelCostOverride struct + CacheRead *float64 + CacheWrite *float64 + Input *float64 + Output *float64 + Tiers *[]ai.ModelCostTier + type ModelDefinition struct + API *ai.API + BaseURL *string + Compat json.RawMessage + ContextWindow *float64 + Cost *ai.ModelCost + Headers map[string]string + ID string + Input *ai.InputModalities + MaxTokens *float64 + Name *string + Reasoning *bool + ThinkingLevelMap *map[ai.ModelThinkingLevel]*string + type ModelOverride struct + Compat json.RawMessage + ContextWindow *float64 + Cost *ModelCostOverride + Headers map[string]string + Input *ai.InputModalities + MaxTokens *float64 + Name *string + Reasoning *bool + ThinkingLevelMap *map[ai.ModelThinkingLevel]*string + type ModelProviderConfig struct + API *ai.API + APIKey *string + AuthHeader *bool + BaseURL *string + Compat json.RawMessage + Headers map[string]string + ModelOverrides map[string]ModelOverride + Models []ModelDefinition + Name *string + OAuth *string + type ModelRegistry struct + func NewModelRegistry(agentDir string) (*ModelRegistry, error) + func NewOfflineModelRegistry(agentDir string) (*ModelRegistry, error) + func (registry *ModelRegistry) Available(env map[string]string) []ai.Model + func (registry *ModelRegistry) AvailableWithError(env map[string]string) ([]ai.Model, error) + func (registry *ModelRegistry) DefaultModelHeadersResolver() ... + func (registry *ModelRegistry) DefaultRequestAuthResolver(credentials aiauth.CredentialStore) func(context.Context, ai.ProviderID) (*RequestAuth, error) + func (registry *ModelRegistry) Error() string + func (registry *ModelRegistry) Find(provider, id string) (ai.Model, bool) + func (registry *ModelRegistry) GetProviderAuthStatus(provider string, env map[string]string) extensions.AuthStatus + func (registry *ModelRegistry) HasConfiguredAuth(provider string, env map[string]string) bool + func (registry *ModelRegistry) IsUsingOAuth(provider string) bool + func (registry *ModelRegistry) Models() []ai.Model + func (registry *ModelRegistry) Provider(id string) (extensions.Provider, bool) + func (registry *ModelRegistry) ProviderAuth(id string) aiauth.ProviderAuth + func (registry *ModelRegistry) ProviderDisplayName(id string) string + func (registry *ModelRegistry) ProviderIDs() []string + func (registry *ModelRegistry) RefreshAuth() error + func (registry *ModelRegistry) RegisterProvider(provider extensions.Provider) error + func (registry *ModelRegistry) RegisterProviderConfig(id string, incoming extensions.ProviderConfig) error + func (registry *ModelRegistry) RegisteredNativeProvider(id string) (extensions.Provider, bool) + func (registry *ModelRegistry) RegisteredProviderConfig(id string) (extensions.ProviderConfig, bool) + func (registry *ModelRegistry) RegisteredProviderIDs() []string + func (registry *ModelRegistry) Reload() error + func (registry *ModelRegistry) ResolveAPIKey(ctx context.Context, provider string, env map[string]string) (*string, error) + func (registry *ModelRegistry) ResolveConfiguredAPIKey(ctx context.Context, provider string, env map[string]string) (*string, error) + func (registry *ModelRegistry) ResolveModelHeaders(ctx context.Context, model ai.Model, env map[string]string, apiKeys ...*string) (*map[string]string, error) + func (registry *ModelRegistry) ResolveProviderAuth(ctx context.Context, provider string, env map[string]string) (*aiauth.AuthResult, error) + func (registry *ModelRegistry) ResolveProviderAuthWithOverrides(ctx context.Context, provider string, env map[string]string, ...) (*aiauth.AuthResult, error) + func (registry *ModelRegistry) StreamSimple(ctx context.Context, model *ai.Model, request ai.Context, ...) (ai.AssistantMessageEventStream, error) + func (registry *ModelRegistry) UnregisterProvider(id string) error + type Option func(*managerOptions) + func WithAgentDir(path string) Option + func WithProjectTrusted(trusted bool) Option + type PackageSource struct + Autoload *bool + Extensions []string + IsObject bool + Prompts []string + Skills []string + Source string + Themes []string + func PackageSourcesFrom(settings Settings) []PackageSource + func (source PackageSource) WithSource(newSource string) PackageSource + type ProjectTrustOption struct + Label string + SavedPath string + Trusted bool + Updates []ProjectTrustUpdate + func GetProjectTrustOptions(cwd string, includeSessionOnly bool) []ProjectTrustOption + type ProjectTrustStore struct + func NewProjectTrustStore(agentDir string) *ProjectTrustStore + func (store *ProjectTrustStore) Get(cwd string) (*bool, error) + func (store *ProjectTrustStore) GetEntry(cwd string) (*ProjectTrustStoreEntry, error) + func (store *ProjectTrustStore) Set(cwd string, decision *bool) error + func (store *ProjectTrustStore) SetMany(decisions []ProjectTrustUpdate) error + type ProjectTrustStoreEntry struct + Decision bool + Path string + type ProjectTrustUpdate struct + Decision *bool + Path string + type ProviderRetrySettings struct + MaxRetries *int + MaxRetryDelayMS int64 + TimeoutMS *int64 + type RequestAuth struct + APIKey *string + BaseURL *string + Env ai.ProviderEnv + Headers ai.ProviderHeaders + type RetrySettings struct + BaseDelayMS int64 + Enabled bool + MaxRetries int + type Settings map[string]any + type SettingsError struct + Err error + Scope SettingsScope + func (e SettingsError) Error() string + func (e SettingsError) Unwrap() error + type SettingsManager struct + func NewSettingsManager(cwd string, options ...Option) (*SettingsManager, error) + func (manager *SettingsManager) AgentDir() string + func (manager *SettingsManager) CWD() string + func (manager *SettingsManager) DrainErrors() []SettingsError + func (manager *SettingsManager) GetAutocompleteMaxVisible() int + func (manager *SettingsManager) GetBlockImages() bool + func (manager *SettingsManager) GetBranchSummarySettings() BranchSummarySettings + func (manager *SettingsManager) GetClearOnShrink() bool + func (manager *SettingsManager) GetCompactionSettings() CompactionSettings + func (manager *SettingsManager) GetDefaultModel() string + func (manager *SettingsManager) GetDefaultProjectTrust() string + func (manager *SettingsManager) GetDefaultProvider() string + func (manager *SettingsManager) GetDefaultThinkingLevel() ai.ModelThinkingLevel + func (manager *SettingsManager) GetDoubleEscapeAction() string + func (manager *SettingsManager) GetEditorPaddingX() int + func (manager *SettingsManager) GetEnableSkillCommands() bool + func (manager *SettingsManager) GetEnabledModels() []string + func (manager *SettingsManager) GetExternalEditor() string + func (manager *SettingsManager) GetFollowUpMode() string + func (manager *SettingsManager) GetGlobalExtensionPaths() []string + func (manager *SettingsManager) GetGlobalPackages() []PackageSource + func (manager *SettingsManager) GetGlobalPromptTemplatePaths() []string + func (manager *SettingsManager) GetGlobalSettings() Settings + func (manager *SettingsManager) GetGlobalSkillPaths() []string + func (manager *SettingsManager) GetGlobalThemePaths() []string + func (manager *SettingsManager) GetGoExtensions() map[string]bool + func (manager *SettingsManager) GetHTTPIdleTimeoutMS() (int64, error) + func (manager *SettingsManager) GetHTTPProxy() string + func (manager *SettingsManager) GetHideThinkingBlock() bool + func (manager *SettingsManager) GetImageAutoResize() bool + func (manager *SettingsManager) GetImageWidthCells() int + func (manager *SettingsManager) GetMarkdownCodeBlockIndent() string + func (manager *SettingsManager) GetOutputPad() int + func (manager *SettingsManager) GetPluginSettings(name string) map[string]any + func (manager *SettingsManager) GetPlugins() map[string]bool + func (manager *SettingsManager) GetProjectExtensionPaths() []string + func (manager *SettingsManager) GetProjectPackages() []PackageSource + func (manager *SettingsManager) GetProjectPromptTemplatePaths() []string + func (manager *SettingsManager) GetProjectSettings() Settings + func (manager *SettingsManager) GetProjectSkillPaths() []string + func (manager *SettingsManager) GetProjectThemePaths() []string + func (manager *SettingsManager) GetProviderRetrySettings() ProviderRetrySettings + func (manager *SettingsManager) GetQuietStartup() bool + func (manager *SettingsManager) GetRetrySettings() RetrySettings + func (manager *SettingsManager) GetSessionDir() (string, error) + func (manager *SettingsManager) GetSettings() Settings + func (manager *SettingsManager) GetShellCommandPrefix() string + func (manager *SettingsManager) GetShellPath() (string, error) + func (manager *SettingsManager) GetShowCacheMissNotices() bool + func (manager *SettingsManager) GetShowHardwareCursor() bool + func (manager *SettingsManager) GetShowImages() bool + func (manager *SettingsManager) GetShowTerminalProgress() bool + func (manager *SettingsManager) GetSteeringMode() string + func (manager *SettingsManager) GetTheme() string + func (manager *SettingsManager) GetThemePaths() []string + func (manager *SettingsManager) GetThemeSetting() string + func (manager *SettingsManager) GetThinkingBudgets() *ai.ThinkingBudgets + func (manager *SettingsManager) GetTransport() ai.Transport + func (manager *SettingsManager) GetTreeFilterMode() string + func (manager *SettingsManager) GetWarningAnthropicExtraUsage() bool + func (manager *SettingsManager) GetWebSocketConnectTimeoutMS() (*int64, error) + func (manager *SettingsManager) IsProjectTrusted() bool + func (manager *SettingsManager) Reload() + func (manager *SettingsManager) SetAutocompleteMaxVisible(maxVisible int) + func (manager *SettingsManager) SetBlockImages(blocked bool) + func (manager *SettingsManager) SetClearOnShrink(enabled bool) + func (manager *SettingsManager) SetCompactionEnabled(enabled bool) + func (manager *SettingsManager) SetDefaultModelAndProvider(provider, modelID string) + func (manager *SettingsManager) SetDefaultProjectTrust(value string) + func (manager *SettingsManager) SetDefaultThinkingLevel(level ai.ModelThinkingLevel) + func (manager *SettingsManager) SetDoubleEscapeAction(action string) + func (manager *SettingsManager) SetEditorPaddingX(padding int) + func (manager *SettingsManager) SetEnableSkillCommands(enabled bool) + func (manager *SettingsManager) SetEnabledModels(models []string) + func (manager *SettingsManager) SetExtensionPaths(paths []string) error + func (manager *SettingsManager) SetFollowUpMode(mode string) + func (manager *SettingsManager) SetHTTPIdleTimeoutMS(timeoutMS int64) + func (manager *SettingsManager) SetHideThinkingBlock(hidden bool) + func (manager *SettingsManager) SetImageAutoResize(enabled bool) + func (manager *SettingsManager) SetImageWidthCells(width int) + func (manager *SettingsManager) SetOutputPad(padding int) + func (manager *SettingsManager) SetPackages(sources []PackageSource) error + func (manager *SettingsManager) SetPluginEnabled(name string, enabled bool) + func (manager *SettingsManager) SetPluginSetting(name, key string, value any) + func (manager *SettingsManager) SetProjectExtensionPaths(paths []string) error + func (manager *SettingsManager) SetProjectPackages(sources []PackageSource) error + func (manager *SettingsManager) SetProjectPromptTemplatePaths(paths []string) error + func (manager *SettingsManager) SetProjectSkillPaths(paths []string) error + func (manager *SettingsManager) SetProjectThemePaths(paths []string) error + func (manager *SettingsManager) SetProjectTrusted(trusted bool) + func (manager *SettingsManager) SetPromptTemplatePaths(paths []string) error + func (manager *SettingsManager) SetQuietStartup(quiet bool) + func (manager *SettingsManager) SetRetryEnabled(enabled bool) + func (manager *SettingsManager) SetShowCacheMissNotices(show bool) + func (manager *SettingsManager) SetShowHardwareCursor(enabled bool) + func (manager *SettingsManager) SetShowImages(show bool) + func (manager *SettingsManager) SetShowTerminalProgress(enabled bool) + func (manager *SettingsManager) SetSkillPaths(paths []string) error + func (manager *SettingsManager) SetSteeringMode(mode string) + func (manager *SettingsManager) SetTheme(value string) + func (manager *SettingsManager) SetThemePaths(paths []string) error + func (manager *SettingsManager) SetTransport(transport ai.Transport) + func (manager *SettingsManager) SetTreeFilterMode(mode string) + type SettingsScope string + const GlobalSettings + const ProjectSettings