gm-qwen 2.0.974 → 2.0.976

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/bootstrap.js CHANGED
@@ -10,7 +10,7 @@ const { URL } = require('url');
10
10
 
11
11
  const RELEASE_REPO = 'AnEntrypoint/plugkit-bin';
12
12
  const ATTEMPT_TIMEOUT_MS = 5 * 60 * 1000;
13
- const STALL_TIMEOUT_MS = 60 * 1000;
13
+ const STALL_TIMEOUT_MS = 15 * 1000;
14
14
  const MAX_ATTEMPTS = 5;
15
15
  const BACKOFF_MS = [2000, 5000, 15000, 30000];
16
16
  // Worst case: a slow link downloading 140MB at 1MB/s = ~140s. Allow 30 minutes
package/bin/plugkit.js CHANGED
@@ -47,6 +47,13 @@ async function resolveBinary() {
47
47
 
48
48
  async function main() {
49
49
  const args = process.argv.slice(2);
50
+ // Detached bootstrap entry: just run bootstrap() and exit. Used by session-start
51
+ // to avoid blocking CC startup on a slow GitHub download.
52
+ if (args[0] === '__rtk_only__') {
53
+ try { await bootstrap({ wrapperDir: dir, silent: false }); }
54
+ catch (e) { try { process.stderr.write(`[plugkit-bootstrap-detached] ${e.message}\n`); } catch (_) {} }
55
+ process.exit(0);
56
+ }
50
57
  const isHook = args[0] === 'hook';
51
58
  const startedAt = Date.now();
52
59
  obsEvent('plugkit_wrapper', 'invoke', { argv: args.slice(0, 4), is_hook: isHook });
@@ -63,15 +70,30 @@ async function main() {
63
70
  // currently has — the hook itself isn't blocking, just refreshing.
64
71
  if (isHook && hookSubcmd === 'session-start') {
65
72
  obsEvent('plugkit_wrapper', 'hook_bootstrap_session_start', { argv: args.slice(0, 4) });
73
+ // Bootstrap can stall 60s+ on a slow GitHub mirror — never block CC startup
74
+ // on it. Detach into a background child; this hook returns immediately
75
+ // with whatever cached binary exists. Subsequent hooks pick up the new
76
+ // binary once the detached bootstrap completes.
77
+ bin = resolveCachedBinary({ wrapperDir: dir }) || legacyFallback();
66
78
  try {
67
- bin = await bootstrap({ wrapperDir: dir, silent: true });
79
+ const child = spawn(process.execPath, [__filename, '__rtk_only__'], {
80
+ detached: true,
81
+ stdio: 'ignore',
82
+ windowsHide: true,
83
+ env: { ...process.env, PLUGKIT_BOOTSTRAP_DETACHED: '1' },
84
+ });
85
+ child.unref();
86
+ obsEvent('plugkit_wrapper', 'session_start_bootstrap_detached', { pid: child.pid });
68
87
  } catch (e) {
69
- process.stderr.write(`[plugkit] session-start bootstrap failed: ${e.message}\n`);
70
- bin = resolveCachedBinary({ wrapperDir: dir }) || legacyFallback();
88
+ process.stderr.write(`[plugkit] detached bootstrap spawn failed: ${e.message}\n`);
89
+ }
90
+ // If no cached binary yet (fresh install with bootstrap still downloading),
91
+ // skip running the session-start handler this turn — it will fire next
92
+ // session-start once binary is in place.
93
+ if (!bin) {
94
+ process.stderr.write(`[plugkit] session-start skipped: binary not yet installed (bootstrap running in background).\n`);
95
+ process.exit(0);
71
96
  }
72
- // session-start hook itself runs in the freshly-bootstrapped binary
73
- // below — fall through to the spawn path so the actual handler runs.
74
- if (!bin) process.exit(0);
75
97
  } else if (isHook) {
76
98
  bin = (await resolveBinaryWithPinCheck()) || legacyFallback();
77
99
  if (!bin) {
@@ -1,6 +1,6 @@
1
- 347526abe6d99548102be890f45fbc7709dd58dab679cb55a3d3c9cdd6461c99 plugkit-win32-x64.exe
2
- 001929200bdb99fa5ec70c7be80e2b94ad05a266a7a1abe9dda3b0ac5a76c684 plugkit-win32-arm64.exe
3
- ab206f0d60369678950fbb6ec8a3f9415be9b9343f28f3e3b8118349cf25ab53 plugkit-darwin-x64
4
- 245b23805cb067983fc5263a14fb46714a9bdab23b4e930a176a621ced2c6577 plugkit-darwin-arm64
5
- 688259bc51f8c75b9f866e843b3042eb0761b49b463ee5412c44f96c5b3927db plugkit-linux-x64
6
- dfe8dc68cf0d95ad6297e280e899e4eab5cda5464ed090161b0a3ac879a394ba plugkit-linux-arm64
1
+ 4a3442d4bd6c9fde1da2038d491f7bc5df320704ed4f8b844ab1839aceaeb55f plugkit-win32-x64.exe
2
+ f2be58798cde61598fe0dba9f52b2655651a51ed70d12147e53f2b9145fe85ff plugkit-win32-arm64.exe
3
+ 19dad36424eefc8a5b8b9ba748629ceef03f203ae29a8f86c964e68a2bf950ae plugkit-darwin-x64
4
+ 18c281012e900cedb0d6aee37f70cf379fdcd673d4bdac3a9f366ce3ec16c497 plugkit-darwin-arm64
5
+ ebb87a2e2992af26bd6abea612d1cc548ed76ea6a6b84493244a619d9a51bc08 plugkit-linux-x64
6
+ 8e0e5e6213d3f200834191e1d7f852c9ed3af0c017dcd5c32db5b5d1cff59206 plugkit-linux-arm64
@@ -1 +1 @@
1
- 0.1.333
1
+ 0.1.334
package/bin/rtk.sha256 CHANGED
@@ -1,5 +1,5 @@
1
- 75386798dfb02df50e7bbbcf2af72afb97b364e7447d414c729ed17ea695d38d rtk-win32-x64.exe
2
- 00f61ed4c637f210572c165c3bda18016a9920135cf4753ae20f3dfb3413dbda rtk-win32-arm64.exe
1
+ 1ab23cff8260bbd47f3e5aa2dc80137f8c22874b04f296ad0e73fb136a414a15 rtk-win32-x64.exe
2
+ ecb3abc668f608c492279ac53fc295f6706da6ffc45c179a14a30f022401d9a2 rtk-win32-arm64.exe
3
3
  1b1e792767ed0e1e6ca0e2f0a8de02e77b06dea2f5ae667278b94baf239fcdc3 rtk-darwin-x64
4
4
  9717978d9d6216ea50c94444e00e359479b6315a17bd48c16064b267c8b0b60d rtk-darwin-arm64
5
5
  a100d3defac54194144e5723aec57e6f286b42298c67145c8428815246c9ee56 rtk-linux-x64
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.974",
3
+ "version": "2.0.976",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -23,5 +23,5 @@
23
23
  "publishConfig": {
24
24
  "access": "public"
25
25
  },
26
- "plugkitVersion": "0.1.333"
26
+ "plugkitVersion": "0.1.334"
27
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-qwen",
3
- "version": "2.0.974",
3
+ "version": "2.0.976",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",