gm-skill 2.0.1523 → 2.0.1525

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.631
1
+ 0.1.632
@@ -1 +1 @@
1
- ccf168d20251734af0eda0de68498e2aa7b74bd5bffebd67f3426feee2e95842 plugkit.wasm
1
+ 70542b2232fb2e867d3db8dd841dc515ea06c7a82e62023288f43f3f5cb214ad plugkit.wasm
@@ -968,6 +968,7 @@ function startSpoolDaemon() {
968
968
  module.exports = {
969
969
  bootstrap,
970
970
  ensureReady,
971
+ gmToolsDir,
971
972
  getWasmPath,
972
973
  getBinaryPath,
973
974
  startSpoolDaemon,
package/gm-plugkit/cli.js CHANGED
@@ -5,7 +5,7 @@ const fs = require('fs');
5
5
  const os = require('os');
6
6
  const path = require('path');
7
7
  const cp = require('child_process');
8
- const { ensureReady, startSpoolDaemon } = require('./bootstrap');
8
+ const { ensureReady, startSpoolDaemon, gmToolsDir } = require('./bootstrap');
9
9
 
10
10
  const usage = `gm-plugkit -- Bootstrap and daemon-spawn for gm plugkit binary.
11
11
 
@@ -24,7 +24,7 @@ Usage:
24
24
 
25
25
  function readDiskWasmVersion() {
26
26
  try {
27
- const versionFile = path.join(os.homedir(), '.gm-tools', 'plugkit.version');
27
+ const versionFile = path.join(gmToolsDir(), 'plugkit.version');
28
28
  return fs.readFileSync(versionFile, 'utf-8').trim() || null;
29
29
  } catch (_) { return null; }
30
30
  }
@@ -47,9 +47,9 @@ function readWatcherInstanceVersion(pid) {
47
47
 
48
48
  function killStaleWatchers() {
49
49
  try {
50
- const wrapperPath = path.join(os.homedir(), '.gm-tools', 'plugkit-wasm-wrapper.js');
50
+ const wrapperPath = path.join(gmToolsDir(), 'plugkit-wasm-wrapper.js');
51
51
  if (!fs.existsSync(wrapperPath)) {
52
- console.log(JSON.stringify({ ok: false, error: 'wrapper not installed at ~/.gm-tools/plugkit-wasm-wrapper.js' }));
52
+ console.log(JSON.stringify({ ok: false, error: `wrapper not installed at ${wrapperPath}` }));
53
53
  return 1;
54
54
  }
55
55
  const diskMtime = fs.statSync(wrapperPath).mtimeMs;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-plugkit",
3
- "version": "2.0.1523",
3
+ "version": "2.0.1525",
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": {
@@ -946,6 +946,35 @@ function scrubBrowserRunnerText(s) {
946
946
  return t;
947
947
  }
948
948
 
949
+ // Standard OS install locations for a Chrome/Chromium that speaks CDP. Used as a
950
+ // fallback when the managed ms-playwright cache is absent (e.g. cache evicted),
951
+ // so the browser verb keeps working off the system browser instead of failing.
952
+ function findSystemChromiumBinary() {
953
+ const candidates = process.platform === 'win32'
954
+ ? [
955
+ path.join(process.env.PROGRAMFILES || 'C:\\Program Files', 'Google', 'Chrome', 'Application', 'chrome.exe'),
956
+ path.join(process.env['PROGRAMFILES(X86)'] || 'C:\\Program Files (x86)', 'Google', 'Chrome', 'Application', 'chrome.exe'),
957
+ path.join(process.env.PROGRAMFILES || 'C:\\Program Files', 'Chromium', 'Application', 'chrome.exe'),
958
+ ]
959
+ : process.platform === 'darwin'
960
+ ? [
961
+ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
962
+ '/Applications/Chromium.app/Contents/MacOS/Chromium',
963
+ ]
964
+ : [
965
+ '/usr/bin/chromium',
966
+ '/usr/bin/chromium-browser',
967
+ '/usr/bin/google-chrome',
968
+ '/usr/bin/google-chrome-stable',
969
+ '/opt/google/chrome/chrome',
970
+ '/snap/bin/chromium',
971
+ ];
972
+ for (const c of candidates) {
973
+ try { if (fs.existsSync(c)) return c; } catch (_) {}
974
+ }
975
+ return null;
976
+ }
977
+
949
978
  function findInstalledChromiumBinary() {
950
979
  try {
951
980
  const explicit = process.env.GM_BROWSER_RUNNER_PATH || process.env.PLAYWRITER_BROWSER_PATH;
@@ -982,11 +1011,11 @@ function findInstalledChromiumBinary() {
982
1011
  }
983
1012
  }
984
1013
  }
985
- if (found.length === 0) return null;
1014
+ if (found.length === 0) return findSystemChromiumBinary();
986
1015
  found.sort((a, b) => b.ver - a.ver);
987
1016
  return found[0].candidate;
988
1017
  } catch (_) {
989
- return null;
1018
+ return findSystemChromiumBinary();
990
1019
  }
991
1020
  }
992
1021
 
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.1523",
3
+ "version": "2.0.1525",
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.631"
20
+ "plugkitVersion": "0.1.632"
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.1523",
3
+ "version": "2.0.1525",
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",