* feat(agents): expose installed skill search across harnesses Keep installed-skill eligibility host-owned while applying normal tool policy to discovery and complete instruction reads. Preserve current main's prepared tool surface and consolidated Code Mode coverage. Caller-provided snapshot options supply read paths, not replacement eligibility authority. * test(agents): preserve hoisted skill harness initialization Keep mock factory dependencies owned by vi.hoisted when splitting skill fixtures. Assemble skill-specific mocks only when the test consumer requests them. Update two prior expectations for the prepared empty snapshot/resource contracts while preserving sandbox host-skill exclusion. Exact-head reproduction failed on the original hoisting and resource-array assertions. Nine affected suites covered 61 tests; after the hoisting repair, a stale sandbox snapshot assertion was found and the 32-test owner file passed on focused retry. Fresh lifecycle autoreview found no actionable P0-P2 issues; formatting and whitespace checks pass. * test(agents): group sandbox skill coverage with policy tests * test(agents): admit skill tools in client collision coverage * test(agents): provide complete prepared skill fixtures * test(agents): match async skill prompt contract * fix(skills): preserve existing Code Mode read grants and whole reads * fix(skills): preserve read denials in frozen tool profiles * fix(codex): refuse partial installed skill instructions Co-authored-by: Vincent Koc <vincentkoc@ieee.org> |
||
|---|---|---|
| .. | ||
| assets | ||
| src | ||
| code-mode-executor-api.ts | ||
| index.ts | ||
| openclaw.plugin.json | ||
| package.json | ||
| README.md | ||
| 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.