gm-skill 2.0.1231 → 2.0.1232

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.
package/README.md CHANGED
@@ -35,7 +35,7 @@ An earlier generation fanned out fifteen per-platform downstream repos (gm-cc, g
35
35
 
36
36
  ## Version
37
37
 
38
- `2.0.1231` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` (or any cascading sibling crate) republishes this package.
38
+ `2.0.1232` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` (or any cascading sibling crate) republishes this package.
39
39
 
40
40
  ## Source of truth
41
41
 
@@ -913,7 +913,17 @@ function getOrCreateBrowserSession(cwd, claudeSessionId, pw) {
913
913
  '--no-default-browser-check',
914
914
  '--disable-features=Translate',
915
915
  ];
916
- const child = spawn(chrome, chromeArgs, { detached: true, stdio: 'ignore' });
916
+ // Chrome itself is GUI but its remote-debugging port creates conhost
917
+ // when launched from a console-attached parent. CREATE_NO_WINDOW
918
+ // (0x08000000) | DETACHED_PROCESS (0x00000008) prevents the helper
919
+ // processes (sandbox, GPU, network service) from allocating consoles.
920
+ // Inherited by the entire chrome subprocess tree on Windows.
921
+ const child = spawn(chrome, chromeArgs, {
922
+ detached: true,
923
+ stdio: 'ignore',
924
+ windowsHide: true,
925
+ ...(process.platform === 'win32' ? { creationFlags: 0x08000000 | 0x00000008 } : {}),
926
+ });
917
927
  const chromePid = child.pid;
918
928
  child.unref();
919
929
  const deadline = Date.now() + 10000;
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.1231",
3
+ "version": "2.0.1232",
4
4
  "description": "Spool-dispatch orchestration engine with unified state machine, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -292,11 +292,12 @@ async function ensureRsCodeinsightDaemonRunning() {
292
292
  CLAUDE_SESSION_ID: sessionId,
293
293
  });
294
294
 
295
- const proc = spawn('bun', ['x', 'rs-codeinsight@latest'], {
295
+ const proc = spawn(resolveWindowsExe('bun'), ['x', 'rs-codeinsight@latest'], {
296
296
  detached: true,
297
297
  stdio: 'ignore',
298
298
  windowsHide: true,
299
299
  env,
300
+ creationFlags: 0x08000000 | 0x00000008,
300
301
  });
301
302
 
302
303
  const pid = proc.pid;
@@ -337,11 +338,12 @@ async function ensureRsSearchDaemonRunning() {
337
338
  CLAUDE_SESSION_ID: sessionId,
338
339
  });
339
340
 
340
- const proc = spawn('bun', ['x', 'rs-search@latest'], {
341
+ const proc = spawn(resolveWindowsExe('bun'), ['x', 'rs-search@latest'], {
341
342
  detached: true,
342
343
  stdio: 'ignore',
343
344
  windowsHide: true,
344
345
  env,
346
+ creationFlags: 0x08000000 | 0x00000008,
345
347
  });
346
348
 
347
349
  const pid = proc.pid;
@@ -735,11 +735,17 @@ async function spawnPlugkitWatcher(wasmPath) {
735
735
  const logFd = openWatcherLog(projectDir);
736
736
 
737
737
  const runtime = process.platform === 'win32' ? 'bun.exe' : 'bun';
738
+ // CREATE_NO_WINDOW (0x08000000) | DETACHED_PROCESS (0x00000008) —
739
+ // inherited by all descendants so bun.exe → spool watcher → any
740
+ // downstream spawn never allocates a console window. Without this,
741
+ // windowsHide:true only hides the immediate bun.exe child while
742
+ // .cmd shims it later spawns each pop their own conhost.
738
743
  const proc = spawn(runtime, [wrapperPath, 'spool'], {
739
744
  detached: true,
740
745
  stdio: ['ignore', logFd, logFd],
741
746
  windowsHide: true,
742
747
  env: { ...process.env, CLAUDE_PROJECT_DIR: projectDir },
748
+ ...(process.platform === 'win32' ? { creationFlags: 0x08000000 | 0x00000008 } : {}),
743
749
  });
744
750
 
745
751
  try { fs.closeSync(logFd); } catch (_) {}
@@ -927,10 +933,14 @@ async function bootstrapAcptoapi() {
927
933
 
928
934
  emitBootstrapEvent('info', 'Spawning acptoapi daemon');
929
935
  try {
936
+ // CREATE_NO_WINDOW | DETACHED_PROCESS — see windows-spawn-cmd-shim-flash
937
+ // memory. acptoapi spawns 11 ACP sub-daemons via .cmd shims; without
938
+ // the inherited CREATE_NO_WINDOW flag each one pops a conhost window.
930
939
  const child = spawn('bun', ['x', 'acptoapi@latest'], {
931
940
  detached: true,
932
941
  stdio: 'ignore',
933
942
  windowsHide: true,
943
+ ...(process.platform === 'win32' ? { creationFlags: 0x08000000 | 0x00000008 } : {}),
934
944
  });
935
945
  child.unref();
936
946
  emitBootstrapEvent('info', 'acptoapi spawned', { pid: child.pid });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.1231",
3
+ "version": "2.0.1232",
4
4
  "description": "Canonical universal harness — AI-native software engineering via skill-driven orchestration; bootstraps plugkit for task execution and session isolation. Install in any AI coding agent host.",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "gm.json"
40
40
  ],
41
41
  "dependencies": {
42
- "gm-plugkit": "^2.0.1231"
42
+ "gm-plugkit": "^2.0.1232"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=16.0.0"