openclaw/extensions/code-mode-quickjs
Vito Cappello 11925a3c88
fix: distinguish Code Mode guest errors after tool calls (#160217)
* fix: distinguish Code Mode guest errors after tool calls

* fix(code-mode): preserve bridge identity and verify failure phases

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(ci): remove duplicate chat attachment decoder

Same bounded inherited build repair tracked in #160187; keep the original decoder unchanged.

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* test(ci): match canonical concurrency to the runner profile

Apply the existing main repair 6d18cb7cd9. Both inherited GitHub/hybrid failures reproduce before and all three backend cases pass afterward. No production changes.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(code-mode): protect error provenance serialization

Use one captured Node serializer for observed and unhandled errors. Encode provenance in a null-prototype primitive record so guest JSON hooks cannot forge or erase bridge origin. Four Node regressions fail before the repair; all 30 cross-executor phase cases and 50 selected sibling cases pass after it.

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix: preserve Code Mode bridge origin through error getters

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: roboclaw-bot <309084314+roboclaw-bot@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-28 12:07:09 -04:00
..
assets fix(release): repair 2026.9.6 validation failures (#155818) 2026-09-22 10:00:48 -07:00
src fix: distinguish Code Mode guest errors after tool calls (#160217) 2026-09-28 12:07:09 -04:00
code-mode-executor-api.ts
index.ts
openclaw.plugin.json fix(release): repair 2026.9.6 validation failures (#155818) 2026-09-22 10:00:48 -07:00
package.json chore(deps): refresh dependencies through September 19 cutoff (#159401) 2026-09-27 19:33:08 -07:00
README.md feat: show declared plugin capabilities and setup guides (#157956) 2026-09-25 16:43:53 -07:00
tsconfig.json

QuickJS Code Mode

Run Code Mode JavaScript in an isolated QuickJS WebAssembly guest. The plugin supplies the quickjs executor for tool orchestration, including suspended cells that resume through Code Mode's wait flow.

Get started

Choose QuickJS (isolated) in the Code Mode executor setting, or set tools.codeMode.executor to quickjs. Executor selection is separate from activation; use tools.codeMode.enabled to choose automatic or explicit activation.

The bundled executor activates when selected unless explicitly disabled or denied. Guest isolation does not remove permissions from tools exposed through the bridge; normal tool policy and approvals still apply. Suspended cells do not survive Gateway restarts.

See Code Mode executors for selection, execution limits, and security boundaries.