gm-skill 2.0.1942 → 2.0.1944

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.
@@ -1 +1 @@
1
- 0.1.887
1
+ 0.1.888
@@ -1 +1 @@
1
- 30c49da800b43b6be3d010bf8cacaaafe504188c4b1c6604bd012191638875a6 plugkit.wasm
1
+ 7b4a0f801af5159f81f4cc6e0ceeb1582d58d00c997b89391970e6c9b4df4985 plugkit.wasm
package/gm-plugkit/cli.js CHANGED
@@ -11,6 +11,19 @@ function getWasmPathSafe() {
11
11
  try { return getWasmPath(); } catch (_) { return null; }
12
12
  }
13
13
 
14
+ function pidAliveSync(pid) {
15
+ try { process.kill(pid, 0); return true; } catch (_) { return false; }
16
+ }
17
+
18
+ function waitForPidDeath(pid, timeoutMs) {
19
+ const deadline = Date.now() + timeoutMs;
20
+ while (Date.now() < deadline) {
21
+ if (!pidAliveSync(pid)) return true;
22
+ try { cp.execFileSync(process.platform === 'win32' ? 'ping' : 'sleep', process.platform === 'win32' ? ['-n', '2', '127.0.0.1'] : ['0.3'], { stdio: 'ignore', windowsHide: true }); } catch (_) {}
23
+ }
24
+ return !pidAliveSync(pid);
25
+ }
26
+
14
27
  function spawnBackgroundFreshnessCheck(reason) {
15
28
  try {
16
29
  const child = cp.spawn(process.execPath, [__filename.replace(/cli\.js$/, 'bootstrap.js')], {
@@ -248,6 +261,7 @@ function writeCliError(phase, err) {
248
261
  if (process.platform === 'win32') cp.execFileSync('taskkill', ['/F', '/T', '/PID', String(already.pid)], { stdio: 'ignore', windowsHide: true });
249
262
  else process.kill(already.pid, 'SIGTERM');
250
263
  } catch (_) {}
264
+ waitForPidDeath(already.pid, 5000);
251
265
  } else {
252
266
  writeCliStatus({ phase: 'ready', already_serving: true, watcher_pid: already.pid });
253
267
  console.log(JSON.stringify({
@@ -271,6 +285,7 @@ function writeCliError(phase, err) {
271
285
  if (process.platform === 'win32') cp.execFileSync('taskkill', ['/F', '/T', '/PID', String(already.pid)], { stdio: 'ignore', windowsHide: true });
272
286
  else process.kill(already.pid, 'SIGTERM');
273
287
  } catch (_) {}
288
+ waitForPidDeath(already.pid, 5000);
274
289
  }
275
290
 
276
291
  const wrapperPath = path.join(gmToolsDir(), 'plugkit-wasm-wrapper.js');
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-plugkit",
3
- "version": "2.0.1942",
3
+ "version": "2.0.1944",
4
4
  "description": "Bootstrap and daemon-spawn tool for gm plugkit binary. Downloads the correct platform binary, verifies SHA256, and starts the spool watcher daemon. Includes plugkit-wasm-wrapper for WASM-based spool watching.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- 0.1.887
1
+ 0.1.888
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.1942",
3
+ "version": "2.0.1944",
4
4
  "description": "Spool-dispatch orchestration engine with unified state machine, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -17,5 +17,5 @@
17
17
  "publishConfig": {
18
18
  "access": "public"
19
19
  },
20
- "plugkitVersion": "0.1.887"
20
+ "plugkitVersion": "0.1.888"
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.1942",
3
+ "version": "2.0.1944",
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",