diff --git a/src/agents/builtin-agents.ts b/src/agents/builtin-agents.ts index 0a0a3ffb4..3f19dbb0e 100644 --- a/src/agents/builtin-agents.ts +++ b/src/agents/builtin-agents.ts @@ -63,7 +63,8 @@ export async function createBuiltinAgents( customAgentSummaries?: unknown, browserProvider?: BrowserAutomationProvider, uiSelectedModel?: string, - disabledSkills?: Set + disabledSkills?: Set, + useTaskSystem = false ): Promise> { const connectedProviders = readConnectedProvidersCache() // IMPORTANT: Do NOT call OpenCode client APIs during plugin initialization. @@ -134,6 +135,7 @@ export async function createBuiltinAgents( mergedCategories, directory, userCategories: categories, + useTaskSystem, }) if (sisyphusConfig) { result["sisyphus"] = sisyphusConfig @@ -150,6 +152,7 @@ export async function createBuiltinAgents( availableCategories, mergedCategories, directory, + useTaskSystem, }) if (hephaestusConfig) { result["hephaestus"] = hephaestusConfig diff --git a/src/agents/builtin-agents/atlas-agent.ts b/src/agents/builtin-agents/atlas-agent.ts index 8d3e70041..e9c3d17ef 100644 --- a/src/agents/builtin-agents/atlas-agent.ts +++ b/src/agents/builtin-agents/atlas-agent.ts @@ -17,6 +17,7 @@ export function maybeCreateAtlasConfig(input: { availableSkills: AvailableSkill[] mergedCategories: Record userCategories?: CategoriesConfig + useTaskSystem?: boolean }): AgentConfig | undefined { const { disabledAgents, diff --git a/src/agents/builtin-agents/general-agents.ts b/src/agents/builtin-agents/general-agents.ts index 7de6dafa0..491e7be11 100644 --- a/src/agents/builtin-agents/general-agents.ts +++ b/src/agents/builtin-agents/general-agents.ts @@ -22,6 +22,7 @@ export function collectPendingBuiltinAgents(input: { uiSelectedModel?: string availableModels: Set disabledSkills?: Set + useTaskSystem?: boolean }): { pendingAgentConfigs: Map; availableAgents: AvailableAgent[] } { const { agentSources, diff --git a/src/agents/builtin-agents/hephaestus-agent.ts b/src/agents/builtin-agents/hephaestus-agent.ts index 5e803a036..649ee293d 100644 --- a/src/agents/builtin-agents/hephaestus-agent.ts +++ b/src/agents/builtin-agents/hephaestus-agent.ts @@ -19,6 +19,7 @@ export function maybeCreateHephaestusConfig(input: { availableCategories: AvailableCategory[] mergedCategories: Record directory?: string + useTaskSystem: boolean }): AgentConfig | undefined { const { disabledAgents, @@ -31,6 +32,7 @@ export function maybeCreateHephaestusConfig(input: { availableCategories, mergedCategories, directory, + useTaskSystem, } = input if (disabledAgents.includes("hephaestus")) return undefined @@ -66,7 +68,8 @@ export function maybeCreateHephaestusConfig(input: { availableAgents, undefined, availableSkills, - availableCategories + availableCategories, + useTaskSystem ) hephaestusConfig = { ...hephaestusConfig, variant: hephaestusResolvedVariant ?? "medium" } diff --git a/src/agents/builtin-agents/sisyphus-agent.ts b/src/agents/builtin-agents/sisyphus-agent.ts index ee31d0af3..11e34e22a 100644 --- a/src/agents/builtin-agents/sisyphus-agent.ts +++ b/src/agents/builtin-agents/sisyphus-agent.ts @@ -21,6 +21,7 @@ export function maybeCreateSisyphusConfig(input: { mergedCategories: Record directory?: string userCategories?: CategoriesConfig + useTaskSystem: boolean }): AgentConfig | undefined { const { disabledAgents, @@ -34,6 +35,7 @@ export function maybeCreateSisyphusConfig(input: { availableCategories, mergedCategories, directory, + useTaskSystem, } = input const sisyphusOverride = agentOverrides["sisyphus"] @@ -67,7 +69,8 @@ export function maybeCreateSisyphusConfig(input: { availableAgents, undefined, availableSkills, - availableCategories + availableCategories, + useTaskSystem ) if (sisyphusResolvedVariant) { diff --git a/src/plugin-handlers/agent-config-handler.ts b/src/plugin-handlers/agent-config-handler.ts index 515f32416..240cdab52 100644 --- a/src/plugin-handlers/agent-config-handler.ts +++ b/src/plugin-handlers/agent-config-handler.ts @@ -58,6 +58,7 @@ export async function applyAgentConfig(params: { params.pluginConfig.browser_automation_engine?.provider ?? "playwright"; const currentModel = params.config.model as string | undefined; const disabledSkills = new Set(params.pluginConfig.disabled_skills ?? []); + const useTaskSystem = params.pluginConfig.experimental?.task_system ?? false; const builtinAgents = await createBuiltinAgents( migratedDisabledAgents, @@ -71,6 +72,7 @@ export async function applyAgentConfig(params: { browserProvider, currentModel, disabledSkills, + useTaskSystem, ); const includeClaudeAgents = params.pluginConfig.claude_code?.agents ?? true; @@ -101,7 +103,6 @@ export async function applyAgentConfig(params: { sisyphus: builtinAgents.sisyphus, }; - const useTaskSystem = params.pluginConfig.experimental?.task_system ?? false; agentConfig["sisyphus-junior"] = createSisyphusJuniorAgentWithOverrides( params.pluginConfig.agents?.["sisyphus-junior"], undefined,