fix: preserve subagent debate mode details

This commit is contained in:
Mikael Hugo 2026-04-29 17:50:26 +02:00
parent b32fe7acd1
commit 0d6eca9cdd

View file

@ -252,11 +252,11 @@ function summarizeBackgroundInvocation(
): string {
if (params.chain && params.chain.length > 0)
return `chain:${params.chain.map((step) => step.agent).join("→")}`;
if (params.tasks && params.tasks.length > 0)
if (params.tasks && params.tasks.length > 0) {
if (params.mode === "debate")
return `debate:${params.tasks.map((task) => task.agent).join(",")}`;
if (params.tasks && params.tasks.length > 0)
return `parallel:${params.tasks.map((task) => task.agent).join(",")}`;
}
if (params.agent) return `single:${params.agent}`;
return "subagent";
}
@ -356,6 +356,7 @@ async function executeSubagentInvocation({
if (params.tasks && params.tasks.length > 0) {
if (params.tasks.length > MAX_PARALLEL_TASKS) {
const taskMode = params.mode === "debate" ? "debate" : "parallel";
return {
content: [
{
@ -363,7 +364,7 @@ async function executeSubagentInvocation({
text: `Too many parallel tasks (${params.tasks.length}). Max is ${MAX_PARALLEL_TASKS}.`,
},
],
details: makeDetails("parallel")([]),
details: makeDetails(taskMode)([]),
isError: true,
};
}
@ -1553,7 +1554,7 @@ export default function (pi: ExtensionAPI) {
const modeCount = Number(hasChain) + Number(hasTasks) + Number(hasSingle);
const makeDetails =
(mode: "single" | "parallel" | "chain") =>
(mode: SubagentMode) =>
(results: SingleResult[]): SubagentDetails => ({
mode,
agentScope,