From c201a0602a12997195bd3e3d6d4c7398a02a8f40 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Wed, 18 Feb 2026 18:46:45 +0200 Subject: [PATCH] feat(linear): register linear tools in registry --- .../app/agents/new_chat/tools/registry.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/surfsense_backend/app/agents/new_chat/tools/registry.py b/surfsense_backend/app/agents/new_chat/tools/registry.py index 132791c4b..db48276bc 100644 --- a/surfsense_backend/app/agents/new_chat/tools/registry.py +++ b/surfsense_backend/app/agents/new_chat/tools/registry.py @@ -48,6 +48,11 @@ from app.db import ChatVisibility from .display_image import create_display_image_tool from .generate_image import create_generate_image_tool from .knowledge_base import create_search_knowledge_base_tool +from .linear import ( + create_create_linear_issue_tool, + create_delete_linear_issue_tool, + create_update_linear_issue_tool, +) from .link_preview import create_link_preview_tool from .mcp_tool import load_mcp_tools from .notion import ( @@ -216,6 +221,39 @@ BUILTIN_TOOLS: list[ToolDefinition] = [ requires=["user_id", "search_space_id", "db_session", "thread_visibility"], ), # ========================================================================= + # LINEAR TOOLS - create, update, delete issues + # ========================================================================= + ToolDefinition( + name="create_linear_issue", + description="Create a new issue in the user's Linear workspace", + factory=lambda deps: create_create_linear_issue_tool( + db_session=deps["db_session"], + search_space_id=deps["search_space_id"], + user_id=deps["user_id"], + ), + requires=["db_session", "search_space_id", "user_id"], + ), + ToolDefinition( + name="update_linear_issue", + description="Update an existing indexed Linear issue", + factory=lambda deps: create_update_linear_issue_tool( + db_session=deps["db_session"], + search_space_id=deps["search_space_id"], + user_id=deps["user_id"], + ), + requires=["db_session", "search_space_id", "user_id"], + ), + ToolDefinition( + name="delete_linear_issue", + description="Archive (delete) an existing indexed Linear issue", + factory=lambda deps: create_delete_linear_issue_tool( + db_session=deps["db_session"], + search_space_id=deps["search_space_id"], + user_id=deps["user_id"], + ), + requires=["db_session", "search_space_id", "user_id"], + ), + # ========================================================================= # NOTION TOOLS - create, update, delete pages # ========================================================================= ToolDefinition(