fix: dedup intermediate/final, filter long descriptions, update SDKs

- Track lastIntermediateText to prevent duplicate Discord delivery
  when same text arrives as both intermediate and final
- Filter task_progress descriptions >80 chars (AI summaries)
- Mark completed subagents with  instead of removing
- Update claude-agent-sdk 0.2.76→0.2.81, codex 0.115→0.116
This commit is contained in:
Eyejoker
2026-03-23 20:16:54 +09:00
parent 21a6be84b4
commit 2161b555ec
6 changed files with 62 additions and 52 deletions

View File

@@ -9,7 +9,7 @@
"start": "node dist/index.js"
},
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.76",
"@anthropic-ai/claude-agent-sdk": "^0.2.81",
"@modelcontextprotocol/sdk": "^1.12.1",
"cron-parser": "^5.0.0",
"zod": "^4.0.0"

View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@anthropic-ai/claude-agent-sdk':
specifier: ^0.2.76
version: 0.2.76(zod@4.3.6)
specifier: ^0.2.81
version: 0.2.81(zod@4.3.6)
'@modelcontextprotocol/sdk':
specifier: ^1.12.1
version: 1.27.1(zod@4.3.6)
@@ -30,8 +30,8 @@ importers:
packages:
'@anthropic-ai/claude-agent-sdk@0.2.76':
resolution: {integrity: sha512-HZxvnT8ZWkzCnQygaYCA0dl8RSUzuVbxE1YG4ecy6vh4nQbTT36CxUxBy+QVdR12pPQluncC0mCOLhI2918Eaw==}
'@anthropic-ai/claude-agent-sdk@0.2.81':
resolution: {integrity: sha512-CBeebgibBEN/DWOQGZN67vhuTG55RbI1hlsFSSoZ4uA/Io3lw04eHTE2ISCmdbqyJaefYTt6GKZei1nP0TQMNw==}
engines: {node: '>=18.0.0'}
peerDependencies:
zod: ^4.0.0
@@ -512,7 +512,7 @@ packages:
snapshots:
'@anthropic-ai/claude-agent-sdk@0.2.76(zod@4.3.6)':
'@anthropic-ai/claude-agent-sdk@0.2.81(zod@4.3.6)':
dependencies:
zod: 4.3.6
optionalDependencies:

View File

@@ -581,7 +581,8 @@ async function runQuery(
const taskId = typeof tp.task_id === 'string' ? tp.task_id : undefined;
const summary = typeof tp.summary === 'string' ? tp.summary : '';
const description = typeof tp.description === 'string' ? tp.description : '';
if (description) {
if (description && description.length <= 80) {
// Short tool description → show as sub-line in progress
writeOutput({
status: 'success',
phase: 'tool-activity',
@@ -589,6 +590,9 @@ async function runQuery(
agentId: taskId,
newSessionId,
});
} else if (description) {
// Long AI summary → skip (too long for progress sub-line)
log(`Skipping long task_progress description (${description.length} chars)`);
}
}