Files
openclaw/patches/@agentclientprotocol__claude-agent-acp@0.36.1.patch
2026-05-21 08:28:44 +01:00

42 lines
1.7 KiB
Diff

diff --git a/dist/acp-agent.js b/dist/acp-agent.js
index f5cb0f7..e4c092b 100644
--- a/dist/acp-agent.js
+++ b/dist/acp-agent.js
@@ -457,6 +457,7 @@ export class ClaudeAcpAgent {
session.promptRunning = true;
let handedOff = false;
let stopReason = "end_turn";
+ let sawResult = false;
try {
while (true) {
const { value: message, done } = await session.query.next();
@@ -464,6 +465,9 @@ export class ClaudeAcpAgent {
if (session.cancelled) {
return { stopReason: "cancelled" };
}
+ if (sawResult) {
+ return { stopReason, usage: sessionUsage(session) };
+ }
break;
}
if (session.emitRawSDKMessages &&
@@ -532,7 +536,7 @@ export class ClaudeAcpAgent {
break;
}
case "session_state_changed": {
- if (message.state === "idle") {
+ if (message.state === "idle" && sawResult) {
return { stopReason, usage: sessionUsage(session) };
}
break;
@@ -658,6 +662,9 @@ export class ClaudeAcpAgent {
unreachable(message, this.logger);
break;
}
+ if (!isTaskNotification) {
+ sawResult = true;
+ }
break;
}
case "stream_event": {