From 175806bf89e23b739cc6565c815f400c89ce907f Mon Sep 17 00:00:00 2001 From: haikdc Date: Thu, 2 Apr 2026 13:48:25 -0700 Subject: [PATCH] [Haik]: ckpt, agent toolkit done. Onto browser --- .../tools/BUILTIN_TOOLKIT/BUILTIN_TOOLKIT.py | 36 +++++++++------- .../components/AGENTS_TOOLKIT.py | 43 +++++++++++++++---- 2 files changed, 54 insertions(+), 25 deletions(-) diff --git a/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/BUILTIN_TOOLKIT.py b/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/BUILTIN_TOOLKIT.py index 6bb05e85..1b99ad6e 100644 --- a/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/BUILTIN_TOOLKIT.py +++ b/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/BUILTIN_TOOLKIT.py @@ -1,24 +1,28 @@ -from backend.apps.agents.HaikFix.tools.shared_structs.Toolkit import Toolkit -from backend.apps.agents.HaikFix.tools.shared_structs.Tool import Tool +# BUILTIN_TOOLKIT.py -from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.AGENTS_TOOLKIT import AGENTS_TOOLKIT +from typing import Dict +from backend.apps.agents.HaikFix.tools.shared_structs.Toolkit import Toolkit +from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.AGENTS_TOOLKIT import make_agents_toolkit from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.FILESYSTEM_TOOLKIT import FILESYSTEM_TOOLKIT from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.INTERACTION_TOOLKIT import INTERACTION_TOOLKIT from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.PLANNING_TOOLKIT import PLANNING_TOOLKIT from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.SCHEDULING_TOOLKIT import SCHEDULING_TOOLKIT from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.SEARCH_TOOLKIT import SEARCH_TOOLKIT from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.SYSTEM_TOOLKIT import SYSTEM_TOOLKIT +from backend.apps.agents.HaikFix.Agent.Agent import Agent -BUILTIN_TOOLKIT = Toolkit( - name="builtin", - description="Builtin tools", - nested_toolkits=[ - AGENTS_TOOLKIT, - FILESYSTEM_TOOLKIT, - INTERACTION_TOOLKIT, - PLANNING_TOOLKIT, - SCHEDULING_TOOLKIT, - SEARCH_TOOLKIT, - SYSTEM_TOOLKIT, - ] -) \ No newline at end of file + +def make_builtin_toolkit(parent: Agent, agent_registry: Dict[str, Agent]) -> Toolkit: + return Toolkit( + name="builtin", + description="Builtin tools", + nested_toolkits=[ + make_agents_toolkit(parent, agent_registry), + FILESYSTEM_TOOLKIT, + INTERACTION_TOOLKIT, + PLANNING_TOOLKIT, + SCHEDULING_TOOLKIT, + SEARCH_TOOLKIT, + SYSTEM_TOOLKIT, + ], + ) \ No newline at end of file diff --git a/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/components/AGENTS_TOOLKIT.py b/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/components/AGENTS_TOOLKIT.py index 998fee13..9df286d3 100644 --- a/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/components/AGENTS_TOOLKIT.py +++ b/backend/apps/agents/HaikFix/tools/BUILTIN_TOOLKIT/components/AGENTS_TOOLKIT.py @@ -1,11 +1,36 @@ +from typing import Dict from backend.apps.agents.HaikFix.tools.shared_structs.Toolkit import Toolkit -from backend.apps.agents.HaikFix.tools.shared_structs.Tool import Tool +from backend.apps.agents.HaikFix.tools.shared_structs.MCP_Tool import SDK_MCP_Tool +from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.custom_handlers.make_create_agent_handler import ( + make_create_agent_handler, CreateAgentInput, +) +from backend.apps.agents.HaikFix.tools.BUILTIN_TOOLKIT.components.custom_handlers.make_invoke_agent_handler import ( + make_invoke_agent_handler, InvokeAgentInput, +) +from backend.apps.agents.HaikFix.Agent.Agent import Agent -AGENTS_TOOLKIT = Toolkit( - name="agents", - description="Tools for creating and invoking agents", - tools=[ - Tool(name="CreateAgent", deferred=False, permission="allow"), - Tool(name="InvokeAgent", deferred=False, permission="allow"), - ] -) \ No newline at end of file +def make_agents_toolkit(parent: Agent, agent_registry: Dict[str, Agent]) -> Toolkit: + return Toolkit( + name="agents", + description="Tools for creating and invoking agents", + tools=[ + SDK_MCP_Tool( + name="CreateAgent", + description="Spawn a sub-agent to handle a complex subtask", + deferred=False, + permission="allow", + server_name="openswarm-agents", + input_schema=CreateAgentInput, + handler=make_create_agent_handler(parent), + ), + SDK_MCP_Tool( + name="InvokeAgent", + description="Invoke a copy of an existing agent with a new message, preserving full conversation context", + deferred=False, + permission="allow", + server_name="openswarm-agents", + input_schema=InvokeAgentInput, + handler=make_invoke_agent_handler(agent_registry), + ), + ], + ) \ No newline at end of file