@sentropic/h2a-cli 0.11.0 → 0.13.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 +33 -1
- 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 +175 -20
- 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 +52 -0
- package/dist/hosts/plugin.d.ts.map +1 -0
- package/dist/hosts/plugin.js +74 -0
- package/dist/hosts/plugin.js.map +1 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +1 -0
- package/dist/mcp.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/mcp/handlers.d.ts +4 -0
- package/dist/runtime/mcp/handlers.d.ts.map +1 -1
- package/dist/runtime/mcp/handlers.js +21 -1
- package/dist/runtime/mcp/handlers.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +3 -1
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +12 -0
- package/dist/runtime/mcp/tools.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",
|
|
@@ -324,6 +340,14 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
324
340
|
optionalFlags: ["root", "print", "write", "force"],
|
|
325
341
|
description: "Render or merge the `mcpServers.h2a` snippet for a host (codex|claude). `--print` (default) emits the snippet as a resource on stdout; `--write <file>` switches the verb to an action envelope and merges/creates the target config file."
|
|
326
342
|
},
|
|
343
|
+
{
|
|
344
|
+
verb: "host plugin",
|
|
345
|
+
outputShape: "resource",
|
|
346
|
+
exitCodes: [0, 1],
|
|
347
|
+
requiredFlags: ["host", "instance"],
|
|
348
|
+
optionalFlags: ["root", "status"],
|
|
349
|
+
description: "Render the per-host stop-hook command + placement (claude settings hook / gemini hooks / codex app-server / agy plugin+poll) so a stop is recorded with a launch context the drumbeat (D2) and local-tmux relauncher (D3) can relance. agy is poll-only. DEC-093."
|
|
350
|
+
},
|
|
327
351
|
{
|
|
328
352
|
verb: "host status",
|
|
329
353
|
outputShape: "action",
|
|
@@ -405,6 +429,14 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
405
429
|
optionalFlags: ["root", "long-lived-days"],
|
|
406
430
|
description: "Per-identity inventory of the NHI estate: each instance with its active keys (fingerprint, age, long-lived flag, reuse across instances), its subagents (status, capability bound) and its offboard state, plus estate totals. Read-only. DEC-090."
|
|
407
431
|
},
|
|
432
|
+
{
|
|
433
|
+
verb: "nhi export",
|
|
434
|
+
outputShape: "resource",
|
|
435
|
+
exitCodes: [0, 1],
|
|
436
|
+
requiredFlags: ["instance", "trust-domain"],
|
|
437
|
+
optionalFlags: ["root"],
|
|
438
|
+
description: "Export an instance's active public keys as a SPIFFE-trust-bundle / JWKS-shaped object (NHI P3 interop, DEC-094): the first interop primitive from the veille. Carries trust-anchor material in a bundle shape; PEM→JWK/SVID + live endpoint stay in an external connector. Exit 1 on an invalid trust domain. DEC-094."
|
|
439
|
+
},
|
|
408
440
|
{
|
|
409
441
|
verb: "nhi attest",
|
|
410
442
|
outputShape: "resource",
|
|
@@ -451,7 +483,7 @@ export const H2A_CLI_VERB_CONTRACTS = [
|
|
|
451
483
|
exitCodes: [0, 1, 2, 3],
|
|
452
484
|
requiredFlags: ["host"],
|
|
453
485
|
optionalFlags: ["scope", "force"],
|
|
454
|
-
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."
|
|
455
487
|
},
|
|
456
488
|
// --- deployment (DEC-058 / Scenario A of DEC-056) ---
|
|
457
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;AA6GH,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;AAsiCD,wBAAgB,MAAM,CACpB,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,OAAO,GAAE,aAGR,GACA,MAAM,CAiFR"}
|
package/dist/cli.js
CHANGED
|
@@ -41,11 +41,13 @@ import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync,
|
|
|
41
41
|
import { homedir } from "node:os";
|
|
42
42
|
import { dirname, join, resolve as resolvePath } from "node:path";
|
|
43
43
|
import { fileURLToPath } from "node:url";
|
|
44
|
-
import { computeHash, signCanonical, signEnvelope, subagentAddress, auditNhiPosture, nhiAttestationEnvelope, nhiInventory, H2A_ROLES, H2A_WORK_STATUSES } from "@sentropic/h2a";
|
|
44
|
+
import { computeHash, signCanonical, signEnvelope, subagentAddress, auditNhiPosture, nhiAttestationEnvelope, nhiInventory, nhiTrustBundle, H2A_ROLES, H2A_WORK_STATUSES } from "@sentropic/h2a";
|
|
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";
|
|
50
|
+
import { renderStopHook, H2A_HOST_PLUGIN_HOSTS } from "./hosts/plugin.js";
|
|
49
51
|
import { H2A_STORE_SCHEMA_VERSION, createLocalStore, listPresence, sanitizeStorePaths } from "./runtime/local-files/index.js";
|
|
50
52
|
import { runMcpStdio } from "./runtime/mcp/index.js";
|
|
51
53
|
import { renderK8sSidecar } from "./runtime/deploy/k8s-sidecar.js";
|
|
@@ -54,6 +56,8 @@ import { remoteServerForStore, sendRemoteEnvelope } from "./runtime/remote/index
|
|
|
54
56
|
import { recordStop, scanDrumbeat, clearDrumbeatEntry, runDrumbeatWatch as runDrumbeatWatchLoop, loggingRelauncher, localTmuxRelauncher, headlessRelauncher, chainRelauncher } from "./runtime/drumbeat/index.js";
|
|
55
57
|
import { gatherNhiSnapshot } from "./runtime/nhi.js";
|
|
56
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";
|
|
57
61
|
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
58
62
|
// `dist/cli.js` lives in `packages/h2a-cli/dist/`; skills are at
|
|
59
63
|
// `packages/h2a-cli/skills/`. Two levels up from the dist file.
|
|
@@ -92,7 +96,8 @@ function classifyStoreError(message) {
|
|
|
92
96
|
const CLI_HOSTS = [
|
|
93
97
|
H2A_CODEX_HOST,
|
|
94
98
|
H2A_CLAUDE_HOST,
|
|
95
|
-
H2A_GEMINI_HOST
|
|
99
|
+
H2A_GEMINI_HOST,
|
|
100
|
+
H2A_AGY_HOST
|
|
96
101
|
];
|
|
97
102
|
export function renderCliHelp() {
|
|
98
103
|
return [
|
|
@@ -138,13 +143,15 @@ export function renderCliHelp() {
|
|
|
138
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>]",
|
|
139
144
|
" h2a drumbeat scan [--max-relances <n>] [--root <path>]",
|
|
140
145
|
" h2a drumbeat clear --instance <id> [--root <path>]",
|
|
146
|
+
" h2a drumbeat escalations [--root <path>]",
|
|
141
147
|
" h2a drumbeat watch [--interval-ms <n>] [--max-relances <n>] [--relauncher logging|local-tmux|headless|auto] [--root <path>]",
|
|
142
|
-
" 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]",
|
|
143
149
|
" h2a host status [--host <name>]",
|
|
150
|
+
" h2a host plugin --host <codex|claude|gemini|agy> --instance <id> [--status <work-status>] [--root <path>]",
|
|
144
151
|
" h2a store migrate [--from <v>] [--to <v>] [--sanitize-paths] [--dry-run] [--root <path>]",
|
|
145
152
|
"",
|
|
146
153
|
"High-level coordination (DEC-054):",
|
|
147
|
-
" h2a connect --host <codex|claude|gemini> [--root <path>] [--instance <id>]",
|
|
154
|
+
" h2a connect --host <codex|claude|gemini|agy> [--root <path>] [--instance <id>]",
|
|
148
155
|
" h2a doctor [--root <path>]",
|
|
149
156
|
" h2a sessions [--root <path>] [--scope <s>] [--instance <i>]",
|
|
150
157
|
" h2a keys generate --instance <id> [--out <dir>] [--root <path>]",
|
|
@@ -155,10 +162,12 @@ export function renderCliHelp() {
|
|
|
155
162
|
" h2a nhi inventory [--long-lived-days <n>] [--root <path>]",
|
|
156
163
|
" h2a nhi attest --instance <id> --private-key <pem-file> [--role <role>] [--scope <scope>] [--root <path>]",
|
|
157
164
|
" h2a nhi offboard --instance <id> [--reason <text>] [--root <path>]",
|
|
165
|
+
" h2a nhi export --instance <id> --trust-domain <domain> [--root <path>]",
|
|
158
166
|
" h2a blockage raise --instance <id> --reason <text> [--scope <s>] [--needs <text>] [--root <path>]",
|
|
159
167
|
" h2a blockage list [--scope <s>] [--active] [--root <path>]",
|
|
160
168
|
" h2a blockage resolve --instance <id> [--by <id>] [--root <path>]",
|
|
161
|
-
" 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]",
|
|
162
171
|
" h2a deploy k8s-sidecar [--instance <id>] [--host <h>] [--root <path>] [--image <ref>] [--cli-version <ver>] [--write <file>]",
|
|
163
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>]",
|
|
164
173
|
"",
|
|
@@ -801,10 +810,17 @@ function cmdDrumbeat(argv, streams) {
|
|
|
801
810
|
return 1;
|
|
802
811
|
}
|
|
803
812
|
clearDrumbeatEntry(root, flags.instance);
|
|
813
|
+
// DEC-095 (D7): a clean resume/finish also clears any open escalation.
|
|
814
|
+
clearEscalation(root, flags.instance);
|
|
804
815
|
streams.stdout.write(`${JSON.stringify({ ok: true, instance: flags.instance, cleared: true }, null, 2)}\n`);
|
|
805
816
|
return 0;
|
|
806
817
|
}
|
|
807
|
-
|
|
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");
|
|
808
824
|
return 1;
|
|
809
825
|
}
|
|
810
826
|
/**
|
|
@@ -905,6 +921,27 @@ function cmdNhi(argv, streams) {
|
|
|
905
921
|
streams.stdout.write(`${JSON.stringify(inventory, null, 2)}\n`);
|
|
906
922
|
return 0;
|
|
907
923
|
}
|
|
924
|
+
if (sub === "export") {
|
|
925
|
+
if (!flags.instance || !flags["trust-domain"]) {
|
|
926
|
+
streams.stderr.write("h2a nhi export: --instance <id> and --trust-domain <domain> are required\n");
|
|
927
|
+
return 1;
|
|
928
|
+
}
|
|
929
|
+
const store = createLocalStore({ root: resolveRoot(flags, cwd) });
|
|
930
|
+
const activeKeys = store.listInstanceKeys(flags.instance);
|
|
931
|
+
try {
|
|
932
|
+
const bundle = nhiTrustBundle({
|
|
933
|
+
instance: flags.instance,
|
|
934
|
+
trustDomain: flags["trust-domain"],
|
|
935
|
+
activeKeys
|
|
936
|
+
});
|
|
937
|
+
streams.stdout.write(`${JSON.stringify(bundle, null, 2)}\n`);
|
|
938
|
+
return 0;
|
|
939
|
+
}
|
|
940
|
+
catch (error) {
|
|
941
|
+
streams.stderr.write(`h2a nhi export: ${error.message}\n`);
|
|
942
|
+
return 1;
|
|
943
|
+
}
|
|
944
|
+
}
|
|
908
945
|
if (sub === "attest") {
|
|
909
946
|
if (!flags.instance || !flags["private-key"]) {
|
|
910
947
|
streams.stderr.write("h2a nhi attest: --instance <id> and --private-key <pem-file> are required\n");
|
|
@@ -958,7 +995,7 @@ function cmdNhi(argv, streams) {
|
|
|
958
995
|
streams.stdout.write(`${JSON.stringify({ ok: true, ...tombstone }, null, 2)}\n`);
|
|
959
996
|
return 0;
|
|
960
997
|
}
|
|
961
|
-
streams.stderr.write(`h2a nhi: unknown subcommand "${sub ?? ""}" (report, inventory, attest, offboard)\n`);
|
|
998
|
+
streams.stderr.write(`h2a nhi: unknown subcommand "${sub ?? ""}" (report, inventory, attest, offboard, export)\n`);
|
|
962
999
|
return 1;
|
|
963
1000
|
}
|
|
964
1001
|
/**
|
|
@@ -1005,6 +1042,16 @@ export async function runDrumbeatWatch(flags, io = {
|
|
|
1005
1042
|
intervalMs,
|
|
1006
1043
|
...(maxRelances !== undefined ? { maxRelances } : {}),
|
|
1007
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
|
+
},
|
|
1008
1055
|
onTick: (r) => {
|
|
1009
1056
|
if (r.relanced.length || r.exhausted.length) {
|
|
1010
1057
|
io.stdout.write(`drumbeat tick: relanced=[${r.relanced.join(",")}] exhausted=[${r.exhausted.join(",")}]\n`);
|
|
@@ -1013,6 +1060,46 @@ export async function runDrumbeatWatch(flags, io = {
|
|
|
1013
1060
|
});
|
|
1014
1061
|
return 0;
|
|
1015
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
|
+
}
|
|
1016
1103
|
function isPlainObject(value) {
|
|
1017
1104
|
return (typeof value === "object" &&
|
|
1018
1105
|
value !== null &&
|
|
@@ -1024,7 +1111,7 @@ function configsEqual(a, b) {
|
|
|
1024
1111
|
function cmdHostSetup(flags, streams) {
|
|
1025
1112
|
const host = flags.host;
|
|
1026
1113
|
if (!host) {
|
|
1027
|
-
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");
|
|
1028
1115
|
return 1;
|
|
1029
1116
|
}
|
|
1030
1117
|
let snippet;
|
|
@@ -1037,8 +1124,11 @@ function cmdHostSetup(flags, streams) {
|
|
|
1037
1124
|
else if (host === "gemini") {
|
|
1038
1125
|
snippet = H2A_GEMINI_HOST.renderMcpConfig({ root: flags.root });
|
|
1039
1126
|
}
|
|
1127
|
+
else if (host === "agy") {
|
|
1128
|
+
snippet = H2A_AGY_HOST.renderMcpConfig({ root: flags.root });
|
|
1129
|
+
}
|
|
1040
1130
|
else {
|
|
1041
|
-
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`);
|
|
1042
1132
|
return 1;
|
|
1043
1133
|
}
|
|
1044
1134
|
const targetPath = flags.write;
|
|
@@ -1149,15 +1239,44 @@ function cmdHostStatus(flags, streams) {
|
|
|
1149
1239
|
streams.stdout.write(`${JSON.stringify({ ok: true, hosts }, null, 2)}\n`);
|
|
1150
1240
|
return 0;
|
|
1151
1241
|
}
|
|
1242
|
+
/**
|
|
1243
|
+
* `h2a host plugin` (DEC-093, D6): render the per-host stop-hook command + where
|
|
1244
|
+
* it goes, so a stop is recorded with a launch context the drumbeat/D3 can
|
|
1245
|
+
* relance. Mirrors `host setup` (h2a renders, the host runtime places it).
|
|
1246
|
+
*/
|
|
1247
|
+
function cmdHostPlugin(flags, streams) {
|
|
1248
|
+
if (!flags.host) {
|
|
1249
|
+
streams.stderr.write(`h2a host plugin: --host <${H2A_HOST_PLUGIN_HOSTS.join("|")}> is required\n`);
|
|
1250
|
+
return 1;
|
|
1251
|
+
}
|
|
1252
|
+
if (!flags.instance) {
|
|
1253
|
+
streams.stderr.write("h2a host plugin: --instance <id> is required\n");
|
|
1254
|
+
return 1;
|
|
1255
|
+
}
|
|
1256
|
+
const render = renderStopHook(flags.host, {
|
|
1257
|
+
instance: flags.instance,
|
|
1258
|
+
...(flags.root ? { root: flags.root } : {}),
|
|
1259
|
+
...(flags.status ? { status: flags.status } : {})
|
|
1260
|
+
});
|
|
1261
|
+
if (!render) {
|
|
1262
|
+
streams.stderr.write(`h2a host plugin: unknown --host "${flags.host}". Supported: ${H2A_HOST_PLUGIN_HOSTS.join(", ")}.\n`);
|
|
1263
|
+
return 1;
|
|
1264
|
+
}
|
|
1265
|
+
streams.stdout.write(`${JSON.stringify(render, null, 2)}\n`);
|
|
1266
|
+
return 0;
|
|
1267
|
+
}
|
|
1152
1268
|
function cmdHost(argv, streams) {
|
|
1153
1269
|
const { command: sub, flags } = parseFlags(argv);
|
|
1154
1270
|
if (sub === "setup")
|
|
1155
1271
|
return cmdHostSetup(flags, streams);
|
|
1156
1272
|
if (sub === "status")
|
|
1157
1273
|
return cmdHostStatus(flags, streams);
|
|
1274
|
+
if (sub === "plugin")
|
|
1275
|
+
return cmdHostPlugin(flags, streams);
|
|
1158
1276
|
streams.stderr.write(`Unknown host subcommand: ${sub ?? "<none>"}\n`);
|
|
1159
|
-
streams.stderr.write("Use: h2a host setup --host <codex|claude> ...\n" +
|
|
1160
|
-
" h2a host status [--host <name>]\n"
|
|
1277
|
+
streams.stderr.write("Use: h2a host setup --host <codex|claude|gemini|agy> ...\n" +
|
|
1278
|
+
" h2a host status [--host <name>]\n" +
|
|
1279
|
+
" h2a host plugin --host <codex|claude|gemini|agy> --instance <id>\n");
|
|
1161
1280
|
return 1;
|
|
1162
1281
|
}
|
|
1163
1282
|
function cmdStoreMigrate(flags, streams) {
|
|
@@ -1419,11 +1538,11 @@ function cmdKeysRevoke(flags, streams) {
|
|
|
1419
1538
|
}
|
|
1420
1539
|
function cmdConnect(flags, streams) {
|
|
1421
1540
|
if (!flags.host) {
|
|
1422
|
-
streams.stderr.write("h2a connect: --host <codex|claude|gemini> is required\n");
|
|
1541
|
+
streams.stderr.write("h2a connect: --host <codex|claude|gemini|agy> is required\n");
|
|
1423
1542
|
return 1;
|
|
1424
1543
|
}
|
|
1425
|
-
if (!["codex", "claude", "gemini"].includes(flags.host)) {
|
|
1426
|
-
streams.stderr.write(`h2a connect: unknown --host "${flags.host}". Supported: codex, claude, gemini.\n`);
|
|
1544
|
+
if (!["codex", "claude", "gemini", "agy"].includes(flags.host)) {
|
|
1545
|
+
streams.stderr.write(`h2a connect: unknown --host "${flags.host}". Supported: codex, claude, gemini, agy.\n`);
|
|
1427
1546
|
return 1;
|
|
1428
1547
|
}
|
|
1429
1548
|
const cwd = streams.cwd ?? (() => process.cwd());
|
|
@@ -1452,7 +1571,9 @@ function cmdConnect(flags, streams) {
|
|
|
1452
1571
|
? H2A_CODEX_HOST
|
|
1453
1572
|
: flags.host === "claude"
|
|
1454
1573
|
? H2A_CLAUDE_HOST
|
|
1455
|
-
:
|
|
1574
|
+
: flags.host === "gemini"
|
|
1575
|
+
? H2A_GEMINI_HOST
|
|
1576
|
+
: H2A_AGY_HOST;
|
|
1456
1577
|
const snippet = hostDescriptor.renderMcpConfig({ root });
|
|
1457
1578
|
steps.push({
|
|
1458
1579
|
step: "host-setup",
|
|
@@ -1572,6 +1693,25 @@ function targetSpecFor(host, cwd) {
|
|
|
1572
1693
|
}
|
|
1573
1694
|
};
|
|
1574
1695
|
}
|
|
1696
|
+
if (host === "agy") {
|
|
1697
|
+
// DEC-096/101: agy (Antigravity) is in the Gemini ecosystem and shares
|
|
1698
|
+
// `~/.gemini/`; it has no own skill store but imports plugins from gemini
|
|
1699
|
+
// or claude (`agy plugin import gemini`). So installing the gemini TOML
|
|
1700
|
+
// command IS the agy source — same write/location as gemini; the import
|
|
1701
|
+
// step is surfaced as `importHint` in the summary.
|
|
1702
|
+
return {
|
|
1703
|
+
host: "agy",
|
|
1704
|
+
userBase: join(homedir(), ".gemini", "commands"),
|
|
1705
|
+
projectBase: join(cwd, ".gemini", "commands"),
|
|
1706
|
+
extension: ".toml",
|
|
1707
|
+
write: (base, skillName, parsed) => {
|
|
1708
|
+
mkdirSync(base, { recursive: true });
|
|
1709
|
+
const target = join(base, `${skillName}.toml`);
|
|
1710
|
+
writeFileSync(target, renderSkillAsGeminiToml(parsed), "utf8");
|
|
1711
|
+
return target;
|
|
1712
|
+
}
|
|
1713
|
+
};
|
|
1714
|
+
}
|
|
1575
1715
|
return undefined;
|
|
1576
1716
|
}
|
|
1577
1717
|
/**
|
|
@@ -1583,7 +1723,7 @@ const LEGACY_SKILL_NAMES = ["h2a-connect", "h2a-discover", "h2a-send"];
|
|
|
1583
1723
|
function pruneLegacy(spec, base) {
|
|
1584
1724
|
const pruned = [];
|
|
1585
1725
|
for (const legacyName of LEGACY_SKILL_NAMES) {
|
|
1586
|
-
if (spec.host === "gemini") {
|
|
1726
|
+
if (spec.host === "gemini" || spec.host === "agy") {
|
|
1587
1727
|
const file = join(base, `${legacyName}.toml`);
|
|
1588
1728
|
if (existsSync(file)) {
|
|
1589
1729
|
try {
|
|
@@ -1613,13 +1753,13 @@ function pruneLegacy(spec, base) {
|
|
|
1613
1753
|
function cmdInstallSkills(flags, streams) {
|
|
1614
1754
|
const host = flags.host;
|
|
1615
1755
|
if (!host) {
|
|
1616
|
-
streams.stderr.write("h2a install-skills: --host <claude|codex|gemini> is required\n");
|
|
1756
|
+
streams.stderr.write("h2a install-skills: --host <claude|codex|gemini|agy> is required\n");
|
|
1617
1757
|
return 1;
|
|
1618
1758
|
}
|
|
1619
1759
|
const cwd = streams.cwd ?? (() => process.cwd());
|
|
1620
1760
|
const spec = targetSpecFor(host, cwd());
|
|
1621
1761
|
if (!spec) {
|
|
1622
|
-
streams.stderr.write(`h2a install-skills: unknown --host "${host}". Supported: claude, codex, gemini.\n`);
|
|
1762
|
+
streams.stderr.write(`h2a install-skills: unknown --host "${host}". Supported: claude, codex, gemini, agy.\n`);
|
|
1623
1763
|
return 1;
|
|
1624
1764
|
}
|
|
1625
1765
|
if (!existsSync(SKILLS_DIR)) {
|
|
@@ -1662,7 +1802,7 @@ function cmdInstallSkills(flags, streams) {
|
|
|
1662
1802
|
}
|
|
1663
1803
|
// Probe the would-be target file before writing so existing files are
|
|
1664
1804
|
// surfaced as skipped (mirrors the previous Claude-only behavior).
|
|
1665
|
-
const probeTarget = spec.host === "gemini"
|
|
1805
|
+
const probeTarget = spec.host === "gemini" || spec.host === "agy"
|
|
1666
1806
|
? join(targetBase, `${skillName}.toml`)
|
|
1667
1807
|
: join(targetBase, skillName, "SKILL.md");
|
|
1668
1808
|
if (existsSync(probeTarget) && flags.force !== "true") {
|
|
@@ -1688,7 +1828,13 @@ function cmdInstallSkills(flags, streams) {
|
|
|
1688
1828
|
targetBase,
|
|
1689
1829
|
installed,
|
|
1690
1830
|
skipped,
|
|
1691
|
-
prunedLegacy
|
|
1831
|
+
prunedLegacy,
|
|
1832
|
+
// DEC-101: agy has no own skill store — it imports from gemini/claude.
|
|
1833
|
+
// The TOML above is written to the shared ~/.gemini location; the user
|
|
1834
|
+
// then pulls it into agy with `agy plugin import gemini`.
|
|
1835
|
+
...(host === "agy"
|
|
1836
|
+
? { importHint: "agy plugin import gemini # then: agy plugin enable h2a" }
|
|
1837
|
+
: {})
|
|
1692
1838
|
}, null, 2)}\n`);
|
|
1693
1839
|
return skipped.length === 0 ? 0 : 2;
|
|
1694
1840
|
}
|
|
@@ -1819,6 +1965,15 @@ export function runCli(argv = process.argv.slice(2), streams = {
|
|
|
1819
1965
|
return cmdNhi(argv.slice(1), streams);
|
|
1820
1966
|
if (command === "blockage")
|
|
1821
1967
|
return cmdBlockage(argv.slice(1), streams);
|
|
1968
|
+
if (command === "sysml") {
|
|
1969
|
+
const sub = argv[1];
|
|
1970
|
+
if (sub === "verify") {
|
|
1971
|
+
streams.stderr.write("h2a sysml verify: async verb — run via the h2a binary, not the synchronous API.\n");
|
|
1972
|
+
return 1;
|
|
1973
|
+
}
|
|
1974
|
+
streams.stderr.write("h2a sysml: subcommand required (verify).\n");
|
|
1975
|
+
return 1;
|
|
1976
|
+
}
|
|
1822
1977
|
if (command === "negotiate")
|
|
1823
1978
|
return cmdNegotiate(argv.slice(1), streams);
|
|
1824
1979
|
if (command === "inbox")
|