openclaw/src/node-host
Peter Steinberger f85b541ed4
fix(runtime): preserve Node worker dependencies and cleanup diagnostics (#155292)
* fix(bun): preserve Node worker dependencies and spawn diagnostics

* fix(models): preserve nested catalog cleanup diagnostics

* test(gateway): own pending embeddings provider cleanup

* test(bench): retain subprocess failure diagnostics

Include status, signal, stdout, and stderr when the history benchmark subprocess fails. Keep both profiles, every assertion, and the existing 30-second child and 35-second test deadlines unchanged. This exposes the failing phase without claiming to fix the timeout.

* chore: reconcile Bun compatibility with current main

Preserve the independently reviewed c134c8d7 tree while adopting the canonical embeddings cleanup and history benchmark repairs from main. Retain the existing PR ancestry for GitHub head synchronization.

* fix(runtime): preserve Bun diagnostics after owner extraction

Resolve the mainline diagnostics extraction by keeping spawn-diagnostics.ts as the sole owner and retaining the Bun family classification and existing regression assertions. The other compatibility changes are unchanged. Independent P0-P2 review and targeted formatting passed; refreshed hosted CI is required before landing.

* chore: adopt canonical PR wrapper inventory repair

Merge main including 3a4bbc6882, which restores the SQLite reader context and spawn diagnostics to the extracted PR wrapper source inventory. The eight-file Bun compatibility patch retains identical stable patch ID 43645b39aa8a317656d1047afccfa79137314e66 and its existing reviews. Refresh hosted CI before landing.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-22 16:14:05 -07:00
..
auto-update-compatibility.test.ts feat: automatically update idle headless nodes (#151545) 2026-09-18 06:20:27 -07:00
auto-update-compatibility.ts fix(update): preserve failed step identities in reports (#153425) 2026-09-20 10:10:29 -07:00
auto-update-install.test.ts feat: automatically update idle headless nodes (#151545) 2026-09-18 06:20:27 -07:00
auto-update-install.ts feat: automatically update idle headless nodes (#151545) 2026-09-18 06:20:27 -07:00
auto-update.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
auto-update.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
claude-skill-session.test.ts improve: reduce blocking skill checks during agent startup (#146373) 2026-09-12 18:44:41 -07:00
claude-skill-session.ts
client.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
computer-command.ts
config-read.test.ts fix(node-host): avoid blocking configuration reads (#151411) 2026-09-18 18:34:56 -07:00
config-runtime.test-support.ts
config-worker.test-support.ts
config.test.ts feat: share selected sessions read-only with a paired team Gateway (#136253) 2026-09-12 13:35:17 -07:00
config.ts fix(node-host): avoid blocking configuration reads (#151411) 2026-09-18 18:34:56 -07:00
connection.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
connection.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
desktop-launch-command.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
desktop-stream-command.test.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
desktop-stream-command.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
exec-policy.test.ts
exec-policy.ts
gateway-candidate-connection.test.ts
gateway-candidate-connection.ts feat: share selected sessions read-only with a paired team Gateway (#136253) 2026-09-12 13:35:17 -07:00
gateway-cloudflare-access.test.ts
gateway-cloudflare-access.ts
gateway-platform-identity.test.ts refactor(infra): remove machine model test injection (#150590) 2026-09-17 11:09:10 -07:00
gateway-platform-identity.ts refactor(infra): remove machine model test injection (#150590) 2026-09-17 11:09:10 -07:00
host-stats.test.ts
host-stats.ts
invoke-agent-cli-claude-handler.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
invoke-agent-cli-claude-params.ts
invoke-agent-cli-claude.test.ts fix(process): confirm Windows stdio cleanup after parent exit (#151443) 2026-09-18 08:32:42 -07:00
invoke-agent-cli-claude.ts fix(process): confirm Windows stdio cleanup after parent exit (#151443) 2026-09-18 08:32:42 -07:00
invoke-device-apps.test.ts
invoke-device-apps.ts
invoke-file-commands.ts
invoke-mcp-result.test.ts
invoke-mcp-result.ts
invoke-payload.test.ts
invoke-payload.ts
invoke-run-command.ts refactor(node-host): extract command execution owner (#150434) 2026-09-17 01:56:29 -07:00
invoke-system-run-allowlist.test.ts refactor(node-host): remove unused argv preparation inputs (#145165) 2026-09-11 13:33:06 -07:00
invoke-system-run-allowlist.ts refactor(node-host): remove unused argv preparation inputs (#145165) 2026-09-11 13:33:06 -07:00
invoke-system-run-plan.test.ts fix(exec): distinguish preparation refusals from user denials (#144869) 2026-09-19 19:49:06 +05:30
invoke-system-run-plan.ts fix(exec): distinguish preparation refusals from user denials (#144869) 2026-09-19 19:49:06 +05:30
invoke-system-run.socket.test.ts
invoke-system-run.test.ts fix(exec): distinguish preparation refusals from user denials (#144869) 2026-09-19 19:49:06 +05:30
invoke-system-run.ts fix: revalidate exec approvals at process launch (#146517) 2026-09-12 21:06:15 -07:00
invoke-types.ts
invoke-worker-supervisor.test.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
invoke.mcp.test.ts
invoke.run-command.test.ts refactor(node-host): extract command execution owner (#150434) 2026-09-17 01:56:29 -07:00
invoke.test.ts fix(exec): distinguish preparation refusals from user denials (#144869) 2026-09-19 19:49:06 +05:30
invoke.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
launcher-bootstrap.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
launcher-client.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
linux-node-plugin.integration.test.ts
local-id.test.ts refactor: move selected device identity lookups to the shared worker (#150313) 2026-09-21 15:00:00 -07:00
local-id.ts refactor: move selected device identity lookups to the shared worker (#150313) 2026-09-21 15:00:00 -07:00
mac-worker-closure.test.ts fix(runtime): preserve Node worker dependencies and cleanup diagnostics (#155292) 2026-09-22 16:14:05 -07:00
mac-worker-entry.lifecycle.test.ts fix(macos): worker fails with saved desktop-sharing preference (#154436) 2026-09-20 23:45:09 -07:00
mac-worker-entry.test.ts fix(macos): worker fails with saved desktop-sharing preference (#154436) 2026-09-20 23:45:09 -07:00
mac-worker-entry.ts fix(macos): worker fails with saved desktop-sharing preference (#154436) 2026-09-20 23:45:09 -07:00
mcp.recovery.test.ts fix(mcp): recover expired SSE sessions and speed up parsing (#155497) 2026-09-22 09:13:30 -07:00
mcp.test.ts
mcp.ts fix(mcp): recover expired SSE sessions and speed up parsing (#155497) 2026-09-22 09:13:30 -07:00
node-event-params.ts
node-invoke-input.ts feat: automatically update idle headless nodes (#151545) 2026-09-18 06:20:27 -07:00
node-invoke-progress.test.ts
node-invoke-progress.ts
node-stream-transport.test.ts
node-stream-transport.ts
node-worker-bundle-installer.test.ts test: make Bun-hosted runtime checks portable (#145852) 2026-09-12 03:45:52 -07:00
node-worker-bundle-installer.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-capacity.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-container-engine.ts
node-worker-container-lifecycle.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-entry.ts
node-worker-environment.ts fix(node): preserve desktop bindings in worker exec (#146223) 2026-09-12 11:07:31 -07:00
node-worker-journal-worker.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-journal.types.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-journal.worker-contract.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-journal.worker.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-launch-observation.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-launch-observation.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-launch-receipt.ts fix(nodes): prevent orphaned work and incompatible launches (#149158) 2026-09-19 05:34:17 -07:00
node-worker-launch-store.kernel.ts perf(node): reuse launch rows during terminal settlement (#154596) 2026-09-21 10:09:15 +00:00
node-worker-launch-store.test.ts perf(node): reuse launch rows during terminal settlement (#154596) 2026-09-21 10:09:15 +00:00
node-worker-launch-store.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-launch-transport.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-launch.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-lineage-completion.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-output.test.ts
node-worker-output.ts
node-worker-prepared-workspace-store.ts
node-worker-prepared-workspace-transfer.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-prepared-workspace.test.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-prepared-workspace.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-process-identity.ts
node-worker-repository-transfers.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-supervisor-close.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor-commands.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
node-worker-supervisor-contract.ts fix(nodes): prevent orphaned work and incompatible launches (#149158) 2026-09-19 05:34:17 -07:00
node-worker-supervisor-ownership.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor-recovery.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.admission.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.cleanup-result.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.container.test-support.ts fix(imessage): keep queued answers attached to their questions (#150626) 2026-09-19 13:50:15 -06:00
node-worker-supervisor.container.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.fixture.test-support.ts fix(test): await recorded completion in worker recovery fixtures (#154800) 2026-09-21 12:31:23 +00:00
node-worker-supervisor.initialization.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.lifetime.test.ts fix: preserve the invoked launcher when restarting Node (#147621) 2026-09-22 10:00:04 -06:00
node-worker-supervisor.recovery.test.ts fix: preserve the invoked launcher when restarting Node (#147621) 2026-09-22 10:00:04 -06:00
node-worker-supervisor.settlement.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.startup.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.stop-initialization.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.test-support.ts fix(nodes): prevent orphaned work and incompatible launches (#149158) 2026-09-19 05:34:17 -07:00
node-worker-supervisor.test.ts test(node-host): await cleanup before comparing replay receipts 2026-09-21 00:19:59 -07:00
node-worker-supervisor.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-supervisor.uncertain.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-transfer-client.encoding.test.ts
node-worker-transfer-client.git.test.ts
node-worker-transfer-client.lifetime.test.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-transfer-client.memo.test.ts
node-worker-transfer-client.test-support.ts
node-worker-transfer-client.test.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-transfer-client.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-transfer-http.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-tree-control.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-turn-lifecycle.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-turn-store.kernel.ts improve(node-host): reduce worker turn receipt reads (#154564) 2026-09-21 10:00:59 +00:00
node-worker-turn-store.test.ts improve(node-host): reduce worker turn receipt reads (#154564) 2026-09-21 10:00:59 +00:00
node-worker-turn-store.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-upload-snapshot.test.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-upload-snapshot.ts fix(node-host): prevent early cleanup and redirected transfer writes (#155101) 2026-09-22 04:44:16 -07:00
node-worker-workspace-commands.ts refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
node-worker-workspace-git.test.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
node-worker-workspace-git.ts feat(crabbox): run native CUA in macOS and Windows cloud desktops (#152060) 2026-09-21 15:31:06 -07:00
node-worker-workspace-identity.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-workspace-processes.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-workspace-processes.ts feat: open Crabbox apps beside the conversation (#152094) 2026-09-18 17:12:51 -07:00
node-worker-workspace-replacement.ts
node-worker-workspace-retention.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
node-worker-workspace-seeds.ts fix(nodes): restore workspace transfers on group-writable umasks (#152717) 2026-09-19 03:35:18 -07:00
node-worker-workspace.test.ts test: make Bun-hosted runtime checks portable (#145852) 2026-09-12 03:45:52 -07:00
node-worker-workspace.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
plugin-exec-policy.test.ts
plugin-exec-policy.ts
plugin-node-host.abort.test.ts
plugin-node-host.test-support.ts
plugin-node-host.test.ts feat: transfer file bytes through the existing node channel (#152640) 2026-09-19 18:52:53 -07:00
plugin-node-host.ts feat: transfer file bytes through the existing node channel (#152640) 2026-09-19 18:52:53 -07:00
portal-stream-command.test.ts fix: resolve Cloudflare OIDC sign-ins by verified email (#153556) 2026-09-20 03:08:28 -07:00
portal-stream-command.ts
pty-command.test.ts fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
pty-command.ts fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
runner.auto-update.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runner.inventory.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runner.optional-publication.test.ts feat: automatically update idle headless nodes (#151545) 2026-09-18 06:20:27 -07:00
runner.test-support.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runner.test.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
runner.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
runtime-manifest.ts feat: share selected sessions read-only with a paired team Gateway (#136253) 2026-09-12 13:35:17 -07:00
runtime-update-pause.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.commands.test.ts feat: share selected sessions read-only with a paired team Gateway (#136253) 2026-09-12 13:35:17 -07:00
runtime.computer.test.ts
runtime.test-support.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.update-pause.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.worker-hosting.test.ts refactor(node-host): move launch and turn journal SQL off the event loop (#149517) 2026-09-20 20:46:34 -07:00
runtime.worker-supervisor.test.ts test(node-host): await launch publication before invoke cancellation (#154439) 2026-09-21 12:03:19 +00:00
skills.test.ts
skills.ts
startup-state-migrations.test.ts refactor(storage): extract device token SQL kernels (#150346) 2026-09-16 21:18:08 -07:00
startup-state-migrations.ts
with-timeout.test.ts
with-timeout.ts
worker-runtime.test.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
worker-support.ts
worker.test.ts
worker.ts feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00