feat: enable subagent progress summaries in Claude runner

- Set agentProgressSummaries: true in SDK query options
- Handle task_progress and task_started events from subagents
- Subagent progress summaries streamed as progress phase to Discord
This commit is contained in:
Eyejoker
2026-03-23 17:09:42 +09:00
parent 77e79505eb
commit 7908115ea8

View File

@@ -534,6 +534,7 @@ async function runQuery(
PreCompact: [{ hooks: [createPreCompactHook(containerInput.assistantName)] }],
PreToolUse: [{ matcher: 'Bash', hooks: [createSanitizeBashHook()] }],
},
agentProgressSummaries: true,
}
})) {
messageCount++;
@@ -550,6 +551,25 @@ async function runQuery(
log(`Task notification: task=${tn.task_id} status=${tn.status} summary=${tn.summary}`);
}
if ((message as { type: string }).type === 'task_progress') {
const tp = message as { task_id: string; summary?: string };
const summary = tp.summary || '';
log(`Subagent progress: task=${tp.task_id} summary=${summary.slice(0, 200)}`);
if (summary) {
writeOutput({
status: 'success',
phase: 'progress',
result: summary,
newSessionId,
});
}
}
if ((message as { type: string }).type === 'task_started') {
const ts = message as { task_id: string; teammate_name?: string };
log(`Subagent started: task=${ts.task_id} name=${ts.teammate_name || 'unknown'}`);
}
if (message.type === 'tool_progress') {
const tp = message as {
tool_name: string;