diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go index 190280af8..3660a42fc 100644 --- a/pkg/agent/loop.go +++ b/pkg/agent/loop.go @@ -2270,7 +2270,7 @@ func (al *AgentLoop) buildCommandsRuntime(agent *AgentInstance, opts *processOpt } return al.channelManager.GetEnabledChannels() }, - GetActiveTurn: func() interface{} { + GetActiveTurn: func() any { turns := al.GetAllActiveTurns() if len(turns) == 0 { return nil diff --git a/pkg/agent/subturn.go b/pkg/agent/subturn.go index 7292e542b..58375ef4d 100644 --- a/pkg/agent/subturn.go +++ b/pkg/agent/subturn.go @@ -315,7 +315,7 @@ func spawnSubTurn( } }() case <-timeoutCtx.Done(): - // Check parent context first - if it was cancelled, propagate that error + // Check parent context first - if it was canceled, propagate that error if ctx.Err() != nil { return nil, ctx.Err() } diff --git a/pkg/agent/turn_state.go b/pkg/agent/turn_state.go index 004fab2dc..be5380511 100644 --- a/pkg/agent/turn_state.go +++ b/pkg/agent/turn_state.go @@ -129,7 +129,7 @@ func (ts *turnState) Info() *TurnInfo { // GetAllActiveTurns retrieves information about all currently active turns across all sessions. func (al *AgentLoop) GetAllActiveTurns() []*TurnInfo { var turns []*TurnInfo - al.activeTurnStates.Range(func(key, value interface{}) bool { + al.activeTurnStates.Range(func(key, value any) bool { if ts, ok := value.(*turnState); ok { turns = append(turns, ts.Info()) } diff --git a/pkg/commands/runtime.go b/pkg/commands/runtime.go index 5e5792761..f714e1ca4 100644 --- a/pkg/commands/runtime.go +++ b/pkg/commands/runtime.go @@ -11,7 +11,7 @@ type Runtime struct { ListAgentIDs func() []string ListDefinitions func() []Definition GetEnabledChannels func() []string - GetActiveTurn func() interface{} // Returning interface{} to avoid circular dependency with agent package + GetActiveTurn func() any // Returning any to avoid circular dependency with agent package SwitchModel func(value string) (oldModel string, err error) SwitchChannel func(value string) error ClearHistory func() error diff --git a/pkg/config/config.go b/pkg/config/config.go index 7b4a881f7..70a52d86a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -739,9 +739,9 @@ type SearXNGConfig struct { } type GLMSearchConfig struct { - Enabled bool `json:"enabled" env:"PICOCLAW_TOOLS_WEB_GLM_ENABLED"` - APIKey string `json:"api_key" env:"PICOCLAW_TOOLS_WEB_GLM_API_KEY"` - BaseURL string `json:"base_url" env:"PICOCLAW_TOOLS_WEB_GLM_BASE_URL"` + Enabled bool `json:"enabled" env:"PICOCLAW_TOOLS_WEB_GLM_ENABLED"` + APIKey string `json:"api_key" env:"PICOCLAW_TOOLS_WEB_GLM_API_KEY"` + BaseURL string `json:"base_url" env:"PICOCLAW_TOOLS_WEB_GLM_BASE_URL"` // SearchEngine specifies the search backend: "search_std" (default), // "search_pro", "search_pro_sogou", or "search_pro_quark". SearchEngine string `json:"search_engine" env:"PICOCLAW_TOOLS_WEB_GLM_SEARCH_ENGINE"` @@ -749,7 +749,7 @@ type GLMSearchConfig struct { } type WebToolsConfig struct { - ToolConfig ` envPrefix:"PICOCLAW_TOOLS_WEB_"` + ToolConfig ` envPrefix:"PICOCLAW_TOOLS_WEB_"` Brave BraveConfig ` json:"brave"` Tavily TavilyConfig ` json:"tavily"` DuckDuckGo DuckDuckGoConfig ` json:"duckduckgo"` @@ -761,13 +761,13 @@ type WebToolsConfig struct { // the client-side web_search tool is hidden to avoid duplicate search surfaces, // and the provider's built-in search is used instead. Falls back to client-side // search when the provider does not support native search. - PreferNative bool ` json:"prefer_native" env:"PICOCLAW_TOOLS_WEB_PREFER_NATIVE"` + PreferNative bool `json:"prefer_native" env:"PICOCLAW_TOOLS_WEB_PREFER_NATIVE"` // Proxy is an optional proxy URL for web tools (http/https/socks5/socks5h). // For authenticated proxies, prefer HTTP_PROXY/HTTPS_PROXY env vars instead of embedding credentials in config. - Proxy string ` json:"proxy,omitempty" env:"PICOCLAW_TOOLS_WEB_PROXY"` - FetchLimitBytes int64 ` json:"fetch_limit_bytes,omitempty" env:"PICOCLAW_TOOLS_WEB_FETCH_LIMIT_BYTES"` - Format string ` json:"format,omitempty" env:"PICOCLAW_TOOLS_WEB_FORMAT"` - PrivateHostWhitelist FlexibleStringSlice ` json:"private_host_whitelist,omitempty" env:"PICOCLAW_TOOLS_WEB_PRIVATE_HOST_WHITELIST"` + Proxy string `json:"proxy,omitempty" env:"PICOCLAW_TOOLS_WEB_PROXY"` + FetchLimitBytes int64 `json:"fetch_limit_bytes,omitempty" env:"PICOCLAW_TOOLS_WEB_FETCH_LIMIT_BYTES"` + Format string `json:"format,omitempty" env:"PICOCLAW_TOOLS_WEB_FORMAT"` + PrivateHostWhitelist FlexibleStringSlice `json:"private_host_whitelist,omitempty" env:"PICOCLAW_TOOLS_WEB_PRIVATE_HOST_WHITELIST"` } type CronToolsConfig struct { @@ -882,10 +882,10 @@ type MCPServerConfig struct { // MCPConfig defines configuration for all MCP servers type MCPConfig struct { - ToolConfig ` envPrefix:"PICOCLAW_TOOLS_MCP_"` + ToolConfig ` envPrefix:"PICOCLAW_TOOLS_MCP_"` Discovery ToolDiscoveryConfig ` json:"discovery"` // Servers is a map of server name to server configuration - Servers map[string]MCPServerConfig ` json:"servers,omitempty"` + Servers map[string]MCPServerConfig `json:"servers,omitempty"` } func LoadConfig(path string) (*Config, error) {