gm-skill 2.0.1112 → 2.0.1114
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/bin/plugkit.version +1 -1
- package/bin/plugkit.wasm +0 -0
- package/bin/plugkit.wasm.sha256 +1 -1
- package/gm-plugkit/plugkit-wasm-wrapper.js +12 -37
- package/gm.json +2 -2
- package/package.json +2 -2
- package/skills/gm-skill/SKILL.md +15 -3
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ npx gm-skill-bootstrap
|
|
|
28
28
|
|
|
29
29
|
## Version
|
|
30
30
|
|
|
31
|
-
`2.0.
|
|
31
|
+
`2.0.1114` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` republishes this package alongside all 15 platform packages.
|
|
32
32
|
|
|
33
33
|
## Source of truth
|
|
34
34
|
|
package/bin/plugkit.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.393
|
package/bin/plugkit.wasm
CHANGED
|
Binary file
|
package/bin/plugkit.wasm.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
e35333def0786a3741b90f6cdf33b3748870d9891e0e9a4bbbc681c41ef0033f plugkit.wasm
|
|
@@ -21,9 +21,6 @@ function cosineSim(a, b) {
|
|
|
21
21
|
return dot / (Math.sqrt(na) * Math.sqrt(nb));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const browserSessions = new Map();
|
|
25
|
-
let nextBrowserSessionId = 1;
|
|
26
|
-
|
|
27
24
|
function createWasiShim(instanceRef) {
|
|
28
25
|
const getMemory = () => instanceRef.value.exports.memory.buffer;
|
|
29
26
|
const shim = {
|
|
@@ -317,36 +314,6 @@ function makeHostFunctions(instanceRef) {
|
|
|
317
314
|
}
|
|
318
315
|
},
|
|
319
316
|
|
|
320
|
-
host_browser_spawn: (urlPtr, urlLen) => {
|
|
321
|
-
try {
|
|
322
|
-
const url = readWasmStr(instanceRef.value, urlPtr, urlLen);
|
|
323
|
-
const id = BigInt(nextBrowserSessionId++);
|
|
324
|
-
browserSessions.set(id, { url, opened_at: Date.now() });
|
|
325
|
-
return id;
|
|
326
|
-
} catch (e) {
|
|
327
|
-
return 0n;
|
|
328
|
-
}
|
|
329
|
-
},
|
|
330
|
-
|
|
331
|
-
host_browser_eval: (sessionId, codePtr, codeLen) => {
|
|
332
|
-
try {
|
|
333
|
-
const code = readWasmStr(instanceRef.value, codePtr, codeLen);
|
|
334
|
-
const session = browserSessions.get(BigInt(sessionId));
|
|
335
|
-
if (!session) return writeWasmJson(instanceRef.value, { error: 'session not found' });
|
|
336
|
-
return writeWasmJson(instanceRef.value, { ok: false, error: 'browser eval not implemented in JS host; route via spool browser verb' });
|
|
337
|
-
} catch (e) {
|
|
338
|
-
return writeWasmJson(instanceRef.value, { error: e.message });
|
|
339
|
-
}
|
|
340
|
-
},
|
|
341
|
-
|
|
342
|
-
host_browser_close: (sessionId) => {
|
|
343
|
-
try {
|
|
344
|
-
return browserSessions.delete(BigInt(sessionId)) ? 1 : 0;
|
|
345
|
-
} catch (e) {
|
|
346
|
-
return 0;
|
|
347
|
-
}
|
|
348
|
-
},
|
|
349
|
-
|
|
350
317
|
host_exec_js: (codePtr, codeLen, optsPtr, optsLen) => {
|
|
351
318
|
try {
|
|
352
319
|
const code = readWasmStr(instanceRef.value, codePtr, codeLen);
|
|
@@ -549,10 +516,18 @@ async function runSpoolWatcher(instance, spoolDir) {
|
|
|
549
516
|
return files;
|
|
550
517
|
}
|
|
551
518
|
|
|
552
|
-
const
|
|
553
|
-
|
|
554
|
-
try {
|
|
555
|
-
|
|
519
|
+
const STATUS_PATH = path.join(spoolDir, '.status.json');
|
|
520
|
+
function writeStatus() {
|
|
521
|
+
try {
|
|
522
|
+
fs.writeFileSync(STATUS_PATH, JSON.stringify({
|
|
523
|
+
pid: process.pid,
|
|
524
|
+
ts: Date.now(),
|
|
525
|
+
version: resolveVersion(instance),
|
|
526
|
+
}));
|
|
527
|
+
} catch (_) {}
|
|
528
|
+
}
|
|
529
|
+
setInterval(writeStatus, 5000);
|
|
530
|
+
writeStatus();
|
|
556
531
|
|
|
557
532
|
const pollInterval = setInterval(async () => {
|
|
558
533
|
const existing = walkDir(inDir);
|
package/gm.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1114",
|
|
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.
|
|
20
|
+
"plugkitVersion": "0.1.393"
|
|
21
21
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1114",
|
|
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.1114"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16.0.0"
|
package/skills/gm-skill/SKILL.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gm-skill
|
|
3
3
|
description: AI-native software engineering harness. plugkit serves all instructions, state, guardrails via the spool.
|
|
4
|
-
allowed-tools: Skill, Read, Write
|
|
4
|
+
allowed-tools: Skill, Read, Write, Bash(node *), Bash(bun *)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# gm — single entry point
|
|
8
8
|
|
|
9
|
-
The wasm artifact lives at `~/.claude/gm-tools/plugkit.wasm`; the spool watcher runs it.
|
|
9
|
+
The wasm artifact lives at `~/.claude/gm-tools/plugkit.wasm`; the spool watcher runs it.
|
|
10
|
+
|
|
11
|
+
## Boot the spool watcher (first turn only)
|
|
12
|
+
|
|
13
|
+
Check `.gm/exec-spool/.status.json`. If absent or `ts` > 15s old, run:
|
|
14
|
+
|
|
15
|
+
`node ~/.claude/gm-tools/plugkit-wasm-wrapper.js spool > /dev/null 2>&1 &`
|
|
16
|
+
|
|
17
|
+
Wait 2 seconds, verify `.status.json` is fresh. Then proceed with dispatch.
|
|
10
18
|
|
|
11
19
|
## Dispatch ABI
|
|
12
20
|
|
|
@@ -22,6 +30,10 @@ Dispatch `instruction` (empty body for current phase; `phase=<NAME>` line, `{"ph
|
|
|
22
30
|
|
|
23
31
|
## Host verbs
|
|
24
32
|
|
|
25
|
-
`fs_read`, `fs_write`, `fs_stat`, `fs_readdir`, `kv_get`, `kv_put`, `kv_query`, `fetch`, `exec_js`, `env_get`, `recall`, `codesearch`, `memorize`, `health`.
|
|
33
|
+
`fs_read`, `fs_write`, `fs_stat`, `fs_readdir`, `kv_get`, `kv_put`, `kv_query`, `fetch`, `exec_js`, `env_get`, `recall`, `codesearch`, `memorize`, `health`, `status`, `wait`, `sleep`, `close`, `kill-port`, `forget`, `feedback`, `learn-status`, `learn-debug`, `learn-build`, `discipline`, `pause`, `runner`, `inference`.
|
|
34
|
+
|
|
35
|
+
## Language verbs
|
|
36
|
+
|
|
37
|
+
`nodejs`, `python`, `bash`, `powershell`, `ssh`, `go`, `rust`, `c`, `cpp`, `java`, `deno` — write raw code as the request body.
|
|
26
38
|
|
|
27
39
|
Plugkit serves what prior skills (`gm:planning`, `gm:gm-execute`) used to serve, on demand, per phase. There is no other skill.
|