Commit Graph

6 Commits

Author SHA1 Message Date
Michael 031c3461df feat: add support for SearXNG HTTP basic authentication 2026-06-30 22:37:05 +02:00
Michael 5203cf89a0 refactor: remove duckduckgo-search import error checks 2026-06-30 22:34:18 +02:00
Michael 6ed91b05db feat: set default SearXNG URL to empty string 2026-06-30 22:32:19 +02:00
Michael 9ec05cb2fb feat: make SearXNG URL an environment variable 2026-06-30 22:28:19 +02:00
Michael bf13a979c2 feat: add output truncation and offset paging to all large-output tools
- coding_tools: list_files (max_entries=200, sorted), run_command
  (max_chars=8000, output_offset), grep_search (max_lines=100, offset);
  added _truncate_output helper for run_command paging
- pr_tools: get_pull_request_diff / get_pull_request_patch now truncate
  at 15k chars with hunk-boundary awareness and char_offset paging;
  get_pull_request_comments gains limit/offset paging
- issue_tools: get_issue_comments gains limit/offset paging
- file_tools: get_file_content / get_file_content_with_ref now paginate
  by line (offset=1, limit=250), matching existing read_file convention;
  added _paginate_lines helper
- research_tools: fetch_url gains char_offset parameter; _smart_truncate
  now slices from an offset and embeds next char_offset in the footer
- gitea_tools facade: all new params threaded through
2026-06-28 19:57:14 +02:00
michael c0c9278d75 feat: add web_search and fetch_url research tools (#2)
- Add ResearchTools class in gitea/tools/research_tools.py
  - web_search: DuckDuckGo HTML search, no API key required
  - fetch_url: httpx-based URL fetcher with HTML stripping + truncation
- Wire both tools into planning_tools and coding_tools_list in dispatcher.py
- Add 19 unit tests covering all methods, error paths, and edge cases

---------

Co-authored-by: Michael <michael@example.com>
Reviewed-on: #2
2026-06-28 19:01:55 +02:00