gm-qwen 2.0.975 → 2.0.977

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
- 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
+ 8213ecf81e09d41e004dd61cf632cec72c184be4a011b113a2f0df8afb23a5db plugkit-win32-x64.exe
2
+ 36b4010dfd0c37e46f87f9efe45d742d4d94d5af7778e196a9cc8c2e694c7026 plugkit-win32-arm64.exe
3
+ 53a0e97fc5291cabb83c970d3eaf433f7b88ad0b23fa88a5be70efc3f5cd0ad1 plugkit-darwin-x64
4
+ 3c1da273c0ae5910ab2abedd1cb40757842c040a9f1e61106b1250ce6c205b1a plugkit-darwin-arm64
5
+ c02cd86bb86bb831aa109270f8ecf8147142c0c1fe81c141af88794ce0cc15be plugkit-linux-x64
6
+ ce03b6852535713dc737151c79b2b7bf8245a5236ad91ccc158d54baef2c93a0 plugkit-linux-arm64
@@ -1 +1 @@
1
- 0.1.334
1
+ 0.1.335
package/bin/rtk.sha256 CHANGED
@@ -1,5 +1,5 @@
1
- 1ab23cff8260bbd47f3e5aa2dc80137f8c22874b04f296ad0e73fb136a414a15 rtk-win32-x64.exe
2
- ecb3abc668f608c492279ac53fc295f6706da6ffc45c179a14a30f022401d9a2 rtk-win32-arm64.exe
1
+ ba8b7de8110bce3fcebd17f6d201fb9f894aa2b655bc693951e0228c05288270 rtk-win32-x64.exe
2
+ 860a87d032d9c8ff0fb7dca910b4b1e0ce14e9df804cec7cb80bf955317f11ec 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.975",
3
+ "version": "2.0.977",
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.334"
26
+ "plugkitVersion": "0.1.335"
27
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-qwen",
3
- "version": "2.0.975",
3
+ "version": "2.0.977",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",