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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user