gm-skill 2.0.1210 → 2.0.1212

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 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.1210` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` (or any cascading sibling crate) republishes this package.
38
+ `2.0.1212` — 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
 
@@ -1 +1 @@
1
- 0.1.444
1
+ 0.1.445
package/bin/plugkit.wasm CHANGED
Binary file
@@ -1 +1 @@
1
- 225e45a4a1ad9a8f7e0a198cd56a954d4c098a8b1a4f6d179cef6480bec9fee1 plugkit.wasm
1
+ 3aaedc3ca029166dde57cb6de3d729583746105b28c9cfe6cc2768a9b5aabe72 plugkit.wasm
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.1210",
3
+ "version": "2.0.1212",
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.444"
20
+ "plugkitVersion": "0.1.445"
21
21
  }
@@ -344,11 +344,21 @@ const SPOOL_POLL_PATTERNS = [
344
344
 
345
345
  const SPOOL_POLL_REASON = 'spool polling and bash-reads of .gm/exec-spool/ are forbidden — plugkit is synchronous from your view, and the canonical way to inspect spool files is the Read tool. Use Read on .gm/exec-spool/out/<verb>-<N>.json directly. If the response file does not exist, the watcher is either dead (Read .gm/exec-spool/.status.json and check its mtime against now) or the verb is genuinely slow (Read .gm/exec-spool/.watcher.log for the dispatch trace). You are the state machine; plugkit serves the response the moment you write the request, and Read is how you observe the result.';
346
346
 
347
+ function stripHeredocsAndStringLiterals(command) {
348
+ let s = String(command);
349
+ s = s.replace(/<<-?\\s*'([A-Z_]+)'[\\s\\S]*?\\n\\1/g, '');
350
+ s = s.replace(/<<-?\\s*"?([A-Z_]+)"?[\\s\\S]*?\\n\\1/g, '');
351
+ s = s.replace(/\\$\\(cat\\s+<<-?\\s*'?([A-Z_]+)'?[\\s\\S]*?\\n\\1\\s*\\)/g, '');
352
+ s = s.replace(/-m\\s+(['"])(?:\\\\.|(?!\\1)[^\\\\])*\\1/g, '-m STR');
353
+ s = s.replace(/--message[= ]+(['"])(?:\\\\.|(?!\\1)[^\\\\])*\\1/g, '--message STR');
354
+ return s;
355
+ }
356
+
347
357
  function isSpoolPollCommand(command) {
348
358
  if (!command) return null;
349
- const s = String(command);
359
+ const stripped = stripHeredocsAndStringLiterals(command);
350
360
  for (const re of SPOOL_POLL_PATTERNS) {
351
- if (re.test(s)) return re.source;
361
+ if (re.test(stripped)) return re.source;
352
362
  }
353
363
  return null;
354
364
  }
@@ -199,11 +199,21 @@ const SPOOL_POLL_PATTERNS = [
199
199
 
200
200
  const SPOOL_POLL_REASON = 'spool polling and bash-reads of .gm/exec-spool/ are forbidden — plugkit is synchronous from your view, and the canonical way to inspect spool files is the Read tool. Use Read on .gm/exec-spool/out/<verb>-<N>.json directly. If the response file does not exist, the watcher is either dead (Read .gm/exec-spool/.status.json and check its mtime against now) or the verb is genuinely slow (Read .gm/exec-spool/.watcher.log for the dispatch trace). Polling with sleep+cat/ls/Test-Path treats plugkit as an async worker; bare cat/ls of the spool dir treats it as a shell artifact. It is neither. You are the state machine; plugkit serves the response the moment you write the request, and Read is how you observe the result.';
201
201
 
202
+ function stripHeredocsAndStringLiterals(command) {
203
+ let s = String(command);
204
+ s = s.replace(/<<-?\s*'([A-Z_]+)'[\s\S]*?\n\1/g, '');
205
+ s = s.replace(/<<-?\s*"?([A-Z_]+)"?[\s\S]*?\n\1/g, '');
206
+ s = s.replace(/\$\(cat\s+<<-?\s*'?([A-Z_]+)'?[\s\S]*?\n\1\s*\)/g, '');
207
+ s = s.replace(/-m\s+(['"])(?:\\.|(?!\1)[^\\])*\1/g, '-m STR');
208
+ s = s.replace(/--message[= ]+(['"])(?:\\.|(?!\1)[^\\])*\1/g, '--message STR');
209
+ return s;
210
+ }
211
+
202
212
  function isSpoolPollCommand(command) {
203
213
  if (!command) return null;
204
- const s = String(command);
214
+ const stripped = stripHeredocsAndStringLiterals(command);
205
215
  for (const re of SPOOL_POLL_PATTERNS) {
206
- if (re.test(s)) return re.source;
216
+ if (re.test(stripped)) return re.source;
207
217
  }
208
218
  return null;
209
219
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.1210",
3
+ "version": "2.0.1212",
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.1210"
42
+ "gm-plugkit": "^2.0.1212"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=16.0.0"