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:
2026-05-17 21:56:17 +02:00
parent 31b0bfaac1
commit eb5c178139
+8 -2
View File
@@ -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") {