From 4282de139b261f530d9ef182539dab1dffe30831 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Wed, 11 Feb 2026 11:41:44 +0900 Subject: [PATCH] feat(agent-teams): gate agent-teams tools behind experimental.agent_teams flag --- src/config/schema/experimental.ts | 2 ++ src/plugin/tool-registry.ts | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/config/schema/experimental.ts b/src/config/schema/experimental.ts index 52747aae..774cbba7 100644 --- a/src/config/schema/experimental.ts +++ b/src/config/schema/experimental.ts @@ -15,6 +15,8 @@ export const ExperimentalConfigSchema = z.object({ plugin_load_timeout_ms: z.number().min(1000).optional(), /** Wrap hook creation in try/catch to prevent one failing hook from crashing the plugin (default: true at call site) */ safe_hook_creation: z.boolean().optional(), + /** Enable experimental agent teams toolset (default: false) */ + agent_teams: z.boolean().optional(), }) export type ExperimentalConfig = z.infer diff --git a/src/plugin/tool-registry.ts b/src/plugin/tool-registry.ts index 14267fe0..94c30bc6 100644 --- a/src/plugin/tool-registry.ts +++ b/src/plugin/tool-registry.ts @@ -19,6 +19,7 @@ import { createAstGrepTools, createSessionManagerTools, createDelegateTask, + createAgentTeamsTools, discoverCommandsSync, interactive_bash, createTaskCreateTool, @@ -117,6 +118,15 @@ export function createToolRegistry(args: { } : {} + const agentTeamsEnabled = pluginConfig.experimental?.agent_teams ?? false + const agentTeamsRecord: Record = agentTeamsEnabled + ? createAgentTeamsTools(managers.backgroundManager, { + client: ctx.client, + userCategories: pluginConfig.categories, + sisyphusJuniorModel: pluginConfig.agents?.["sisyphus-junior"]?.model, + }) + : {} + const allTools: Record = { ...builtinTools, ...createGrepTools(ctx), @@ -132,6 +142,7 @@ export function createToolRegistry(args: { slashcommand: slashcommandTool, interactive_bash, ...taskToolsRecord, + ...agentTeamsRecord, } const filteredTools = filterDisabledTools(allTools, pluginConfig.disabled_tools)