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 */ }
|
} catch (_) { /* fail-open */ }
|
||||||
});
|
});
|
||||||
// user-Events enthalten tool_result-Blocks
|
// tool_result Blocks kommen in user-Messages — die werden vom
|
||||||
subprocess.on("user", (message) => {
|
// 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 {
|
try {
|
||||||
|
if (message?.type !== "user") return;
|
||||||
const blocks = message?.message?.content || [];
|
const blocks = message?.message?.content || [];
|
||||||
for (const b of blocks) {
|
for (const b of blocks) {
|
||||||
if (b && b.type === "tool_result") {
|
if (b && b.type === "tool_result") {
|
||||||
|
|||||||
Reference in New Issue
Block a user