@jeger-ai/opengantry 3.1.0 → 3.2.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.
Files changed (248) hide show
  1. package/dist/cli/commands/attest.d.ts +2 -1
  2. package/dist/cli/commands/attest.d.ts.map +1 -1
  3. package/dist/cli/commands/attest.js +18 -10
  4. package/dist/cli/commands/attest.js.map +1 -1
  5. package/dist/cli/commands/check-imports.d.ts.map +1 -1
  6. package/dist/cli/commands/check-imports.js +4 -7
  7. package/dist/cli/commands/check-imports.js.map +1 -1
  8. package/dist/cli/commands/context-feed.d.ts.map +1 -1
  9. package/dist/cli/commands/context-feed.js +7 -10
  10. package/dist/cli/commands/context-feed.js.map +1 -1
  11. package/dist/cli/commands/doctor.d.ts.map +1 -1
  12. package/dist/cli/commands/doctor.js +2 -1
  13. package/dist/cli/commands/doctor.js.map +1 -1
  14. package/dist/cli/commands/interrogate.d.ts +12 -0
  15. package/dist/cli/commands/interrogate.d.ts.map +1 -0
  16. package/dist/cli/commands/interrogate.js +62 -0
  17. package/dist/cli/commands/interrogate.js.map +1 -0
  18. package/dist/cli/commands/metrics.d.ts.map +1 -1
  19. package/dist/cli/commands/metrics.js +5 -8
  20. package/dist/cli/commands/metrics.js.map +1 -1
  21. package/dist/cli/commands/pin.d.ts +6 -0
  22. package/dist/cli/commands/pin.d.ts.map +1 -0
  23. package/dist/cli/commands/pin.js +31 -0
  24. package/dist/cli/commands/pin.js.map +1 -0
  25. package/dist/cli/commands/receipt.d.ts +13 -0
  26. package/dist/cli/commands/receipt.d.ts.map +1 -0
  27. package/dist/cli/commands/receipt.js +52 -0
  28. package/dist/cli/commands/receipt.js.map +1 -0
  29. package/dist/cli/commands/runtime.d.ts +1 -1
  30. package/dist/cli/commands/runtime.d.ts.map +1 -1
  31. package/dist/cli/commands/runtime.js +20 -26
  32. package/dist/cli/commands/runtime.js.map +1 -1
  33. package/dist/cli/commands/scan.d.ts.map +1 -1
  34. package/dist/cli/commands/scan.js +17 -15
  35. package/dist/cli/commands/scan.js.map +1 -1
  36. package/dist/cli/commands/tmvc-guard.d.ts.map +1 -1
  37. package/dist/cli/commands/tmvc-guard.js +8 -15
  38. package/dist/cli/commands/tmvc-guard.js.map +1 -1
  39. package/dist/cli/commands/verify.d.ts.map +1 -1
  40. package/dist/cli/commands/verify.js +4 -6
  41. package/dist/cli/commands/verify.js.map +1 -1
  42. package/dist/cli/lib/arch/cage/target-architecture.d.ts +1 -0
  43. package/dist/cli/lib/arch/cage/target-architecture.d.ts.map +1 -1
  44. package/dist/cli/lib/arch/cage/target-architecture.js +1 -1
  45. package/dist/cli/lib/arch/cage/target-architecture.js.map +1 -1
  46. package/dist/cli/lib/attest-mission.d.ts +9 -1
  47. package/dist/cli/lib/attest-mission.d.ts.map +1 -1
  48. package/dist/cli/lib/attest-mission.js +17 -9
  49. package/dist/cli/lib/attest-mission.js.map +1 -1
  50. package/dist/cli/lib/attestation-export.d.ts +11 -0
  51. package/dist/cli/lib/attestation-export.d.ts.map +1 -0
  52. package/dist/cli/lib/attestation-export.js +23 -0
  53. package/dist/cli/lib/attestation-export.js.map +1 -0
  54. package/dist/cli/lib/attestation-receipt.d.ts +14 -5
  55. package/dist/cli/lib/attestation-receipt.d.ts.map +1 -1
  56. package/dist/cli/lib/attestation-receipt.js +82 -40
  57. package/dist/cli/lib/attestation-receipt.js.map +1 -1
  58. package/dist/cli/lib/command-boundary.d.ts +18 -0
  59. package/dist/cli/lib/command-boundary.d.ts.map +1 -1
  60. package/dist/cli/lib/command-boundary.js +50 -4
  61. package/dist/cli/lib/command-boundary.js.map +1 -1
  62. package/dist/cli/lib/draft-token.d.ts +5 -1
  63. package/dist/cli/lib/draft-token.d.ts.map +1 -1
  64. package/dist/cli/lib/draft-token.js +19 -3
  65. package/dist/cli/lib/draft-token.js.map +1 -1
  66. package/dist/cli/lib/errors.d.ts +9 -1
  67. package/dist/cli/lib/errors.d.ts.map +1 -1
  68. package/dist/cli/lib/errors.js +31 -10
  69. package/dist/cli/lib/errors.js.map +1 -1
  70. package/dist/cli/lib/gxt-error-codes.d.ts +5 -0
  71. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  72. package/dist/cli/lib/gxt-error-codes.js +8 -0
  73. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  74. package/dist/cli/lib/interrogate/answers.d.ts +8 -0
  75. package/dist/cli/lib/interrogate/answers.d.ts.map +1 -0
  76. package/dist/cli/lib/interrogate/answers.js +50 -0
  77. package/dist/cli/lib/interrogate/answers.js.map +1 -0
  78. package/dist/cli/lib/interrogate/findings.d.ts +27 -0
  79. package/dist/cli/lib/interrogate/findings.d.ts.map +1 -0
  80. package/dist/cli/lib/interrogate/findings.js +36 -0
  81. package/dist/cli/lib/interrogate/findings.js.map +1 -0
  82. package/dist/cli/lib/interrogate/gaps.d.ts +13 -0
  83. package/dist/cli/lib/interrogate/gaps.d.ts.map +1 -0
  84. package/dist/cli/lib/interrogate/gaps.js +110 -0
  85. package/dist/cli/lib/interrogate/gaps.js.map +1 -0
  86. package/dist/cli/lib/interrogate/gate-integrity.d.ts +7 -0
  87. package/dist/cli/lib/interrogate/gate-integrity.d.ts.map +1 -0
  88. package/dist/cli/lib/interrogate/gate-integrity.js +30 -0
  89. package/dist/cli/lib/interrogate/gate-integrity.js.map +1 -0
  90. package/dist/cli/lib/interrogate/run.d.ts +26 -0
  91. package/dist/cli/lib/interrogate/run.d.ts.map +1 -0
  92. package/dist/cli/lib/interrogate/run.js +43 -0
  93. package/dist/cli/lib/interrogate/run.js.map +1 -0
  94. package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
  95. package/dist/cli/lib/kpi-scan.js +4 -3
  96. package/dist/cli/lib/kpi-scan.js.map +1 -1
  97. package/dist/cli/lib/legislate-gate-options.d.ts +9 -0
  98. package/dist/cli/lib/legislate-gate-options.d.ts.map +1 -0
  99. package/dist/cli/lib/legislate-gate-options.js +11 -0
  100. package/dist/cli/lib/legislate-gate-options.js.map +1 -0
  101. package/dist/cli/lib/legislate.d.ts +23 -12
  102. package/dist/cli/lib/legislate.d.ts.map +1 -1
  103. package/dist/cli/lib/legislate.js +61 -13
  104. package/dist/cli/lib/legislate.js.map +1 -1
  105. package/dist/cli/lib/manifest.d.ts.map +1 -1
  106. package/dist/cli/lib/manifest.js +10 -0
  107. package/dist/cli/lib/manifest.js.map +1 -1
  108. package/dist/cli/lib/mcp-attest.d.ts.map +1 -1
  109. package/dist/cli/lib/mcp-attest.js +8 -1
  110. package/dist/cli/lib/mcp-attest.js.map +1 -1
  111. package/dist/cli/lib/mcp-draft-legislation.d.ts.map +1 -1
  112. package/dist/cli/lib/mcp-draft-legislation.js +49 -5
  113. package/dist/cli/lib/mcp-draft-legislation.js.map +1 -1
  114. package/dist/cli/lib/mcp-execute-legislation.d.ts.map +1 -1
  115. package/dist/cli/lib/mcp-execute-legislation.js +6 -0
  116. package/dist/cli/lib/mcp-execute-legislation.js.map +1 -1
  117. package/dist/cli/lib/mcp-governance-shared.d.ts +7 -0
  118. package/dist/cli/lib/mcp-governance-shared.d.ts.map +1 -1
  119. package/dist/cli/lib/mcp-governance-shared.js +10 -0
  120. package/dist/cli/lib/mcp-governance-shared.js.map +1 -1
  121. package/dist/cli/lib/mcp-interrogate.d.ts +18 -0
  122. package/dist/cli/lib/mcp-interrogate.d.ts.map +1 -0
  123. package/dist/cli/lib/mcp-interrogate.js +29 -0
  124. package/dist/cli/lib/mcp-interrogate.js.map +1 -0
  125. package/dist/cli/lib/mcp-pin-mission.d.ts.map +1 -1
  126. package/dist/cli/lib/mcp-pin-mission.js +10 -10
  127. package/dist/cli/lib/mcp-pin-mission.js.map +1 -1
  128. package/dist/cli/lib/mcp-start-orchestration.d.ts.map +1 -1
  129. package/dist/cli/lib/mcp-start-orchestration.js +9 -4
  130. package/dist/cli/lib/mcp-start-orchestration.js.map +1 -1
  131. package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -1
  132. package/dist/cli/lib/mcp-tools-register.js +22 -1
  133. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  134. package/dist/cli/lib/mission-arg.d.ts +18 -0
  135. package/dist/cli/lib/mission-arg.d.ts.map +1 -0
  136. package/dist/cli/lib/mission-arg.js +45 -0
  137. package/dist/cli/lib/mission-arg.js.map +1 -0
  138. package/dist/cli/lib/missions/formatter.d.ts.map +1 -1
  139. package/dist/cli/lib/missions/formatter.js +3 -0
  140. package/dist/cli/lib/missions/formatter.js.map +1 -1
  141. package/dist/cli/lib/missions/parser.d.ts +4 -0
  142. package/dist/cli/lib/missions/parser.d.ts.map +1 -1
  143. package/dist/cli/lib/missions/parser.js +36 -0
  144. package/dist/cli/lib/missions/parser.js.map +1 -1
  145. package/dist/cli/lib/org-export-config.d.ts +9 -0
  146. package/dist/cli/lib/org-export-config.d.ts.map +1 -0
  147. package/dist/cli/lib/org-export-config.js +45 -0
  148. package/dist/cli/lib/org-export-config.js.map +1 -0
  149. package/dist/cli/lib/pepper-keyring.d.ts +18 -0
  150. package/dist/cli/lib/pepper-keyring.d.ts.map +1 -0
  151. package/dist/cli/lib/pepper-keyring.js +128 -0
  152. package/dist/cli/lib/pepper-keyring.js.map +1 -0
  153. package/dist/cli/lib/perimeter.d.ts +1 -0
  154. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  155. package/dist/cli/lib/perimeter.js +1 -1
  156. package/dist/cli/lib/perimeter.js.map +1 -1
  157. package/dist/cli/lib/principal-hmac.d.ts +20 -0
  158. package/dist/cli/lib/principal-hmac.d.ts.map +1 -0
  159. package/dist/cli/lib/principal-hmac.js +74 -0
  160. package/dist/cli/lib/principal-hmac.js.map +1 -0
  161. package/dist/cli/lib/receipt-attribution.d.ts +23 -0
  162. package/dist/cli/lib/receipt-attribution.d.ts.map +1 -0
  163. package/dist/cli/lib/receipt-attribution.js +113 -0
  164. package/dist/cli/lib/receipt-attribution.js.map +1 -0
  165. package/dist/cli/lib/receipt-inspect.d.ts +28 -0
  166. package/dist/cli/lib/receipt-inspect.d.ts.map +1 -0
  167. package/dist/cli/lib/receipt-inspect.js +105 -0
  168. package/dist/cli/lib/receipt-inspect.js.map +1 -0
  169. package/dist/cli/lib/receipt-signing.d.ts +18 -1
  170. package/dist/cli/lib/receipt-signing.d.ts.map +1 -1
  171. package/dist/cli/lib/receipt-signing.js +34 -8
  172. package/dist/cli/lib/receipt-signing.js.map +1 -1
  173. package/dist/cli/lib/start-orchestration.d.ts +1 -0
  174. package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
  175. package/dist/cli/lib/start-orchestration.js +55 -4
  176. package/dist/cli/lib/start-orchestration.js.map +1 -1
  177. package/dist/cli/lib/tmvc-path.d.ts +2 -0
  178. package/dist/cli/lib/tmvc-path.d.ts.map +1 -1
  179. package/dist/cli/lib/tmvc-path.js +16 -0
  180. package/dist/cli/lib/tmvc-path.js.map +1 -1
  181. package/dist/cli/lib/triage-logic.d.ts +1 -0
  182. package/dist/cli/lib/triage-logic.d.ts.map +1 -1
  183. package/dist/cli/lib/triage-logic.js +3 -0
  184. package/dist/cli/lib/triage-logic.js.map +1 -1
  185. package/dist/cli/lib/types.d.ts +16 -0
  186. package/dist/cli/lib/types.d.ts.map +1 -1
  187. package/dist/cli/lib/verify-context.d.ts +15 -0
  188. package/dist/cli/lib/verify-context.d.ts.map +1 -0
  189. package/dist/cli/lib/verify-context.js +2 -0
  190. package/dist/cli/lib/verify-context.js.map +1 -0
  191. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  192. package/dist/cli/lib/verify-engine.js +37 -7
  193. package/dist/cli/lib/verify-engine.js.map +1 -1
  194. package/dist/cli/lib/verify-failure-normalize.d.ts.map +1 -1
  195. package/dist/cli/lib/verify-failure-normalize.js +14 -0
  196. package/dist/cli/lib/verify-failure-normalize.js.map +1 -1
  197. package/dist/cli/lib/verify-failure.d.ts +8 -2
  198. package/dist/cli/lib/verify-failure.d.ts.map +1 -1
  199. package/dist/cli/lib/verify-finding.d.ts +1 -1
  200. package/dist/cli/lib/verify-finding.d.ts.map +1 -1
  201. package/dist/cli/lib/verify-finding.js.map +1 -1
  202. package/dist/cli/lib/verify-hints.d.ts.map +1 -1
  203. package/dist/cli/lib/verify-hints.js +17 -0
  204. package/dist/cli/lib/verify-hints.js.map +1 -1
  205. package/dist/cli/lib/verify-interrogation.d.ts +18 -0
  206. package/dist/cli/lib/verify-interrogation.d.ts.map +1 -0
  207. package/dist/cli/lib/verify-interrogation.js +205 -0
  208. package/dist/cli/lib/verify-interrogation.js.map +1 -0
  209. package/dist/cli/lib/verify-options.d.ts +4 -2
  210. package/dist/cli/lib/verify-options.d.ts.map +1 -1
  211. package/dist/cli/lib/verify-options.js +1 -12
  212. package/dist/cli/lib/verify-options.js.map +1 -1
  213. package/dist/cli/lib/verify-payload.d.ts +7 -2
  214. package/dist/cli/lib/verify-payload.d.ts.map +1 -1
  215. package/dist/cli/lib/verify-payload.js +3 -3
  216. package/dist/cli/lib/verify-payload.js.map +1 -1
  217. package/dist/cli/lib/verify-presenters.d.ts +23 -15
  218. package/dist/cli/lib/verify-presenters.d.ts.map +1 -1
  219. package/dist/cli/lib/verify-presenters.js +49 -42
  220. package/dist/cli/lib/verify-presenters.js.map +1 -1
  221. package/dist/cli/lib/verify-receipt.d.ts +5 -1
  222. package/dist/cli/lib/verify-receipt.d.ts.map +1 -1
  223. package/dist/cli/lib/verify-receipt.js +27 -7
  224. package/dist/cli/lib/verify-receipt.js.map +1 -1
  225. package/dist/cli/lib/verify-run.d.ts +1 -0
  226. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  227. package/dist/cli/lib/verify-run.js +90 -38
  228. package/dist/cli/lib/verify-run.js.map +1 -1
  229. package/dist/cli/lib/version.gen.d.ts +1 -1
  230. package/dist/cli/lib/version.gen.js +1 -1
  231. package/dist/cli/program-core.d.ts.map +1 -1
  232. package/dist/cli/program-core.js +52 -0
  233. package/dist/cli/program-core.js.map +1 -1
  234. package/dist/cli/program-mission.js +2 -2
  235. package/dist/cli/program-mission.js.map +1 -1
  236. package/dist/cli/program-workflow.d.ts +44 -0
  237. package/dist/cli/program-workflow.d.ts.map +1 -1
  238. package/dist/cli/program-workflow.js +69 -7
  239. package/dist/cli/program-workflow.js.map +1 -1
  240. package/package.json +1 -1
  241. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  242. package/templates/.gitagent/planner/MISSION.schema.yaml +54 -0
  243. package/templates/.github/workflows/gxt-attest-ingest.yml +72 -0
  244. package/templates/.gitignore.gxt +1 -0
  245. package/templates/integrations/compatibility.json +52 -16
  246. package/templates/scripts/gxt-pin-mission.sh +15 -2
  247. package/templates/scripts/gxt-runtime-env.sh +12 -6
  248. package/templates/scripts/validate-mcp-dogfood.mjs +56 -0
@@ -1,6 +1,7 @@
1
1
  export interface AttestOptions {
2
- mission: string;
2
+ mission?: string;
3
3
  out?: string;
4
+ exportPath?: string;
4
5
  sign?: boolean;
5
6
  json?: boolean;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attest.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/attest.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAYtD"}
1
+ {"version":3,"file":"attest.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/attest.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAmBtD"}
@@ -1,19 +1,27 @@
1
- import { logInfo, setExitCode } from "../lib/cli-io.js";
1
+ import { logInfo } from "../lib/cli-io.js";
2
2
  import { attestMission } from "../lib/attest-mission.js";
3
- import { GantryUserError, reportUserFacingError } from "../lib/errors.js";
3
+ import { emitCliJson, runUserCommand } from "../lib/command-boundary.js";
4
+ import { emitPinnedMissionBanner, resolveMissionArg } from "../lib/mission-arg.js";
5
+ import { loadWorkspace } from "../lib/workspace.js";
4
6
  export function runAttest(options) {
5
- try {
6
- const result = attestMission(options);
7
+ runUserCommand({ json: options.json }, () => {
8
+ const { root } = loadWorkspace();
9
+ const resolved = resolveMissionArg(root, options.mission);
10
+ emitPinnedMissionBanner(resolved, { json: options.json });
11
+ const result = attestMission({ root, resolved, out: options.out, exportPath: options.exportPath, sign: options.sign });
7
12
  if (options.json) {
8
- logInfo(JSON.stringify(result, null, 2));
13
+ emitCliJson({
14
+ status: "ok",
15
+ ...result,
16
+ ...(result.export_path ? { export_path: result.export_path } : {}),
17
+ });
9
18
  }
10
19
  else {
11
20
  logInfo(`gantry attest: wrote ${result.receipt_path}`);
21
+ if (result.export_path) {
22
+ logInfo(`gantry attest: export ${result.export_path}`);
23
+ }
12
24
  }
13
- }
14
- catch (e) {
15
- reportUserFacingError(e);
16
- setExitCode(e instanceof GantryUserError ? e.exitCode : 2);
17
- }
25
+ });
18
26
  }
19
27
  //# sourceMappingURL=attest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attest.js","sourceRoot":"","sources":["../../../src/cli/commands/attest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAS1E,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,wBAAwB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzB,WAAW,CAAC,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"attest.js","sourceRoot":"","sources":["../../../src/cli/commands/attest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC9C,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,uBAAuB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC;gBACV,MAAM,EAAE,IAAI;gBACZ,GAAG,MAAM;gBACT,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,wBAAwB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,yBAAyB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-imports.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check-imports.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAgClE"}
1
+ {"version":3,"file":"check-imports.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check-imports.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CA2BlE"}
@@ -1,5 +1,6 @@
1
1
  import { findBannedImportsInFolder } from "../lib/ast-discovery.js";
2
2
  import { logError, setExitCode } from "../lib/cli-io.js";
3
+ import { emitCliJson, runUserCommand } from "../lib/command-boundary.js";
3
4
  import { loadWorkspace } from "../lib/workspace.js";
4
5
  export function runCheckImports(options) {
5
6
  if (options.ban.length === 0) {
@@ -7,11 +8,11 @@ export function runCheckImports(options) {
7
8
  setExitCode(2);
8
9
  return;
9
10
  }
10
- try {
11
+ runUserCommand({ json: options.json }, () => {
11
12
  const { root } = loadWorkspace();
12
13
  const violations = findBannedImportsInFolder(root, options.dir, options.ban);
13
14
  if (options.json) {
14
- process.stdout.write(`${JSON.stringify({ ok: violations.length === 0, violations }, null, 2)}\n`);
15
+ emitCliJson({ ok: violations.length === 0, violations });
15
16
  if (violations.length > 0)
16
17
  setExitCode(1);
17
18
  return;
@@ -24,10 +25,6 @@ export function runCheckImports(options) {
24
25
  process.stderr.write(`${v.file}: banned import "${v.specifier}"\n`);
25
26
  }
26
27
  setExitCode(1);
27
- }
28
- catch (e) {
29
- logError(e instanceof Error ? e.message : String(e));
30
- setExitCode(1);
31
- }
28
+ });
32
29
  }
33
30
  //# sourceMappingURL=check-imports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-imports.js","sourceRoot":"","sources":["../../../src/cli/commands/check-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,MAAM,UAAU,eAAe,CAAC,OAA4B;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,4DAA4D,CAAC,CAAC;QACvE,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5E,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check-imports.js","sourceRoot":"","sources":["../../../src/cli/commands/check-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,MAAM,UAAU,eAAe,CAAC,OAA4B;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,4DAA4D,CAAC,CAAC;QACvE,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACzD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-feed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAyCrE"}
1
+ {"version":3,"file":"context-feed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAsCrE"}
@@ -1,13 +1,14 @@
1
- import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
1
+ import { logInfo } from "../lib/cli-io.js";
2
+ import { emitCliJson, runUserCommand } from "../lib/command-boundary.js";
2
3
  import { clearRemediationSnapshot, readRemediationSnapshot, } from "../lib/context-feed-store.js";
3
4
  import { loadWorkspace } from "../lib/workspace.js";
4
5
  export function runContextFeed(options = {}) {
5
- try {
6
+ runUserCommand({ json: options.json }, () => {
6
7
  const { root } = loadWorkspace();
7
8
  if (options.clear) {
8
9
  clearRemediationSnapshot(root);
9
10
  if (options.json) {
10
- logInfo(JSON.stringify({ status: "cleared", path: ".gitagent/tmp/NEXT_REMEDIATION.json" }, null, 2));
11
+ emitCliJson({ status: "cleared", path: ".gitagent/tmp/NEXT_REMEDIATION.json" });
11
12
  }
12
13
  else {
13
14
  logInfo("context-feed: cleared");
@@ -17,7 +18,7 @@ export function runContextFeed(options = {}) {
17
18
  const snapshot = readRemediationSnapshot(root);
18
19
  if (!snapshot) {
19
20
  if (options.json) {
20
- logInfo(JSON.stringify({ status: "empty", snapshot: null }, null, 2));
21
+ emitCliJson({ status: "empty", snapshot: null });
21
22
  }
22
23
  else {
23
24
  logInfo("context-feed: (no active remediation)");
@@ -25,7 +26,7 @@ export function runContextFeed(options = {}) {
25
26
  return;
26
27
  }
27
28
  if (options.json) {
28
- logInfo(JSON.stringify({ status: "ok", snapshot }, null, 2));
29
+ emitCliJson({ status: "ok", snapshot });
29
30
  return;
30
31
  }
31
32
  logInfo(`context-feed: phase=${snapshot.phase} error=${snapshot.error_code}`);
@@ -39,10 +40,6 @@ export function runContextFeed(options = {}) {
39
40
  for (const hint of snapshot.fix_hints)
40
41
  logInfo(` - ${hint}`);
41
42
  }
42
- }
43
- catch (e) {
44
- logError(e instanceof Error ? e.message : String(e));
45
- setExitCode(2);
46
- }
43
+ });
47
44
  }
48
45
  //# sourceMappingURL=context-feed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-feed.js","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,cAAc,CAAC,UAA8B,EAAE;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACnC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uCAAuC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,uBAAuB,QAAQ,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,cAAc,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,iBAAiB;YAAE,OAAO,CAAC,cAAc,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context-feed.js","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,cAAc,CAAC,UAA8B,EAAE;IAC7D,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACnC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uCAAuC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,uBAAuB,QAAQ,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,cAAc,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,iBAAiB;YAAE,OAAO,CAAC,cAAc,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5F,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+BD,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,IAAI,CAe3D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5F,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+BD,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,IAAI,CAe3D"}
@@ -1,11 +1,12 @@
1
1
  import { logInfo, setExitCode, errorMessage } from "../lib/cli-io.js";
2
+ import { emitCliJson } from "../lib/command-boundary.js";
2
3
  import { audienceSectionTitle, filterTaggedStepsForAudience, } from "../lib/audience-output.js";
3
4
  import { doctorLinesHasFail, collectDoctorReport } from "../lib/doctor.js";
4
5
  import { loadWorkspace } from "../lib/workspace.js";
5
6
  function emitDoctor(lines, nextStep, hasFail, json, audience) {
6
7
  const exitCode = hasFail ? 1 : 0;
7
8
  if (json) {
8
- logInfo(JSON.stringify({ lines, next_step: nextStep, exit_code: exitCode }, null, 2));
9
+ emitCliJson({ lines, next_step: nextStep, exit_code: exitCode });
9
10
  }
10
11
  else {
11
12
  for (const line of lines) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAmB,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAcpD,SAAS,UAAU,CACjB,KAAmB,EACnB,QAAuB,EACvB,OAAgB,EAChB,IAAyB,EACzB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,4BAA4B,CACxC,QAAQ,EACR,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC;QACF,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,UAAyB,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,UAAU,CACR,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAChC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAmB,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAcpD,SAAS,UAAU,CACjB,KAAmB,EACnB,QAAuB,EACvB,OAAgB,EAChB,IAAyB,EACzB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,4BAA4B,CACxC,QAAQ,EACR,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC;QACF,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,UAAyB,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,UAAU,CACR,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAChC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface InterrogateCliOptions {
2
+ intent: string;
3
+ msn?: string;
4
+ skillKey?: string;
5
+ gateCommand?: string;
6
+ gateSuccessSubstring?: string;
7
+ paths?: string[];
8
+ answersFile?: string;
9
+ json?: boolean;
10
+ }
11
+ export declare function runInterrogateCommand(options: InterrogateCliOptions): void;
12
+ //# sourceMappingURL=interrogate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrogate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interrogate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAgD1E"}
@@ -0,0 +1,62 @@
1
+ import { logInfo, setExitCode } from "../lib/cli-io.js";
2
+ import { GantryUserError } from "../lib/errors.js";
3
+ import { runUserCommand } from "../lib/command-boundary.js";
4
+ import { runInterrogate } from "../lib/interrogate/run.js";
5
+ import { resolveLegislateGateOptions } from "../lib/legislate-gate-options.js";
6
+ import { resolveManifestSkillKey } from "../lib/skill-key.js";
7
+ import { loadWorkspace } from "../lib/workspace.js";
8
+ import fs from "node:fs";
9
+ function loadAnswersFile(path) {
10
+ const raw = fs.readFileSync(path, "utf8");
11
+ const parsed = JSON.parse(raw);
12
+ if (!Array.isArray(parsed)) {
13
+ throw new GantryUserError("INVALID_ARGUMENT", "interrogation answers file must be a JSON array", undefined, 2);
14
+ }
15
+ return parsed;
16
+ }
17
+ export function runInterrogateCommand(options) {
18
+ runUserCommand({ json: options.json }, () => {
19
+ const { root, manifest } = loadWorkspace();
20
+ const intent = options.intent.trim();
21
+ if (!intent) {
22
+ throw new GantryUserError("INVALID_ARGUMENT", "interrogate: intent is required", undefined, 2);
23
+ }
24
+ const skillKey = resolveManifestSkillKey(manifest, options.skillKey?.trim() || "gantry");
25
+ const { gateCommand, gateSuccessSubstring } = resolveLegislateGateOptions({
26
+ gateCommand: options.gateCommand,
27
+ gateSuccessSubstring: options.gateSuccessSubstring,
28
+ });
29
+ const interrogation = options.answersFile ? loadAnswersFile(options.answersFile) : [];
30
+ const result = runInterrogate({
31
+ root,
32
+ manifest,
33
+ intent,
34
+ skillKey,
35
+ gateCommand,
36
+ gateSuccessSubstring,
37
+ paths: options.paths ?? [],
38
+ interrogation,
39
+ });
40
+ if (options.json) {
41
+ const payload = options.msn?.trim()
42
+ ? { msn_id: options.msn.trim(), ...result }
43
+ : result;
44
+ logInfo(JSON.stringify(payload, null, 2));
45
+ if (result.status === "halt")
46
+ setExitCode(2);
47
+ return;
48
+ }
49
+ if (result.status === "clear") {
50
+ logInfo("interrogate: clear — all findings answered");
51
+ logInfo(`interrogation_sha256: ${result.interrogation_sha256}`);
52
+ return;
53
+ }
54
+ logInfo(`interrogate: halt (${result.remaining_count} remaining)`);
55
+ logInfo(`finding_id: ${result.next_question.finding_id}`);
56
+ logInfo(`question: ${result.next_question.question}`);
57
+ logInfo(`hypothesis: ${result.next_question.hypothesis}`);
58
+ logInfo(`evidence:\n${result.next_question.evidence}`);
59
+ setExitCode(2);
60
+ });
61
+ }
62
+ //# sourceMappingURL=interrogate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrogate.js","sourceRoot":"","sources":["../../../src/cli/commands/interrogate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metrics.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAcxD"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metrics.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAWxD"}
@@ -1,20 +1,17 @@
1
+ import { logInfo } from "../lib/cli-io.js";
2
+ import { emitCliJson, runUserCommand } from "../lib/command-boundary.js";
1
3
  import { collectGitMetrics, formatGitMetricsHuman } from "../lib/git-metrics.js";
2
- import { logError, logInfo, setExitCode, errorMessage } from "../lib/cli-io.js";
3
4
  import { loadWorkspace } from "../lib/workspace.js";
4
5
  export function runMetrics(options) {
5
- try {
6
+ runUserCommand({ json: options.json }, () => {
6
7
  const { root } = loadWorkspace();
7
8
  const ref = options.ref?.trim() || "HEAD";
8
9
  const report = collectGitMetrics(root, ref);
9
10
  if (options.json === true) {
10
- logInfo(JSON.stringify(report, null, 2));
11
+ emitCliJson(report);
11
12
  return;
12
13
  }
13
14
  logInfo(formatGitMetricsHuman(report));
14
- }
15
- catch (e) {
16
- logError(errorMessage(e));
17
- setExitCode(2);
18
- }
15
+ });
19
16
  }
20
17
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/cli/commands/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,UAAU,CAAC,OAAuB;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/cli/commands/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,UAAU,CAAC,OAAuB;IAChD,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface PinOptions {
2
+ mission?: string;
3
+ }
4
+ export declare function runPin(options: PinOptions): void;
5
+ export declare function runUnpin(): void;
6
+ //# sourceMappingURL=pin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pin.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAsBhD;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAa/B"}
@@ -0,0 +1,31 @@
1
+ import { logInfo } from "../lib/cli-io.js";
2
+ import { runUserCommand } from "../lib/command-boundary.js";
3
+ import { GantryUserError } from "../lib/errors.js";
4
+ import { clearActiveMissionPin, pinActiveMission, readActiveMissionPin, } from "../lib/missions/parser.js";
5
+ import { loadWorkspace } from "../lib/workspace.js";
6
+ export function runPin(options) {
7
+ runUserCommand({ json: false }, () => {
8
+ const { root } = loadWorkspace();
9
+ const missionArg = options.mission?.trim();
10
+ if (!missionArg) {
11
+ const pinned = readActiveMissionPin(root);
12
+ if (!pinned) {
13
+ throw new GantryUserError("MISSION_REQUIRED", "gantry pin: no active mission pinned", "gantry pin .gitagent/missions/<file>.yaml", 1);
14
+ }
15
+ logInfo(pinned);
16
+ return;
17
+ }
18
+ const rel = pinActiveMission(root, missionArg);
19
+ logInfo(`Pinned active mission: ${rel}`);
20
+ });
21
+ }
22
+ export function runUnpin() {
23
+ runUserCommand({ json: false }, () => {
24
+ const { root } = loadWorkspace();
25
+ if (!clearActiveMissionPin(root)) {
26
+ throw new GantryUserError("MISSION_REQUIRED", "gantry unpin: no active mission pinned", undefined, 1);
27
+ }
28
+ logInfo("gantry unpin: cleared active mission pin");
29
+ });
30
+ }
31
+ //# sourceMappingURL=pin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin.js","sourceRoot":"","sources":["../../../src/cli/commands/pin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,MAAM,UAAU,MAAM,CAAC,OAAmB;IACxC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,sCAAsC,EACtC,2CAA2C,EAC3C,CAAC,CACF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,OAAO,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,wCAAwC,EACxC,SAAS,EACT,CAAC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type PrincipalHmacOptions } from "../lib/principal-hmac.js";
2
+ export interface ReceiptListOptions {
3
+ msn?: string;
4
+ json?: boolean;
5
+ }
6
+ export interface ReceiptShowOptions {
7
+ target?: string;
8
+ json?: boolean;
9
+ }
10
+ export declare function runReceiptList(options: ReceiptListOptions): void;
11
+ export declare function runReceiptPrincipalHmac(options: PrincipalHmacOptions): void;
12
+ export declare function runReceiptShow(options: ReceiptShowOptions): void;
13
+ //# sourceMappingURL=receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/receipt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAQvF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAgBhE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAI3E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAsBhE"}
@@ -0,0 +1,52 @@
1
+ import { logInfo } from "../lib/cli-io.js";
2
+ import { emitCliJson, runUserCommand } from "../lib/command-boundary.js";
3
+ import { runPrincipalHmac } from "../lib/principal-hmac.js";
4
+ import { listReceipts, resolveReceiptPath, summarizeReceipt, } from "../lib/receipt-inspect.js";
5
+ import { loadWorkspace } from "../lib/workspace.js";
6
+ export function runReceiptList(options) {
7
+ runUserCommand({ json: options.json }, () => {
8
+ const { root } = loadWorkspace();
9
+ const entries = listReceipts(root, options.msn);
10
+ if (options.json) {
11
+ emitCliJson({ status: "ok", receipts: entries });
12
+ return;
13
+ }
14
+ if (entries.length === 0) {
15
+ logInfo("gantry receipt list: (no receipts)");
16
+ return;
17
+ }
18
+ for (const e of entries) {
19
+ logInfo(`${e.path} ${e.msn_id} ${e.verify_status} ${e.receipt_sha256.slice(0, 12)}`);
20
+ }
21
+ });
22
+ }
23
+ export function runReceiptPrincipalHmac(options) {
24
+ runUserCommand({ json: options.json }, () => {
25
+ runPrincipalHmac(options);
26
+ });
27
+ }
28
+ export function runReceiptShow(options) {
29
+ runUserCommand({ json: options.json }, () => {
30
+ const { root } = loadWorkspace();
31
+ const { relPath, receipt } = resolveReceiptPath(root, options.target);
32
+ const summary = summarizeReceipt(relPath, receipt);
33
+ if (options.json) {
34
+ emitCliJson({ status: "ok", receipt: summary, raw: receipt });
35
+ return;
36
+ }
37
+ logInfo(`gantry receipt show: ${summary.path}`);
38
+ logInfo(` msn_id: ${summary.msn_id}`);
39
+ logInfo(` verify_status: ${summary.verify_status}`);
40
+ logInfo(` receipt_sha256: ${summary.receipt_sha256}`);
41
+ logInfo(` org_id: ${summary.org_id}`);
42
+ logInfo(` git_head: ${summary.git_head}`);
43
+ logInfo(` git_tree_sha: ${summary.git_tree_sha}`);
44
+ logInfo(` issued_at: ${summary.issued_at}`);
45
+ if (summary.error_code)
46
+ logInfo(` error_code: ${summary.error_code}`);
47
+ if (summary.signature_verify_status) {
48
+ logInfo(` signature.verify_status: ${summary.signature_verify_status}`);
49
+ }
50
+ });
51
+ }
52
+ //# sourceMappingURL=receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/cli/commands/receipt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface RuntimeEnvCliOptions {
2
- mission: string;
2
+ mission?: string;
3
3
  json?: boolean;
4
4
  /** `shell`: POSIX `export VAR='...'` lines; `text`: labeled lines */
5
5
  format?: "shell" | "text";
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAiCjE;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DzF"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CA8BjE;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzF"}
@@ -1,22 +1,30 @@
1
1
  import fs from "node:fs";
2
- import { agentErrorAbsolutePath } from "../lib/errors.js";
2
+ import { agentErrorAbsolutePath, serializeAgentErrorPayload } from "../lib/errors.js";
3
3
  import { hintForbiddenZone, hintRuntimeHumanSummary, logFixHint } from "../lib/fix-hints.js";
4
+ import { emitPinnedMissionBanner, resolveMissionArg } from "../lib/mission-arg.js";
4
5
  import { resolveRuntimeEnv, resolvedRuntimeEnvToJsonPayload } from "../lib/runtime-env.js";
5
- import { logError, logInfo, setExitCode, errorMessage } from "../lib/cli-io.js";
6
+ import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
7
+ import { emitCliJson, runUserCommand, runUserCommandAsync } from "../lib/command-boundary.js";
6
8
  import { runRuntimeExec } from "../lib/runtime-exec.js";
7
9
  import { loadWorkspace } from "../lib/workspace.js";
8
10
  function escapeShellSingleQuotes(value) {
9
11
  return value.replace(/'/g, `'\\''`);
10
12
  }
11
13
  export function runRuntimeEnv(options) {
12
- try {
14
+ runUserCommand({ json: options.json }, () => {
13
15
  const workspace = loadWorkspace();
14
- const resolved = resolveRuntimeEnv(workspace, options.mission);
15
- const payload = resolvedRuntimeEnvToJsonPayload(resolved);
16
+ const resolved = resolveMissionArg(workspace.root, options.mission);
17
+ const resolvedEnv = resolveRuntimeEnv(workspace, resolved.missionRel);
18
+ const payload = resolvedRuntimeEnvToJsonPayload(resolvedEnv);
16
19
  if (options.json) {
17
- logInfo(JSON.stringify(payload, null, 2));
20
+ emitCliJson({
21
+ ...payload,
22
+ mission_file_path: resolved.missionRel,
23
+ mission_source: resolved.source,
24
+ });
18
25
  return;
19
26
  }
27
+ emitPinnedMissionBanner(resolved, { json: options.json });
20
28
  const fmt = options.format ?? "shell";
21
29
  if (fmt === "text") {
22
30
  for (const [k, v] of Object.entries(payload)) {
@@ -27,17 +35,7 @@ export function runRuntimeEnv(options) {
27
35
  for (const [k, v] of Object.entries(payload)) {
28
36
  logInfo(`export ${k}='${escapeShellSingleQuotes(v)}'`);
29
37
  }
30
- }
31
- catch (e) {
32
- const errno = typeof e === "object" && e !== null ? e.code : undefined;
33
- if (errno === "ENOENT") {
34
- logError(`runtime env: mission file not found: ${options.mission} (ENOENT). Use an existing mission path — e.g. .gitagent/missions/example.verify.yaml — or run gantry legislate first, then pass that YAML path.`);
35
- }
36
- else {
37
- logError(errorMessage(e));
38
- }
39
- setExitCode(2);
40
- }
38
+ });
41
39
  }
42
40
  export async function runRuntimeExecCommand(options) {
43
41
  if (options.workerCommand.length === 0) {
@@ -45,7 +43,7 @@ export async function runRuntimeExecCommand(options) {
45
43
  setExitCode(2);
46
44
  return;
47
45
  }
48
- try {
46
+ await runUserCommandAsync({ json: options.json }, async () => {
49
47
  const workspace = loadWorkspace();
50
48
  const resolved = resolveRuntimeEnv(workspace, options.mission);
51
49
  const result = await runRuntimeExec(workspace, {
@@ -65,7 +63,7 @@ export async function runRuntimeExecCommand(options) {
65
63
  }
66
64
  }
67
65
  if (options.json) {
68
- logInfo(JSON.stringify({
66
+ emitCliJson({
69
67
  status: result.status,
70
68
  exit_code: result.exitCode,
71
69
  worker_exit_code: result.workerExitCode,
@@ -76,7 +74,7 @@ export async function runRuntimeExecCommand(options) {
76
74
  flight_id: result.flightId,
77
75
  agent_error_path: agentError?.error_file ?? "",
78
76
  agent_error: agentError,
79
- }, null, 2));
77
+ });
80
78
  }
81
79
  else {
82
80
  logInfo(`runtime exec: ${result.status}`);
@@ -87,15 +85,11 @@ export async function runRuntimeExecCommand(options) {
87
85
  if (result.violations[0]) {
88
86
  logFixHint(hintForbiddenZone(result.violations[0].path, options.mission));
89
87
  }
90
- logError(JSON.stringify(agentError));
88
+ logError(serializeAgentErrorPayload(agentError));
91
89
  }
92
90
  }
93
91
  if (result.exitCode !== 0)
94
92
  setExitCode(result.exitCode);
95
- }
96
- catch (e) {
97
- logError(errorMessage(e));
98
- setExitCode(2);
99
- }
93
+ });
100
94
  }
101
95
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAyBlD"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAuBlD"}