@jeger-ai/opengantry 2.0.0 → 2.1.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 (474) hide show
  1. package/README.md +20 -11
  2. package/dist/cli/commands/context-request.d.ts +11 -0
  3. package/dist/cli/commands/context-request.d.ts.map +1 -0
  4. package/dist/cli/commands/context-request.js +74 -0
  5. package/dist/cli/commands/context-request.js.map +1 -0
  6. package/dist/cli/commands/doctor.d.ts +1 -1
  7. package/dist/cli/commands/doctor.d.ts.map +1 -1
  8. package/dist/cli/commands/doctor.js +1 -2
  9. package/dist/cli/commands/doctor.js.map +1 -1
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +6 -2
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/legislate.d.ts +1 -1
  14. package/dist/cli/commands/legislate.d.ts.map +1 -1
  15. package/dist/cli/commands/legislate.js +1 -1
  16. package/dist/cli/commands/legislate.js.map +1 -1
  17. package/dist/cli/commands/mission.js +3 -3
  18. package/dist/cli/commands/mission.js.map +1 -1
  19. package/dist/cli/commands/onboarding.d.ts.map +1 -1
  20. package/dist/cli/commands/onboarding.js +4 -6
  21. package/dist/cli/commands/onboarding.js.map +1 -1
  22. package/dist/cli/commands/perimeter.js +1 -1
  23. package/dist/cli/commands/perimeter.js.map +1 -1
  24. package/dist/cli/commands/runtime.js +1 -1
  25. package/dist/cli/commands/runtime.js.map +1 -1
  26. package/dist/cli/commands/scan.js +1 -1
  27. package/dist/cli/commands/scan.js.map +1 -1
  28. package/dist/cli/commands/tmvc-guard.d.ts +7 -0
  29. package/dist/cli/commands/tmvc-guard.d.ts.map +1 -0
  30. package/dist/cli/commands/tmvc-guard.js +63 -0
  31. package/dist/cli/commands/tmvc-guard.js.map +1 -0
  32. package/dist/cli/commands/triage.js +2 -2
  33. package/dist/cli/commands/triage.js.map +1 -1
  34. package/dist/cli/commands/upgrade.js +1 -1
  35. package/dist/cli/commands/upgrade.js.map +1 -1
  36. package/dist/cli/commands/verify.d.ts +2 -2
  37. package/dist/cli/commands/verify.d.ts.map +1 -1
  38. package/dist/cli/commands/verify.js +7 -7
  39. package/dist/cli/commands/verify.js.map +1 -1
  40. package/dist/cli/index.js +1 -1
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/lib/architecture-pointer.d.ts +33 -5
  43. package/dist/cli/lib/architecture-pointer.d.ts.map +1 -1
  44. package/dist/cli/lib/architecture-pointer.js +304 -5
  45. package/dist/cli/lib/architecture-pointer.js.map +1 -1
  46. package/dist/cli/lib/ast-discovery.d.ts.map +1 -1
  47. package/dist/cli/lib/ast-discovery.js +7 -16
  48. package/dist/cli/lib/ast-discovery.js.map +1 -1
  49. package/dist/cli/lib/banned-import-violation.d.ts +8 -0
  50. package/dist/cli/lib/banned-import-violation.d.ts.map +1 -0
  51. package/dist/cli/lib/banned-import-violation.js +15 -0
  52. package/dist/cli/lib/banned-import-violation.js.map +1 -0
  53. package/dist/cli/lib/break-glass.d.ts +17 -0
  54. package/dist/cli/lib/break-glass.d.ts.map +1 -1
  55. package/dist/cli/lib/break-glass.js +28 -1
  56. package/dist/cli/lib/break-glass.js.map +1 -1
  57. package/dist/cli/lib/cli-io.d.ts +8 -0
  58. package/dist/cli/lib/cli-io.d.ts.map +1 -1
  59. package/dist/cli/lib/cli-io.js +16 -0
  60. package/dist/cli/lib/cli-io.js.map +1 -1
  61. package/dist/cli/lib/command-reporter.d.ts +3 -3
  62. package/dist/cli/lib/command-reporter.d.ts.map +1 -1
  63. package/dist/cli/lib/constants.d.ts +2 -0
  64. package/dist/cli/lib/constants.d.ts.map +1 -1
  65. package/dist/cli/lib/constants.js +2 -0
  66. package/dist/cli/lib/constants.js.map +1 -1
  67. package/dist/cli/lib/context-request.d.ts +22 -0
  68. package/dist/cli/lib/context-request.d.ts.map +1 -0
  69. package/dist/cli/lib/context-request.js +45 -0
  70. package/dist/cli/lib/context-request.js.map +1 -0
  71. package/dist/cli/lib/dirty-missions.js +1 -1
  72. package/dist/cli/lib/dirty-missions.js.map +1 -1
  73. package/dist/cli/lib/doctor.d.ts +31 -0
  74. package/dist/cli/lib/doctor.d.ts.map +1 -0
  75. package/dist/cli/lib/doctor.js +282 -0
  76. package/dist/cli/lib/doctor.js.map +1 -0
  77. package/dist/cli/lib/draft-token.js +1 -1
  78. package/dist/cli/lib/draft-token.js.map +1 -1
  79. package/dist/cli/lib/{user-error.d.ts → errors.d.ts} +20 -1
  80. package/dist/cli/lib/errors.d.ts.map +1 -0
  81. package/dist/cli/lib/{agent-error.js → errors.js} +64 -1
  82. package/dist/cli/lib/errors.js.map +1 -0
  83. package/dist/cli/lib/fix-hints.d.ts +1 -1
  84. package/dist/cli/lib/fix-hints.d.ts.map +1 -1
  85. package/dist/cli/lib/gate-work-dir.d.ts +6 -0
  86. package/dist/cli/lib/gate-work-dir.d.ts.map +1 -0
  87. package/dist/cli/lib/gate-work-dir.js +6 -0
  88. package/dist/cli/lib/gate-work-dir.js.map +1 -0
  89. package/dist/cli/lib/git-metrics.d.ts +34 -0
  90. package/dist/cli/lib/git-metrics.d.ts.map +1 -1
  91. package/dist/cli/lib/git-metrics.js +199 -3
  92. package/dist/cli/lib/git-metrics.js.map +1 -1
  93. package/dist/cli/lib/git-proof.d.ts +4 -0
  94. package/dist/cli/lib/git-proof.d.ts.map +1 -1
  95. package/dist/cli/lib/git-proof.js +22 -8
  96. package/dist/cli/lib/git-proof.js.map +1 -1
  97. package/dist/cli/lib/git-staged.d.ts +20 -0
  98. package/dist/cli/lib/git-staged.d.ts.map +1 -0
  99. package/dist/cli/lib/git-staged.js +37 -0
  100. package/dist/cli/lib/git-staged.js.map +1 -0
  101. package/dist/cli/lib/git.d.ts +25 -0
  102. package/dist/cli/lib/git.d.ts.map +1 -1
  103. package/dist/cli/lib/git.js +52 -0
  104. package/dist/cli/lib/git.js.map +1 -1
  105. package/dist/cli/lib/gxt-error-codes.d.ts +4 -0
  106. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  107. package/dist/cli/lib/gxt-error-codes.js +4 -0
  108. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  109. package/dist/cli/lib/import-scanner.d.ts +14 -0
  110. package/dist/cli/lib/import-scanner.d.ts.map +1 -0
  111. package/dist/cli/lib/import-scanner.js +67 -0
  112. package/dist/cli/lib/import-scanner.js.map +1 -0
  113. package/dist/cli/lib/{init-compose-arch-pointer.d.ts → init-compose.d.ts} +4 -1
  114. package/dist/cli/lib/init-compose.d.ts.map +1 -0
  115. package/dist/cli/lib/{init-compose-arch-pointer.js → init-compose.js} +37 -1
  116. package/dist/cli/lib/init-compose.js.map +1 -0
  117. package/dist/cli/lib/init-interactive.js +2 -2
  118. package/dist/cli/lib/init-interactive.js.map +1 -1
  119. package/dist/cli/lib/init-tutorial.d.ts.map +1 -1
  120. package/dist/cli/lib/init-tutorial.js +10 -10
  121. package/dist/cli/lib/init-tutorial.js.map +1 -1
  122. package/dist/cli/lib/kpi-engine.d.ts +34 -0
  123. package/dist/cli/lib/kpi-engine.d.ts.map +1 -0
  124. package/dist/cli/lib/kpi-engine.js +281 -0
  125. package/dist/cli/lib/kpi-engine.js.map +1 -0
  126. package/dist/cli/lib/kpi-report-stale.js +2 -2
  127. package/dist/cli/lib/kpi-report-stale.js.map +1 -1
  128. package/dist/cli/lib/kpi-scan.d.ts +2 -0
  129. package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
  130. package/dist/cli/lib/kpi-scan.js +8 -4
  131. package/dist/cli/lib/kpi-scan.js.map +1 -1
  132. package/dist/cli/lib/legislate.d.ts +39 -0
  133. package/dist/cli/lib/legislate.d.ts.map +1 -0
  134. package/dist/cli/lib/{legislate-core.js → legislate.js} +31 -6
  135. package/dist/cli/lib/legislate.js.map +1 -0
  136. package/dist/cli/lib/mcp-governance.d.ts +124 -0
  137. package/dist/cli/lib/mcp-governance.d.ts.map +1 -0
  138. package/dist/cli/lib/mcp-governance.js +231 -0
  139. package/dist/cli/lib/mcp-governance.js.map +1 -0
  140. package/dist/cli/lib/mcp-runtime.d.ts +4 -4
  141. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
  142. package/dist/cli/lib/mcp-runtime.js +3 -3
  143. package/dist/cli/lib/mcp-runtime.js.map +1 -1
  144. package/dist/cli/lib/mcp-tools-register.js +1 -2
  145. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  146. package/dist/cli/lib/mcp-upgrade.d.ts +11 -2
  147. package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
  148. package/dist/cli/lib/mcp-upgrade.js +1 -1
  149. package/dist/cli/lib/mcp-upgrade.js.map +1 -1
  150. package/dist/cli/lib/missions/formatter.d.ts +17 -0
  151. package/dist/cli/lib/missions/formatter.d.ts.map +1 -0
  152. package/dist/cli/lib/{mission-markdown.js → missions/formatter.js} +57 -2
  153. package/dist/cli/lib/missions/formatter.js.map +1 -0
  154. package/dist/cli/lib/missions/parser.d.ts +45 -0
  155. package/dist/cli/lib/missions/parser.d.ts.map +1 -0
  156. package/dist/cli/lib/missions/parser.js +270 -0
  157. package/dist/cli/lib/missions/parser.js.map +1 -0
  158. package/dist/cli/lib/{mission-schema-validate.d.ts → missions/validator.d.ts} +1 -1
  159. package/dist/cli/lib/missions/validator.d.ts.map +1 -0
  160. package/dist/cli/lib/{mission-schema-validate.js → missions/validator.js} +4 -3
  161. package/dist/cli/lib/missions/validator.js.map +1 -0
  162. package/dist/cli/lib/msn-allocate.js +3 -3
  163. package/dist/cli/lib/msn-allocate.js.map +1 -1
  164. package/dist/cli/lib/perimeter.d.ts +19 -1
  165. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  166. package/dist/cli/lib/perimeter.js +139 -51
  167. package/dist/cli/lib/perimeter.js.map +1 -1
  168. package/dist/cli/lib/register-proposals.d.ts +1 -1
  169. package/dist/cli/lib/register-proposals.d.ts.map +1 -1
  170. package/dist/cli/lib/register-proposals.js +5 -1
  171. package/dist/cli/lib/register-proposals.js.map +1 -1
  172. package/dist/cli/lib/runtime-env.js +2 -2
  173. package/dist/cli/lib/runtime-env.js.map +1 -1
  174. package/dist/cli/lib/runtime-exec.d.ts +48 -4
  175. package/dist/cli/lib/runtime-exec.d.ts.map +1 -1
  176. package/dist/cli/lib/runtime-exec.js +218 -4
  177. package/dist/cli/lib/runtime-exec.js.map +1 -1
  178. package/dist/cli/lib/staged-tmvc-guard.d.ts +26 -0
  179. package/dist/cli/lib/staged-tmvc-guard.d.ts.map +1 -0
  180. package/dist/cli/lib/staged-tmvc-guard.js +58 -0
  181. package/dist/cli/lib/staged-tmvc-guard.js.map +1 -0
  182. package/dist/cli/lib/start-orchestration.d.ts +11 -1
  183. package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
  184. package/dist/cli/lib/start-orchestration.js +105 -42
  185. package/dist/cli/lib/start-orchestration.js.map +1 -1
  186. package/dist/cli/lib/status-report.d.ts +1 -1
  187. package/dist/cli/lib/status-report.d.ts.map +1 -1
  188. package/dist/cli/lib/status-report.js +2 -2
  189. package/dist/cli/lib/status-report.js.map +1 -1
  190. package/dist/cli/lib/surgeon.d.ts +23 -0
  191. package/dist/cli/lib/surgeon.d.ts.map +1 -0
  192. package/dist/cli/lib/surgeon.js +63 -0
  193. package/dist/cli/lib/surgeon.js.map +1 -0
  194. package/dist/cli/lib/surgeons/banned-import.d.ts +4 -0
  195. package/dist/cli/lib/surgeons/banned-import.d.ts.map +1 -0
  196. package/dist/cli/lib/surgeons/banned-import.js +37 -0
  197. package/dist/cli/lib/surgeons/banned-import.js.map +1 -0
  198. package/dist/cli/lib/surgeons/import-layer.d.ts +3 -0
  199. package/dist/cli/lib/surgeons/import-layer.d.ts.map +1 -0
  200. package/dist/cli/lib/surgeons/import-layer.js +74 -0
  201. package/dist/cli/lib/surgeons/import-layer.js.map +1 -0
  202. package/dist/cli/lib/surgeons/quarantine-import.d.ts +24 -0
  203. package/dist/cli/lib/surgeons/quarantine-import.d.ts.map +1 -0
  204. package/dist/cli/lib/surgeons/quarantine-import.js +128 -0
  205. package/dist/cli/lib/surgeons/quarantine-import.js.map +1 -0
  206. package/dist/cli/lib/surgeons/registry.d.ts +22 -0
  207. package/dist/cli/lib/surgeons/registry.d.ts.map +1 -0
  208. package/dist/cli/lib/surgeons/registry.js +27 -0
  209. package/dist/cli/lib/surgeons/registry.js.map +1 -0
  210. package/dist/cli/lib/surgeons/typescript-workspace.d.ts +7 -0
  211. package/dist/cli/lib/surgeons/typescript-workspace.d.ts.map +1 -0
  212. package/dist/cli/lib/surgeons/typescript-workspace.js +41 -0
  213. package/dist/cli/lib/surgeons/typescript-workspace.js.map +1 -0
  214. package/dist/cli/lib/teacher-identity.js +1 -1
  215. package/dist/cli/lib/teacher-identity.js.map +1 -1
  216. package/dist/cli/lib/tmvc-path.d.ts +12 -0
  217. package/dist/cli/lib/tmvc-path.d.ts.map +1 -0
  218. package/dist/cli/lib/tmvc-path.js +47 -0
  219. package/dist/cli/lib/tmvc-path.js.map +1 -0
  220. package/dist/cli/lib/trace-evidence.js +1 -1
  221. package/dist/cli/lib/trace-evidence.js.map +1 -1
  222. package/dist/cli/lib/trace.d.ts +28 -1
  223. package/dist/cli/lib/trace.d.ts.map +1 -1
  224. package/dist/cli/lib/trace.js +158 -3
  225. package/dist/cli/lib/trace.js.map +1 -1
  226. package/dist/cli/lib/types.d.ts +1 -1
  227. package/dist/cli/lib/types.d.ts.map +1 -1
  228. package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
  229. package/dist/cli/lib/upgrade-apply.js +6 -2
  230. package/dist/cli/lib/upgrade-apply.js.map +1 -1
  231. package/dist/cli/lib/upgrade-plan.d.ts +19 -1
  232. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
  233. package/dist/cli/lib/upgrade-plan.js +78 -6
  234. package/dist/cli/lib/upgrade-plan.js.map +1 -1
  235. package/dist/cli/lib/verify-changed-missions.js +1 -1
  236. package/dist/cli/lib/verify-changed-missions.js.map +1 -1
  237. package/dist/cli/lib/verify-engine.d.ts +36 -6
  238. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  239. package/dist/cli/lib/verify-engine.js +35 -12
  240. package/dist/cli/lib/verify-engine.js.map +1 -1
  241. package/dist/cli/lib/{verify-result-payload.d.ts → verify-payload.d.ts} +2 -7
  242. package/dist/cli/lib/verify-payload.d.ts.map +1 -0
  243. package/dist/cli/lib/{verify-result-payload.js → verify-payload.js} +7 -11
  244. package/dist/cli/lib/verify-payload.js.map +1 -0
  245. package/dist/cli/lib/verify-present.d.ts +9 -5
  246. package/dist/cli/lib/verify-present.d.ts.map +1 -1
  247. package/dist/cli/lib/verify-present.js +101 -8
  248. package/dist/cli/lib/verify-present.js.map +1 -1
  249. package/dist/cli/lib/verify-presentation.d.ts +7 -0
  250. package/dist/cli/lib/verify-presentation.d.ts.map +1 -0
  251. package/dist/cli/lib/verify-presentation.js +4 -0
  252. package/dist/cli/lib/verify-presentation.js.map +1 -0
  253. package/dist/cli/lib/verify-remediation.d.ts +29 -3
  254. package/dist/cli/lib/verify-remediation.d.ts.map +1 -1
  255. package/dist/cli/lib/verify-remediation.js +78 -1
  256. package/dist/cli/lib/verify-remediation.js.map +1 -1
  257. package/dist/cli/lib/version.gen.d.ts +1 -1
  258. package/dist/cli/lib/version.gen.js +1 -1
  259. package/dist/cli/program-core.d.ts.map +1 -1
  260. package/dist/cli/program-core.js +9 -26
  261. package/dist/cli/program-core.js.map +1 -1
  262. package/dist/cli/program-mission.d.ts.map +1 -1
  263. package/dist/cli/program-mission.js +38 -1
  264. package/dist/cli/program-mission.js.map +1 -1
  265. package/dist/cli/program-workflow.d.ts.map +1 -1
  266. package/dist/cli/program-workflow.js +30 -20
  267. package/dist/cli/program-workflow.js.map +1 -1
  268. package/package.json +3 -2
  269. package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +1 -0
  270. package/templates/.gitagent/teacher/WORKER_LOG.template.md +1 -0
  271. package/templates/.githooks/pre-commit +26 -0
  272. package/templates/.github/workflows/gxt-validate.yml +5 -0
  273. package/templates/AGENTS.md +4 -0
  274. package/templates/integrations/asset-catalog.json +29 -28
  275. package/templates/integrations/compatibility.json +1 -1
  276. package/templates/integrations/recipes/_footer.md +4 -0
  277. package/dist/cli/lib/agent-error.d.ts +0 -20
  278. package/dist/cli/lib/agent-error.d.ts.map +0 -1
  279. package/dist/cli/lib/agent-error.js.map +0 -1
  280. package/dist/cli/lib/architecture-pointer-discovery.d.ts +0 -7
  281. package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +0 -1
  282. package/dist/cli/lib/architecture-pointer-discovery.js +0 -60
  283. package/dist/cli/lib/architecture-pointer-discovery.js.map +0 -1
  284. package/dist/cli/lib/architecture-pointer-doctor.d.ts +0 -3
  285. package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +0 -1
  286. package/dist/cli/lib/architecture-pointer-doctor.js +0 -115
  287. package/dist/cli/lib/architecture-pointer-doctor.js.map +0 -1
  288. package/dist/cli/lib/architecture-pointer-schema.d.ts +0 -5
  289. package/dist/cli/lib/architecture-pointer-schema.d.ts.map +0 -1
  290. package/dist/cli/lib/architecture-pointer-schema.js +0 -138
  291. package/dist/cli/lib/architecture-pointer-schema.js.map +0 -1
  292. package/dist/cli/lib/architecture-pointer-types.d.ts +0 -24
  293. package/dist/cli/lib/architecture-pointer-types.d.ts.map +0 -1
  294. package/dist/cli/lib/architecture-pointer-types.js +0 -7
  295. package/dist/cli/lib/architecture-pointer-types.js.map +0 -1
  296. package/dist/cli/lib/break-glass-flow.d.ts +0 -18
  297. package/dist/cli/lib/break-glass-flow.d.ts.map +0 -1
  298. package/dist/cli/lib/break-glass-flow.js +0 -29
  299. package/dist/cli/lib/break-glass-flow.js.map +0 -1
  300. package/dist/cli/lib/cli-timeout.d.ts +0 -9
  301. package/dist/cli/lib/cli-timeout.d.ts.map +0 -1
  302. package/dist/cli/lib/cli-timeout.js +0 -17
  303. package/dist/cli/lib/cli-timeout.js.map +0 -1
  304. package/dist/cli/lib/doctor-checks.d.ts +0 -16
  305. package/dist/cli/lib/doctor-checks.d.ts.map +0 -1
  306. package/dist/cli/lib/doctor-checks.js +0 -138
  307. package/dist/cli/lib/doctor-checks.js.map +0 -1
  308. package/dist/cli/lib/doctor-integration-checks.d.ts +0 -5
  309. package/dist/cli/lib/doctor-integration-checks.d.ts.map +0 -1
  310. package/dist/cli/lib/doctor-integration-checks.js +0 -89
  311. package/dist/cli/lib/doctor-integration-checks.js.map +0 -1
  312. package/dist/cli/lib/doctor-orchestration.d.ts +0 -10
  313. package/dist/cli/lib/doctor-orchestration.d.ts.map +0 -1
  314. package/dist/cli/lib/doctor-orchestration.js +0 -32
  315. package/dist/cli/lib/doctor-orchestration.js.map +0 -1
  316. package/dist/cli/lib/doctor-substrate-drift.d.ts +0 -7
  317. package/dist/cli/lib/doctor-substrate-drift.d.ts.map +0 -1
  318. package/dist/cli/lib/doctor-substrate-drift.js +0 -35
  319. package/dist/cli/lib/doctor-substrate-drift.js.map +0 -1
  320. package/dist/cli/lib/git-metrics-missions.d.ts +0 -3
  321. package/dist/cli/lib/git-metrics-missions.d.ts.map +0 -1
  322. package/dist/cli/lib/git-metrics-missions.js +0 -51
  323. package/dist/cli/lib/git-metrics-missions.js.map +0 -1
  324. package/dist/cli/lib/git-metrics-stream.d.ts +0 -24
  325. package/dist/cli/lib/git-metrics-stream.d.ts.map +0 -1
  326. package/dist/cli/lib/git-metrics-stream.js +0 -137
  327. package/dist/cli/lib/git-metrics-stream.js.map +0 -1
  328. package/dist/cli/lib/git-repo.d.ts +0 -26
  329. package/dist/cli/lib/git-repo.d.ts.map +0 -1
  330. package/dist/cli/lib/git-repo.js +0 -53
  331. package/dist/cli/lib/git-repo.js.map +0 -1
  332. package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +0 -1
  333. package/dist/cli/lib/init-compose-arch-pointer.js.map +0 -1
  334. package/dist/cli/lib/init-compose-doc.d.ts +0 -5
  335. package/dist/cli/lib/init-compose-doc.d.ts.map +0 -1
  336. package/dist/cli/lib/init-compose-doc.js +0 -37
  337. package/dist/cli/lib/init-compose-doc.js.map +0 -1
  338. package/dist/cli/lib/kpi-phase.d.ts +0 -7
  339. package/dist/cli/lib/kpi-phase.d.ts.map +0 -1
  340. package/dist/cli/lib/kpi-phase.js +0 -80
  341. package/dist/cli/lib/kpi-phase.js.map +0 -1
  342. package/dist/cli/lib/kpi-report.d.ts +0 -13
  343. package/dist/cli/lib/kpi-report.d.ts.map +0 -1
  344. package/dist/cli/lib/kpi-report.js +0 -115
  345. package/dist/cli/lib/kpi-report.js.map +0 -1
  346. package/dist/cli/lib/legislate-core.d.ts +0 -21
  347. package/dist/cli/lib/legislate-core.d.ts.map +0 -1
  348. package/dist/cli/lib/legislate-core.js.map +0 -1
  349. package/dist/cli/lib/legislate-skill.d.ts +0 -20
  350. package/dist/cli/lib/legislate-skill.d.ts.map +0 -1
  351. package/dist/cli/lib/legislate-skill.js +0 -30
  352. package/dist/cli/lib/legislate-skill.js.map +0 -1
  353. package/dist/cli/lib/mcp-legislation-draft.d.ts +0 -6
  354. package/dist/cli/lib/mcp-legislation-draft.d.ts.map +0 -1
  355. package/dist/cli/lib/mcp-legislation-draft.js +0 -62
  356. package/dist/cli/lib/mcp-legislation-draft.js.map +0 -1
  357. package/dist/cli/lib/mcp-legislation-execute.d.ts +0 -6
  358. package/dist/cli/lib/mcp-legislation-execute.d.ts.map +0 -1
  359. package/dist/cli/lib/mcp-legislation-execute.js +0 -43
  360. package/dist/cli/lib/mcp-legislation-execute.js.map +0 -1
  361. package/dist/cli/lib/mcp-legislation-mission.d.ts +0 -12
  362. package/dist/cli/lib/mcp-legislation-mission.d.ts.map +0 -1
  363. package/dist/cli/lib/mcp-legislation-mission.js +0 -82
  364. package/dist/cli/lib/mcp-legislation-mission.js.map +0 -1
  365. package/dist/cli/lib/mcp-legislation-types.d.ts +0 -69
  366. package/dist/cli/lib/mcp-legislation-types.d.ts.map +0 -1
  367. package/dist/cli/lib/mcp-legislation-types.js +0 -4
  368. package/dist/cli/lib/mcp-legislation-types.js.map +0 -1
  369. package/dist/cli/lib/mcp-legislation.d.ts +0 -5
  370. package/dist/cli/lib/mcp-legislation.d.ts.map +0 -1
  371. package/dist/cli/lib/mcp-legislation.js +0 -4
  372. package/dist/cli/lib/mcp-legislation.js.map +0 -1
  373. package/dist/cli/lib/mcp-orchestration-types.d.ts +0 -28
  374. package/dist/cli/lib/mcp-orchestration-types.d.ts.map +0 -1
  375. package/dist/cli/lib/mcp-orchestration-types.js +0 -2
  376. package/dist/cli/lib/mcp-orchestration-types.js.map +0 -1
  377. package/dist/cli/lib/mcp-orchestration.d.ts +0 -14
  378. package/dist/cli/lib/mcp-orchestration.d.ts.map +0 -1
  379. package/dist/cli/lib/mcp-orchestration.js +0 -54
  380. package/dist/cli/lib/mcp-orchestration.js.map +0 -1
  381. package/dist/cli/lib/mcp-upgrade-types.d.ts +0 -12
  382. package/dist/cli/lib/mcp-upgrade-types.d.ts.map +0 -1
  383. package/dist/cli/lib/mcp-upgrade-types.js +0 -2
  384. package/dist/cli/lib/mcp-upgrade-types.js.map +0 -1
  385. package/dist/cli/lib/mission-emit.d.ts +0 -7
  386. package/dist/cli/lib/mission-emit.d.ts.map +0 -1
  387. package/dist/cli/lib/mission-emit.js +0 -23
  388. package/dist/cli/lib/mission-emit.js.map +0 -1
  389. package/dist/cli/lib/mission-legislative-stub.d.ts +0 -9
  390. package/dist/cli/lib/mission-legislative-stub.d.ts.map +0 -1
  391. package/dist/cli/lib/mission-legislative-stub.js +0 -37
  392. package/dist/cli/lib/mission-legislative-stub.js.map +0 -1
  393. package/dist/cli/lib/mission-markdown.d.ts +0 -6
  394. package/dist/cli/lib/mission-markdown.d.ts.map +0 -1
  395. package/dist/cli/lib/mission-markdown.js.map +0 -1
  396. package/dist/cli/lib/mission-msn.d.ts +0 -9
  397. package/dist/cli/lib/mission-msn.d.ts.map +0 -1
  398. package/dist/cli/lib/mission-msn.js +0 -86
  399. package/dist/cli/lib/mission-msn.js.map +0 -1
  400. package/dist/cli/lib/mission-parser.d.ts +0 -6
  401. package/dist/cli/lib/mission-parser.d.ts.map +0 -1
  402. package/dist/cli/lib/mission-parser.js +0 -29
  403. package/dist/cli/lib/mission-parser.js.map +0 -1
  404. package/dist/cli/lib/mission-path.d.ts +0 -4
  405. package/dist/cli/lib/mission-path.d.ts.map +0 -1
  406. package/dist/cli/lib/mission-path.js +0 -28
  407. package/dist/cli/lib/mission-path.js.map +0 -1
  408. package/dist/cli/lib/mission-resolution.d.ts +0 -14
  409. package/dist/cli/lib/mission-resolution.d.ts.map +0 -1
  410. package/dist/cli/lib/mission-resolution.js +0 -60
  411. package/dist/cli/lib/mission-resolution.js.map +0 -1
  412. package/dist/cli/lib/mission-schema-validate.d.ts.map +0 -1
  413. package/dist/cli/lib/mission-schema-validate.js.map +0 -1
  414. package/dist/cli/lib/mission-yaml.d.ts +0 -18
  415. package/dist/cli/lib/mission-yaml.d.ts.map +0 -1
  416. package/dist/cli/lib/mission-yaml.js +0 -228
  417. package/dist/cli/lib/mission-yaml.js.map +0 -1
  418. package/dist/cli/lib/register-proposals-format.d.ts +0 -2
  419. package/dist/cli/lib/register-proposals-format.d.ts.map +0 -1
  420. package/dist/cli/lib/register-proposals-format.js +0 -6
  421. package/dist/cli/lib/register-proposals-format.js.map +0 -1
  422. package/dist/cli/lib/runtime-exec-orchestrator.d.ts +0 -14
  423. package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +0 -1
  424. package/dist/cli/lib/runtime-exec-orchestrator.js +0 -132
  425. package/dist/cli/lib/runtime-exec-orchestrator.js.map +0 -1
  426. package/dist/cli/lib/runtime-exec-result.d.ts +0 -21
  427. package/dist/cli/lib/runtime-exec-result.d.ts.map +0 -1
  428. package/dist/cli/lib/runtime-exec-result.js +0 -42
  429. package/dist/cli/lib/runtime-exec-result.js.map +0 -1
  430. package/dist/cli/lib/runtime-exec-worker.d.ts +0 -18
  431. package/dist/cli/lib/runtime-exec-worker.d.ts.map +0 -1
  432. package/dist/cli/lib/runtime-exec-worker.js +0 -49
  433. package/dist/cli/lib/runtime-exec-worker.js.map +0 -1
  434. package/dist/cli/lib/start-state.d.ts +0 -12
  435. package/dist/cli/lib/start-state.d.ts.map +0 -1
  436. package/dist/cli/lib/start-state.js +0 -86
  437. package/dist/cli/lib/start-state.js.map +0 -1
  438. package/dist/cli/lib/trace-failure-kind.d.ts +0 -4
  439. package/dist/cli/lib/trace-failure-kind.d.ts.map +0 -1
  440. package/dist/cli/lib/trace-failure-kind.js +0 -25
  441. package/dist/cli/lib/trace-failure-kind.js.map +0 -1
  442. package/dist/cli/lib/trace-status.d.ts +0 -7
  443. package/dist/cli/lib/trace-status.d.ts.map +0 -1
  444. package/dist/cli/lib/trace-status.js +0 -20
  445. package/dist/cli/lib/trace-status.js.map +0 -1
  446. package/dist/cli/lib/upgrade-eligible-assets.d.ts +0 -5
  447. package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +0 -1
  448. package/dist/cli/lib/upgrade-eligible-assets.js +0 -9
  449. package/dist/cli/lib/upgrade-eligible-assets.js.map +0 -1
  450. package/dist/cli/lib/upgrade-plan-preview.d.ts +0 -13
  451. package/dist/cli/lib/upgrade-plan-preview.d.ts.map +0 -1
  452. package/dist/cli/lib/upgrade-plan-preview.js +0 -51
  453. package/dist/cli/lib/upgrade-plan-preview.js.map +0 -1
  454. package/dist/cli/lib/upgrade-profile.d.ts +0 -4
  455. package/dist/cli/lib/upgrade-profile.d.ts.map +0 -1
  456. package/dist/cli/lib/upgrade-profile.js +0 -27
  457. package/dist/cli/lib/upgrade-profile.js.map +0 -1
  458. package/dist/cli/lib/user-error.d.ts.map +0 -1
  459. package/dist/cli/lib/user-error.js +0 -64
  460. package/dist/cli/lib/user-error.js.map +0 -1
  461. package/dist/cli/lib/verify-failure-presentation.d.ts +0 -30
  462. package/dist/cli/lib/verify-failure-presentation.d.ts.map +0 -1
  463. package/dist/cli/lib/verify-failure-presentation.js +0 -68
  464. package/dist/cli/lib/verify-failure-presentation.js.map +0 -1
  465. package/dist/cli/lib/verify-result-payload.d.ts.map +0 -1
  466. package/dist/cli/lib/verify-result-payload.js.map +0 -1
  467. package/dist/cli/lib/verify-run.d.ts +0 -10
  468. package/dist/cli/lib/verify-run.d.ts.map +0 -1
  469. package/dist/cli/lib/verify-run.js +0 -55
  470. package/dist/cli/lib/verify-run.js.map +0 -1
  471. package/dist/cli/lib/verify-types.d.ts +0 -31
  472. package/dist/cli/lib/verify-types.d.ts.map +0 -1
  473. package/dist/cli/lib/verify-types.js +0 -2
  474. package/dist/cli/lib/verify-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"break-glass.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/break-glass.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AACnE,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAI5D,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwBD,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgBnE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ3E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAmB/E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAI9E;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAMN;AAiBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,MAAM,CAwBR"}
1
+ {"version":3,"file":"break-glass.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/break-glass.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AACnE,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAI5D,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwBD,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgBnE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ3E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAmB/E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAI9E;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAMN;AAiBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,MAAM,CAwBR;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAE7E,yEAAyE;AACzE,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,aAAa,GACrB,sBAAsB,CAuBxB"}
@@ -2,7 +2,8 @@ import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { CLI_NAME } from "./constants.js";
5
- import { gitHead, gitRevParse, gitRun } from "./git-repo.js";
5
+ import { toPosixRel } from "./cli-io.js";
6
+ import { gitHead, gitRevParse, gitRun } from "./git.js";
6
7
  export const ENV_BYPASS_SECRET = "GXT_BYPASS_SECRET";
7
8
  export const REL_BYPASS_SHA256 = ".gitagent/foreman/BYPASS.sha256";
8
9
  export const GXT_BYPASS_NOTES_REF = "refs/notes/gxt-bypass";
@@ -131,4 +132,30 @@ export function runBreakGlassAudit(root, options) {
131
132
  writeBypassGitNote(root, commitSha, payload);
132
133
  return commitSha;
133
134
  }
135
+ /** Single break-glass audit path shared by human and JSON presenters. */
136
+ export function runBreakGlassAuditFlow(root, mission, options) {
137
+ try {
138
+ const reason = validateBreakGlassReason(options.breakGlassReason);
139
+ assertBypassSecretAuthorized(root);
140
+ const missionRel = toPosixRel(root, mission.rawPath);
141
+ const commitSha = runBreakGlassAudit(root, {
142
+ reason,
143
+ msnId: mission.msnId,
144
+ missionFile: missionRel,
145
+ commit: options.breakGlassCommit,
146
+ auditCommit: options.auditCommit === true,
147
+ });
148
+ return {
149
+ kind: "ok",
150
+ missionRel,
151
+ commitSha,
152
+ reason,
153
+ msnId: mission.msnId ?? undefined,
154
+ auditCommit: options.auditCommit === true,
155
+ };
156
+ }
157
+ catch (error) {
158
+ return { kind: "fail", error };
159
+ }
160
+ }
134
161
  //# sourceMappingURL=break-glass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"break-glass.js","sourceRoot":"","sources":["../../../src/cli/lib/break-glass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"break-glass.js","sourceRoot":"","sources":["../../../src/cli/lib/break-glass.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,12 @@ export declare function errorMessage(e: unknown): string;
13
13
  /** Absolute path under repo root from a POSIX repo-relative segment. */
14
14
  export declare function repoAbsPath(repoRoot: string, posixRel: string): string;
15
15
  export declare function setExitCode(code: number): void;
16
+ /** Strict `--timeout-ms` parsing for CLI boundary (reject NaN/non-integer junk). */
17
+ export declare function parseOptionalTimeoutMs(raw: string | undefined): {
18
+ ok: true;
19
+ ms: number | undefined;
20
+ } | {
21
+ ok: false;
22
+ message: string;
23
+ };
16
24
  //# sourceMappingURL=cli-io.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAWlE;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}
1
+ {"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAWlE;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAYvE"}
@@ -50,4 +50,20 @@ export function repoAbsPath(repoRoot, posixRel) {
50
50
  export function setExitCode(code) {
51
51
  process.exitCode = code;
52
52
  }
53
+ /** Strict `--timeout-ms` parsing for CLI boundary (reject NaN/non-integer junk). */
54
+ export function parseOptionalTimeoutMs(raw) {
55
+ if (raw === undefined)
56
+ return { ok: true, ms: undefined };
57
+ const t = raw.trim();
58
+ if (t === "")
59
+ return { ok: true, ms: undefined };
60
+ if (!/^\d+$/.test(t)) {
61
+ return {
62
+ ok: false,
63
+ message: "gapman: runtime exec: --timeout-ms must be a non-negative integer",
64
+ };
65
+ }
66
+ const n = Number.parseInt(t, 10);
67
+ return { ok: true, ms: Number.isFinite(n) ? n : undefined };
68
+ }
53
69
  //# sourceMappingURL=cli-io.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io.js","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEtF,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,cAAc,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,SAAmB;IAC1D,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,KAAK,CACX,GAAG,GAAG,GAAG,QAAQ,oEAAoE,KAAK,EAAE,CAC7F,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,YAAoB;IAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,YAAoB;IACvE,OAAO,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAgB;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"cli-io.js","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { type OutputAudience } from "./audience-output.js";
2
2
  import type { VerifyPhaseSuccess } from "./verify-engine.js";
3
- import type { VerifyFailurePresentation } from "./verify-failure-presentation.js";
4
- import type { VerifyResultPayload } from "./verify-result-payload.js";
5
- import type { AudienceTaggedStep } from "./verify-remediation.js";
3
+ import type { VerifyFailurePresentation } from "./verify-presentation.js";
4
+ import type { VerifyResultPayload } from "./verify-presentation.js";
5
+ import type { AudienceTaggedStep } from "./verify-presentation.js";
6
6
  export type CommandReporterChannel = "human" | "json" | "silent";
7
7
  export interface CommandReporterOptions {
8
8
  channel?: CommandReporterChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"command-reporter.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;gBAElC,OAAO,GAAE,sBAA2B;IAKhD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,eAAe;IAUzF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKnD,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IA6BxE,uBAAuB,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI;IAatE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI;CAiBpE"}
1
+ {"version":3,"file":"command-reporter.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;gBAElC,OAAO,GAAE,sBAA2B;IAKhD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,eAAe;IAUzF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKnD,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IA6BxE,uBAAuB,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI;IAatE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI;CAiBpE"}
@@ -19,6 +19,8 @@ export declare const REL_AGENT_ERROR_FILE: ".gitagent/history/.ignored-last-erro
19
19
  export declare const REL_OUT_OF_SCOPE_DIR: ".gitagent/out-of-scope";
20
20
  export declare const SKILLS_DIR_NAME: "skills";
21
21
  export declare const WORKER_LOG_FILENAME: "WORKER_LOG.md";
22
+ /** Default trace quote emitted by `gapman legislate` before worker execution. */
23
+ export declare const LEGISLATE_TRACE_PLACEHOLDER: "REPLACE_WITH_VERBATIM_QUOTE_FROM_WORKER_LOG_AFTER_EXECUTION";
22
24
  /** Default path for `--emit-mission` (must stay under `.gitagent/missions/` for `gapman verify` git-proof). */
23
25
  export declare const DEFAULT_ACTIVE_MISSION: ".gitagent/missions/ACTIVE_MISSION.md";
24
26
  /** Mission id in commits / missions (four digits) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,EAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,EAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,eAAO,MAAM,gCAAgC,EAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,eAAO,MAAM,gCAAgC,EAAG,+BAAwC,CAAC;AACzF,eAAO,MAAM,kBAAkB,EAAG,uCAAgD,CAAC;AACnF,eAAO,MAAM,qBAAqB,EAAG,0CAAmD,CAAC;AACzF,eAAO,MAAM,sBAAsB,EAAG,eAAwB,CAAC;AAC/D,eAAO,MAAM,oBAAoB,EAAG,uCAAgD,CAAC;AACrF,eAAO,MAAM,eAAe,EAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,EAAG,wBAAiC,CAAC;AACtE,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,EAAG,eAAwB,CAAC;AAC5D,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,EAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,cAAc,QAAgB,CAAC;AAE5C,eAAO,MAAM,QAAQ,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,EAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,EAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,eAAO,MAAM,gCAAgC,EAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,eAAO,MAAM,gCAAgC,EAAG,+BAAwC,CAAC;AACzF,eAAO,MAAM,kBAAkB,EAAG,uCAAgD,CAAC;AACnF,eAAO,MAAM,qBAAqB,EAAG,0CAAmD,CAAC;AACzF,eAAO,MAAM,sBAAsB,EAAG,eAAwB,CAAC;AAC/D,eAAO,MAAM,oBAAoB,EAAG,uCAAgD,CAAC;AACrF,eAAO,MAAM,eAAe,EAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,EAAG,wBAAiC,CAAC;AACtE,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,EAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,EACtC,6DAAsE,CAAC;AACzE,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,EAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,cAAc,QAAgB,CAAC;AAE5C,eAAO,MAAM,QAAQ,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -19,6 +19,8 @@ export const REL_AGENT_ERROR_FILE = ".gitagent/history/.ignored-last-error.json"
19
19
  export const REL_OUT_OF_SCOPE_DIR = ".gitagent/out-of-scope";
20
20
  export const SKILLS_DIR_NAME = "skills";
21
21
  export const WORKER_LOG_FILENAME = "WORKER_LOG.md";
22
+ /** Default trace quote emitted by `gapman legislate` before worker execution. */
23
+ export const LEGISLATE_TRACE_PLACEHOLDER = "REPLACE_WITH_VERBATIM_QUOTE_FROM_WORKER_LOG_AFTER_EXECUTION";
22
24
  /** Default path for `--emit-mission` (must stay under `.gitagent/missions/` for `gapman verify` git-proof). */
23
25
  export const DEFAULT_ACTIVE_MISSION = ".gitagent/missions/ACTIVE_MISSION.md";
24
26
  /** Mission id in commits / missions (four digits) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,MAAM,CAAC,MAAM,gCAAgC,GAAG,+BAAwC,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAgD,CAAC;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAAmD,CAAC;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAgD,CAAC;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAAqD,CAAC;AAC1F,sGAAsG;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAiC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAwB,CAAC;AAC5D,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,MAAM,CAAC,MAAM,gCAAgC,GAAG,+BAAwC,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAgD,CAAC;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAAmD,CAAC;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAgD,CAAC;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAAqD,CAAC;AAC1F,sGAAsG;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAiC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GACtC,6DAAsE,CAAC;AACzE,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type ContextRequestStatus = "PENDING" | "ACCEPTED" | "REJECTED";
2
+ export interface ContextRequestEntry {
3
+ status: ContextRequestStatus;
4
+ paths: string[];
5
+ reason: string;
6
+ proposed?: string[];
7
+ msnId?: string;
8
+ }
9
+ export interface AppendContextRequestOptions {
10
+ workerLogPath: string;
11
+ entry: ContextRequestEntry;
12
+ }
13
+ /** Grep-friendly single-line WORKER_LOG scaffold per RULES §4. */
14
+ export declare function formatContextRequestLine(entry: ContextRequestEntry): string;
15
+ export declare function appendContextRequest(options: AppendContextRequestOptions): string;
16
+ export declare function workerLogRepoRelative(repoRoot: string, workerLogPath: string): string;
17
+ export declare function stageWorkerLogIfRequested(repoRoot: string, workerLogPath: string, stage: boolean): {
18
+ staged: boolean;
19
+ repoRel: string;
20
+ stderr: string;
21
+ };
22
+ //# sourceMappingURL=context-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-request.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAMD,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAU3E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAOjF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO,GACb;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOtD"}
@@ -0,0 +1,45 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { toPosixRel } from "./cli-io.js";
4
+ import { WORKER_LOG_FILENAME } from "./constants.js";
5
+ import { gitStagePath } from "./git-staged.js";
6
+ import { ensureWorkerLogExists } from "./surgeon.js";
7
+ function formatPathList(paths) {
8
+ return paths.map((p) => `\`${p}\``).join(", ");
9
+ }
10
+ /** Grep-friendly single-line WORKER_LOG scaffold per RULES §4. */
11
+ export function formatContextRequestLine(entry) {
12
+ const pathsPart = formatPathList(entry.paths);
13
+ let line = `- Context Request ${entry.status}: ${pathsPart} — ${entry.reason.trim()}`;
14
+ if (entry.proposed && entry.proposed.length > 0) {
15
+ line += ` | proposed: ${formatPathList(entry.proposed)}`;
16
+ }
17
+ if (entry.msnId?.trim()) {
18
+ line += ` | msn=${entry.msnId.trim()}`;
19
+ }
20
+ return line;
21
+ }
22
+ export function appendContextRequest(options) {
23
+ const { workerLogPath, entry } = options;
24
+ ensureWorkerLogExists(workerLogPath);
25
+ const line = formatContextRequestLine(entry);
26
+ const suffix = line.endsWith("\n") ? line : `${line}\n`;
27
+ fs.appendFileSync(workerLogPath, suffix, { encoding: "utf8" });
28
+ return line;
29
+ }
30
+ export function workerLogRepoRelative(repoRoot, workerLogPath) {
31
+ const abs = path.resolve(workerLogPath);
32
+ const rel = toPosixRel(repoRoot, abs);
33
+ if (rel.length > 0 && !rel.startsWith(".."))
34
+ return rel;
35
+ return WORKER_LOG_FILENAME;
36
+ }
37
+ export function stageWorkerLogIfRequested(repoRoot, workerLogPath, stage) {
38
+ const repoRel = workerLogRepoRelative(repoRoot, workerLogPath);
39
+ if (!stage) {
40
+ return { staged: false, repoRel, stderr: "" };
41
+ }
42
+ const r = gitStagePath(repoRoot, repoRel);
43
+ return { staged: r.ok, repoRel, stderr: r.stderr };
44
+ }
45
+ //# sourceMappingURL=context-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-request.js","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAiBrD,SAAS,cAAc,CAAC,KAAwB;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,wBAAwB,CAAC,KAA0B;IACjE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,IAAI,GAAG,qBAAqB,KAAK,CAAC,MAAM,KAAK,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,gBAAgB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoC;IACvE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;IACxD,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,aAAqB;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACxD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAChB,aAAqB,EACrB,KAAc;IAEd,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- import { gitRunOk } from "./git-repo.js";
2
+ import { gitRunOk } from "./git.js";
3
3
  const MISSIONS_PREFIX = ".gitagent/missions/";
4
4
  /** Docs under missions/ are not gapman verify targets (no gate/trace contract). */
5
5
  const NON_VERIFIABLE_BASENAMES = new Set(["README.md"]);
@@ -1 +1 @@
1
- {"version":3,"file":"dirty-missions.js","sourceRoot":"","sources":["../../../src/cli/lib/dirty-missions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAE9C,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAExD,gGAAgG;AAChG,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACvE,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE;QAC9B,WAAW;QACX,cAAc;QACd,sBAAsB;QACtB,aAAa;KACd,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAgB;IACtE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE;QAC3B,MAAM;QACN,aAAa;QACb,qBAAqB;QACrB,GAAG,IAAI,QAAQ;QACf,IAAI;QACJ,eAAe;KAChB,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM;SACnB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAgB,EAAE,OAAgB;IAC9E,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dirty-missions.js","sourceRoot":"","sources":["../../../src/cli/lib/dirty-missions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { INTEGRATION_IDE_KEYS, loadIntegrationCompat, integrationWizardLabel } from "./integration-compat.js";
2
+ import type { Manifest } from "./types.js";
3
+ export type DoctorLevel = "ok" | "warn" | "fail";
4
+ export interface DoctorLine {
5
+ level: DoctorLevel;
6
+ message: string;
7
+ }
8
+ export interface DoctorCheckResult {
9
+ lines: DoctorLine[];
10
+ hasFail: boolean;
11
+ nextStep: string | null;
12
+ teacherAllowlistUnset: boolean;
13
+ }
14
+ export interface DoctorReport {
15
+ lines: DoctorLine[];
16
+ hasFail: boolean;
17
+ nextStep: string | null;
18
+ teacherAllowlistUnset: boolean;
19
+ }
20
+ export interface SubstrateDriftDoctorResult {
21
+ lines: DoctorLine[];
22
+ nextStep: string | null;
23
+ }
24
+ export declare function pickNextStep(current: string | null, candidate: string): string | null;
25
+ export declare function doctorLinesHasFail(lines: DoctorLine[]): boolean;
26
+ export declare function runDoctorChecks(root: string, manifest: Manifest): DoctorCheckResult;
27
+ export declare function runIntegrationDoctorChecks(repoRoot: string, templatesRoot: string): DoctorLine[];
28
+ export { integrationWizardLabel, INTEGRATION_IDE_KEYS, loadIntegrationCompat };
29
+ export declare function runSubstrateDriftDoctorChecks(repoRoot: string, templatesRoot: string): SubstrateDriftDoctorResult;
30
+ export declare function collectDoctorReport(root: string, manifest: Manifest, templatesRoot?: string): DoctorReport;
31
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/doctor.ts"],"names":[],"mappings":"AASA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EAGvB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAcD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAE/D;AA2FD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CA6BnF;AAoCD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAsDhG;AAED,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAE/E,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,0BAA0B,CA+B5B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,YAAY,CAwBd"}
@@ -0,0 +1,282 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { spawnSync } from "node:child_process";
4
+ import { runArchitecturePointerDoctorChecks } from "./architecture-pointer.js";
5
+ import { ENV_BYPASS_SECRET, isBypassSecretAuthorized, REL_BYPASS_SHA256 } from "./break-glass.js";
6
+ import { errorMessage } from "./cli-io.js";
7
+ import { REL_AGENT_ERROR_FILE, REL_MANIFEST, NPM_PACKAGE_NAME } from "./constants.js";
8
+ import { agentErrorAbsolutePath } from "./errors.js";
9
+ import { gitConfigGet } from "./git.js";
10
+ import { INTEGRATION_IDE_KEYS, loadIntegrationCompat, integrationWizardLabel, resolveTemplateRootFromModule, } from "./integration-compat.js";
11
+ import { resolveTeacherEmails } from "./teacher-identity.js";
12
+ import { checkSkillManifestSync } from "./skill-sync.js";
13
+ import { compareSemver, legacyVersionWarning, readInstalledSubstrateVersion, } from "./substrate-version.js";
14
+ function readBypassAnchorState(repoRoot) {
15
+ const p = path.join(repoRoot, REL_BYPASS_SHA256);
16
+ if (!fs.existsSync(p))
17
+ return "missing";
18
+ const raw = fs.readFileSync(p, "utf8");
19
+ if (/^[a-f0-9]{64}$/im.test(raw))
20
+ return "configured";
21
+ return "placeholder";
22
+ }
23
+ function readHooksPath(repoRoot) {
24
+ return gitConfigGet(repoRoot, "core.hooksPath");
25
+ }
26
+ export function pickNextStep(current, candidate) {
27
+ return current ?? candidate;
28
+ }
29
+ export function doctorLinesHasFail(lines) {
30
+ return lines.some((line) => line.level === "fail");
31
+ }
32
+ function appendTeacherAllowlistChecks(root, lines, nextStep) {
33
+ const teacherIdentity = resolveTeacherEmails(root);
34
+ if (teacherIdentity.emails.length > 0) {
35
+ lines.push({
36
+ level: "ok",
37
+ message: `Teacher allowlist (${teacherIdentity.source}): ${teacherIdentity.emails.join(", ")}`,
38
+ });
39
+ if (teacherIdentity.source === "env") {
40
+ lines.push({
41
+ level: "warn",
42
+ message: "Teacher identity from GAPMAN_TEACHER_EMAILS env — prefer repo-local .gitagent/foreman/TEACHER.allowlist.local when working across projects",
43
+ });
44
+ }
45
+ return { nextStep, teacherAllowlistUnset: false };
46
+ }
47
+ lines.push({ level: "warn", message: "Teacher allowlist unset — verify git-proof will fail" });
48
+ nextStep = pickNextStep(nextStep, 'gapman teacher set "$(git config user.email)"');
49
+ return { nextStep, teacherAllowlistUnset: true };
50
+ }
51
+ function appendBypassChecks(root, lines) {
52
+ const bypassState = readBypassAnchorState(root);
53
+ if (bypassState === "configured") {
54
+ lines.push({ level: "ok", message: "BYPASS.sha256 anchor present" });
55
+ const secret = process.env[ENV_BYPASS_SECRET];
56
+ if (secret?.length) {
57
+ const authorized = isBypassSecretAuthorized(root);
58
+ lines.push({
59
+ level: authorized ? "ok" : "warn",
60
+ message: authorized
61
+ ? "bypass: GXT_BYPASS_SECRET matches anchor"
62
+ : "bypass: GXT_BYPASS_SECRET does NOT match anchor",
63
+ });
64
+ }
65
+ else {
66
+ lines.push({ level: "warn", message: "bypass: GXT_BYPASS_SECRET unset (expected unless in emergency)" });
67
+ }
68
+ }
69
+ else if (bypassState === "placeholder") {
70
+ lines.push({ level: "warn", message: "BYPASS.sha256 has no hash line — break-glass not provisioned" });
71
+ }
72
+ else {
73
+ lines.push({ level: "warn", message: `${REL_BYPASS_SHA256} missing` });
74
+ }
75
+ }
76
+ function appendHooksAndExampleMissionChecks(root, lines, nextStep) {
77
+ const hooks = readHooksPath(root);
78
+ if (hooks === ".githooks") {
79
+ lines.push({ level: "ok", message: "core.hooksPath=.githooks" });
80
+ }
81
+ else if (hooks) {
82
+ lines.push({ level: "warn", message: `core.hooksPath=${hooks} (expected .githooks for GXT hooks)` });
83
+ }
84
+ else {
85
+ lines.push({ level: "warn", message: "core.hooksPath unset — run: git config core.hooksPath .githooks" });
86
+ }
87
+ const exampleMission = ".gitagent/missions/example.verify.yaml";
88
+ const teacherIdentity = resolveTeacherEmails(root);
89
+ if (fs.existsSync(path.join(root, exampleMission))) {
90
+ lines.push({ level: "ok", message: `example mission: ${exampleMission}` });
91
+ if (teacherIdentity.emails.length > 0) {
92
+ nextStep = pickNextStep(nextStep, `gapman verify --mission ${exampleMission}`);
93
+ }
94
+ }
95
+ else {
96
+ lines.push({ level: "warn", message: "no example.verify.yaml — legislate a mission first" });
97
+ nextStep = pickNextStep(nextStep, 'gapman legislate "<intent>" --msn MSN-0001 --skill-key <key>');
98
+ }
99
+ return nextStep;
100
+ }
101
+ function appendAgentErrorCheck(root, lines) {
102
+ const errPath = agentErrorAbsolutePath(root);
103
+ if (!fs.existsSync(errPath))
104
+ return;
105
+ try {
106
+ const payload = JSON.parse(fs.readFileSync(errPath, "utf8"));
107
+ const summary = typeof payload.summary === "string" ? payload.summary : "(no summary)";
108
+ lines.push({ level: "warn", message: `last agent error: ${summary}` });
109
+ lines.push({ level: "warn", message: ` file: ${REL_AGENT_ERROR_FILE}` });
110
+ }
111
+ catch {
112
+ lines.push({ level: "warn", message: `stale ${REL_AGENT_ERROR_FILE} (unreadable)` });
113
+ }
114
+ }
115
+ export function runDoctorChecks(root, manifest) {
116
+ const lines = [{ level: "ok", message: `repo: ${root}` }];
117
+ let hasFail = false;
118
+ let nextStep = null;
119
+ let teacherAllowlistUnset = false;
120
+ const skillSync = checkSkillManifestSync(root, manifest);
121
+ if (skillSync.ok) {
122
+ lines.push({ level: "ok", message: "manifest + skills/ Rule 4.4 sync" });
123
+ }
124
+ else {
125
+ for (const err of skillSync.errors)
126
+ lines.push({ level: "fail", message: err });
127
+ hasFail = true;
128
+ nextStep = pickNextStep(nextStep, "gapman check");
129
+ }
130
+ const teacherResult = appendTeacherAllowlistChecks(root, lines, nextStep);
131
+ nextStep = teacherResult.nextStep;
132
+ teacherAllowlistUnset = teacherResult.teacherAllowlistUnset;
133
+ appendBypassChecks(root, lines);
134
+ nextStep = appendHooksAndExampleMissionChecks(root, lines, nextStep);
135
+ appendAgentErrorCheck(root, lines);
136
+ if (!fs.existsSync(path.join(root, REL_MANIFEST))) {
137
+ lines.push({ level: "fail", message: `${REL_MANIFEST} missing` });
138
+ hasFail = true;
139
+ nextStep = pickNextStep(nextStep, "gapman init");
140
+ }
141
+ return { lines, hasFail, nextStep, teacherAllowlistUnset };
142
+ }
143
+ function pathExists(repoRoot, rel) {
144
+ const normalized = rel.endsWith("/") ? rel.slice(0, -1) : rel;
145
+ return fs.existsSync(path.join(repoRoot, normalized));
146
+ }
147
+ function readCursorHooksVersion(repoRoot) {
148
+ const p = path.join(repoRoot, ".cursor/hooks.json");
149
+ if (!fs.existsSync(p))
150
+ return null;
151
+ try {
152
+ const j = JSON.parse(fs.readFileSync(p, "utf8"));
153
+ return typeof j.version === "number" ? j.version : null;
154
+ }
155
+ catch {
156
+ return null;
157
+ }
158
+ }
159
+ function probeCliVersion(cmd, args) {
160
+ const r = spawnSync(cmd, args, { encoding: "utf8", timeout: 5000 });
161
+ if (r.status !== 0)
162
+ return null;
163
+ const out = `${r.stdout ?? ""}${r.stderr ?? ""}`.trim();
164
+ return out.length > 0 ? out.split("\n")[0].trim() : null;
165
+ }
166
+ function detectIntegrationPresent(repoRoot, key, entry) {
167
+ if (key === "codex-cli") {
168
+ return pathExists(repoRoot, ".codex/config.toml");
169
+ }
170
+ return entry.canonical_paths.some((p) => pathExists(repoRoot, p));
171
+ }
172
+ export function runIntegrationDoctorChecks(repoRoot, templatesRoot) {
173
+ const lines = [];
174
+ let compat;
175
+ try {
176
+ compat = loadIntegrationCompat(templatesRoot);
177
+ }
178
+ catch (e) {
179
+ lines.push({
180
+ level: "warn",
181
+ message: `integration compat manifest unavailable: ${errorMessage(e)}`,
182
+ });
183
+ return lines;
184
+ }
185
+ const detected = [];
186
+ for (const key of INTEGRATION_IDE_KEYS) {
187
+ const entry = compat.integrations[key];
188
+ for (const dep of entry.deprecated_paths) {
189
+ if (pathExists(repoRoot, dep)) {
190
+ const canonical = entry.canonical_paths[0] ?? "(see .gitagent/ARCHITECTURE.pointer.json)";
191
+ lines.push({
192
+ level: "warn",
193
+ message: `deprecated path ${dep} — migrate to ${canonical} (${entry.display_name})`,
194
+ });
195
+ }
196
+ }
197
+ if (!detectIntegrationPresent(repoRoot, key, entry))
198
+ continue;
199
+ let label = key;
200
+ if (entry.cli_probe && entry.cli_probe.length >= 2) {
201
+ const ver = probeCliVersion(entry.cli_probe[0], entry.cli_probe.slice(1));
202
+ if (ver)
203
+ label = `${key} (${ver})`;
204
+ }
205
+ detected.push(label);
206
+ if (key === "cursor" && entry.hooks_schema_version != null) {
207
+ const hv = readCursorHooksVersion(repoRoot);
208
+ if (hv != null && hv !== entry.hooks_schema_version) {
209
+ lines.push({
210
+ level: "warn",
211
+ message: `.cursor/hooks.json version ${hv} — expected ${entry.hooks_schema_version} per integration compat`,
212
+ });
213
+ }
214
+ }
215
+ }
216
+ if (detected.length > 0) {
217
+ lines.push({ level: "ok", message: `detected agent wiring: ${detected.join(", ")}` });
218
+ }
219
+ else {
220
+ lines.push({ level: "warn", message: "no agent integration files detected — run gapman init" });
221
+ }
222
+ return lines;
223
+ }
224
+ export { integrationWizardLabel, INTEGRATION_IDE_KEYS, loadIntegrationCompat };
225
+ export function runSubstrateDriftDoctorChecks(repoRoot, templatesRoot) {
226
+ const installed = readInstalledSubstrateVersion(repoRoot);
227
+ const bundled = loadIntegrationCompat(templatesRoot).opengantry_version;
228
+ const lines = [];
229
+ let nextStep = null;
230
+ const legacyWarn = legacyVersionWarning(installed.source);
231
+ if (legacyWarn) {
232
+ lines.push({ level: "warn", message: legacyWarn });
233
+ }
234
+ const cmp = compareSemver(installed.version, bundled);
235
+ if (cmp === 0) {
236
+ lines.push({
237
+ level: "ok",
238
+ message: `substrate version: ${installed.version} (matches bundled gapman)`,
239
+ });
240
+ }
241
+ else if (cmp < 0) {
242
+ lines.push({
243
+ level: "warn",
244
+ message: `substrate version ${installed.version} is behind bundled gapman ${bundled} — run gapman upgrade after updating ${NPM_PACKAGE_NAME}`,
245
+ });
246
+ nextStep = "gapman upgrade";
247
+ }
248
+ else {
249
+ lines.push({
250
+ level: "warn",
251
+ message: `substrate version ${installed.version} is ahead of bundled gapman ${bundled} — update ${NPM_PACKAGE_NAME} (e.g. npm install ${NPM_PACKAGE_NAME}@latest), then re-run gapman doctor`,
252
+ });
253
+ }
254
+ return { lines, nextStep };
255
+ }
256
+ export function collectDoctorReport(root, manifest, templatesRoot) {
257
+ const result = runDoctorChecks(root, manifest);
258
+ let lines = [...result.lines, ...runArchitecturePointerDoctorChecks(root)];
259
+ let nextStep = result.nextStep;
260
+ try {
261
+ const tpl = templatesRoot ?? resolveTemplateRootFromModule();
262
+ lines = [...lines, ...runIntegrationDoctorChecks(root, tpl)];
263
+ const drift = runSubstrateDriftDoctorChecks(root, tpl);
264
+ lines = [...lines, ...drift.lines];
265
+ if (drift.nextStep) {
266
+ nextStep = pickNextStep(nextStep, drift.nextStep);
267
+ }
268
+ }
269
+ catch {
270
+ lines = [
271
+ ...lines,
272
+ { level: "warn", message: "integration compat checks skipped (templates not found)" },
273
+ ];
274
+ }
275
+ return {
276
+ lines,
277
+ hasFail: doctorLinesHasFail(lines) || result.hasFail,
278
+ nextStep,
279
+ teacherAllowlistUnset: result.teacherAllowlistUnset,
280
+ };
281
+ }
282
+ //# sourceMappingURL=doctor.js.map