@ganglia/cli 0.9.54 → 0.9.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/gng.js +8 -0
  2. package/package.json +6 -6
package/bin/gng.js CHANGED
@@ -41,6 +41,14 @@ try {
41
41
  process.exit(1);
42
42
  }
43
43
 
44
+ // spawnSync is used intentionally:
45
+ // - It blocks the Node process synchronously, so there is no event loop
46
+ // running and no async child/close event handlers can fire.
47
+ // - SIGCHLD from any grandchild process (e.g. a claude agent spawned by the
48
+ // Rust binary's code_plan_dispatch) is invisible to Node — it goes only to
49
+ // the Rust process, which reaps it via libc::waitpid in a background thread.
50
+ // - Do NOT switch to spawn() with a close-handler; that would make the
51
+ // wrapper exit when any grandchild exits, collapsing the MCP stdio bridge.
44
52
  const result = spawnSync(binary, process.argv.slice(2), {
45
53
  stdio: 'inherit',
46
54
  env: process.env,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ganglia/cli",
3
- "version": "0.9.54",
3
+ "version": "0.9.55",
4
4
  "description": "Ganglia — 70 MCP tools + Code Mode for AI coding assistants (Claude Code, Cursor, Windsurf)",
5
5
  "keywords": [
6
6
  "mcp",
@@ -30,11 +30,11 @@
30
30
  "arm64"
31
31
  ],
32
32
  "optionalDependencies": {
33
- "@ganglia/cli-linux-x64": "0.9.54",
34
- "@ganglia/cli-linux-arm64": "0.9.54",
35
- "@ganglia/cli-darwin-x64": "0.9.54",
36
- "@ganglia/cli-darwin-arm64": "0.9.54",
37
- "@ganglia/cli-win32-x64": "0.9.54"
33
+ "@ganglia/cli-linux-x64": "0.9.55",
34
+ "@ganglia/cli-linux-arm64": "0.9.55",
35
+ "@ganglia/cli-darwin-x64": "0.9.55",
36
+ "@ganglia/cli-darwin-arm64": "0.9.55",
37
+ "@ganglia/cli-win32-x64": "0.9.55"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=18"