@sentropic/h2a-cli 0.12.0 → 0.14.0
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/dist/bin.js +4 -1
- package/dist/bin.js.map +1 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +20 -4
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +200 -19
- package/dist/cli.js.map +1 -1
- package/dist/hosts/agy.d.ts +14 -0
- package/dist/hosts/agy.d.ts.map +1 -0
- package/dist/hosts/agy.js +47 -0
- package/dist/hosts/agy.js.map +1 -0
- package/dist/hosts/plugin.d.ts +16 -0
- package/dist/hosts/plugin.d.ts.map +1 -1
- package/dist/hosts/plugin.js +24 -1
- package/dist/hosts/plugin.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/runtime/escalation/index.d.ts +2 -0
- package/dist/runtime/escalation/index.d.ts.map +1 -0
- package/dist/runtime/escalation/index.js +2 -0
- package/dist/runtime/escalation/index.js.map +1 -0
- package/dist/runtime/escalation/registry.d.ts +40 -0
- package/dist/runtime/escalation/registry.d.ts.map +1 -0
- package/dist/runtime/escalation/registry.js +79 -0
- package/dist/runtime/escalation/registry.js.map +1 -0
- package/dist/runtime/local-files/paths.d.ts +1 -0
- package/dist/runtime/local-files/paths.d.ts.map +1 -1
- package/dist/runtime/local-files/paths.js +2 -1
- package/dist/runtime/local-files/paths.js.map +1 -1
- package/dist/runtime/sysml/client.d.ts +44 -0
- package/dist/runtime/sysml/client.d.ts.map +1 -0
- package/dist/runtime/sysml/client.js +52 -0
- package/dist/runtime/sysml/client.js.map +1 -0
- package/dist/runtime/sysml/disclosure.d.ts +23 -0
- package/dist/runtime/sysml/disclosure.d.ts.map +1 -0
- package/dist/runtime/sysml/disclosure.js +53 -0
- package/dist/runtime/sysml/disclosure.js.map +1 -0
- package/dist/runtime/sysml/index.d.ts +4 -0
- package/dist/runtime/sysml/index.d.ts.map +1 -0
- package/dist/runtime/sysml/index.js +4 -0
- package/dist/runtime/sysml/index.js.map +1 -0
- package/dist/runtime/sysml/verify.d.ts +32 -0
- package/dist/runtime/sysml/verify.d.ts.map +1 -0
- package/dist/runtime/sysml/verify.js +67 -0
- package/dist/runtime/sysml/verify.js.map +1 -0
- package/package.json +2 -2
- package/skills/h2a/SKILL.md +10 -2
package/dist/bin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { runCli, runMcpServe, runRemoteSend, runRemoteServe, runDrumbeatWatch } from "./cli.js";
|
|
2
|
+
import { runCli, runMcpServe, runRemoteSend, runRemoteServe, runDrumbeatWatch, runSysmlVerify } from "./cli.js";
|
|
3
3
|
const argv = process.argv.slice(2);
|
|
4
4
|
function parseFlagsFrom(start) {
|
|
5
5
|
const flags = {};
|
|
@@ -41,6 +41,9 @@ else if (argv[0] === "remote" && argv[1] === "send") {
|
|
|
41
41
|
else if (argv[0] === "drumbeat" && argv[1] === "watch") {
|
|
42
42
|
runAsync("drumbeat watch", runDrumbeatWatch(parseFlagsFrom(2)));
|
|
43
43
|
}
|
|
44
|
+
else if (argv[0] === "sysml" && argv[1] === "verify") {
|
|
45
|
+
runAsync("sysml verify", runSysmlVerify(parseFlagsFrom(2)));
|
|
46
|
+
}
|
|
44
47
|
else {
|
|
45
48
|
process.exitCode = runCli(argv);
|
|
46
49
|
}
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAClB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,OAAwB;IACvD,OAAO,CAAC,IAAI,CACV,CAAC,EAAE,EAAE,EAAE;QACL,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;IACxB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,YAAa,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;KAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;KAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;KAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;KAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-contract.d.ts","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IAC9C,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"cli-contract.d.ts","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IAC9C,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,EAwgBtD,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAEjF,CAAC"}
|
package/dist/cli-contract.js
CHANGED
|
@@ -282,6 +282,14 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
282
282
|
optionalFlags: [],
|
|
283
283
|
description: "Sign an envelope (`--json`) with `--private-key` as `--instance` and POST it to `--url`. Prints `{ status, body }`; exit 0 on a 2xx response, 1 otherwise. DEC-077."
|
|
284
284
|
},
|
|
285
|
+
{
|
|
286
|
+
verb: "sysml verify",
|
|
287
|
+
outputShape: "resource",
|
|
288
|
+
exitCodes: [0, 1, 2],
|
|
289
|
+
requiredFlags: ["json", "public-key"],
|
|
290
|
+
optionalFlags: ["by", "content-integrity", "api-base", "auth"],
|
|
291
|
+
description: "Verify an envelope's embedded SysML v2 ref: commit-trust (signature, default) + optional content-integrity (`--content-integrity`: re-fetch the element and compare its hash to `elementHash`). Async (network on the content path). Exit 2 if verification fails. DEC-099."
|
|
292
|
+
},
|
|
285
293
|
// --- drumbeat (DEC-086, anti-stall relance) ---
|
|
286
294
|
{
|
|
287
295
|
verb: "drumbeat record",
|
|
@@ -307,6 +315,14 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
307
315
|
optionalFlags: ["root"],
|
|
308
316
|
description: "Remove a drumbeat registry entry — call when an agent is cleanly resumed or finished. DEC-086."
|
|
309
317
|
},
|
|
318
|
+
{
|
|
319
|
+
verb: "drumbeat escalations",
|
|
320
|
+
outputShape: "list",
|
|
321
|
+
exitCodes: [0, 1],
|
|
322
|
+
requiredFlags: [],
|
|
323
|
+
optionalFlags: ["root"],
|
|
324
|
+
description: "List open escalations the daemon raised when an agent exhausted its relance budget (→ PRINCIPAL, channel alert). The anti-loop cap (`--max-relances`) is the guard; this is the escalation that replaces further relances. Cleared by `drumbeat clear`. DEC-095."
|
|
325
|
+
},
|
|
310
326
|
{
|
|
311
327
|
verb: "drumbeat watch",
|
|
312
328
|
outputShape: "stream",
|
|
@@ -327,10 +343,10 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
327
343
|
{
|
|
328
344
|
verb: "host plugin",
|
|
329
345
|
outputShape: "resource",
|
|
330
|
-
exitCodes: [0, 1],
|
|
346
|
+
exitCodes: [0, 1, 2, 3],
|
|
331
347
|
requiredFlags: ["host", "instance"],
|
|
332
|
-
optionalFlags: ["root", "status"],
|
|
333
|
-
description: "Render the per-host stop-hook command + placement
|
|
348
|
+
optionalFlags: ["root", "status", "write", "force"],
|
|
349
|
+
description: "Render the per-host stop-hook command + placement so a stop is recorded with a launch context the drumbeat (D2) and local-tmux relauncher (D3) can relance. `--write <file>` installs the idempotent Claude-format `hooks.Stop` for **claude / gemini / codex** (claude+gemini → settings.json; codex → a plugin hooks.json, with a `pluginHint` for the plugin.json + trust step); **agy** is poll-only (refused, use the poll command). DEC-093/102/103/104."
|
|
334
350
|
},
|
|
335
351
|
{
|
|
336
352
|
verb: "host status",
|
|
@@ -467,7 +483,7 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
467
483
|
exitCodes: [0, 1, 2, 3],
|
|
468
484
|
requiredFlags: ["host"],
|
|
469
485
|
optionalFlags: ["scope", "force"],
|
|
470
|
-
description: "Install the h2a skill bundle into the host's skill directory. Claude/Codex receive SKILL.md files under `~/.<host>/skills/<name>/`; Gemini
|
|
486
|
+
description: "Install the h2a skill bundle into the host's skill directory. Claude/Codex receive SKILL.md files under `~/.<host>/skills/<name>/`; Gemini and agy receive TOML custom commands under `~/.gemini/commands/<name>.toml` (DEC-055) — agy shares the gemini location and the summary emits an `importHint` (`agy plugin import gemini`) since agy imports plugins from gemini/claude (DEC-101). `--scope user` (default) targets the home directory; `--scope project` targets `<cwd>/.<host>/`. Pre-existing files are skipped unless `--force` is set. DEC-054/055/096/101."
|
|
471
487
|
},
|
|
472
488
|
// --- deployment (DEC-058 / Scenario A of DEC-056) ---
|
|
473
489
|
{
|
package/dist/cli-contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-contract.js","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-contract.js","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -84,5 +84,15 @@ export declare function runDrumbeatWatch(flags: Record<string, string>, io?: {
|
|
|
84
84
|
cwd?: () => string;
|
|
85
85
|
signal?: AbortSignal;
|
|
86
86
|
}): Promise<number>;
|
|
87
|
+
/**
|
|
88
|
+
* `h2a sysml verify` (DEC-099, S3): verify an envelope's embedded SysML ref —
|
|
89
|
+
* commit-trust (signature) by default; add `--content-integrity` to re-fetch +
|
|
90
|
+
* re-hash the element (network). Async → dispatched from bin.ts like remote.
|
|
91
|
+
*/
|
|
92
|
+
export declare function runSysmlVerify(flags: Record<string, string>, io?: {
|
|
93
|
+
stdout: NodeJS.WritableStream;
|
|
94
|
+
stderr: NodeJS.WritableStream;
|
|
95
|
+
cwd?: () => string;
|
|
96
|
+
}): Promise<number>;
|
|
87
97
|
export declare function runCli(argv?: readonly string[], streams?: H2ACliStreams): number;
|
|
88
98
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAkHH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,IAAI,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AASD,wBAAgB,aAAa,IAAI,MAAM,CA2EtC;AA8iBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,GAAE;IACF,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAKpB,GACA,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,GAAE;IACF,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACP,GACrD,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,GAAE,aAAkE,GAC1E,OAAO,CAAC,MAAM,CAAC,CAmCjB;AA2QD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,GAAE;IAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAG3G,GACA,OAAO,CAAC,MAAM,CAAC,CAyDjB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,GAAE;IAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAGrF,GACA,OAAO,CAAC,MAAM,CAAC,CA6BjB;AA6nCD,wBAAgB,MAAM,CACpB,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,OAAO,GAAE,aAGR,GACA,MAAM,CAiFR"}
|
package/dist/cli.js
CHANGED
|
@@ -45,8 +45,9 @@ import { computeHash, signCanonical, signEnvelope, subagentAddress, auditNhiPost
|
|
|
45
45
|
import { H2A_CLAUDE_HOST } from "./hosts/claude.js";
|
|
46
46
|
import { H2A_CODEX_HOST } from "./hosts/codex.js";
|
|
47
47
|
import { H2A_GEMINI_HOST } from "./hosts/gemini.js";
|
|
48
|
+
import { H2A_AGY_HOST } from "./hosts/agy.js";
|
|
48
49
|
import { H2A_CLI_MCP_TOOL_NAMES } from "./mcp.js";
|
|
49
|
-
import { renderStopHook, H2A_HOST_PLUGIN_HOSTS } from "./hosts/plugin.js";
|
|
50
|
+
import { renderStopHook, claudeStopHookEntry, isH2ARecordHook, H2A_HOST_PLUGIN_HOSTS } from "./hosts/plugin.js";
|
|
50
51
|
import { H2A_STORE_SCHEMA_VERSION, createLocalStore, listPresence, sanitizeStorePaths } from "./runtime/local-files/index.js";
|
|
51
52
|
import { runMcpStdio } from "./runtime/mcp/index.js";
|
|
52
53
|
import { renderK8sSidecar } from "./runtime/deploy/k8s-sidecar.js";
|
|
@@ -55,6 +56,8 @@ import { remoteServerForStore, sendRemoteEnvelope } from "./runtime/remote/index
|
|
|
55
56
|
import { recordStop, scanDrumbeat, clearDrumbeatEntry, runDrumbeatWatch as runDrumbeatWatchLoop, loggingRelauncher, localTmuxRelauncher, headlessRelauncher, chainRelauncher } from "./runtime/drumbeat/index.js";
|
|
56
57
|
import { gatherNhiSnapshot } from "./runtime/nhi.js";
|
|
57
58
|
import { raiseBlockage, listBlockages, resolveBlockage } from "./runtime/blockage/index.js";
|
|
59
|
+
import { recordEscalation, listEscalations, clearEscalation } from "./runtime/escalation/index.js";
|
|
60
|
+
import { verifyEnvelopeSysmlRef } from "./runtime/sysml/index.js";
|
|
58
61
|
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
59
62
|
// `dist/cli.js` lives in `packages/h2a-cli/dist/`; skills are at
|
|
60
63
|
// `packages/h2a-cli/skills/`. Two levels up from the dist file.
|
|
@@ -93,7 +96,8 @@ function classifyStoreError(message) {
|
|
|
93
96
|
const CLI_HOSTS = [
|
|
94
97
|
H2A_CODEX_HOST,
|
|
95
98
|
H2A_CLAUDE_HOST,
|
|
96
|
-
H2A_GEMINI_HOST
|
|
99
|
+
H2A_GEMINI_HOST,
|
|
100
|
+
H2A_AGY_HOST
|
|
97
101
|
];
|
|
98
102
|
export function renderCliHelp() {
|
|
99
103
|
return [
|
|
@@ -139,14 +143,15 @@ export function renderCliHelp() {
|
|
|
139
143
|
" h2a drumbeat record --instance <id> --status <working|paused|done|blocked|out-of-tokens> [--command <c>] [--resume-command <c>] [--tmux-session <s> --tmux-pane <p>] [--root <path>]",
|
|
140
144
|
" h2a drumbeat scan [--max-relances <n>] [--root <path>]",
|
|
141
145
|
" h2a drumbeat clear --instance <id> [--root <path>]",
|
|
146
|
+
" h2a drumbeat escalations [--root <path>]",
|
|
142
147
|
" h2a drumbeat watch [--interval-ms <n>] [--max-relances <n>] [--relauncher logging|local-tmux|headless|auto] [--root <path>]",
|
|
143
|
-
" h2a host setup --host <codex|claude|gemini> [--root <path>] [--print | --write <file>] [--force]",
|
|
148
|
+
" h2a host setup --host <codex|claude|gemini|agy> [--root <path>] [--print | --write <file>] [--force]",
|
|
144
149
|
" h2a host status [--host <name>]",
|
|
145
|
-
" h2a host plugin --host <codex|claude|gemini|agy> --instance <id> [--status <work-status>] [--root <path>]",
|
|
150
|
+
" h2a host plugin --host <codex|claude|gemini|agy> --instance <id> [--status <work-status>] [--root <path>] [--write <settings.json> [--force]] (--write installs the Stop hook for claude|gemini|codex; agy is poll-only)",
|
|
146
151
|
" h2a store migrate [--from <v>] [--to <v>] [--sanitize-paths] [--dry-run] [--root <path>]",
|
|
147
152
|
"",
|
|
148
153
|
"High-level coordination (DEC-054):",
|
|
149
|
-
" h2a connect --host <codex|claude|gemini> [--root <path>] [--instance <id>]",
|
|
154
|
+
" h2a connect --host <codex|claude|gemini|agy> [--root <path>] [--instance <id>]",
|
|
150
155
|
" h2a doctor [--root <path>]",
|
|
151
156
|
" h2a sessions [--root <path>] [--scope <s>] [--instance <i>]",
|
|
152
157
|
" h2a keys generate --instance <id> [--out <dir>] [--root <path>]",
|
|
@@ -161,7 +166,8 @@ export function renderCliHelp() {
|
|
|
161
166
|
" h2a blockage raise --instance <id> --reason <text> [--scope <s>] [--needs <text>] [--root <path>]",
|
|
162
167
|
" h2a blockage list [--scope <s>] [--active] [--root <path>]",
|
|
163
168
|
" h2a blockage resolve --instance <id> [--by <id>] [--root <path>]",
|
|
164
|
-
" h2a
|
|
169
|
+
" h2a sysml verify --json <envelope> --public-key <pem-file> [--by <id>] [--content-integrity --api-base <url> [--auth <token>]]",
|
|
170
|
+
" h2a install-skills --host <claude|codex|gemini|agy> [--scope user|project] [--force]",
|
|
165
171
|
" h2a deploy k8s-sidecar [--instance <id>] [--host <h>] [--root <path>] [--image <ref>] [--cli-version <ver>] [--write <file>]",
|
|
166
172
|
" h2a deploy k8s-tenant [--namespace <ns>] [--root <path>] [--replicas <n>] [--storage <size>] [--storage-class <sc>] [--lease-ms <ms>] [--image <ref>] [--cli-version <ver>] [--write <file>]",
|
|
167
173
|
"",
|
|
@@ -804,10 +810,17 @@ function cmdDrumbeat(argv, streams) {
|
|
|
804
810
|
return 1;
|
|
805
811
|
}
|
|
806
812
|
clearDrumbeatEntry(root, flags.instance);
|
|
813
|
+
// DEC-095 (D7): a clean resume/finish also clears any open escalation.
|
|
814
|
+
clearEscalation(root, flags.instance);
|
|
807
815
|
streams.stdout.write(`${JSON.stringify({ ok: true, instance: flags.instance, cleared: true }, null, 2)}\n`);
|
|
808
816
|
return 0;
|
|
809
817
|
}
|
|
810
|
-
|
|
818
|
+
if (sub === "escalations") {
|
|
819
|
+
// DEC-095 (D7): the open escalations the daemon raised on relance-exhaustion.
|
|
820
|
+
streams.stdout.write(`${JSON.stringify(listEscalations(root), null, 2)}\n`);
|
|
821
|
+
return 0;
|
|
822
|
+
}
|
|
823
|
+
streams.stderr.write("h2a drumbeat: subcommand required (record, scan, clear, escalations, watch)\n");
|
|
811
824
|
return 1;
|
|
812
825
|
}
|
|
813
826
|
/**
|
|
@@ -1029,6 +1042,16 @@ export async function runDrumbeatWatch(flags, io = {
|
|
|
1029
1042
|
intervalMs,
|
|
1030
1043
|
...(maxRelances !== undefined ? { maxRelances } : {}),
|
|
1031
1044
|
signal: io.signal,
|
|
1045
|
+
// DEC-095 (D7): an exhausted relance budget stops the loop for that agent
|
|
1046
|
+
// and escalates to the PRINCIPAL (the anti-loop cap is `maxRelances`).
|
|
1047
|
+
onExhausted: (entry) => {
|
|
1048
|
+
const record = recordEscalation(root, {
|
|
1049
|
+
instance: entry.instance,
|
|
1050
|
+
reason: "relance-exhausted",
|
|
1051
|
+
relanceCount: entry.relanceCount
|
|
1052
|
+
});
|
|
1053
|
+
io.stdout.write(`drumbeat: ESCALATE ${record.instance} → ${record.to} (${record.channel}, relances=${record.relanceCount})\n`);
|
|
1054
|
+
},
|
|
1032
1055
|
onTick: (r) => {
|
|
1033
1056
|
if (r.relanced.length || r.exhausted.length) {
|
|
1034
1057
|
io.stdout.write(`drumbeat tick: relanced=[${r.relanced.join(",")}] exhausted=[${r.exhausted.join(",")}]\n`);
|
|
@@ -1037,6 +1060,46 @@ export async function runDrumbeatWatch(flags, io = {
|
|
|
1037
1060
|
});
|
|
1038
1061
|
return 0;
|
|
1039
1062
|
}
|
|
1063
|
+
/**
|
|
1064
|
+
* `h2a sysml verify` (DEC-099, S3): verify an envelope's embedded SysML ref —
|
|
1065
|
+
* commit-trust (signature) by default; add `--content-integrity` to re-fetch +
|
|
1066
|
+
* re-hash the element (network). Async → dispatched from bin.ts like remote.
|
|
1067
|
+
*/
|
|
1068
|
+
export async function runSysmlVerify(flags, io = {
|
|
1069
|
+
stdout: process.stdout,
|
|
1070
|
+
stderr: process.stderr
|
|
1071
|
+
}) {
|
|
1072
|
+
if (!flags.json || !flags["public-key"]) {
|
|
1073
|
+
io.stderr.write("h2a sysml verify: --json <envelope> and --public-key <pem-file> are required\n");
|
|
1074
|
+
return 1;
|
|
1075
|
+
}
|
|
1076
|
+
let envelope;
|
|
1077
|
+
try {
|
|
1078
|
+
envelope = JSON.parse(flags.json);
|
|
1079
|
+
}
|
|
1080
|
+
catch (error) {
|
|
1081
|
+
io.stderr.write(`h2a sysml verify: --json is not valid JSON (${error.message})\n`);
|
|
1082
|
+
return 1;
|
|
1083
|
+
}
|
|
1084
|
+
let publicKeyPem;
|
|
1085
|
+
try {
|
|
1086
|
+
publicKeyPem = readFileSync(flags["public-key"], "utf8");
|
|
1087
|
+
}
|
|
1088
|
+
catch (error) {
|
|
1089
|
+
io.stderr.write(`h2a sysml verify: cannot read --public-key (${error.message})\n`);
|
|
1090
|
+
return 1;
|
|
1091
|
+
}
|
|
1092
|
+
const result = await verifyEnvelopeSysmlRef(envelope, {
|
|
1093
|
+
publicKeyPem,
|
|
1094
|
+
...(flags.by ? { by: flags.by } : {}),
|
|
1095
|
+
...(flags["content-integrity"] ? { contentIntegrity: true } : {}),
|
|
1096
|
+
...(flags["api-base"] ? { apiBase: flags["api-base"] } : {}),
|
|
1097
|
+
...(flags.auth ? { auth: flags.auth } : {})
|
|
1098
|
+
});
|
|
1099
|
+
io.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
1100
|
+
// Verification failure is a state/business outcome → exit 2 (DEC-034).
|
|
1101
|
+
return result.ok ? 0 : 2;
|
|
1102
|
+
}
|
|
1040
1103
|
function isPlainObject(value) {
|
|
1041
1104
|
return (typeof value === "object" &&
|
|
1042
1105
|
value !== null &&
|
|
@@ -1048,7 +1111,7 @@ function configsEqual(a, b) {
|
|
|
1048
1111
|
function cmdHostSetup(flags, streams) {
|
|
1049
1112
|
const host = flags.host;
|
|
1050
1113
|
if (!host) {
|
|
1051
|
-
streams.stderr.write("h2a host setup: --host <codex|claude|gemini> is required\n");
|
|
1114
|
+
streams.stderr.write("h2a host setup: --host <codex|claude|gemini|agy> is required\n");
|
|
1052
1115
|
return 1;
|
|
1053
1116
|
}
|
|
1054
1117
|
let snippet;
|
|
@@ -1061,8 +1124,11 @@ function cmdHostSetup(flags, streams) {
|
|
|
1061
1124
|
else if (host === "gemini") {
|
|
1062
1125
|
snippet = H2A_GEMINI_HOST.renderMcpConfig({ root: flags.root });
|
|
1063
1126
|
}
|
|
1127
|
+
else if (host === "agy") {
|
|
1128
|
+
snippet = H2A_AGY_HOST.renderMcpConfig({ root: flags.root });
|
|
1129
|
+
}
|
|
1064
1130
|
else {
|
|
1065
|
-
streams.stderr.write(`h2a host setup: unknown --host "${host}". Supported: codex, claude, gemini.\n`);
|
|
1131
|
+
streams.stderr.write(`h2a host setup: unknown --host "${host}". Supported: codex, claude, gemini, agy.\n`);
|
|
1066
1132
|
return 1;
|
|
1067
1133
|
}
|
|
1068
1134
|
const targetPath = flags.write;
|
|
@@ -1196,6 +1262,85 @@ function cmdHostPlugin(flags, streams) {
|
|
|
1196
1262
|
streams.stderr.write(`h2a host plugin: unknown --host "${flags.host}". Supported: ${H2A_HOST_PLUGIN_HOSTS.join(", ")}.\n`);
|
|
1197
1263
|
return 1;
|
|
1198
1264
|
}
|
|
1265
|
+
// DEC-102/103/104 (D6 slice b): --write installs the Claude-format `hooks.Stop`
|
|
1266
|
+
// entry for the three hosts that accept it — **claude** + **gemini** (single
|
|
1267
|
+
// settings.json; gemini via `gemini hooks migrate --from-claude`) and **codex**
|
|
1268
|
+
// (its plugin `hooks.json` uses the identical Claude-format hooks object;
|
|
1269
|
+
// verified against `~/.codex/.../hooks/hooks.json`). agy is poll-only (no
|
|
1270
|
+
// daemon), so --write is refused for it and the rendered hook + hint surface.
|
|
1271
|
+
if (flags.write) {
|
|
1272
|
+
if (flags.host === "agy") {
|
|
1273
|
+
streams.stderr.write(`h2a host plugin: --write is not available for agy (poll-only, no daemon). ` +
|
|
1274
|
+
`Use the poll path: ${render.poll}\n`);
|
|
1275
|
+
return 1;
|
|
1276
|
+
}
|
|
1277
|
+
const targetPath = flags.write;
|
|
1278
|
+
let existing = {};
|
|
1279
|
+
if (existsSync(targetPath)) {
|
|
1280
|
+
let raw;
|
|
1281
|
+
try {
|
|
1282
|
+
raw = readFileSync(targetPath, "utf8");
|
|
1283
|
+
}
|
|
1284
|
+
catch (error) {
|
|
1285
|
+
streams.stderr.write(`h2a host plugin: cannot read ${targetPath} (${error.message})\n`);
|
|
1286
|
+
return 3;
|
|
1287
|
+
}
|
|
1288
|
+
if (raw.trim().length > 0) {
|
|
1289
|
+
try {
|
|
1290
|
+
const parsed = JSON.parse(raw);
|
|
1291
|
+
if (!isPlainObject(parsed)) {
|
|
1292
|
+
streams.stderr.write(`h2a host plugin: ${targetPath} is valid JSON but not an object; refusing to merge.\n`);
|
|
1293
|
+
return 2;
|
|
1294
|
+
}
|
|
1295
|
+
existing = parsed;
|
|
1296
|
+
}
|
|
1297
|
+
catch (error) {
|
|
1298
|
+
streams.stderr.write(`h2a host plugin: ${targetPath} is not valid JSON (${error.message}). Use --force to overwrite.\n`);
|
|
1299
|
+
if (flags.force !== "true")
|
|
1300
|
+
return 2;
|
|
1301
|
+
existing = {};
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
const existingHooks = isPlainObject(existing.hooks) ? existing.hooks : {};
|
|
1306
|
+
const existingStop = Array.isArray(existingHooks.Stop) ? [...existingHooks.Stop] : [];
|
|
1307
|
+
// Idempotent: drop any prior h2a drumbeat-record Stop hook, then append ours.
|
|
1308
|
+
const withoutH2A = existingStop.filter((e) => !isH2ARecordHook(e));
|
|
1309
|
+
if (withoutH2A.length !== existingStop.length && flags.force !== "true") {
|
|
1310
|
+
// A previous h2a hook exists; replacing it is safe & idempotent, allow it.
|
|
1311
|
+
}
|
|
1312
|
+
const mergedStop = [...withoutH2A, claudeStopHookEntry(render.record)];
|
|
1313
|
+
const merged = {
|
|
1314
|
+
...existing,
|
|
1315
|
+
hooks: { ...existingHooks, Stop: mergedStop }
|
|
1316
|
+
};
|
|
1317
|
+
try {
|
|
1318
|
+
const dir = dirname(targetPath);
|
|
1319
|
+
if (dir && !existsSync(dir))
|
|
1320
|
+
mkdirSync(dir, { recursive: true });
|
|
1321
|
+
writeFileSync(targetPath, `${JSON.stringify(merged, null, 2)}\n`);
|
|
1322
|
+
}
|
|
1323
|
+
catch (error) {
|
|
1324
|
+
streams.stderr.write(`h2a host plugin: cannot write ${targetPath} (${error.message})\n`);
|
|
1325
|
+
return 3;
|
|
1326
|
+
}
|
|
1327
|
+
streams.stdout.write(`${JSON.stringify({
|
|
1328
|
+
ok: true,
|
|
1329
|
+
host: flags.host,
|
|
1330
|
+
written: targetPath,
|
|
1331
|
+
mechanism: render.mechanism,
|
|
1332
|
+
hook: "hooks.Stop",
|
|
1333
|
+
// codex loads hooks via a plugin (plugin.json → ./hooks.json); the
|
|
1334
|
+
// file written above is a valid codex hooks.json, but codex needs a
|
|
1335
|
+
// plugin.json referencing it + the plugin enabled/trusted.
|
|
1336
|
+
...(flags.host === "codex"
|
|
1337
|
+
? {
|
|
1338
|
+
pluginHint: 'this is a codex hooks.json — add a plugin.json next to it ({"hooks":"./hooks.json"}), then enable + trust it (codex plugin enable <name>; --dangerously-bypass-hook-trust for automation)'
|
|
1339
|
+
}
|
|
1340
|
+
: {})
|
|
1341
|
+
}, null, 2)}\n`);
|
|
1342
|
+
return 0;
|
|
1343
|
+
}
|
|
1199
1344
|
streams.stdout.write(`${JSON.stringify(render, null, 2)}\n`);
|
|
1200
1345
|
return 0;
|
|
1201
1346
|
}
|
|
@@ -1208,7 +1353,7 @@ function cmdHost(argv, streams) {
|
|
|
1208
1353
|
if (sub === "plugin")
|
|
1209
1354
|
return cmdHostPlugin(flags, streams);
|
|
1210
1355
|
streams.stderr.write(`Unknown host subcommand: ${sub ?? "<none>"}\n`);
|
|
1211
|
-
streams.stderr.write("Use: h2a host setup --host <codex|claude|gemini> ...\n" +
|
|
1356
|
+
streams.stderr.write("Use: h2a host setup --host <codex|claude|gemini|agy> ...\n" +
|
|
1212
1357
|
" h2a host status [--host <name>]\n" +
|
|
1213
1358
|
" h2a host plugin --host <codex|claude|gemini|agy> --instance <id>\n");
|
|
1214
1359
|
return 1;
|
|
@@ -1472,11 +1617,11 @@ function cmdKeysRevoke(flags, streams) {
|
|
|
1472
1617
|
}
|
|
1473
1618
|
function cmdConnect(flags, streams) {
|
|
1474
1619
|
if (!flags.host) {
|
|
1475
|
-
streams.stderr.write("h2a connect: --host <codex|claude|gemini> is required\n");
|
|
1620
|
+
streams.stderr.write("h2a connect: --host <codex|claude|gemini|agy> is required\n");
|
|
1476
1621
|
return 1;
|
|
1477
1622
|
}
|
|
1478
|
-
if (!["codex", "claude", "gemini"].includes(flags.host)) {
|
|
1479
|
-
streams.stderr.write(`h2a connect: unknown --host "${flags.host}". Supported: codex, claude, gemini.\n`);
|
|
1623
|
+
if (!["codex", "claude", "gemini", "agy"].includes(flags.host)) {
|
|
1624
|
+
streams.stderr.write(`h2a connect: unknown --host "${flags.host}". Supported: codex, claude, gemini, agy.\n`);
|
|
1480
1625
|
return 1;
|
|
1481
1626
|
}
|
|
1482
1627
|
const cwd = streams.cwd ?? (() => process.cwd());
|
|
@@ -1505,7 +1650,9 @@ function cmdConnect(flags, streams) {
|
|
|
1505
1650
|
? H2A_CODEX_HOST
|
|
1506
1651
|
: flags.host === "claude"
|
|
1507
1652
|
? H2A_CLAUDE_HOST
|
|
1508
|
-
:
|
|
1653
|
+
: flags.host === "gemini"
|
|
1654
|
+
? H2A_GEMINI_HOST
|
|
1655
|
+
: H2A_AGY_HOST;
|
|
1509
1656
|
const snippet = hostDescriptor.renderMcpConfig({ root });
|
|
1510
1657
|
steps.push({
|
|
1511
1658
|
step: "host-setup",
|
|
@@ -1625,6 +1772,25 @@ function targetSpecFor(host, cwd) {
|
|
|
1625
1772
|
}
|
|
1626
1773
|
};
|
|
1627
1774
|
}
|
|
1775
|
+
if (host === "agy") {
|
|
1776
|
+
// DEC-096/101: agy (Antigravity) is in the Gemini ecosystem and shares
|
|
1777
|
+
// `~/.gemini/`; it has no own skill store but imports plugins from gemini
|
|
1778
|
+
// or claude (`agy plugin import gemini`). So installing the gemini TOML
|
|
1779
|
+
// command IS the agy source — same write/location as gemini; the import
|
|
1780
|
+
// step is surfaced as `importHint` in the summary.
|
|
1781
|
+
return {
|
|
1782
|
+
host: "agy",
|
|
1783
|
+
userBase: join(homedir(), ".gemini", "commands"),
|
|
1784
|
+
projectBase: join(cwd, ".gemini", "commands"),
|
|
1785
|
+
extension: ".toml",
|
|
1786
|
+
write: (base, skillName, parsed) => {
|
|
1787
|
+
mkdirSync(base, { recursive: true });
|
|
1788
|
+
const target = join(base, `${skillName}.toml`);
|
|
1789
|
+
writeFileSync(target, renderSkillAsGeminiToml(parsed), "utf8");
|
|
1790
|
+
return target;
|
|
1791
|
+
}
|
|
1792
|
+
};
|
|
1793
|
+
}
|
|
1628
1794
|
return undefined;
|
|
1629
1795
|
}
|
|
1630
1796
|
/**
|
|
@@ -1636,7 +1802,7 @@ const LEGACY_SKILL_NAMES = ["h2a-connect", "h2a-discover", "h2a-send"];
|
|
|
1636
1802
|
function pruneLegacy(spec, base) {
|
|
1637
1803
|
const pruned = [];
|
|
1638
1804
|
for (const legacyName of LEGACY_SKILL_NAMES) {
|
|
1639
|
-
if (spec.host === "gemini") {
|
|
1805
|
+
if (spec.host === "gemini" || spec.host === "agy") {
|
|
1640
1806
|
const file = join(base, `${legacyName}.toml`);
|
|
1641
1807
|
if (existsSync(file)) {
|
|
1642
1808
|
try {
|
|
@@ -1666,13 +1832,13 @@ function pruneLegacy(spec, base) {
|
|
|
1666
1832
|
function cmdInstallSkills(flags, streams) {
|
|
1667
1833
|
const host = flags.host;
|
|
1668
1834
|
if (!host) {
|
|
1669
|
-
streams.stderr.write("h2a install-skills: --host <claude|codex|gemini> is required\n");
|
|
1835
|
+
streams.stderr.write("h2a install-skills: --host <claude|codex|gemini|agy> is required\n");
|
|
1670
1836
|
return 1;
|
|
1671
1837
|
}
|
|
1672
1838
|
const cwd = streams.cwd ?? (() => process.cwd());
|
|
1673
1839
|
const spec = targetSpecFor(host, cwd());
|
|
1674
1840
|
if (!spec) {
|
|
1675
|
-
streams.stderr.write(`h2a install-skills: unknown --host "${host}". Supported: claude, codex, gemini.\n`);
|
|
1841
|
+
streams.stderr.write(`h2a install-skills: unknown --host "${host}". Supported: claude, codex, gemini, agy.\n`);
|
|
1676
1842
|
return 1;
|
|
1677
1843
|
}
|
|
1678
1844
|
if (!existsSync(SKILLS_DIR)) {
|
|
@@ -1715,7 +1881,7 @@ function cmdInstallSkills(flags, streams) {
|
|
|
1715
1881
|
}
|
|
1716
1882
|
// Probe the would-be target file before writing so existing files are
|
|
1717
1883
|
// surfaced as skipped (mirrors the previous Claude-only behavior).
|
|
1718
|
-
const probeTarget = spec.host === "gemini"
|
|
1884
|
+
const probeTarget = spec.host === "gemini" || spec.host === "agy"
|
|
1719
1885
|
? join(targetBase, `${skillName}.toml`)
|
|
1720
1886
|
: join(targetBase, skillName, "SKILL.md");
|
|
1721
1887
|
if (existsSync(probeTarget) && flags.force !== "true") {
|
|
@@ -1741,7 +1907,13 @@ function cmdInstallSkills(flags, streams) {
|
|
|
1741
1907
|
targetBase,
|
|
1742
1908
|
installed,
|
|
1743
1909
|
skipped,
|
|
1744
|
-
prunedLegacy
|
|
1910
|
+
prunedLegacy,
|
|
1911
|
+
// DEC-101: agy has no own skill store — it imports from gemini/claude.
|
|
1912
|
+
// The TOML above is written to the shared ~/.gemini location; the user
|
|
1913
|
+
// then pulls it into agy with `agy plugin import gemini`.
|
|
1914
|
+
...(host === "agy"
|
|
1915
|
+
? { importHint: "agy plugin import gemini # then: agy plugin enable h2a" }
|
|
1916
|
+
: {})
|
|
1745
1917
|
}, null, 2)}\n`);
|
|
1746
1918
|
return skipped.length === 0 ? 0 : 2;
|
|
1747
1919
|
}
|
|
@@ -1872,6 +2044,15 @@ export function runCli(argv = process.argv.slice(2), streams = {
|
|
|
1872
2044
|
return cmdNhi(argv.slice(1), streams);
|
|
1873
2045
|
if (command === "blockage")
|
|
1874
2046
|
return cmdBlockage(argv.slice(1), streams);
|
|
2047
|
+
if (command === "sysml") {
|
|
2048
|
+
const sub = argv[1];
|
|
2049
|
+
if (sub === "verify") {
|
|
2050
|
+
streams.stderr.write("h2a sysml verify: async verb — run via the h2a binary, not the synchronous API.\n");
|
|
2051
|
+
return 1;
|
|
2052
|
+
}
|
|
2053
|
+
streams.stderr.write("h2a sysml: subcommand required (verify).\n");
|
|
2054
|
+
return 1;
|
|
2055
|
+
}
|
|
1875
2056
|
if (command === "negotiate")
|
|
1876
2057
|
return cmdNegotiate(argv.slice(1), streams);
|
|
1877
2058
|
if (command === "inbox")
|