Documentation
¶
Index ¶
- Constants
- func DeleteProviderRuntimeProvider(runtimeCfg ProviderRuntimeConfig, providerID string) (ProviderRuntimeConfig, ProviderConfig, error)
- func EnsureHomeLayout() (string, error)
- func NormalizeApprovalMode(value string) (string, error)
- func ResolveHomeDir() (string, error)
- func ResolveWritableConfigPathForWorkspace(workspace, explicit string) (string, error)
- func ResolveWritableMCPConfigPathForWorkspace(workspace, explicit string) (string, error)
- func SelectProviderRuntimeModel(runtimeCfg ProviderRuntimeConfig, providerID, modelID string) (ProviderRuntimeConfig, ProviderConfig, error)
- func SelectedModelID(runtimeCfg ProviderRuntimeConfig) string
- func SelectedProviderID(runtimeCfg ProviderRuntimeConfig) string
- func UpsertProviderAPIKey(configPath, apiKey string) (string, error)
- func UpsertProviderField(configPath, field, value string) (string, error)
- func UpsertProviderRuntimeSelection(configPath string, runtimeCfg ProviderRuntimeConfig) (string, error)
- func WriteConfig(path string, cfg Config) error
- type Config
- type ContextBudgetConfig
- type DesktopNotificationConfig
- type ExecAllowRule
- type MCPConfig
- type MCPServerConfig
- type MCPToolOverrideConfig
- type MCPTransportConfig
- type NetworkAllowRule
- type NotificationsConfig
- type ProviderConfig
- type ProviderHealthRuntimeConfig
- type ProviderRuntimeConfig
- type UpdateCheckConfig
Constants ¶
View Source
const ( DefaultTokenQuota = 0 DefaultMaxIterations = 64 DefaultContextBudgetWarningRatio = 0.85 DefaultContextBudgetCriticalRatio = 0.95 DefaultContextBudgetMaxReactiveRetry = 1 DefaultContextBudgetFallback = 128000 DefaultMCPSyncTTLSeconds = 30 DefaultMCPStartupTimeoutSeconds = 20 DefaultMCPCallTimeoutSeconds = 60 DefaultMCPMaxConcurrency = 4 )
View Source
const ( // EnvAllowAwayFullAccessCompat is a temporary migration gate that permits // approval_mode=away to map to full_access. EnvAllowAwayFullAccessCompat = "BYTEMIND_ALLOW_AWAY_FULL_ACCESS" )
Variables ¶
This section is empty.
Functions ¶
func DeleteProviderRuntimeProvider ¶ added in v0.1.8
func DeleteProviderRuntimeProvider(runtimeCfg ProviderRuntimeConfig, providerID string) (ProviderRuntimeConfig, ProviderConfig, error)
func EnsureHomeLayout ¶
func NormalizeApprovalMode ¶
NormalizeApprovalMode validates and normalizes approval_mode values. By default, legacy away mode is blocked to prevent silent privilege escalation to full_access. Operators can temporarily enable migration by setting BYTEMIND_ALLOW_AWAY_FULL_ACCESS=true.
func ResolveHomeDir ¶
func SelectProviderRuntimeModel ¶ added in v0.1.8
func SelectProviderRuntimeModel(runtimeCfg ProviderRuntimeConfig, providerID, modelID string) (ProviderRuntimeConfig, ProviderConfig, error)
func SelectedModelID ¶ added in v0.1.8
func SelectedModelID(runtimeCfg ProviderRuntimeConfig) string
func SelectedProviderID ¶ added in v0.1.8
func SelectedProviderID(runtimeCfg ProviderRuntimeConfig) string
func UpsertProviderAPIKey ¶
func UpsertProviderField ¶
func UpsertProviderRuntimeSelection ¶ added in v0.1.8
func UpsertProviderRuntimeSelection(configPath string, runtimeCfg ProviderRuntimeConfig) (string, error)
func WriteConfig ¶ added in v1.0.1
WriteConfig writes a Config struct to a JSON file at the given path.
Types ¶
type Config ¶
type Config struct {
Provider ProviderConfig `json:"provider"`
ProviderRuntime ProviderRuntimeConfig `json:"provider_runtime"`
ApprovalPolicy string `json:"approval_policy"`
ApprovalMode string `json:"approval_mode"`
AwayPolicy string `json:"away_policy"`
SandboxEnabled bool `json:"sandbox_enabled"`
SystemSandboxMode string `json:"system_sandbox_mode"`
WritableRoots []string `json:"writable_roots"`
ExecAllowlist []ExecAllowRule `json:"exec_allowlist"`
NetworkAllowlist []NetworkAllowRule `json:"network_allowlist"`
Notifications NotificationsConfig `json:"notifications"`
MaxIterations int `json:"max_iterations"`
Stream bool `json:"stream"`
UpdateCheck UpdateCheckConfig `json:"update_check"`
TokenQuota int `json:"token_quota"`
ContextBudget ContextBudgetConfig `json:"context_budget"`
MCP MCPConfig `json:"-"`
}
func LoadWithMCPConfigPath ¶
type ContextBudgetConfig ¶
type DesktopNotificationConfig ¶
type DesktopNotificationConfig struct {
Enabled bool `json:"enabled"`
OnApprovalRequired bool `json:"on_approval_required"`
OnRunCompleted bool `json:"on_run_completed"`
OnRunFailed bool `json:"on_run_failed"`
OnRunCanceled bool `json:"on_run_canceled"`
CooldownSeconds int `json:"cooldown_seconds"`
}
type ExecAllowRule ¶
type MCPConfig ¶
type MCPConfig struct {
Enabled bool `json:"enabled"`
SyncTTLSeconds int `json:"sync_ttl_s"`
Servers []MCPServerConfig `json:"servers"`
}
type MCPServerConfig ¶
type MCPServerConfig struct {
ID string `json:"id"`
Name string `json:"name"`
Enabled *bool `json:"enabled,omitempty"`
Transport MCPTransportConfig `json:"transport"`
AutoStart *bool `json:"auto_start,omitempty"`
StartupTimeoutSeconds int `json:"startup_timeout_s"`
CallTimeoutSeconds int `json:"call_timeout_s"`
MaxConcurrency int `json:"max_concurrency"`
ToolOverrides []MCPToolOverrideConfig `json:"tool_overrides"`
ProtocolVersion string `json:"protocol_version"`
ProtocolVersions []string `json:"protocol_versions"`
}
func (MCPServerConfig) AutoStartValue ¶
func (s MCPServerConfig) AutoStartValue() bool
func (MCPServerConfig) EnabledValue ¶
func (s MCPServerConfig) EnabledValue() bool
type MCPToolOverrideConfig ¶
type MCPToolOverrideConfig struct {
ToolName string `json:"tool_name"`
SafetyClass string `json:"safety_class,omitempty"`
ReadOnly *bool `json:"read_only,omitempty"`
Destructive *bool `json:"destructive,omitempty"`
AllowedModes []string `json:"allowed_modes,omitempty"`
DefaultTimeoutS int `json:"default_timeout_s,omitempty"`
MaxTimeoutS int `json:"max_timeout_s,omitempty"`
MaxResultChars int `json:"max_result_chars,omitempty"`
}
type MCPTransportConfig ¶
type NetworkAllowRule ¶
type NotificationsConfig ¶
type NotificationsConfig struct {
Desktop DesktopNotificationConfig `json:"desktop"`
}
type ProviderConfig ¶
type ProviderConfig struct {
Type string `json:"type"`
Family string `json:"family"`
AutoDetectType bool `json:"auto_detect_type"`
BaseURL string `json:"base_url"`
APIPath string `json:"api_path"`
Model string `json:"model"`
Models []string `json:"models,omitempty"`
APIKey string `json:"api_key"`
APIKeyEnv string `json:"api_key_env"`
AuthHeader string `json:"auth_header"`
AuthScheme string `json:"auth_scheme"`
ExtraHeaders map[string]string `json:"extra_headers"`
AnthropicVersion string `json:"anthropic_version"`
}
func SelectedProviderConfig ¶ added in v0.1.8
func SelectedProviderConfig(runtimeCfg ProviderRuntimeConfig) (string, ProviderConfig, bool)
func (ProviderConfig) ResolveAPIKey ¶
func (p ProviderConfig) ResolveAPIKey() string
type ProviderRuntimeConfig ¶
type ProviderRuntimeConfig struct {
CurrentProvider string `json:"current_provider,omitempty"`
DefaultProvider string `json:"default_provider,omitempty"`
DefaultModel string `json:"default_model,omitempty"`
AllowFallback bool `json:"allow_fallback"`
Providers map[string]ProviderConfig `json:"providers"`
Health ProviderHealthRuntimeConfig `json:"health"`
}
func LegacyProviderRuntimeConfig ¶
func LegacyProviderRuntimeConfig(cfg ProviderConfig) ProviderRuntimeConfig
func SyncProviderRuntimeSelectionFields ¶ added in v0.1.8
func SyncProviderRuntimeSelectionFields(runtimeCfg ProviderRuntimeConfig) ProviderRuntimeConfig
func SyncProviderRuntimeWithProvider ¶ added in v0.1.8
func SyncProviderRuntimeWithProvider(runtimeCfg ProviderRuntimeConfig, providerCfg ProviderConfig) ProviderRuntimeConfig
type UpdateCheckConfig ¶
type UpdateCheckConfig struct {
Enabled bool `json:"enabled"`
}
Click to show internal directories.
Click to hide internal directories.