fix(proxy): tool_result Events ueber generic 'message' statt nicht-existentem 'user'
Der claude-max-api-proxy Subprocess-Manager emittiert nur 'message', 'assistant', 'content_delta', 'result', 'error', 'close', 'raw' — KEIN 'user'. tool_result-Blocks landen daher ausschliesslich im generischen 'message'-Event mit type==='user'. Filter darauf statt auf einen Event-Namen der nicht existiert, sonst kam in der ARIA-Live- View nichts an. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -122,9 +122,15 @@ function _attachToolHook(subprocess, requestId) {
|
||||
}
|
||||
} catch (_) { /* fail-open */ }
|
||||
});
|
||||
// user-Events enthalten tool_result-Blocks
|
||||
subprocess.on("user", (message) => {
|
||||
// tool_result Blocks kommen in user-Messages — die werden vom
|
||||
// subprocess-Manager NICHT als 'user'-Event emittiert (gibt's nicht),
|
||||
// sondern nur ueber das generische 'message'-Event mit type:'user'.
|
||||
// 'message' feuert auch fuer assistant/result — wir filtern auf user
|
||||
// damit wir nicht doppelt rendern (assistant geht ueber den eigenen
|
||||
// assistant-Handler oben).
|
||||
subprocess.on("message", (message) => {
|
||||
try {
|
||||
if (message?.type !== "user") return;
|
||||
const blocks = message?.message?.content || [];
|
||||
for (const b of blocks) {
|
||||
if (b && b.type === "tool_result") {
|
||||
|
||||
Reference in New Issue
Block a user