config

package
v2026.909.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2026 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvOpenAIBaseURL = "OPENAI_BASE_URL"
	EnvOpenAIAPIKey  = "OPENAI_API_KEY"
	EnvModelID       = "MODEL_ID"
)
View Source
const (
	MaxModelPickerEntries      = 25
	ModelPickerNoPaginationMax = 50
)
View Source
const (
	ProviderNameChatGPTSub  = "ChatGPT Sub"
	ProviderNameClaudeSub   = "Claude Sub"
	ProviderNameCursorAPI   = "Cursor API"
	CursorAPIDefaultModelID = "composer-2.5"
	OpenAIPlatformBase      = "https://api.openai.com"
	AnthropicPlatformBase   = "https://api.anthropic.com"

	AuthKindAPIKey       = "api_key"
	AuthKindOAuthChatGPT = "oauth_chatgpt"
	AuthKindOAuthClaude  = "oauth_claude"
	AuthKindCursorAPI    = "cursor_api"

	AnthropicClaudeCodeOAuthTokenPrefix = "sk-ant-oat"

	AnthropicClaudeCodeOAuthSetupWarning = "Claude Code OAuth tokens (sk-ant-oat…) are not recommended as API keys."
)
View Source
const (
	ProviderKindChatGPTSub          = 1
	ProviderKindOpenAICompatible    = 2
	ProviderKindAnthropicCompatible = 3
	ProviderKindClaudeSub           = 4
	ProviderKindCursorAPI           = 5
)
View Source
const APIProtocolAnthropic = "anthropic"
View Source
const APIProtocolOpenAI = "openai"
View Source
const DefaultAPIBaseDelayMS = 1000
View Source
const DefaultAPICircuitOpenSec = 60
View Source
const DefaultAPIConnectTimeoutSec = 30
View Source
const DefaultAPIMaxDelayMS = 30000
View Source
const DefaultAPIMaxRetries = 3
View Source
const DefaultCompactionThresholdTokens int64 = 131072
View Source
const DefaultDocSearchFullArticleScore = 0.9
View Source
const DefaultDocSearchMinNormalizedScore = 0.05
View Source
const DefaultResearchMaxContentChars = 15000
View Source
const DefaultResearchMaxRounds = 8
View Source
const DefaultResearchMaxURLsPerRound = 3
View Source
const DefaultResearchMinRounds = 2
View Source
const DefaultResponseLanguage = "English"
View Source
const DefaultServerPort = 64000
View Source
const DefaultSkillSearchMinNormalizedScore = 0.05
View Source
const DefaultSubagentTimeoutMinutes = 20
View Source
const DefaultToolOutputMaxBytes = 65536
View Source
const DefaultToolOutputMaxLines = 2048
View Source
const DefaultWebFetchMaxRedirects = 10
View Source
const DefaultWebSearchEngine = "duckduckgo"
View Source
const MinCompactionThresholdTokens int64 = 32768
View Source
const ServerPortEnv = "SOLOMON_SERVER_PORT"

Variables

View Source
var ErrOnboardProviderSkipped = errors.New("onboard provider skipped")
View Source
var ErrRolesTableSkipped = errors.New("roles table skipped")
View Source
var RolesModelLister func(context.Context, *Root, *Provider) ([]string, error)

Functions

func AllDigits

func AllDigits(s string) bool

func AppendOrUpdateProvider

func AppendOrUpdateProvider(r *Root, p Provider)

func ApplyClaudeOAuthTokens added in v2026.622.0

func ApplyClaudeOAuthTokens(p *Provider, t claude.TokenSet)

func ApplyOAuthTokens

func ApplyOAuthTokens(p *Provider, t codex.TokenSet)

func ApplyOnboardMerge

func ApplyOnboardMerge(dst *Root, res *OnboardResult)

func ApplySubagentAdd added in v2026.716.0

func ApplySubagentAdd(cfg *Root, res *SubagentAddResult)

func BackupConfig

func BackupConfig() (string, error)

func ChooseProviderKind

func ChooseProviderKind(pio PromptIO, require bool, menuTitle string) (kind int, skipped bool, err error)

func ClampTimeoutMinutes

func ClampTimeoutMinutes(n int) error

func ConfigExists

func ConfigExists() (bool, error)

func ConfirmOnboardRerun

func ConfirmOnboardRerun(pio PromptIO) (bool, error)

func CursorAPIConfigured added in v2026.608.0

func CursorAPIConfigured(r *Root) bool

func EffectiveCompactionThresholdTokens

func EffectiveCompactionThresholdTokens(r *Root) int64

func EffectiveDocSearchFullArticleScore added in v2026.608.0

func EffectiveDocSearchFullArticleScore(r *Root) float64

func EffectiveDocSearchMinNorm added in v2026.608.0

func EffectiveDocSearchMinNorm(r *Root) float64

func EffectiveResearchMaxContentChars added in v2026.617.0

func EffectiveResearchMaxContentChars(r *Root) int

func EffectiveResearchMaxRounds added in v2026.617.0

func EffectiveResearchMaxRounds(r *Root) int

func EffectiveResearchMaxURLsPerRound added in v2026.617.0

func EffectiveResearchMaxURLsPerRound(r *Root) int

func EffectiveSkillSearchMinNorm

func EffectiveSkillSearchMinNorm(r *Root) float64

func EffectiveWebFetchAcceptLanguage added in v2026.617.0

func EffectiveWebFetchAcceptLanguage(r *Root) string

func EffectiveWebFetchBlockedDomains added in v2026.617.0

func EffectiveWebFetchBlockedDomains(r *Root) []string

func EffectiveWebFetchMaxRedirects added in v2026.617.0

func EffectiveWebFetchMaxRedirects(r *Root) int

func EffectiveWebFetchUserAgent added in v2026.617.0

func EffectiveWebFetchUserAgent(r *Root) string

func EnsureChatGPTSubBaseURL

func EnsureChatGPTSubBaseURL(p *Provider)

func EnsureClaudeSubBaseURL

func EnsureClaudeSubBaseURL(p *Provider)

func EnsureDefaultFile added in v2026.621.0

func EnsureDefaultFile() error

func EnsureRolesTable added in v2026.716.0

func EnsureRolesTable(pio PromptIO, cfg *Root) error

func FastModeSupportedByProvider

func FastModeSupportedByProvider(p *Provider) bool

func FirstProviderName

func FirstProviderName(r *Root) string

func HasRolesTable added in v2026.716.0

func HasRolesTable(cfg *Root) bool

func HiddenModelIDs added in v2026.909.0

func HiddenModelIDs(r *Root, providerName string, models []string) []string

HiddenModelIDs returns the hidden models for a provider that are present in the supplied catalog. The catalog remains complete so settings can re-enable every model later.

func IsAnthropicClaudeCodeOAuthToken added in v2026.617.1

func IsAnthropicClaudeCodeOAuthToken(token string) bool

func IsLocalEndpoint added in v2026.609.3

func IsLocalEndpoint(raw string) bool

func IsOAuthAuthKind

func IsOAuthAuthKind(kind string) bool

func LoadModelVisibility added in v2026.909.0

func LoadModelVisibility(root *Root) error

LoadModelVisibility overlays dedicated preferences on legacy hidden_models. Without the dedicated file, existing config.toml preferences remain intact.

func ModelEnabled added in v2026.909.0

func ModelEnabled(r *Root, providerName, modelID string) bool

ModelEnabled reports whether a model should be offered by the GUI model selector. Models are enabled by default; only explicitly hidden models are stored.

func ModelPassesChatGPTSubFilter

func ModelPassesChatGPTSubFilter(modelID string) bool

func ModelPassesChatGPTSubPickerFilter

func ModelPassesChatGPTSubPickerFilter(modelID string) bool

func ModelPassesClaudeSubFilter

func ModelPassesClaudeSubFilter(modelID string) bool

func ModelPickerPageCap added in v2026.716.0

func ModelPickerPageCap(total int) int

func NeedsOnboard

func NeedsOnboard(r *Root) bool

func NormalizeAPIBase

func NormalizeAPIBase(raw string) (string, error)

func NormalizeAnthropicBase

func NormalizeAnthropicBase(raw string) (string, error)

func NoteRecentModelUse

func NoteRecentModelUse(r *Root, providerName, modelID string)

func ParseReasoningEffortToken

func ParseReasoningEffortToken(s string) (string, error)

func ParseServerPort added in v2026.909.0

func ParseServerPort(raw string) (int, error)

ParseServerPort validates the numeric port representation used by the environment and config file.

func PickModelInteractive

func PickModelInteractive(pio PromptIO, p *Provider, providerLabel string, ids []string, allowSkip bool) (string, error)

func PrintConfigSkipHint

func PrintConfigSkipHint(out io.Writer, topic string)

func PrintProviderConnectMenu

func PrintProviderConnectMenu(out io.Writer, title string)

func PrintRolesTableCatalog added in v2026.716.0

func PrintRolesTableCatalog(out io.Writer)

func ProviderConnectMenuLines

func ProviderConnectMenuLines() []string

func ProviderCredentialsReady

func ProviderCredentialsReady(p *Provider) bool

func QueueModelVisibility added in v2026.909.0

func QueueModelVisibility(providerName, modelID string, enabled bool) error

QueueModelVisibility schedules a visibility update on the process-wide writer queue.

func ReadPromptLine

func ReadPromptLine(p PromptIO, prompt string) (string, error)

func RemoteProviderNames added in v2026.609.3

func RemoteProviderNames(r *Root) []string

func ResearchMaxTimeSeconds added in v2026.617.0

func ResearchMaxTimeSeconds(r *Root) int

func ResolveExecConfig

func ResolveExecConfig(existing *Root, opts ExecResolveOpts) (*Root, *Provider, error)

func ResolveProviderBearer

func ResolveProviderBearer(ctx context.Context, r *Root, p *Provider) (string, error)

func ResolveServerPort added in v2026.909.0

func ResolveServerPort() (int, error)

ResolveServerPort gives an explicit process environment value precedence, persists it to config.toml, and otherwise uses the persisted config value. A missing value is deterministic rather than an instruction to bind an ephemeral port.

func RolesScoreWarnings added in v2026.716.0

func RolesScoreWarnings(r *Root) []string

func RolesSubagentEntries added in v2026.716.0

func RolesSubagentEntries(cfg *Root) []roles.SubagentEntry

func RunRolesTableWizard added in v2026.716.0

func RunRolesTableWizard(pio PromptIO, existing *Root) ([]string, error)

func Save

func Save(r *Root) error

func SetModelEnabled added in v2026.909.0

func SetModelEnabled(r *Root, providerName, modelID string, enabled bool) error

SetModelEnabled changes the GUI visibility preference for one model.

func SubagentTimeout

func SubagentTimeout(r *Root) int

func TableCharacteristics added in v2026.716.0

func TableCharacteristics(cfg *Root) []string

func UpdateModelVisibility added in v2026.909.0

func UpdateModelVisibility(providerName, modelID string, enabled bool) error

UpdateModelVisibility persists only the GUI model visibility preference.

This deliberately skips full config validation. Changing whether a model is shown in the selector must not wait for, or fail because of, a live provider model listing or an unrelated subagent configuration.

func ValidateRoles added in v2026.707.0

func ValidateRoles(ctx context.Context, r *Root) error

func ValidateServerPort added in v2026.909.0

func ValidateServerPort(port int) error

func WriteAnthropicClaudeCodeOAuthWarning added in v2026.617.1

func WriteAnthropicClaudeCodeOAuthWarning(out io.Writer)

func WriteConfigSetupWarning

func WriteConfigSetupWarning(w io.Writer, r *Root)

Types

type APIResilienceConfig

type APIResilienceConfig struct {
	MaxRetries        int   `toml:"max_retries,omitempty"`
	BaseDelayMS       int   `toml:"base_delay_ms,omitempty"`
	MaxDelayMS        int   `toml:"max_delay_ms,omitempty"`
	Jitter            *bool `toml:"jitter,omitempty"`
	ConnectTimeoutSec int   `toml:"connect_timeout_sec,omitempty"`
	ReadTimeoutSec    int   `toml:"read_timeout_sec,omitempty"`
	CircuitOpenSec    int   `toml:"circuit_open_sec,omitempty"`
}

type APIResiliencePolicy

type APIResiliencePolicy struct {
	MaxRetries     int
	BaseDelay      time.Duration
	MaxDelay       time.Duration
	Jitter         bool
	ConnectTimeout time.Duration
	ReadTimeout    time.Duration
	CircuitOpen    time.Duration
}

func EffectiveAPIResilience

func EffectiveAPIResilience(r *Root) APIResiliencePolicy

type Current

type Current struct {
	Provider string `toml:"provider"`
	Model    string `toml:"model"`
}

type ExecResolveOpts

type ExecResolveOpts struct {
	EnvFile string
}

type Export added in v2026.701.0

type Export struct {
	Path string `toml:"path,omitempty"`
}

type ModelPickChoice

type ModelPickChoice struct {
	ProviderName string
	ModelID      string
	Changed      bool
}

func PickModelAfterAdd

func PickModelAfterAdd(pio PromptIO, prevProv, prevModel, newProvName string, newIDs []string, allowSkip bool) (ModelPickChoice, error)

type ModelVisibilityQueue added in v2026.909.0

type ModelVisibilityQueue struct {
	// contains filtered or unexported fields
}

ModelVisibilityQueue serializes visibility updates without blocking callers on disk I/O.

func NewModelVisibilityQueue added in v2026.909.0

func NewModelVisibilityQueue(write func(string, string, bool) error) *ModelVisibilityQueue

NewModelVisibilityQueue starts a queue using the supplied persistence function.

func (*ModelVisibilityQueue) Enqueue added in v2026.909.0

func (q *ModelVisibilityQueue) Enqueue(providerName, modelID string, enabled bool) error

Enqueue validates and schedules one visibility update.

func (*ModelVisibilityQueue) Wait added in v2026.909.0

func (q *ModelVisibilityQueue) Wait()

Wait blocks until all updates currently in the queue have been persisted.

type OAuthTokenSet

type OAuthTokenSet struct {
	AccessToken  string
	RefreshToken string
	ExpiresAt    time.Time
	AccountID    string
}

type OnboardOpts

type OnboardOpts struct {
	RequireProvider bool
}

type OnboardResult

type OnboardResult struct {
	UserName                  string
	ResponseLanguage          string
	SubagentTimeoutMinutes    int
	CompactionThresholdTokens int64
	NewProvider               *Provider
	SwitchCurrent             bool
	CurrentProvider           string
	CurrentModel              string
	RolesTableCharacteristics []string
}

func RunOnboardWizard

func RunOnboardWizard(pio PromptIO, existing *Root, opts OnboardOpts) (*OnboardResult, error)

type PromptIO

type PromptIO struct {
	Stdin    io.Reader
	Out      io.Writer
	ReadLine func(prompt string) (string, error)
}

type Provider

type Provider struct {
	Name              string `toml:"-"`
	BaseURL           string `toml:"base_url"`
	APIKey            string `toml:"api_key"`
	APIProtocol       string `toml:"api_protocol,omitempty"`
	AuthKind          string `toml:"auth_kind,omitempty"`
	OAuthAccessToken  string `toml:"oauth_access_token,omitempty"`
	OAuthRefreshToken string `toml:"oauth_refresh_token,omitempty"`
	OAuthExpiresAt    string `toml:"oauth_expires_at,omitempty"`
	OAuthAccountID    string `toml:"oauth_account_id,omitempty"`
}

func NewChatGPTSubProvider

func NewChatGPTSubProvider(baseURL string, tokens codex.TokenSet) (Provider, error)

func NewClaudeSubProvider added in v2026.622.0

func NewClaudeSubProvider(tokens claude.TokenSet) (Provider, error)

func ProviderByName

func ProviderByName(r *Root, name string) *Provider

func ProviderList

func ProviderList(r *Root) []Provider

func ResolveProvider

func ResolveProvider(r *Root) (*Provider, error)

func (*Provider) EffectiveAPIProtocol

func (p *Provider) EffectiveAPIProtocol() string

func (*Provider) EffectiveAuthKind

func (p *Provider) EffectiveAuthKind() string

func (*Provider) IsAnthropic

func (p *Provider) IsAnthropic() bool

func (*Provider) IsChatGPTSub

func (p *Provider) IsChatGPTSub() bool

func (*Provider) IsClaudeSub

func (p *Provider) IsClaudeSub() bool

func (*Provider) IsCursorAPI

func (p *Provider) IsCursorAPI() bool

func (*Provider) IsOAuthProvider

func (p *Provider) IsOAuthProvider() bool

func (*Provider) UsesAnthropicOAuthBearer

func (p *Provider) UsesAnthropicOAuthBearer() bool

type ProviderSetupOpts

type ProviderSetupOpts struct {
	RequireProvider bool
	WriteToConfig   bool
	SaveConfig      func() error
}

type ProviderSetupResult

type ProviderSetupResult struct {
	Provider        Provider
	SwitchCurrent   bool
	CurrentProvider string
	CurrentModel    string
}

func FinalizeProviderSetup

func FinalizeProviderSetup(pio PromptIO, cfg *Root, existing *Root, opts ProviderSetupOpts, prov Provider, ids []string) (*ProviderSetupResult, error)

func RunProviderSetupByKind

func RunProviderSetupByKind(ctx context.Context, pio PromptIO, cfg *Root, existing *Root, kind int, opts ProviderSetupOpts) (*ProviderSetupResult, error)

type RecentModelUse

type RecentModelUse struct {
	Provider string `toml:"provider"`
	Model    string `toml:"model"`
}

func RecentModelUseEntries

func RecentModelUseEntries(r *Root, preferProvider string) []RecentModelUse

type Roles added in v2026.707.0

type Roles struct {
	Table    RolesTable           `toml:"table,omitempty"`
	Subagent []SubagentRoleConfig `toml:"subagent,omitempty"`
}

type RolesTable added in v2026.716.0

type RolesTable struct {
	Characteristics []string `toml:"characteristics,omitempty"`
}

type Root

type Root struct {
	UserName                  string               `toml:"user_name"`
	Providers                 map[string]*Provider `toml:"-"`
	Current                   Current              `toml:"current"`
	RecentModels              map[string][]string  `toml:"recent_models,omitempty"`
	HiddenModels              map[string][]string  `toml:"hidden_models,omitempty"`
	SubagentTimeoutMinutes    int                  `toml:"subagent_timeout_minutes"`
	ReasoningEffort           string               `toml:"reasoning_effort"`
	SubagentReasoningEffort   string               `toml:"subagent_reasoning_effort"`
	FastMode                  *bool                `toml:"fast_mode,omitempty"`
	LogLevel                  string               `toml:"log_level"`
	MaxResponseTokens         int                  `toml:"max_response_tokens"`
	ShowThinking              bool                 `toml:"show_thinking"`
	Anonymize                 bool                 `toml:"anonymize,omitempty"`
	Tools                     Tools                `toml:"tools,omitempty"`
	ShowUsageStats            *bool                `toml:"show_usage_stats"`
	ResponseLanguage          string               `toml:"response_language"`
	CompactionThresholdTokens int64                `toml:"compaction_threshold_tokens"`
	SkillSearchMinNorm        *float64             `toml:"skill_search_min_normalized_score,omitempty"`
	DocSearchMinNorm          *float64             `toml:"doc_search_min_normalized_score,omitempty"`
	DocSearchFullArticleScore *float64             `toml:"doc_search_full_article_score,omitempty"`
	WebSearchEngine           string               `toml:"web_search_engine,omitempty"`
	ServerPort                int                  `toml:"server_port,omitempty"`
	WebSearchAPIKey           string               `toml:"web_search_api_key,omitempty"`
	WebSearchBaseURL          string               `toml:"web_search_base_url,omitempty"`
	WebSearchCX               string               `toml:"web_search_cx,omitempty"`
	ResearchMaxRounds         int                  `toml:"research_max_rounds,omitempty"`
	ResearchMaxURLsPerRound   int                  `toml:"research_max_urls_per_round,omitempty"`
	ResearchMaxContentChars   int                  `toml:"research_max_content_chars,omitempty"`
	ToolOutput                ToolOutput           `toml:"tool_output,omitempty"`
	APIResilience             APIResilienceConfig  `toml:"api_resilience,omitempty"`
	WebFetch                  WebFetchConfig       `toml:"web_fetch,omitempty"`
	Export                    Export               `toml:"export,omitempty"`
	Roles                     Roles                `toml:"roles,omitempty"`
	AutoUpdate                *bool                `toml:"autoupdate,omitempty"`
	PromptTemplates           map[string]string    `toml:"prompt_templates,omitempty"`
	PromptTemplateModTime     map[string]int64     `toml:"prompt_template_mtime,omitempty"`
}

func EmptyRoot

func EmptyRoot() *Root

func Load

func Load() (*Root, error)

func LoadOptional

func LoadOptional() (*Root, error)

func LoadStartup added in v2026.622.0

func LoadStartup() (*Root, bool, error)

func ReadModelVisibility added in v2026.909.0

func ReadModelVisibility() (*Root, error)

ReadModelVisibility reads preferences without provider calls or role validation.

func RunWizardIfNeeded

func RunWizardIfNeeded(stdin io.Reader) (*Root, error)

func UpdateCurrentModel added in v2026.909.0

func UpdateCurrentModel(providerName, modelID string) (*Root, error)

UpdateCurrentModel atomically persists the selected provider and model.

func UpdateReasoningEffort added in v2026.909.0

func UpdateReasoningEffort(effort string) (*Root, error)

UpdateReasoningEffort atomically persists the main-chat reasoning level.

func (*Root) AutoUpdateEnabled added in v2026.602.3

func (r *Root) AutoUpdateEnabled() bool

func (*Root) CursorInternalToolsEnabled added in v2026.624.0

func (r *Root) CursorInternalToolsEnabled() bool

func (*Root) EffectiveExportRoot added in v2026.701.0

func (r *Root) EffectiveExportRoot() (string, error)

func (*Root) EffectiveFastMode

func (r *Root) EffectiveFastMode() bool

func (*Root) EffectiveResponseLanguage

func (r *Root) EffectiveResponseLanguage() string

func (*Root) EffectiveServerPort added in v2026.909.0

func (r *Root) EffectiveServerPort() int

func (*Root) EffectiveSubagentReasoningEffort added in v2026.615.0

func (r *Root) EffectiveSubagentReasoningEffort(override string) (canonical string, forceDisable bool)

func (*Root) EffectiveWebSearchEngine

func (r *Root) EffectiveWebSearchEngine() string

func (*Root) FastModeEnabledForProvider

func (r *Root) FastModeEnabledForProvider(p *Provider) bool

func (*Root) GlobalReasoningEffort

func (r *Root) GlobalReasoningEffort() shared.ReasoningEffort

func (*Root) LegacyToolsEnabled

func (r *Root) LegacyToolsEnabled() bool

func (*Root) LegacyToolsForceEnabled

func (r *Root) LegacyToolsForceEnabled() bool

func (*Root) ModelDisplayName

func (r *Root) ModelDisplayName(p *Provider, model string) string

func (*Root) ReasoningEffortDisplayLabel

func (r *Root) ReasoningEffortDisplayLabel() string

func (*Root) ReasoningEffortIsNone

func (r *Root) ReasoningEffortIsNone() bool

func (*Root) ReasoningEffortLabel

func (r *Root) ReasoningEffortLabel() string

func (*Root) SubagentReasoningEffortDisplayLabel added in v2026.615.0

func (r *Root) SubagentReasoningEffortDisplayLabel() string

func (*Root) SubagentReasoningEffortIsNone added in v2026.615.0

func (r *Root) SubagentReasoningEffortIsNone() bool

func (*Root) SubagentReasoningEffortLabel added in v2026.615.0

func (r *Root) SubagentReasoningEffortLabel() string

func (*Root) UsageStatsEnabled

func (r *Root) UsageStatsEnabled() bool

func (*Root) WebSearchNeedsInternet added in v2026.609.3

func (r *Root) WebSearchNeedsInternet() bool

type SubagentAddResult added in v2026.716.0

type SubagentAddResult struct {
	Provider    string
	Model       string
	Description string
	Scores      map[string]int
}

func CompleteSubagentEntry added in v2026.716.0

func CompleteSubagentEntry(ctx context.Context, pio PromptIO, cfg *Root, provider, modelID string) (*SubagentAddResult, error)

type SubagentRoleConfig added in v2026.707.0

type SubagentRoleConfig struct {
	Provider    string         `toml:"provider"`
	Model       string         `toml:"model"`
	Description string         `toml:"description,omitempty"`
	Scores      map[string]int `toml:"scores,omitempty"`
}

type ToolOutput

type ToolOutput struct {
	MaxBytes int `toml:"max_bytes,omitempty"`
	MaxLines int `toml:"max_lines,omitempty"`
}

type Tools

type Tools struct {
	Legacy              bool `toml:"legacy,omitempty"`
	LegacyForce         bool `toml:"legacy_force,omitempty"`
	CursorInternalTools bool `toml:"cursor_internal_tools,omitempty"`
}

type WebFetchConfig added in v2026.617.0

type WebFetchConfig struct {
	UserAgent      string   `toml:"user_agent,omitempty"`
	AcceptLanguage string   `toml:"accept_language,omitempty"`
	BlockedDomains []string `toml:"blocked_domains,omitempty"`
	MaxRedirects   int      `toml:"max_redirects,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL