SurfSense/surfsense_backend/app/utils
DESKTOP-RTLN3BA\$punk ab747e7a49 feat(agents): consolidate connectors under mcp_discovery; route web search through google_search
MCP consolidation:
- Route all MCP-capable connectors (Slack, Jira, Linear, ClickUp, Airtable,
  Notion, Confluence, interim Gmail/Calendar, custom MCP) through a single
  `mcp_discovery` subagent. Drive/OneDrive/Dropbox stay native to enrich the KB.
- Deprecate Discord/Teams/Luma: no viable official MCP server.

Google-only web search:
- Remove the main-agent `web_search` tool and the SearXNG platform service;
  all public web search now flows through the `google_search` subagent via task().
- Deprecate the Tavily/SearXNG/Linkup/Baidu search connectors (HTTP 410 on
  create, "Deprecated" badge); guide heavy users to the custom MCP connector.
- Remove web search from anonymous chat (pure Q&A).
- Tear SearXNG out of docker compose + install scripts; drop tavily-python
  and linkup-sdk deps and their config/env vars.

Fix:
- metrics._package_version() now swallows any metadata lookup failure. A
  malformed editable-install distribution with no `Version` field raised
  KeyError deep in importlib.metadata, and since it runs on every
  record_subagent_invoke_duration call it was crashing every task()
  delegation. Verified end-to-end against live GPT-5.4.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 21:06:04 -07:00
..
captcha feat(crawler): captcha solving + per-attempt billing (Phase 3d) 2026-06-29 22:58:21 -07:00
crawl feat(native-connector): added google maps places & reviews scrapers 2026-07-02 21:58:24 -07:00
proxy feat(proxy): refactor proxy configuration and add DataImpulse provider 2026-07-04 17:18:40 -07:00
async_retry.py feat: updated agent harness 2026-04-28 09:22:19 -07:00
blocknote_to_markdown.py Merge pull request #1543 from DhruvTilva/fix/codeblock-interior-line-indentation 2026-06-29 17:45:21 -07:00
chat_comments.py fix: use delimited format for mention highlighting 2026-01-16 20:10:09 +02:00
connector_naming.py refactor(backend): rename search_space -> workspace across app bulk (Phase 2 Wave D) 2026-06-26 18:30:47 +02:00
content_utils.py fix(chat): normalize provider-safe message history 2026-06-12 02:17:37 +05:30
document_converters.py refactor(backend): rename search_space -> workspace across app bulk (Phase 2 Wave D) 2026-06-26 18:30:47 +02:00
document_versioning.py chore: ran linting 2026-04-03 13:14:40 +05:30
file_extensions.py Route uploaded images to vision LLM with document-parser fallback 2026-04-09 14:33:33 +02:00
google_credentials.py chore: ran linting 2026-03-21 13:21:19 +05:30
indexing_locks.py feat: fixed and improved search and background task management. 2026-02-09 14:03:56 -08:00
notion_utils.py Implement KB sync after Notion page updates with block ID verification 2026-02-17 20:30:12 +02:00
oauth_security.py refactor(backend): rename search_space -> workspace across app bulk (Phase 2 Wave D) 2026-06-26 18:30:47 +02:00
pat.py chore: fix linting 2026-06-25 04:31:36 +05:30
perf.py feat(observability): add SurfSense metric helpers 2026-05-21 23:02:20 +05:30
periodic_scheduler.py refactor(connectors): remove legacy web-crawler KB indexer paths (keep enums) 2026-07-03 11:53:33 +02:00
proxy_config.py feat(proxy): integrate Scrapling for enhanced web scraping capabilities 2026-06-09 00:15:10 -07:00
rbac.py refactor(backend): rename search_space -> workspace across app bulk (Phase 2 Wave D) 2026-06-26 18:30:47 +02:00
refresh_tokens.py chore: fix linting 2026-06-25 04:31:22 +05:30
signed_image_urls.py feat: added image gen support 2026-02-05 16:43:48 -08:00
user_message_multimodal.py chore: linting 2026-04-28 21:37:51 -07:00
validators.py feat(agents): consolidate connectors under mcp_discovery; route web search through google_search 2026-07-04 21:06:04 -07:00