Skip to content

feat: web search and fetch tools#5

Merged
ruttydm merged 9 commits intomainfrom
feat/web
Apr 21, 2026
Merged

feat: web search and fetch tools#5
ruttydm merged 9 commits intomainfrom
feat/web

Conversation

@ruttydm
Copy link
Copy Markdown
Contributor

@ruttydm ruttydm commented Apr 21, 2026

Summary

  • Multi-provider web research layer: web_search (Tavily, Z.AI, Exa, Google Custom Search) and web_fetch (Direct, Z.AI Reader, Firecrawl)
  • Transient cache, HTML/Markdown extraction, SSRF guard, settings integration
  • System prompt guidance for efficient web research via subagents
  • Gateway, session search, setup flow, and Lua docs improvements from prior commits

Test plan

  • PHPStan passes with no errors
  • All 2826 tests pass (0 failures, 0 errors)
  • Web provider unit tests cover gzip decoding, markdown extraction, cache eviction, MCP invoker, and provider manager fallback

🤖 Generated with Claude Code

ruttydm and others added 9 commits April 11, 2026 22:19
session_search now supports two modes: browse (empty query returns recent
sessions with titles, dates, message counts) and search (FTS5 grouped by
session with match counts and surrounding context). New session_read tool
loads full session transcripts by ID prefix for drill-down after search.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add Telegram gateway and related UX improvements
Multi-provider web research layer: Tavily, Z.AI, Exa, Google Custom Search
for search; Direct, Z.AI Reader, Firecrawl for fetch. Includes transient
cache, HTML/Markdown extraction, safety guard, settings integration, and
system prompt guidance for efficient web research via subagents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- AgentModeTest: update tool count to 27 (added web_search, web_fetch)
- AnsiRendererTest: approvePlan now returns defaults in non-interactive mode
- DirectFetchProviderTest/ZaiProvidersTest: mock WebRequestGuard to avoid
  DNS resolution in unit tests
- Remove final from WebRequestGuard to enable mocking

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ruttydm ruttydm merged commit 5de4fb7 into main Apr 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant