From f486df71aeec55ae9fc0b61708b538818b9892e9 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 20 Apr 2026 14:50:40 +0900 Subject: [PATCH] feat(delegate-task): preserve raw subagent_type across metadata Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/tools/delegate-task/background-continuation.ts | 1 + src/tools/delegate-task/background-task.ts | 1 + src/tools/delegate-task/sync-continuation.ts | 1 + src/tools/delegate-task/sync-task.ts | 1 + src/tools/delegate-task/tool-argument-preparation.ts | 2 ++ src/tools/delegate-task/types.ts | 1 + src/tools/delegate-task/unstable-agent-task.ts | 1 + 7 files changed, 8 insertions(+) diff --git a/src/tools/delegate-task/background-continuation.ts b/src/tools/delegate-task/background-continuation.ts index 52f262b90..4c500d5dd 100644 --- a/src/tools/delegate-task/background-continuation.ts +++ b/src/tools/delegate-task/background-continuation.ts @@ -37,6 +37,7 @@ export async function executeBackgroundContinuation( prompt: args.prompt, agent: task.agent, ...(task.category !== undefined ? { category: task.category } : {}), + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/background-task.ts b/src/tools/delegate-task/background-task.ts index d5c4adf5d..2f767b477 100644 --- a/src/tools/delegate-task/background-task.ts +++ b/src/tools/delegate-task/background-task.ts @@ -125,6 +125,7 @@ export async function executeBackgroundTask( prompt: args.prompt, agent: task.agent, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/sync-continuation.ts b/src/tools/delegate-task/sync-continuation.ts index d7c39f36e..a99f6ff39 100644 --- a/src/tools/delegate-task/sync-continuation.ts +++ b/src/tools/delegate-task/sync-continuation.ts @@ -78,6 +78,7 @@ export async function executeSyncContinuation( prompt: args.prompt, ...(resumeAgent !== undefined ? { agent: resumeAgent } : {}), ...(args.category !== undefined ? { category: args.category } : {}), + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/sync-task.ts b/src/tools/delegate-task/sync-task.ts index 034c0e199..e1b5e2cba 100644 --- a/src/tools/delegate-task/sync-task.ts +++ b/src/tools/delegate-task/sync-task.ts @@ -120,6 +120,7 @@ export async function executeSyncTask( prompt: args.prompt, agent: agentToUse, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/tool-argument-preparation.ts b/src/tools/delegate-task/tool-argument-preparation.ts index d54b12ca6..8f529230b 100644 --- a/src/tools/delegate-task/tool-argument-preparation.ts +++ b/src/tools/delegate-task/tool-argument-preparation.ts @@ -60,6 +60,7 @@ export async function prepareDelegateTaskArgs(args: Record, ctx args.category = category args.subagent_type = subagentType + args.requested_subagent_type = originalSubagentType args.description = description args.prompt = prompt args.run_in_background = runInBackground @@ -70,6 +71,7 @@ export async function prepareDelegateTaskArgs(args: Record, ctx return { category, subagent_type: subagentType, + requested_subagent_type: originalSubagentType, description, prompt, run_in_background: runInBackground === true, diff --git a/src/tools/delegate-task/types.ts b/src/tools/delegate-task/types.ts index 9eff782ce..affd81983 100644 --- a/src/tools/delegate-task/types.ts +++ b/src/tools/delegate-task/types.ts @@ -14,6 +14,7 @@ export interface DelegateTaskArgs { prompt: string category?: string subagent_type?: string + requested_subagent_type?: string run_in_background: boolean task_id?: string command?: string diff --git a/src/tools/delegate-task/unstable-agent-task.ts b/src/tools/delegate-task/unstable-agent-task.ts index 7afffdeee..bc4011fbe 100644 --- a/src/tools/delegate-task/unstable-agent-task.ts +++ b/src/tools/delegate-task/unstable-agent-task.ts @@ -74,6 +74,7 @@ export async function executeUnstableAgentTask( prompt: args.prompt, agent: agentToUse, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background,