fix: land code-mode structured worker errors (#83444) (thanks @Kaspre) · openclaw/openclaw@70dd315
steipete
·
2026-05-22
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -35,6 +35,7 @@ Docs: https://docs.openclaw.ai
|
35 | 35 | - fix(integrations): enforce channel read target allowlists [AI]. (#84982) Thanks @pgondhi987. |
36 | 36 | - Agents/heartbeat: route single-owner `session.dmScope=main` direct-message exec and cron event wakes back to the agent main session so async completions no longer strand context in orphan direct-DM queues. Fixes #71581. (#83743) Thanks @Kaspre. |
37 | 37 | - Agents/code-mode: expose outer code-mode `exec` source through the `command` hook alias with `toolKind`/`toolInputKind` discriminators so exec-shaped policies can distinguish code-mode cells. (#83483) Thanks @Kaspre. |
| 38 | +- Agents/code mode: return structured timeout and runtime-unavailable error codes for known worker failures. Fixes #83389. (#83444) Thanks @Kaspre. |
38 | 39 | - QA-Lab: isolate multi-scenario suite workers when scenarios need startup config patches, preventing message-routing config from leaking into unrelated scenarios. |
39 | 40 | - QA-Lab: make the commitments heartbeat-target-none scenario request an immediate heartbeat instead of waiting for the next scheduled heartbeat. |
40 | 41 | - Gateway CLI: surface local post-challenge connect assembly failures immediately instead of waiting for the wrapper timeout. Fixes #68944. (#85253) Thanks @samzong. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -835,7 +835,7 @@ describe("Code Mode", () => {
|
835 | 835 | const config = resolveCodeModeConfig({ tools: { codeMode: true } } as never); |
836 | 836 | const missingWorkerUrl = new URL("./missing-code-mode.worker.js", import.meta.url); |
837 | 837 | |
838 | | -const result = await __testing.runCodeModeWorker( |
| 838 | +const result = await testing.runCodeModeWorker( |
839 | 839 | { |
840 | 840 | kind: "exec", |
841 | 841 | source: "return 1;", |
@@ -856,7 +856,7 @@ describe("Code Mode", () => {
|
856 | 856 | const config = resolveCodeModeConfig({ tools: { codeMode: true } } as never); |
857 | 857 | const exitingWorkerUrl = new URL("data:text/javascript,process.exit(1)"); |
858 | 858 | |
859 | | -const result = await __testing.runCodeModeWorker( |
| 859 | +const result = await testing.runCodeModeWorker( |
860 | 860 | { |
861 | 861 | kind: "exec", |
862 | 862 | source: "return 1;", |
@@ -876,7 +876,7 @@ describe("Code Mode", () => {
|
876 | 876 | it("does not classify guest interrupted errors as timeouts", async () => { |
877 | 877 | const config = resolveCodeModeConfig({ tools: { codeMode: true } } as never); |
878 | 878 | |
879 | | -const result = await __testing.runCodeModeWorker( |
| 879 | +const result = await testing.runCodeModeWorker( |
880 | 880 | { |
881 | 881 | kind: "exec", |
882 | 882 | source: 'throw new Error("interrupted");', |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。