diff --git a/pkg/agent/loop_init.go b/pkg/agent/loop_init.go index f1baadc7a..e8c89ec68 100644 --- a/pkg/agent/loop_init.go +++ b/pkg/agent/loop_init.go @@ -22,6 +22,7 @@ import ( "jane/pkg/skills" "jane/pkg/state" "jane/pkg/tools" + "jane/pkg/tools/web" "jane/pkg/voice" ) @@ -74,7 +75,7 @@ func registerSharedTools( } if cfg.Tools.IsToolEnabled("web") { - searchTool, err := tools.NewWebSearchTool(tools.WebSearchToolOptions{ + searchTool, err := web.NewWebSearchTool(web.WebSearchToolOptions{ BraveAPIKeys: config.MergeAPIKeys(cfg.Tools.Web.Brave.APIKey, cfg.Tools.Web.Brave.APIKeys), BraveMaxResults: cfg.Tools.Web.Brave.MaxResults, BraveEnabled: cfg.Tools.Web.Brave.Enabled, @@ -107,7 +108,7 @@ func registerSharedTools( } } if cfg.Tools.IsToolEnabled("web_fetch") { - fetchTool, err := tools.NewWebFetchToolWithProxy(50000, cfg.Tools.Web.Proxy, cfg.Tools.Web.FetchLimitBytes) + fetchTool, err := web.NewWebFetchToolWithProxy(50000, cfg.Tools.Web.Proxy, cfg.Tools.Web.FetchLimitBytes) if err != nil { logger.ErrorCF("agent", "Failed to create web fetch tool", map[string]any{"error": err.Error()}) } else { diff --git a/pkg/tools/web.go b/pkg/tools/web.go deleted file mode 100644 index 003cd860c..000000000 --- a/pkg/tools/web.go +++ /dev/null @@ -1,1139 +0,0 @@ -package tools - -import ( - "bytes" - "context" - "encoding/json" - "errors" - "fmt" - "io" - "net" - "net/http" - "net/url" - "regexp" - "strings" - "sync/atomic" - "time" -) - -const ( - userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" - - // HTTP client timeouts for web tool providers. - searchTimeout = 10 * time.Second // Brave, Tavily, DuckDuckGo - perplexityTimeout = 30 * time.Second // Perplexity (LLM-based, slower) - fetchTimeout = 60 * time.Second // WebFetchTool - - defaultMaxChars = 50000 - maxRedirects = 5 -) - -// Pre-compiled regexes for HTML text extraction -var ( - reScript = regexp.MustCompile(``) + reStyle = regexp.MustCompile(`
Content