openclaw-lark-multi-agent 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/openclaw-client.js +13 -3
- package/package.json +1 -1
package/dist/openclaw-client.js
CHANGED
|
@@ -606,12 +606,22 @@ export class OpenClawClient {
|
|
|
606
606
|
}
|
|
607
607
|
if (!latestFinalText) {
|
|
608
608
|
const failureText = buildFailureText(ev);
|
|
609
|
-
|
|
609
|
+
const state = ev.data?.livenessState || "";
|
|
610
|
+
const reason = ev.data?.stopReason || "";
|
|
611
|
+
// replayInvalid, cancelled/rpc, and abandoned are often
|
|
612
|
+
// transient runtime states — the real reply may still arrive
|
|
613
|
+
// shortly after via session.message or a subsequent run.
|
|
614
|
+
// Defer the failure instead of finishing immediately.
|
|
615
|
+
const isTransient = ev.data?.replayInvalid
|
|
616
|
+
|| state === "cancelled"
|
|
617
|
+
|| state === "abandoned"
|
|
618
|
+
|| reason === "rpc";
|
|
619
|
+
if (isTransient) {
|
|
610
620
|
pendingRuntimeFailureText = failureText;
|
|
611
|
-
console.warn(`[OpenClaw]
|
|
621
|
+
console.warn(`[OpenClaw] transient lifecycle end (${state}, reason=${reason}) for runId=${evRunId || runId}; waiting for real text or idle timeout`);
|
|
612
622
|
return;
|
|
613
623
|
}
|
|
614
|
-
if (
|
|
624
|
+
if (state !== "working") {
|
|
615
625
|
finish(failureText);
|
|
616
626
|
return;
|
|
617
627
|
}
|