headroom/plugins
Tejas Chopra 01f86665e5 fix(opencode): don't preload a missing transport shim into child processes
The wrap transport plugin appended
`NODE_OPTIONS=--import=<plugin dir>/../hook-shim/handler.js` to its own env
and to every child it spawns. That path only resolves in a repo checkout
(`plugins/opencode/dist/` has a `hook-shim/` sibling). Wheel installs load
the standalone bundle from `headroom/providers/opencode/_dist/`, where no
shim exists — `hook-shim/` lives under `plugins/` and maturin only ships
files under `headroom/`.

Every Node child then aborted with ERR_MODULE_NOT_FOUND before running,
including OpenCode's stdio MCP servers, which surfaced as
`<server> MCP error -32000: Connection closed` for third-party servers
(codegraph, firecrawl) while Headroom's own Python MCP server stayed up.

Resolve the shim only when it is present on disk, and skip the NODE_OPTIONS
mutation otherwise: children go direct instead of dying. Checkout builds keep
child-process transport hooking unchanged.
2026-08-05 11:42:17 -07:00
..
headroom-agent-hooks chore: release main (#2679) 2026-08-04 19:39:34 -07:00
headroom-oauth2 chore: remove committed node_modules + stray/internal markdown (repo hygiene) (#1528) 2026-06-27 23:32:54 -07:00
hermes fix(ccr): make headroom_retrieve a hash-only full-content lookup (#1532) 2026-06-28 10:32:43 -07:00
openclaw deps: bump postcss from 8.5.19 to 8.5.25 in /plugins/openclaw (#2749) 2026-08-04 21:58:42 -05:00
opencode fix(opencode): don't preload a missing transport shim into child processes 2026-08-05 11:42:17 -07:00