chore: upgrade claude-agent-sdk to 0.2.11 and improve task judge feedback

This commit is contained in:
Mohamed Boudra
2026-01-17 16:18:22 +07:00
parent fa8dc1a20a
commit 8979f5ce64
4 changed files with 109 additions and 59 deletions
+86 -52
View File
@@ -16,7 +16,7 @@
"packages/website" "packages/website"
], ],
"dependencies": { "dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.1.75" "@anthropic-ai/claude-agent-sdk": "^0.2.11"
}, },
"devDependencies": { "devDependencies": {
"patch-package": "^8.0.1", "patch-package": "^8.0.1",
@@ -100,9 +100,9 @@
} }
}, },
"node_modules/@anthropic-ai/claude-agent-sdk": { "node_modules/@anthropic-ai/claude-agent-sdk": {
"version": "0.1.75", "version": "0.2.11",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.1.75.tgz", "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.2.11.tgz",
"integrity": "sha512-8iYosqTq98pm6Z1IJ0OY50mpkSZ7fdSO8cJJjFHXiKHCwfmiPZ05vLYUed2p2an9GPLpXtJhcGDfrgseenrgPw==", "integrity": "sha512-50q4vfh57HYTUrwukULp3gvSaOZfRF5zukxhWvW6mmUHuD8+Xwhqn59sZhoDz9ZUw6Um+1lUCgWpJw5/TTMn5w==",
"license": "SEE LICENSE IN README.md", "license": "SEE LICENSE IN README.md",
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"
@@ -118,7 +118,7 @@
"@img/sharp-win32-x64": "^0.33.5" "@img/sharp-win32-x64": "^0.33.5"
}, },
"peerDependencies": { "peerDependencies": {
"zod": "^3.24.1 || ^4.0.0" "zod": "^4.0.0"
} }
}, },
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@@ -3292,16 +3292,6 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@expo/eas-build-job/node_modules/zod": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@expo/eas-json": { "node_modules/@expo/eas-json": {
"version": "16.23.0", "version": "16.23.0",
"resolved": "https://registry.npmjs.org/@expo/eas-json/-/eas-json-16.23.0.tgz", "resolved": "https://registry.npmjs.org/@expo/eas-json/-/eas-json-16.23.0.tgz",
@@ -3500,16 +3490,6 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/@expo/eas-json/node_modules/zod": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@expo/env": { "node_modules/@expo/env": {
"version": "2.0.8", "version": "2.0.8",
"resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.8.tgz", "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.8.tgz",
@@ -3695,6 +3675,15 @@
} }
} }
}, },
"node_modules/@expo/mcp-tunnel/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@expo/metro": { "node_modules/@expo/metro": {
"version": "54.1.0", "version": "54.1.0",
"resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.1.0.tgz", "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.1.0.tgz",
@@ -4581,16 +4570,6 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@expo/steps/node_modules/zod": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@expo/sudo-prompt": { "node_modules/@expo/sudo-prompt": {
"version": "9.3.2", "version": "9.3.2",
"resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz",
@@ -6008,6 +5987,17 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/@modelcontextprotocol/sdk/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"optional": true,
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@napi-rs/wasm-runtime": { "node_modules/@napi-rs/wasm-runtime": {
"version": "0.2.12", "version": "0.2.12",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
@@ -8185,6 +8175,15 @@
"node": ">= 12" "node": ">= 12"
} }
}, },
"node_modules/@tanstack/router-generator/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@tanstack/router-plugin": { "node_modules/@tanstack/router-plugin": {
"version": "1.149.3", "version": "1.149.3",
"resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.149.3.tgz", "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.149.3.tgz",
@@ -8238,6 +8237,15 @@
} }
} }
}, },
"node_modules/@tanstack/router-plugin/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@tanstack/router-utils": { "node_modules/@tanstack/router-utils": {
"version": "1.143.11", "version": "1.143.11",
"resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.143.11.tgz", "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.143.11.tgz",
@@ -8332,6 +8340,15 @@
"vite": ">=7.0.0" "vite": ">=7.0.0"
} }
}, },
"node_modules/@tanstack/start-plugin-core/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@tanstack/start-server-core": { "node_modules/@tanstack/start-server-core": {
"version": "1.149.3", "version": "1.149.3",
"resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.149.3.tgz", "resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.149.3.tgz",
@@ -12316,16 +12333,6 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/eas-cli/node_modules/zod": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/eastasianwidth": { "node_modules/eastasianwidth": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -17751,6 +17758,15 @@
} }
} }
}, },
"node_modules/miniflare/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "9.0.5", "version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -24514,21 +24530,21 @@
} }
}, },
"node_modules/zod": { "node_modules/zod": {
"version": "3.25.76", "version": "4.3.5",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==",
"license": "MIT", "license": "MIT",
"funding": { "funding": {
"url": "https://github.com/sponsors/colinhacks" "url": "https://github.com/sponsors/colinhacks"
} }
}, },
"node_modules/zod-to-json-schema": { "node_modules/zod-to-json-schema": {
"version": "3.24.6", "version": "3.25.1",
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz",
"integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==",
"license": "ISC", "license": "ISC",
"peerDependencies": { "peerDependencies": {
"zod": "^3.24.1" "zod": "^3.25 || ^4"
} }
}, },
"node_modules/zustand": { "node_modules/zustand": {
@@ -24650,6 +24666,15 @@
"react-native": "*" "react-native": "*"
} }
}, },
"packages/app/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"packages/relay": { "packages/relay": {
"name": "@paseo/relay", "name": "@paseo/relay",
"version": "0.1.0", "version": "0.1.0",
@@ -24972,6 +24997,15 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"packages/server/node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"packages/website": { "packages/website": {
"name": "@paseo/website", "name": "@paseo/website",
"version": "1.0.0", "version": "1.0.0",
+1 -1
View File
@@ -42,6 +42,6 @@
"lightningcss": "1.30.1" "lightningcss": "1.30.1"
}, },
"dependencies": { "dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.1.75" "@anthropic-ai/claude-agent-sdk": "^0.2.11"
} }
} }
+1 -1
View File
@@ -16,7 +16,7 @@ export function resolveLogConfig(
const envFormat = process.env.PASEO_LOG_FORMAT as LogFormat | undefined; const envFormat = process.env.PASEO_LOG_FORMAT as LogFormat | undefined;
const level: LogLevel = const level: LogLevel =
envLevel ?? persistedConfig?.log?.level ?? "info"; envLevel ?? persistedConfig?.log?.level ?? "debug";
const format: LogFormat = const format: LogFormat =
envFormat ?? persistedConfig?.log?.format ?? "pretty"; envFormat ?? persistedConfig?.log?.format ?? "pretty";
+21 -5
View File
@@ -971,9 +971,28 @@ The ONLY question: Does the acceptance criterion pass when verified? Yes or No.
If an agent left notes explaining why something couldn't be done, IGNORE THE EXPLANATION. Just check: is the criterion met? If an agent left notes explaining why something couldn't be done, IGNORE THE EXPLANATION. Just check: is the criterion met?
## REQUIRED: Provide Feedback to the Worker
After verifying, you MUST leave feedback for the worker by adding a note. The worker will read
this note in the next iteration - it's their ONLY way to know what went wrong and what's missing.
\`\`\`
task note ${task.id} "JUDGE: [verdict] - [specific feedback for the worker]"
\`\`\`
Your feedback should tell the worker exactly what to fix:
- Which specific tests failed and with what error messages
- Which files or commands still need attention
- What's missing from the acceptance criteria
BAD: "tests failed" (useless - worker doesn't know which ones)
GOOD: "3 tests fail: codex-mcp-agent.test.ts 'Session not found', opencode-agent.test.ts timeout after 60s, tool-calls.e2e.test.ts shell assertion"
The worker cannot see your output - only the notes you leave.
## Output Format - CRITICAL ## Output Format - CRITICAL
You MUST output one of these XML tags at the END of your response. This is REQUIRED for the system to parse your verdict: You MUST output one of these XML tags at the END of your response:
If ALL criteria pass: If ALL criteria pass:
<VERDICT>DONE</VERDICT> <VERDICT>DONE</VERDICT>
@@ -981,10 +1000,7 @@ If ALL criteria pass:
If ANY criterion fails: If ANY criterion fails:
<VERDICT>NOT_DONE</VERDICT> <VERDICT>NOT_DONE</VERDICT>
If you do not include this exact XML tag, your verdict will not be recorded and the task will retry. If you do not include this exact XML tag, your verdict will not be recorded.
Then add a note to the task with your findings:
\`task note ${task.id} "JUDGE: [DONE/NOT_DONE] - details..."\`
`; `;
} }