From 1d6c1a2287cc91eadfd114579512ea4f1204cf7d Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Wed, 18 Feb 2026 18:49:03 +0200 Subject: [PATCH] feat(linear): disable linear tools when no connector, handle in streaming --- .../app/agents/new_chat/chat_deepagent.py | 12 ++++++++++++ surfsense_backend/app/tasks/chat/stream_new_chat.py | 3 +++ 2 files changed, 15 insertions(+) diff --git a/surfsense_backend/app/agents/new_chat/chat_deepagent.py b/surfsense_backend/app/agents/new_chat/chat_deepagent.py index 3ad7aafc6..f4af16b78 100644 --- a/surfsense_backend/app/agents/new_chat/chat_deepagent.py +++ b/surfsense_backend/app/agents/new_chat/chat_deepagent.py @@ -256,6 +256,18 @@ async def create_surfsense_deep_agent( ] modified_disabled_tools.extend(notion_tools) + # Disable Linear action tools if no Linear connector is configured + has_linear_connector = ( + available_connectors is not None and "LINEAR_CONNECTOR" in available_connectors + ) + if not has_linear_connector: + linear_tools = [ + "create_linear_issue", + "update_linear_issue", + "delete_linear_issue", + ] + modified_disabled_tools.extend(linear_tools) + # Build tools using the async registry (includes MCP tools) tools = await build_tools_async( dependencies=dependencies, diff --git a/surfsense_backend/app/tasks/chat/stream_new_chat.py b/surfsense_backend/app/tasks/chat/stream_new_chat.py index a319554a5..0decbb2a4 100644 --- a/surfsense_backend/app/tasks/chat/stream_new_chat.py +++ b/surfsense_backend/app/tasks/chat/stream_new_chat.py @@ -796,6 +796,9 @@ async def _stream_agent_events( "create_notion_page", "update_notion_page", "delete_notion_page", + "create_linear_issue", + "update_linear_issue", + "delete_linear_issue", ): yield streaming_service.format_tool_output_available( tool_call_id,