gm-skill 2.0.2005 → 2.0.2006
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/bin/install.js +18 -0
- package/gm-plugkit/package.json +1 -1
- package/gm.json +1 -1
- package/package.json +1 -1
package/bin/install.js
CHANGED
|
@@ -274,6 +274,24 @@ async function downloadGmRunner({ silent } = {}) {
|
|
|
274
274
|
}
|
|
275
275
|
const destDir = gmToolsDir();
|
|
276
276
|
const destPath = path.join(destDir, assetName.endsWith('.exe') ? 'gm-runner.exe' : 'gm-runner');
|
|
277
|
+
|
|
278
|
+
// gm-runner stages a verified self-update as <asset>.new and then renames it
|
|
279
|
+
// over its own exe -- which Windows refuses while that exe is running, so the
|
|
280
|
+
// staged file was abandoned and gm-runner never updated itself (witnessed: a
|
|
281
|
+
// 29h-old .new beside a byte-different in-use binary; the identical rename
|
|
282
|
+
// succeeded immediately once no gm-runner process was running). The installer
|
|
283
|
+
// is the right place to complete it: it runs as node, outside the target
|
|
284
|
+
// binary, so it does not hold the lock that blocks gm-runner's own attempt.
|
|
285
|
+
try {
|
|
286
|
+
const staged = path.join(destDir, assetName + '.new');
|
|
287
|
+
if (fs.existsSync(staged)) {
|
|
288
|
+
fs.renameSync(staged, destPath);
|
|
289
|
+
if (!silent) out(`Adopted staged gm-runner self-update from ${staged}`);
|
|
290
|
+
}
|
|
291
|
+
} catch (e) {
|
|
292
|
+
if (!silent) err(`gm-runner: staged self-update could not be adopted (${e && e.message || e}); leaving it in place`);
|
|
293
|
+
}
|
|
294
|
+
|
|
277
295
|
try {
|
|
278
296
|
const releaseInfo = JSON.parse((await httpsGetBuffer('https://api.github.com/repos/AnEntrypoint/gm-runner-bin/releases/latest')).toString('utf8'));
|
|
279
297
|
const tag = releaseInfo && releaseInfo.tag_name;
|
package/gm-plugkit/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-plugkit",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2006",
|
|
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": {
|
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.2006",
|
|
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",
|