gm-skill 2.0.1268 → 2.0.1269
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 +1 -1
- package/gm-plugkit/plugkit-wasm-wrapper.js +14 -13
- package/gm.json +1 -1
- package/package.json +2 -2
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.
|
|
38
|
+
`2.0.1269` — 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
|
|
|
@@ -420,9 +420,10 @@ function writeJsonFile(fp, value) {
|
|
|
420
420
|
try { fs.writeFileSync(fp, JSON.stringify(value, null, 2)); } catch (_) {}
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
function
|
|
423
|
+
function bundledBrowserCacheRoots() {
|
|
424
424
|
const roots = [];
|
|
425
|
-
|
|
425
|
+
const envOverride = process.env.PLAYWRIGHT_BROWSERS_PATH;
|
|
426
|
+
if (envOverride) roots.push(envOverride);
|
|
426
427
|
if (process.platform === 'win32') {
|
|
427
428
|
if (process.env.LOCALAPPDATA) roots.push(path.join(process.env.LOCALAPPDATA, 'ms-playwright'));
|
|
428
429
|
} else if (process.platform === 'darwin') {
|
|
@@ -457,7 +458,7 @@ function chromiumExeFromCacheRoot(root) {
|
|
|
457
458
|
}
|
|
458
459
|
|
|
459
460
|
function findBundledChromium() {
|
|
460
|
-
for (const root of
|
|
461
|
+
for (const root of bundledBrowserCacheRoots()) {
|
|
461
462
|
const exe = chromiumExeFromCacheRoot(root);
|
|
462
463
|
if (exe) return exe;
|
|
463
464
|
}
|
|
@@ -465,9 +466,9 @@ function findBundledChromium() {
|
|
|
465
466
|
const npmR = spawnSync('npm', ['root', '-g'], { encoding: 'utf-8', shell: true, windowsHide: true, timeout: 5000 });
|
|
466
467
|
if (npmR.status === 0 && npmR.stdout.trim()) {
|
|
467
468
|
const root = npmR.stdout.trim().split(/\r?\n/).pop();
|
|
468
|
-
const
|
|
469
|
-
if (fs.existsSync(
|
|
470
|
-
const exe = chromiumExeFromCacheRoot(
|
|
469
|
+
const localBrowsers = path.join(root, 'playwriter', 'node_modules', '@xmorse', 'playwright-core', '.local-browsers');
|
|
470
|
+
if (fs.existsSync(localBrowsers)) {
|
|
471
|
+
const exe = chromiumExeFromCacheRoot(localBrowsers);
|
|
471
472
|
if (exe) return exe;
|
|
472
473
|
}
|
|
473
474
|
}
|
|
@@ -478,18 +479,18 @@ function findBundledChromium() {
|
|
|
478
479
|
function ensureBundledChromium(pw) {
|
|
479
480
|
const existing = findBundledChromium();
|
|
480
481
|
if (existing) return { exe: existing, installed: false };
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
482
|
+
if (!pw || !pw.cmd) {
|
|
483
|
+
return { exe: null, installed: false, error: 'playwriter not available to install browser' };
|
|
484
|
+
}
|
|
485
|
+
const installer = { cmd: pw.cmd, args: [...pw.baseArgs, 'install', 'chromium'], shell: pw.shell };
|
|
486
|
+
logEvent('bootstrap', 'browser.bundled-install.start', { via: 'playwriter' });
|
|
485
487
|
const r = spawnSync(installer.cmd, installer.args, {
|
|
486
488
|
encoding: 'utf-8',
|
|
487
489
|
timeout: 600000,
|
|
488
490
|
shell: installer.shell,
|
|
489
491
|
windowsHide: true,
|
|
490
|
-
env: { ...process.env, PLAYWRIGHT_BROWSERS_PATH: process.env.PLAYWRIGHT_BROWSERS_PATH || '' },
|
|
491
492
|
});
|
|
492
|
-
logEvent('bootstrap', 'browser.
|
|
493
|
+
logEvent('bootstrap', 'browser.bundled-install.done', { status: r.status });
|
|
493
494
|
const after = findBundledChromium();
|
|
494
495
|
if (after) return { exe: after, installed: true };
|
|
495
496
|
return { exe: null, installed: false, error: r.stderr || r.stdout || 'install failed' };
|
|
@@ -753,7 +754,7 @@ function getOrCreateBrowserSession(cwd, claudeSessionId, pw) {
|
|
|
753
754
|
if (ensured.exe) chrome = ensured.exe;
|
|
754
755
|
}
|
|
755
756
|
if (!chrome) chrome = findChrome();
|
|
756
|
-
if (!chrome) throw new Error('No chromium binary available. Run:
|
|
757
|
+
if (!chrome) throw new Error('No chromium binary available. Run: bun x playwriter@latest install chromium');
|
|
757
758
|
const profileDir = acquireProfileDir(cwd);
|
|
758
759
|
const port = findFreePortSync();
|
|
759
760
|
const chromeArgs = [
|
package/gm.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1269",
|
|
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.
|
|
42
|
+
"gm-plugkit": "^2.0.1269"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16.0.0"
|