@jeger-ai/opengantry 1.0.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 (515) hide show
  1. package/LICENSE +235 -0
  2. package/NOTICE +16 -0
  3. package/README.md +337 -0
  4. package/dist/cli/commands/arch.d.ts +19 -0
  5. package/dist/cli/commands/arch.d.ts.map +1 -0
  6. package/dist/cli/commands/arch.js +86 -0
  7. package/dist/cli/commands/arch.js.map +1 -0
  8. package/dist/cli/commands/check.d.ts +2 -0
  9. package/dist/cli/commands/check.d.ts.map +1 -0
  10. package/dist/cli/commands/check.js +16 -0
  11. package/dist/cli/commands/check.js.map +1 -0
  12. package/dist/cli/commands/doctor.d.ts +12 -0
  13. package/dist/cli/commands/doctor.d.ts.map +1 -0
  14. package/dist/cli/commands/doctor.js +40 -0
  15. package/dist/cli/commands/doctor.js.map +1 -0
  16. package/dist/cli/commands/init.d.ts +18 -0
  17. package/dist/cli/commands/init.d.ts.map +1 -0
  18. package/dist/cli/commands/init.js +185 -0
  19. package/dist/cli/commands/init.js.map +1 -0
  20. package/dist/cli/commands/legislate.d.ts +21 -0
  21. package/dist/cli/commands/legislate.d.ts.map +1 -0
  22. package/dist/cli/commands/legislate.js +143 -0
  23. package/dist/cli/commands/legislate.js.map +1 -0
  24. package/dist/cli/commands/mcp-serve.d.ts +2 -0
  25. package/dist/cli/commands/mcp-serve.d.ts.map +1 -0
  26. package/dist/cli/commands/mcp-serve.js +14 -0
  27. package/dist/cli/commands/mcp-serve.js.map +1 -0
  28. package/dist/cli/commands/metrics.d.ts +6 -0
  29. package/dist/cli/commands/metrics.d.ts.map +1 -0
  30. package/dist/cli/commands/metrics.js +20 -0
  31. package/dist/cli/commands/metrics.js.map +1 -0
  32. package/dist/cli/commands/mission.d.ts +3 -0
  33. package/dist/cli/commands/mission.d.ts.map +1 -0
  34. package/dist/cli/commands/mission.js +29 -0
  35. package/dist/cli/commands/mission.js.map +1 -0
  36. package/dist/cli/commands/onboarding.d.ts +2 -0
  37. package/dist/cli/commands/onboarding.d.ts.map +1 -0
  38. package/dist/cli/commands/onboarding.js +85 -0
  39. package/dist/cli/commands/onboarding.js.map +1 -0
  40. package/dist/cli/commands/runtime.d.ts +19 -0
  41. package/dist/cli/commands/runtime.d.ts.map +1 -0
  42. package/dist/cli/commands/runtime.js +101 -0
  43. package/dist/cli/commands/runtime.js.map +1 -0
  44. package/dist/cli/commands/start.d.ts +4 -0
  45. package/dist/cli/commands/start.d.ts.map +1 -0
  46. package/dist/cli/commands/start.js +3 -0
  47. package/dist/cli/commands/start.js.map +1 -0
  48. package/dist/cli/commands/status.d.ts +8 -0
  49. package/dist/cli/commands/status.d.ts.map +1 -0
  50. package/dist/cli/commands/status.js +65 -0
  51. package/dist/cli/commands/status.js.map +1 -0
  52. package/dist/cli/commands/teacher.d.ts +11 -0
  53. package/dist/cli/commands/teacher.d.ts.map +1 -0
  54. package/dist/cli/commands/teacher.js +48 -0
  55. package/dist/cli/commands/teacher.js.map +1 -0
  56. package/dist/cli/commands/triage.d.ts +10 -0
  57. package/dist/cli/commands/triage.d.ts.map +1 -0
  58. package/dist/cli/commands/triage.js +48 -0
  59. package/dist/cli/commands/triage.js.map +1 -0
  60. package/dist/cli/commands/upgrade.d.ts +10 -0
  61. package/dist/cli/commands/upgrade.d.ts.map +1 -0
  62. package/dist/cli/commands/upgrade.js +89 -0
  63. package/dist/cli/commands/upgrade.js.map +1 -0
  64. package/dist/cli/commands/verify.d.ts +6 -0
  65. package/dist/cli/commands/verify.d.ts.map +1 -0
  66. package/dist/cli/commands/verify.js +33 -0
  67. package/dist/cli/commands/verify.js.map +1 -0
  68. package/dist/cli/index.d.ts +3 -0
  69. package/dist/cli/index.d.ts.map +1 -0
  70. package/dist/cli/index.js +13 -0
  71. package/dist/cli/index.js.map +1 -0
  72. package/dist/cli/lib/agent-error.d.ts +20 -0
  73. package/dist/cli/lib/agent-error.d.ts.map +1 -0
  74. package/dist/cli/lib/agent-error.js +58 -0
  75. package/dist/cli/lib/agent-error.js.map +1 -0
  76. package/dist/cli/lib/architecture-credential.d.ts +22 -0
  77. package/dist/cli/lib/architecture-credential.d.ts.map +1 -0
  78. package/dist/cli/lib/architecture-credential.js +198 -0
  79. package/dist/cli/lib/architecture-credential.js.map +1 -0
  80. package/dist/cli/lib/architecture-pointer-discovery.d.ts +7 -0
  81. package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +1 -0
  82. package/dist/cli/lib/architecture-pointer-discovery.js +60 -0
  83. package/dist/cli/lib/architecture-pointer-discovery.js.map +1 -0
  84. package/dist/cli/lib/architecture-pointer-doctor.d.ts +3 -0
  85. package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +1 -0
  86. package/dist/cli/lib/architecture-pointer-doctor.js +114 -0
  87. package/dist/cli/lib/architecture-pointer-doctor.js.map +1 -0
  88. package/dist/cli/lib/architecture-pointer-schema.d.ts +5 -0
  89. package/dist/cli/lib/architecture-pointer-schema.d.ts.map +1 -0
  90. package/dist/cli/lib/architecture-pointer-schema.js +137 -0
  91. package/dist/cli/lib/architecture-pointer-schema.js.map +1 -0
  92. package/dist/cli/lib/architecture-pointer-types.d.ts +24 -0
  93. package/dist/cli/lib/architecture-pointer-types.d.ts.map +1 -0
  94. package/dist/cli/lib/architecture-pointer-types.js +7 -0
  95. package/dist/cli/lib/architecture-pointer-types.js.map +1 -0
  96. package/dist/cli/lib/architecture-pointer.d.ts +7 -0
  97. package/dist/cli/lib/architecture-pointer.d.ts.map +1 -0
  98. package/dist/cli/lib/architecture-pointer.js +10 -0
  99. package/dist/cli/lib/architecture-pointer.js.map +1 -0
  100. package/dist/cli/lib/atomic-fs.d.ts +9 -0
  101. package/dist/cli/lib/atomic-fs.d.ts.map +1 -0
  102. package/dist/cli/lib/atomic-fs.js +63 -0
  103. package/dist/cli/lib/atomic-fs.js.map +1 -0
  104. package/dist/cli/lib/audience-output.d.ts +18 -0
  105. package/dist/cli/lib/audience-output.d.ts.map +1 -0
  106. package/dist/cli/lib/audience-output.js +80 -0
  107. package/dist/cli/lib/audience-output.js.map +1 -0
  108. package/dist/cli/lib/break-glass.d.ts +25 -0
  109. package/dist/cli/lib/break-glass.d.ts.map +1 -0
  110. package/dist/cli/lib/break-glass.js +134 -0
  111. package/dist/cli/lib/break-glass.js.map +1 -0
  112. package/dist/cli/lib/cli-io.d.ts +9 -0
  113. package/dist/cli/lib/cli-io.d.ts.map +1 -0
  114. package/dist/cli/lib/cli-io.js +38 -0
  115. package/dist/cli/lib/cli-io.js.map +1 -0
  116. package/dist/cli/lib/cli-timeout.d.ts +9 -0
  117. package/dist/cli/lib/cli-timeout.d.ts.map +1 -0
  118. package/dist/cli/lib/cli-timeout.js +17 -0
  119. package/dist/cli/lib/cli-timeout.js.map +1 -0
  120. package/dist/cli/lib/constants.d.ts +26 -0
  121. package/dist/cli/lib/constants.d.ts.map +1 -0
  122. package/dist/cli/lib/constants.js +26 -0
  123. package/dist/cli/lib/constants.js.map +1 -0
  124. package/dist/cli/lib/dirty-missions.d.ts +8 -0
  125. package/dist/cli/lib/dirty-missions.d.ts.map +1 -0
  126. package/dist/cli/lib/dirty-missions.js +65 -0
  127. package/dist/cli/lib/dirty-missions.js.map +1 -0
  128. package/dist/cli/lib/doctor-checks.d.ts +16 -0
  129. package/dist/cli/lib/doctor-checks.d.ts.map +1 -0
  130. package/dist/cli/lib/doctor-checks.js +138 -0
  131. package/dist/cli/lib/doctor-checks.js.map +1 -0
  132. package/dist/cli/lib/doctor-integration-checks.d.ts +5 -0
  133. package/dist/cli/lib/doctor-integration-checks.d.ts.map +1 -0
  134. package/dist/cli/lib/doctor-integration-checks.js +88 -0
  135. package/dist/cli/lib/doctor-integration-checks.js.map +1 -0
  136. package/dist/cli/lib/doctor-orchestration.d.ts +10 -0
  137. package/dist/cli/lib/doctor-orchestration.d.ts.map +1 -0
  138. package/dist/cli/lib/doctor-orchestration.js +25 -0
  139. package/dist/cli/lib/doctor-orchestration.js.map +1 -0
  140. package/dist/cli/lib/draft-token.d.ts +37 -0
  141. package/dist/cli/lib/draft-token.d.ts.map +1 -0
  142. package/dist/cli/lib/draft-token.js +171 -0
  143. package/dist/cli/lib/draft-token.js.map +1 -0
  144. package/dist/cli/lib/fix-hints.d.ts +51 -0
  145. package/dist/cli/lib/fix-hints.d.ts.map +1 -0
  146. package/dist/cli/lib/fix-hints.js +197 -0
  147. package/dist/cli/lib/fix-hints.js.map +1 -0
  148. package/dist/cli/lib/forbidden-scan.d.ts +18 -0
  149. package/dist/cli/lib/forbidden-scan.d.ts.map +1 -0
  150. package/dist/cli/lib/forbidden-scan.js +96 -0
  151. package/dist/cli/lib/forbidden-scan.js.map +1 -0
  152. package/dist/cli/lib/gate.d.ts +10 -0
  153. package/dist/cli/lib/gate.d.ts.map +1 -0
  154. package/dist/cli/lib/gate.js +30 -0
  155. package/dist/cli/lib/gate.js.map +1 -0
  156. package/dist/cli/lib/git-metrics-missions.d.ts +3 -0
  157. package/dist/cli/lib/git-metrics-missions.d.ts.map +1 -0
  158. package/dist/cli/lib/git-metrics-missions.js +51 -0
  159. package/dist/cli/lib/git-metrics-missions.js.map +1 -0
  160. package/dist/cli/lib/git-metrics-stream.d.ts +24 -0
  161. package/dist/cli/lib/git-metrics-stream.d.ts.map +1 -0
  162. package/dist/cli/lib/git-metrics-stream.js +137 -0
  163. package/dist/cli/lib/git-metrics-stream.js.map +1 -0
  164. package/dist/cli/lib/git-metrics.d.ts +18 -0
  165. package/dist/cli/lib/git-metrics.d.ts.map +1 -0
  166. package/dist/cli/lib/git-metrics.js +39 -0
  167. package/dist/cli/lib/git-metrics.js.map +1 -0
  168. package/dist/cli/lib/git-proof-errors.d.ts +3 -0
  169. package/dist/cli/lib/git-proof-errors.d.ts.map +1 -0
  170. package/dist/cli/lib/git-proof-errors.js +7 -0
  171. package/dist/cli/lib/git-proof-errors.js.map +1 -0
  172. package/dist/cli/lib/git-proof.d.ts +37 -0
  173. package/dist/cli/lib/git-proof.d.ts.map +1 -0
  174. package/dist/cli/lib/git-proof.js +147 -0
  175. package/dist/cli/lib/git-proof.js.map +1 -0
  176. package/dist/cli/lib/git-repo.d.ts +17 -0
  177. package/dist/cli/lib/git-repo.d.ts.map +1 -0
  178. package/dist/cli/lib/git-repo.js +39 -0
  179. package/dist/cli/lib/git-repo.js.map +1 -0
  180. package/dist/cli/lib/git.d.ts +2 -0
  181. package/dist/cli/lib/git.d.ts.map +1 -0
  182. package/dist/cli/lib/git.js +19 -0
  183. package/dist/cli/lib/git.js.map +1 -0
  184. package/dist/cli/lib/gitignore-gxt.d.ts +2 -0
  185. package/dist/cli/lib/gitignore-gxt.d.ts.map +1 -0
  186. package/dist/cli/lib/gitignore-gxt.js +24 -0
  187. package/dist/cli/lib/gitignore-gxt.js.map +1 -0
  188. package/dist/cli/lib/gxt-error-codes.d.ts +19 -0
  189. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -0
  190. package/dist/cli/lib/gxt-error-codes.js +60 -0
  191. package/dist/cli/lib/gxt-error-codes.js.map +1 -0
  192. package/dist/cli/lib/init-asset-catalog.d.ts +15 -0
  193. package/dist/cli/lib/init-asset-catalog.d.ts.map +1 -0
  194. package/dist/cli/lib/init-asset-catalog.js +163 -0
  195. package/dist/cli/lib/init-asset-catalog.js.map +1 -0
  196. package/dist/cli/lib/init-assets.d.ts +8 -0
  197. package/dist/cli/lib/init-assets.d.ts.map +1 -0
  198. package/dist/cli/lib/init-assets.js +3 -0
  199. package/dist/cli/lib/init-assets.js.map +1 -0
  200. package/dist/cli/lib/init-compose-arch-pointer.d.ts +6 -0
  201. package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +1 -0
  202. package/dist/cli/lib/init-compose-arch-pointer.js +64 -0
  203. package/dist/cli/lib/init-compose-arch-pointer.js.map +1 -0
  204. package/dist/cli/lib/init-compose-doc.d.ts +5 -0
  205. package/dist/cli/lib/init-compose-doc.d.ts.map +1 -0
  206. package/dist/cli/lib/init-compose-doc.js +37 -0
  207. package/dist/cli/lib/init-compose-doc.js.map +1 -0
  208. package/dist/cli/lib/init-interactive.d.ts +8 -0
  209. package/dist/cli/lib/init-interactive.d.ts.map +1 -0
  210. package/dist/cli/lib/init-interactive.js +195 -0
  211. package/dist/cli/lib/init-interactive.js.map +1 -0
  212. package/dist/cli/lib/init-plan.d.ts +20 -0
  213. package/dist/cli/lib/init-plan.d.ts.map +1 -0
  214. package/dist/cli/lib/init-plan.js +92 -0
  215. package/dist/cli/lib/init-plan.js.map +1 -0
  216. package/dist/cli/lib/init-profile.d.ts +39 -0
  217. package/dist/cli/lib/init-profile.d.ts.map +1 -0
  218. package/dist/cli/lib/init-profile.js +93 -0
  219. package/dist/cli/lib/init-profile.js.map +1 -0
  220. package/dist/cli/lib/init-tutorial.d.ts +2 -0
  221. package/dist/cli/lib/init-tutorial.d.ts.map +1 -0
  222. package/dist/cli/lib/init-tutorial.js +156 -0
  223. package/dist/cli/lib/init-tutorial.js.map +1 -0
  224. package/dist/cli/lib/integration-compat.d.ts +24 -0
  225. package/dist/cli/lib/integration-compat.d.ts.map +1 -0
  226. package/dist/cli/lib/integration-compat.js +50 -0
  227. package/dist/cli/lib/integration-compat.js.map +1 -0
  228. package/dist/cli/lib/legislate-skill.d.ts +20 -0
  229. package/dist/cli/lib/legislate-skill.d.ts.map +1 -0
  230. package/dist/cli/lib/legislate-skill.js +30 -0
  231. package/dist/cli/lib/legislate-skill.js.map +1 -0
  232. package/dist/cli/lib/manifest.d.ts +6 -0
  233. package/dist/cli/lib/manifest.d.ts.map +1 -0
  234. package/dist/cli/lib/manifest.js +53 -0
  235. package/dist/cli/lib/manifest.js.map +1 -0
  236. package/dist/cli/lib/mcp-legislation.d.ts +82 -0
  237. package/dist/cli/lib/mcp-legislation.d.ts.map +1 -0
  238. package/dist/cli/lib/mcp-legislation.js +181 -0
  239. package/dist/cli/lib/mcp-legislation.js.map +1 -0
  240. package/dist/cli/lib/mcp-orchestration.d.ts +12 -0
  241. package/dist/cli/lib/mcp-orchestration.d.ts.map +1 -0
  242. package/dist/cli/lib/mcp-orchestration.js +54 -0
  243. package/dist/cli/lib/mcp-orchestration.js.map +1 -0
  244. package/dist/cli/lib/mcp-runtime.d.ts +60 -0
  245. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -0
  246. package/dist/cli/lib/mcp-runtime.js +133 -0
  247. package/dist/cli/lib/mcp-runtime.js.map +1 -0
  248. package/dist/cli/lib/mcp-tools-register.d.ts +4 -0
  249. package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -0
  250. package/dist/cli/lib/mcp-tools-register.js +78 -0
  251. package/dist/cli/lib/mcp-tools-register.js.map +1 -0
  252. package/dist/cli/lib/mcp-upgrade.d.ts +7 -0
  253. package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -0
  254. package/dist/cli/lib/mcp-upgrade.js +38 -0
  255. package/dist/cli/lib/mcp-upgrade.js.map +1 -0
  256. package/dist/cli/lib/mission-emit.d.ts +7 -0
  257. package/dist/cli/lib/mission-emit.d.ts.map +1 -0
  258. package/dist/cli/lib/mission-emit.js +23 -0
  259. package/dist/cli/lib/mission-emit.js.map +1 -0
  260. package/dist/cli/lib/mission-legislative-stub.d.ts +9 -0
  261. package/dist/cli/lib/mission-legislative-stub.d.ts.map +1 -0
  262. package/dist/cli/lib/mission-legislative-stub.js +36 -0
  263. package/dist/cli/lib/mission-legislative-stub.js.map +1 -0
  264. package/dist/cli/lib/mission-markdown.d.ts +6 -0
  265. package/dist/cli/lib/mission-markdown.d.ts.map +1 -0
  266. package/dist/cli/lib/mission-markdown.js +84 -0
  267. package/dist/cli/lib/mission-markdown.js.map +1 -0
  268. package/dist/cli/lib/mission-msn.d.ts +10 -0
  269. package/dist/cli/lib/mission-msn.d.ts.map +1 -0
  270. package/dist/cli/lib/mission-msn.js +85 -0
  271. package/dist/cli/lib/mission-msn.js.map +1 -0
  272. package/dist/cli/lib/mission-parser.d.ts +6 -0
  273. package/dist/cli/lib/mission-parser.d.ts.map +1 -0
  274. package/dist/cli/lib/mission-parser.js +29 -0
  275. package/dist/cli/lib/mission-parser.js.map +1 -0
  276. package/dist/cli/lib/mission-path.d.ts +4 -0
  277. package/dist/cli/lib/mission-path.d.ts.map +1 -0
  278. package/dist/cli/lib/mission-path.js +28 -0
  279. package/dist/cli/lib/mission-path.js.map +1 -0
  280. package/dist/cli/lib/mission-resolution.d.ts +14 -0
  281. package/dist/cli/lib/mission-resolution.d.ts.map +1 -0
  282. package/dist/cli/lib/mission-resolution.js +60 -0
  283. package/dist/cli/lib/mission-resolution.js.map +1 -0
  284. package/dist/cli/lib/mission-yaml.d.ts +12 -0
  285. package/dist/cli/lib/mission-yaml.d.ts.map +1 -0
  286. package/dist/cli/lib/mission-yaml.js +96 -0
  287. package/dist/cli/lib/mission-yaml.js.map +1 -0
  288. package/dist/cli/lib/msn-allocate.d.ts +13 -0
  289. package/dist/cli/lib/msn-allocate.d.ts.map +1 -0
  290. package/dist/cli/lib/msn-allocate.js +98 -0
  291. package/dist/cli/lib/msn-allocate.js.map +1 -0
  292. package/dist/cli/lib/msn.d.ts +2 -0
  293. package/dist/cli/lib/msn.d.ts.map +1 -0
  294. package/dist/cli/lib/msn.js +5 -0
  295. package/dist/cli/lib/msn.js.map +1 -0
  296. package/dist/cli/lib/onboarding-flow.d.ts +11 -0
  297. package/dist/cli/lib/onboarding-flow.d.ts.map +1 -0
  298. package/dist/cli/lib/onboarding-flow.js +25 -0
  299. package/dist/cli/lib/onboarding-flow.js.map +1 -0
  300. package/dist/cli/lib/out-of-scope-hint.d.ts +7 -0
  301. package/dist/cli/lib/out-of-scope-hint.d.ts.map +1 -0
  302. package/dist/cli/lib/out-of-scope-hint.js +79 -0
  303. package/dist/cli/lib/out-of-scope-hint.js.map +1 -0
  304. package/dist/cli/lib/output-context.d.ts +22 -0
  305. package/dist/cli/lib/output-context.d.ts.map +1 -0
  306. package/dist/cli/lib/output-context.js +55 -0
  307. package/dist/cli/lib/output-context.js.map +1 -0
  308. package/dist/cli/lib/program-audience-hook.d.ts +4 -0
  309. package/dist/cli/lib/program-audience-hook.d.ts.map +1 -0
  310. package/dist/cli/lib/program-audience-hook.js +35 -0
  311. package/dist/cli/lib/program-audience-hook.js.map +1 -0
  312. package/dist/cli/lib/runtime-env.d.ts +23 -0
  313. package/dist/cli/lib/runtime-env.d.ts.map +1 -0
  314. package/dist/cli/lib/runtime-env.js +64 -0
  315. package/dist/cli/lib/runtime-env.js.map +1 -0
  316. package/dist/cli/lib/runtime-exec-orchestrator.d.ts +14 -0
  317. package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +1 -0
  318. package/dist/cli/lib/runtime-exec-orchestrator.js +131 -0
  319. package/dist/cli/lib/runtime-exec-orchestrator.js.map +1 -0
  320. package/dist/cli/lib/runtime-exec-process.d.ts +23 -0
  321. package/dist/cli/lib/runtime-exec-process.d.ts.map +1 -0
  322. package/dist/cli/lib/runtime-exec-process.js +55 -0
  323. package/dist/cli/lib/runtime-exec-process.js.map +1 -0
  324. package/dist/cli/lib/runtime-exec-result.d.ts +21 -0
  325. package/dist/cli/lib/runtime-exec-result.d.ts.map +1 -0
  326. package/dist/cli/lib/runtime-exec-result.js +42 -0
  327. package/dist/cli/lib/runtime-exec-result.js.map +1 -0
  328. package/dist/cli/lib/runtime-exec-worker.d.ts +18 -0
  329. package/dist/cli/lib/runtime-exec-worker.d.ts.map +1 -0
  330. package/dist/cli/lib/runtime-exec-worker.js +49 -0
  331. package/dist/cli/lib/runtime-exec-worker.js.map +1 -0
  332. package/dist/cli/lib/runtime-exec.d.ts +5 -0
  333. package/dist/cli/lib/runtime-exec.d.ts.map +1 -0
  334. package/dist/cli/lib/runtime-exec.js +5 -0
  335. package/dist/cli/lib/runtime-exec.js.map +1 -0
  336. package/dist/cli/lib/skill-sync.d.ts +11 -0
  337. package/dist/cli/lib/skill-sync.d.ts.map +1 -0
  338. package/dist/cli/lib/skill-sync.js +39 -0
  339. package/dist/cli/lib/skill-sync.js.map +1 -0
  340. package/dist/cli/lib/start-orchestration.d.ts +29 -0
  341. package/dist/cli/lib/start-orchestration.d.ts.map +1 -0
  342. package/dist/cli/lib/start-orchestration.js +176 -0
  343. package/dist/cli/lib/start-orchestration.js.map +1 -0
  344. package/dist/cli/lib/start-state.d.ts +12 -0
  345. package/dist/cli/lib/start-state.d.ts.map +1 -0
  346. package/dist/cli/lib/start-state.js +86 -0
  347. package/dist/cli/lib/start-state.js.map +1 -0
  348. package/dist/cli/lib/status-report.d.ts +21 -0
  349. package/dist/cli/lib/status-report.d.ts.map +1 -0
  350. package/dist/cli/lib/status-report.js +77 -0
  351. package/dist/cli/lib/status-report.js.map +1 -0
  352. package/dist/cli/lib/substrate-version.d.ts +22 -0
  353. package/dist/cli/lib/substrate-version.d.ts.map +1 -0
  354. package/dist/cli/lib/substrate-version.js +97 -0
  355. package/dist/cli/lib/substrate-version.js.map +1 -0
  356. package/dist/cli/lib/teacher-identity.d.ts +24 -0
  357. package/dist/cli/lib/teacher-identity.d.ts.map +1 -0
  358. package/dist/cli/lib/teacher-identity.js +123 -0
  359. package/dist/cli/lib/teacher-identity.js.map +1 -0
  360. package/dist/cli/lib/telemetry-log.d.ts +22 -0
  361. package/dist/cli/lib/telemetry-log.d.ts.map +1 -0
  362. package/dist/cli/lib/telemetry-log.js +50 -0
  363. package/dist/cli/lib/telemetry-log.js.map +1 -0
  364. package/dist/cli/lib/trace-failure-kind.d.ts +4 -0
  365. package/dist/cli/lib/trace-failure-kind.d.ts.map +1 -0
  366. package/dist/cli/lib/trace-failure-kind.js +23 -0
  367. package/dist/cli/lib/trace-failure-kind.js.map +1 -0
  368. package/dist/cli/lib/trace.d.ts +25 -0
  369. package/dist/cli/lib/trace.d.ts.map +1 -0
  370. package/dist/cli/lib/trace.js +121 -0
  371. package/dist/cli/lib/trace.js.map +1 -0
  372. package/dist/cli/lib/triage-logic.d.ts +10 -0
  373. package/dist/cli/lib/triage-logic.d.ts.map +1 -0
  374. package/dist/cli/lib/triage-logic.js +105 -0
  375. package/dist/cli/lib/triage-logic.js.map +1 -0
  376. package/dist/cli/lib/types.d.ts +62 -0
  377. package/dist/cli/lib/types.d.ts.map +1 -0
  378. package/dist/cli/lib/types.js +2 -0
  379. package/dist/cli/lib/types.js.map +1 -0
  380. package/dist/cli/lib/upgrade-apply.d.ts +15 -0
  381. package/dist/cli/lib/upgrade-apply.d.ts.map +1 -0
  382. package/dist/cli/lib/upgrade-apply.js +122 -0
  383. package/dist/cli/lib/upgrade-apply.js.map +1 -0
  384. package/dist/cli/lib/upgrade-eligible-assets.d.ts +5 -0
  385. package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +1 -0
  386. package/dist/cli/lib/upgrade-eligible-assets.js +9 -0
  387. package/dist/cli/lib/upgrade-eligible-assets.js.map +1 -0
  388. package/dist/cli/lib/upgrade-plan.d.ts +43 -0
  389. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -0
  390. package/dist/cli/lib/upgrade-plan.js +220 -0
  391. package/dist/cli/lib/upgrade-plan.js.map +1 -0
  392. package/dist/cli/lib/upgrade-profile.d.ts +4 -0
  393. package/dist/cli/lib/upgrade-profile.d.ts.map +1 -0
  394. package/dist/cli/lib/upgrade-profile.js +27 -0
  395. package/dist/cli/lib/upgrade-profile.js.map +1 -0
  396. package/dist/cli/lib/user-error.d.ts +20 -0
  397. package/dist/cli/lib/user-error.d.ts.map +1 -0
  398. package/dist/cli/lib/user-error.js +64 -0
  399. package/dist/cli/lib/user-error.js.map +1 -0
  400. package/dist/cli/lib/verify-engine.d.ts +33 -0
  401. package/dist/cli/lib/verify-engine.d.ts.map +1 -0
  402. package/dist/cli/lib/verify-engine.js +104 -0
  403. package/dist/cli/lib/verify-engine.js.map +1 -0
  404. package/dist/cli/lib/verify-failure-presentation.d.ts +31 -0
  405. package/dist/cli/lib/verify-failure-presentation.d.ts.map +1 -0
  406. package/dist/cli/lib/verify-failure-presentation.js +93 -0
  407. package/dist/cli/lib/verify-failure-presentation.js.map +1 -0
  408. package/dist/cli/lib/verify-flow.d.ts +21 -0
  409. package/dist/cli/lib/verify-flow.d.ts.map +1 -0
  410. package/dist/cli/lib/verify-flow.js +103 -0
  411. package/dist/cli/lib/verify-flow.js.map +1 -0
  412. package/dist/cli/lib/verify-repair.d.ts +4 -0
  413. package/dist/cli/lib/verify-repair.d.ts.map +1 -0
  414. package/dist/cli/lib/verify-repair.js +61 -0
  415. package/dist/cli/lib/verify-repair.js.map +1 -0
  416. package/dist/cli/lib/verify-types.d.ts +21 -0
  417. package/dist/cli/lib/verify-types.d.ts.map +1 -0
  418. package/dist/cli/lib/verify-types.js +2 -0
  419. package/dist/cli/lib/verify-types.js.map +1 -0
  420. package/dist/cli/lib/version.gen.d.ts +4 -0
  421. package/dist/cli/lib/version.gen.d.ts.map +1 -0
  422. package/dist/cli/lib/version.gen.js +4 -0
  423. package/dist/cli/lib/version.gen.js.map +1 -0
  424. package/dist/cli/lib/worker-log-line-map.d.ts +12 -0
  425. package/dist/cli/lib/worker-log-line-map.d.ts.map +1 -0
  426. package/dist/cli/lib/worker-log-line-map.js +29 -0
  427. package/dist/cli/lib/worker-log-line-map.js.map +1 -0
  428. package/dist/cli/lib/workspace.d.ts +11 -0
  429. package/dist/cli/lib/workspace.d.ts.map +1 -0
  430. package/dist/cli/lib/workspace.js +14 -0
  431. package/dist/cli/lib/workspace.js.map +1 -0
  432. package/dist/cli/program-arch.d.ts +3 -0
  433. package/dist/cli/program-arch.d.ts.map +1 -0
  434. package/dist/cli/program-arch.js +45 -0
  435. package/dist/cli/program-arch.js.map +1 -0
  436. package/dist/cli/program-core.d.ts +3 -0
  437. package/dist/cli/program-core.d.ts.map +1 -0
  438. package/dist/cli/program-core.js +154 -0
  439. package/dist/cli/program-core.js.map +1 -0
  440. package/dist/cli/program-mcp.d.ts +3 -0
  441. package/dist/cli/program-mcp.d.ts.map +1 -0
  442. package/dist/cli/program-mcp.js +12 -0
  443. package/dist/cli/program-mcp.js.map +1 -0
  444. package/dist/cli/program-mission.d.ts +3 -0
  445. package/dist/cli/program-mission.d.ts.map +1 -0
  446. package/dist/cli/program-mission.js +77 -0
  447. package/dist/cli/program-mission.js.map +1 -0
  448. package/dist/cli/program-teacher.d.ts +3 -0
  449. package/dist/cli/program-teacher.d.ts.map +1 -0
  450. package/dist/cli/program-teacher.js +19 -0
  451. package/dist/cli/program-teacher.js.map +1 -0
  452. package/dist/cli/program-workflow.d.ts +3 -0
  453. package/dist/cli/program-workflow.d.ts.map +1 -0
  454. package/dist/cli/program-workflow.js +81 -0
  455. package/dist/cli/program-workflow.js.map +1 -0
  456. package/dist/cli/program.d.ts +4 -0
  457. package/dist/cli/program.d.ts.map +1 -0
  458. package/dist/cli/program.js +25 -0
  459. package/dist/cli/program.js.map +1 -0
  460. package/package.json +66 -0
  461. package/templates/.cursor/hooks/gxt-before-shell.sh +63 -0
  462. package/templates/.cursor/hooks/gxt-session-start.sh +68 -0
  463. package/templates/.cursor/hooks.json +15 -0
  464. package/templates/.cursor/mcp.json +8 -0
  465. package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +43 -0
  466. package/templates/.gitagent/ARCHITECTURE.pointer.external.example.json +13 -0
  467. package/templates/.gitagent/ARCHITECTURE.pointer.json +9 -0
  468. package/templates/.gitagent/foreman/BYPASS.sha256 +2 -0
  469. package/templates/.gitagent/foreman/MANIFEST.json +37 -0
  470. package/templates/.gitagent/foreman/SUBSTRATE.version.json +6 -0
  471. package/templates/.gitagent/foreman/TEACHER.allowlist.example +4 -0
  472. package/templates/.gitagent/missions/README.md +18 -0
  473. package/templates/.gitagent/teacher/ARCHITECTURE-ACCESS.md +85 -0
  474. package/templates/.gitagent/teacher/ARCHITECTURE-DISCOVERY.md +40 -0
  475. package/templates/.gitagent/teacher/MISSION-ARCHITECT.md +93 -0
  476. package/templates/.gitagent/teacher/MISSION.schema.yaml +80 -0
  477. package/templates/.gitagent/teacher/RULES.md +36 -0
  478. package/templates/.gitagent/teacher/WORKER_LOG.template.md +2 -0
  479. package/templates/.githooks/post-checkout +26 -0
  480. package/templates/.githooks/pre-push +53 -0
  481. package/templates/.github/workflows/gxt-validate.yml +129 -0
  482. package/templates/.gitignore.gxt +8 -0
  483. package/templates/AGENTS.md +24 -0
  484. package/templates/docs/ARCHITECTURE.md +23 -0
  485. package/templates/integrations/aider/.aider.conf.yml +4 -0
  486. package/templates/integrations/antigravity/.agent/rules/gxt.md +11 -0
  487. package/templates/integrations/claude-code/CLAUDE.md +9 -0
  488. package/templates/integrations/cline/.clinerules/gxt.md +7 -0
  489. package/templates/integrations/codex-cli/.codex/config.toml +3 -0
  490. package/templates/integrations/compatibility.json +92 -0
  491. package/templates/integrations/junie/.junie/guidelines.md +11 -0
  492. package/templates/integrations/opencode/opencode.json +3 -0
  493. package/templates/integrations/openhands/.openhands/microagents/gxt.md +11 -0
  494. package/templates/integrations/recipes/_footer.md +20 -0
  495. package/templates/integrations/recipes/_preamble.md +46 -0
  496. package/templates/integrations/recipes/aider.md +13 -0
  497. package/templates/integrations/recipes/antigravity.md +8 -0
  498. package/templates/integrations/recipes/claude-code.md +14 -0
  499. package/templates/integrations/recipes/cline.md +8 -0
  500. package/templates/integrations/recipes/codex-cli.md +16 -0
  501. package/templates/integrations/recipes/cursor.md +19 -0
  502. package/templates/integrations/recipes/junie.md +8 -0
  503. package/templates/integrations/recipes/opencode.md +8 -0
  504. package/templates/integrations/recipes/openhands.md +8 -0
  505. package/templates/scripts/dev-validate.sh +24 -0
  506. package/templates/scripts/gxt-cursor-env.sh +5 -0
  507. package/templates/scripts/gxt-manifest-lib.mjs +139 -0
  508. package/templates/scripts/gxt-pin-mission.sh +31 -0
  509. package/templates/scripts/gxt-resolve-mission.sh +47 -0
  510. package/templates/scripts/gxt-runtime-env.sh +32 -0
  511. package/templates/scripts/validate-gxt.sh +184 -0
  512. package/templates/skills/gapman.md +5 -0
  513. package/templates/skills/logic.md +3 -0
  514. package/templates/skills/substrate.md +3 -0
  515. package/templates/skills/ui.md +3 -0
@@ -0,0 +1,114 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { REL_ARCHITECTURE_POINTER } from "./constants.js";
4
+ import { loadArchitectureCredential, } from "./architecture-credential.js";
5
+ import { architecturePointerPath, loadArchitecturePointer, } from "./architecture-pointer-schema.js";
6
+ import { architectureRequiresDiscovery, resolveArchitectureAccessSkill, resolveArchitectureDiscoverySkill, } from "./architecture-pointer-discovery.js";
7
+ function doctorCheckArchitectureAccess(repoRoot, pointer) {
8
+ const lines = [];
9
+ if (!pointer.access?.required)
10
+ return lines;
11
+ const skillRel = resolveArchitectureAccessSkill(pointer);
12
+ const skillAbs = path.join(repoRoot, skillRel.split("/").join(path.sep));
13
+ if (!fs.existsSync(skillAbs)) {
14
+ lines.push({ level: "warn", message: `architecture access skill missing: ${skillRel}` });
15
+ }
16
+ else {
17
+ lines.push({ level: "ok", message: `architecture access skill: ${skillRel}` });
18
+ }
19
+ if (!pointer.access.credential_slot)
20
+ return lines;
21
+ const cred = loadArchitectureCredential(repoRoot, pointer.access.credential_slot);
22
+ if (cred) {
23
+ lines.push({
24
+ level: "ok",
25
+ message: `architecture credential slot stored: ${pointer.access.credential_slot} (${cred.kind})`,
26
+ });
27
+ }
28
+ else {
29
+ lines.push({
30
+ level: "warn",
31
+ message: `architecture credential not stored for slot ${pointer.access.credential_slot} — agent must configure auth before reading external docs`,
32
+ });
33
+ }
34
+ return lines;
35
+ }
36
+ function doctorCheckArchitectureTarget(repoRoot, pointer) {
37
+ const lines = [];
38
+ if (pointer.kind === "external") {
39
+ const looksLikeUrl = /^https?:\/\//i.test(pointer.location);
40
+ if (!looksLikeUrl) {
41
+ lines.push({
42
+ level: "warn",
43
+ message: `external architecture location is not an http(s) URL — follow read_hint: ${pointer.read_hint}`,
44
+ });
45
+ }
46
+ return lines;
47
+ }
48
+ const targetAbs = path.resolve(repoRoot, pointer.location.split("/").join(path.sep));
49
+ const rootResolved = path.resolve(repoRoot);
50
+ if (targetAbs !== rootResolved && !targetAbs.startsWith(`${rootResolved}${path.sep}`)) {
51
+ lines.push({ level: "fail", message: "architecture pointer location escapes repo root" });
52
+ return lines;
53
+ }
54
+ if (!fs.existsSync(targetAbs)) {
55
+ lines.push({
56
+ level: "warn",
57
+ message: `architecture ${pointer.kind} not found at ${pointer.location}`,
58
+ });
59
+ return lines;
60
+ }
61
+ if (pointer.kind === "file" && !fs.statSync(targetAbs).isFile()) {
62
+ lines.push({ level: "warn", message: `architecture pointer kind=file but ${pointer.location} is not a file` });
63
+ }
64
+ if (pointer.kind === "directory" && !fs.statSync(targetAbs).isDirectory()) {
65
+ lines.push({
66
+ level: "warn",
67
+ message: `architecture pointer kind=directory but ${pointer.location} is not a directory`,
68
+ });
69
+ }
70
+ return lines;
71
+ }
72
+ export function runArchitecturePointerDoctorChecks(repoRoot) {
73
+ const lines = [];
74
+ const abs = architecturePointerPath(repoRoot);
75
+ if (!fs.existsSync(abs)) {
76
+ lines.push({
77
+ level: "warn",
78
+ message: `${REL_ARCHITECTURE_POINTER} missing — agents cannot discover code layout`,
79
+ });
80
+ return lines;
81
+ }
82
+ let pointer;
83
+ try {
84
+ pointer = loadArchitecturePointer(repoRoot);
85
+ }
86
+ catch (e) {
87
+ lines.push({
88
+ level: "fail",
89
+ message: e instanceof Error ? e.message : String(e),
90
+ });
91
+ return lines;
92
+ }
93
+ if (pointer.kind === "unset") {
94
+ lines.push({
95
+ level: "warn",
96
+ message: "architecture pointer kind=unset — agents must ask user before implementing (see ARCHITECTURE-DISCOVERY.md)",
97
+ });
98
+ return lines;
99
+ }
100
+ lines.push({
101
+ level: "ok",
102
+ message: `architecture pointer: kind=${pointer.kind} location=${pointer.location}`,
103
+ });
104
+ if (architectureRequiresDiscovery(repoRoot, pointer)) {
105
+ lines.push({
106
+ level: "warn",
107
+ message: `architecture incomplete or stub — agents must follow ${resolveArchitectureDiscoverySkill(pointer)} before implementing`,
108
+ });
109
+ }
110
+ lines.push(...doctorCheckArchitectureAccess(repoRoot, pointer));
111
+ lines.push(...doctorCheckArchitectureTarget(repoRoot, pointer));
112
+ return lines;
113
+ }
114
+ //# sourceMappingURL=architecture-pointer-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer-doctor.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer-doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type ArchitecturePointer } from "./architecture-pointer-types.js";
2
+ export declare function architecturePointerPath(repoRoot: string): string;
3
+ export declare function validateArchitecturePointer(raw: unknown): ArchitecturePointer;
4
+ export declare function loadArchitecturePointer(repoRoot: string): ArchitecturePointer;
5
+ //# sourceMappingURL=architecture-pointer-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer-schema.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer-schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AA4ED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAwC7E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAY7E"}
@@ -0,0 +1,137 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { REL_ARCHITECTURE_POINTER } from "./constants.js";
4
+ import { ARCHITECTURE_POINTER_SCHEMA_VERSION, } from "./architecture-pointer-types.js";
5
+ const VALID_KINDS = new Set(["file", "directory", "external", "unset"]);
6
+ export function architecturePointerPath(repoRoot) {
7
+ return path.join(repoRoot, REL_ARCHITECTURE_POINTER.split("/").join(path.sep));
8
+ }
9
+ function validateDiscovery(raw) {
10
+ if (raw == null || typeof raw !== "object") {
11
+ throw new Error("architecture pointer: discovery must be an object");
12
+ }
13
+ const o = raw;
14
+ const discovery = {};
15
+ if (o.skill != null) {
16
+ if (typeof o.skill !== "string" || !o.skill.trim()) {
17
+ throw new Error("architecture pointer: discovery.skill invalid");
18
+ }
19
+ if (o.skill.includes(".."))
20
+ throw new Error("architecture pointer: discovery.skill must not contain ..");
21
+ discovery.skill = o.skill.trim().replace(/\\/g, "/");
22
+ }
23
+ return discovery;
24
+ }
25
+ function validateAccess(raw) {
26
+ if (raw == null || typeof raw !== "object") {
27
+ throw new Error("architecture pointer: access must be an object");
28
+ }
29
+ const o = raw;
30
+ if (typeof o.required !== "boolean") {
31
+ throw new Error("architecture pointer: access.required must be boolean");
32
+ }
33
+ const access = { required: o.required };
34
+ if (o.tool != null) {
35
+ if (typeof o.tool !== "string" || !o.tool.trim())
36
+ throw new Error("architecture pointer: access.tool invalid");
37
+ access.tool = o.tool.trim();
38
+ }
39
+ if (o.skill != null) {
40
+ if (typeof o.skill !== "string" || !o.skill.trim())
41
+ throw new Error("architecture pointer: access.skill invalid");
42
+ if (o.skill.includes(".."))
43
+ throw new Error("architecture pointer: access.skill must not contain ..");
44
+ access.skill = o.skill.trim().replace(/\\/g, "/");
45
+ }
46
+ if (o.credential_slot != null) {
47
+ if (typeof o.credential_slot !== "string" || !o.credential_slot.trim()) {
48
+ throw new Error("architecture pointer: access.credential_slot invalid");
49
+ }
50
+ access.credential_slot = o.credential_slot.trim();
51
+ }
52
+ if (o.auth_hint != null) {
53
+ if (typeof o.auth_hint !== "string" || !o.auth_hint.trim()) {
54
+ throw new Error("architecture pointer: access.auth_hint invalid");
55
+ }
56
+ access.auth_hint = o.auth_hint.trim();
57
+ }
58
+ if (o.detect != null) {
59
+ if (!Array.isArray(o.detect) || o.detect.some((d) => typeof d !== "string" || !d.trim())) {
60
+ throw new Error("architecture pointer: access.detect must be string array");
61
+ }
62
+ access.detect = o.detect.map((d) => d.trim()).filter(Boolean);
63
+ }
64
+ return access;
65
+ }
66
+ function validatePointerLocation(docKind, location) {
67
+ const loc = location.trim();
68
+ if (docKind !== "unset" && loc.length === 0) {
69
+ throw new Error("architecture pointer: location required unless kind is unset");
70
+ }
71
+ if (loc.includes("..")) {
72
+ throw new Error("architecture pointer: location must not contain ..");
73
+ }
74
+ const isUrl = /^https?:\/\//i.test(loc);
75
+ if (docKind === "external") {
76
+ if (path.isAbsolute(loc) && !isUrl) {
77
+ throw new Error("architecture pointer: external location must be http(s) URL or repo-relative MCP id");
78
+ }
79
+ }
80
+ else if (docKind !== "unset" && path.isAbsolute(loc)) {
81
+ throw new Error("architecture pointer: location must be repo-relative");
82
+ }
83
+ return loc;
84
+ }
85
+ export function validateArchitecturePointer(raw) {
86
+ if (raw == null || typeof raw !== "object") {
87
+ throw new Error("architecture pointer must be a JSON object");
88
+ }
89
+ const o = raw;
90
+ const schema_version = o.schema_version;
91
+ const kind = o.kind;
92
+ const location = o.location;
93
+ const read_hint = o.read_hint;
94
+ if (typeof schema_version !== "string" || schema_version.length === 0) {
95
+ throw new Error("architecture pointer: schema_version required");
96
+ }
97
+ if (schema_version !== ARCHITECTURE_POINTER_SCHEMA_VERSION) {
98
+ throw new Error(`architecture pointer: unsupported schema_version ${schema_version} (expected ${ARCHITECTURE_POINTER_SCHEMA_VERSION})`);
99
+ }
100
+ if (typeof kind !== "string" || !VALID_KINDS.has(kind)) {
101
+ throw new Error("architecture pointer: kind must be unset, file, directory, or external");
102
+ }
103
+ if (typeof location !== "string") {
104
+ throw new Error("architecture pointer: location must be a string");
105
+ }
106
+ if (typeof read_hint !== "string" || read_hint.trim().length === 0) {
107
+ throw new Error("architecture pointer: read_hint required");
108
+ }
109
+ const docKind = kind;
110
+ const loc = validatePointerLocation(docKind, location);
111
+ const pointer = {
112
+ schema_version,
113
+ kind: docKind,
114
+ location: loc,
115
+ read_hint: read_hint.trim(),
116
+ };
117
+ if (o.access != null)
118
+ pointer.access = validateAccess(o.access);
119
+ if (o.discovery != null)
120
+ pointer.discovery = validateDiscovery(o.discovery);
121
+ return pointer;
122
+ }
123
+ export function loadArchitecturePointer(repoRoot) {
124
+ const abs = architecturePointerPath(repoRoot);
125
+ if (!fs.existsSync(abs)) {
126
+ throw new Error(`${REL_ARCHITECTURE_POINTER} missing — run gapman init or add the pointer manually`);
127
+ }
128
+ let parsed;
129
+ try {
130
+ parsed = JSON.parse(fs.readFileSync(abs, "utf8"));
131
+ }
132
+ catch {
133
+ throw new Error(`${REL_ARCHITECTURE_POINTER} is not valid JSON`);
134
+ }
135
+ return validateArchitecturePointer(parsed);
136
+ }
137
+ //# sourceMappingURL=architecture-pointer-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer-schema.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type ArchitectureDocKind = "file" | "directory" | "external" | "unset";
2
+ export interface ArchitectureDiscovery {
3
+ skill?: string;
4
+ }
5
+ export interface ArchitectureAccess {
6
+ required: boolean;
7
+ tool?: string;
8
+ skill?: string;
9
+ credential_slot?: string;
10
+ auth_hint?: string;
11
+ detect?: string[];
12
+ }
13
+ export interface ArchitecturePointer {
14
+ schema_version: string;
15
+ kind: ArchitectureDocKind;
16
+ location: string;
17
+ read_hint: string;
18
+ access?: ArchitectureAccess;
19
+ discovery?: ArchitectureDiscovery;
20
+ }
21
+ export declare const ARCHITECTURE_POINTER_SCHEMA_VERSION: "0.1.0";
22
+ /** Init stub markers — file content matching these still requires discovery. */
23
+ export declare const ARCHITECTURE_STUB_MARKERS: readonly ["Replace this section with your project structure", "Your architecture notes"];
24
+ //# sourceMappingURL=architecture-pointer-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer-types.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,eAAO,MAAM,mCAAmC,EAAG,OAAgB,CAAC;AAEpE,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,0FAG5B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const ARCHITECTURE_POINTER_SCHEMA_VERSION = "0.1.0";
2
+ /** Init stub markers — file content matching these still requires discovery. */
3
+ export const ARCHITECTURE_STUB_MARKERS = [
4
+ "Replace this section with your project structure",
5
+ "Your architecture notes",
6
+ ];
7
+ //# sourceMappingURL=architecture-pointer-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer-types.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer-types.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,mCAAmC,GAAG,OAAgB,CAAC;AAEpE,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,kDAAkD;IAClD,yBAAyB;CACjB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type { ArchitectureAccess, ArchitectureDiscovery, ArchitectureDocKind, ArchitecturePointer, } from "./architecture-pointer-types.js";
2
+ export { ARCHITECTURE_POINTER_SCHEMA_VERSION, ARCHITECTURE_STUB_MARKERS, } from "./architecture-pointer-types.js";
3
+ export { architecturePointerPath, loadArchitecturePointer, validateArchitecturePointer, } from "./architecture-pointer-schema.js";
4
+ export { architectureFileIsStub, architectureRequiresDiscovery, resolveArchitectureAccessSkill, resolveArchitectureDiscoverySkill, summarizeArchitecturePointer, } from "./architecture-pointer-discovery.js";
5
+ export { runArchitecturePointerDoctorChecks } from "./architecture-pointer-doctor.js";
6
+ export declare function architectureCredentialConfigured(repoRoot: string, slot: string): boolean;
7
+ //# sourceMappingURL=architecture-pointer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAExF"}
@@ -0,0 +1,10 @@
1
+ import fs from "node:fs";
2
+ import { architectureCredentialPath } from "./architecture-credential.js";
3
+ export { ARCHITECTURE_POINTER_SCHEMA_VERSION, ARCHITECTURE_STUB_MARKERS, } from "./architecture-pointer-types.js";
4
+ export { architecturePointerPath, loadArchitecturePointer, validateArchitecturePointer, } from "./architecture-pointer-schema.js";
5
+ export { architectureFileIsStub, architectureRequiresDiscovery, resolveArchitectureAccessSkill, resolveArchitectureDiscoverySkill, summarizeArchitecturePointer, } from "./architecture-pointer-discovery.js";
6
+ export { runArchitecturePointerDoctorChecks } from "./architecture-pointer-doctor.js";
7
+ export function architectureCredentialConfigured(repoRoot, slot) {
8
+ return fs.existsSync(architectureCredentialPath(repoRoot, slot));
9
+ }
10
+ //# sourceMappingURL=architecture-pointer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-pointer.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAQ1E,OAAO,EACL,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF,MAAM,UAAU,gCAAgC,CAAC,QAAgB,EAAE,IAAY;IAC7E,OAAO,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Promote staged file to target; rename-first with retry, safe copy-via-.tmp fallback.
3
+ * Production target is never partially overwritten on copy failure.
4
+ */
5
+ export declare function promoteFileAtomic(stagedPath: string, targetPath: string, opts?: {
6
+ retries?: number;
7
+ backoffMs?: number;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=atomic-fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-fs.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/atomic-fs.ts"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
@@ -0,0 +1,63 @@
1
+ import { copyFile, rename, unlink } from "node:fs/promises";
2
+ import { setTimeout as delay } from "node:timers/promises";
3
+ const RETRYABLE_CODES = new Set(["EPERM", "EBUSY", "EACCES"]);
4
+ function isRetryableError(err) {
5
+ return (err != null &&
6
+ typeof err === "object" &&
7
+ "code" in err &&
8
+ typeof err.code === "string" &&
9
+ RETRYABLE_CODES.has(err.code));
10
+ }
11
+ async function retryRename(from, to, retries, backoffMs) {
12
+ let lastErr;
13
+ for (let attempt = 0; attempt < retries; attempt++) {
14
+ try {
15
+ await rename(from, to);
16
+ return;
17
+ }
18
+ catch (err) {
19
+ lastErr = err;
20
+ if (!isRetryableError(err) || attempt === retries - 1)
21
+ throw err;
22
+ await delay(backoffMs);
23
+ }
24
+ }
25
+ throw lastErr;
26
+ }
27
+ /**
28
+ * Promote staged file to target; rename-first with retry, safe copy-via-.tmp fallback.
29
+ * Production target is never partially overwritten on copy failure.
30
+ */
31
+ export async function promoteFileAtomic(stagedPath, targetPath, opts = {}) {
32
+ const retries = opts.retries ?? 3;
33
+ const backoffMs = opts.backoffMs ?? 100;
34
+ try {
35
+ await retryRename(stagedPath, targetPath, retries, backoffMs);
36
+ return;
37
+ }
38
+ catch (renameErr) {
39
+ if (!isRetryableError(renameErr))
40
+ throw renameErr;
41
+ }
42
+ const tmpTarget = `${targetPath}.tmp`;
43
+ await copyFile(stagedPath, tmpTarget);
44
+ try {
45
+ await retryRename(tmpTarget, targetPath, retries, backoffMs);
46
+ }
47
+ catch (err) {
48
+ try {
49
+ await unlink(tmpTarget);
50
+ }
51
+ catch {
52
+ // orphan .tmp only — original target untouched
53
+ }
54
+ throw err;
55
+ }
56
+ try {
57
+ await unlink(stagedPath);
58
+ }
59
+ catch {
60
+ // staged copy promoted; staging leak is acceptable
61
+ }
62
+ }
63
+ //# sourceMappingURL=atomic-fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-fs.js","sourceRoot":"","sources":["../../../src/cli/lib/atomic-fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9D,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,CACL,GAAG,IAAI,IAAI;QACX,OAAO,GAAG,KAAK,QAAQ;QACvB,MAAM,IAAI,GAAG;QACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,QAAQ;QACvD,eAAe,CAAC,GAAG,CAAE,GAA6B,CAAC,IAAK,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,EAAU,EAAE,OAAe,EAAE,SAAiB;IACrF,IAAI,OAAgB,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,OAAO,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjE,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,UAAkB,EAClB,OAAiD,EAAE;IAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAAE,MAAM,SAAS,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,UAAU,MAAM,CAAC;IACtC,MAAM,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Tailor command output verbosity by role. */
2
+ export type OutputAudience = "worker" | "teacher" | "verifier" | "platform";
3
+ export declare function parseAudience(raw: string | undefined): OutputAudience | undefined;
4
+ export interface ResolvedAudience {
5
+ audience?: OutputAudience;
6
+ /** Set when CLI --audience was provided but not a known role. */
7
+ invalidCli?: string;
8
+ }
9
+ /** CLI flag wins over env; invalid CLI value is reported via invalidCli. */
10
+ export declare function resolveAudience(cliRaw?: string, envRaw?: string): ResolvedAudience;
11
+ export declare function formatAudienceNextStep(step: string, audience: OutputAudience | undefined): string;
12
+ export interface AudienceNextStep {
13
+ audience: OutputAudience;
14
+ step: string;
15
+ }
16
+ export declare function filterNextStepsForAudience(audience: OutputAudience | undefined, steps: string[]): string[];
17
+ export declare function audienceSectionTitle(audience: OutputAudience | undefined): string | null;
18
+ //# sourceMappingURL=audience-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience-output.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAS5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CASjG;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAwBD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,EAAE,CAQV;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASxF"}
@@ -0,0 +1,80 @@
1
+ const VALID_AUDIENCES = [
2
+ "worker",
3
+ "teacher",
4
+ "verifier",
5
+ "platform",
6
+ ];
7
+ export function parseAudience(raw) {
8
+ if (!raw)
9
+ return undefined;
10
+ const v = raw.trim().toLowerCase();
11
+ if (VALID_AUDIENCES.includes(v)) {
12
+ return v;
13
+ }
14
+ return undefined;
15
+ }
16
+ /** CLI flag wins over env; invalid CLI value is reported via invalidCli. */
17
+ export function resolveAudience(cliRaw, envRaw) {
18
+ const cli = cliRaw?.trim();
19
+ if (cli) {
20
+ const parsed = parseAudience(cli);
21
+ if (!parsed)
22
+ return { invalidCli: cli };
23
+ return { audience: parsed };
24
+ }
25
+ return { audience: parseAudience(envRaw) };
26
+ }
27
+ export function formatAudienceNextStep(step, audience) {
28
+ if (!audience || audience === "platform")
29
+ return step;
30
+ if (audience === "worker") {
31
+ return step.startsWith("Constraint:") ? step : `Constraint: ${step}`;
32
+ }
33
+ if (audience === "teacher") {
34
+ return /^(Teacher:|git )/i.test(step) ? step : `Teacher: ${step}`;
35
+ }
36
+ return step;
37
+ }
38
+ const DEFAULT_NEXT_STEPS = [
39
+ { audience: "teacher", step: 'gapman legislate "<intent>" --msn MSN-0001 --skill-key <key>' },
40
+ { audience: "teacher", step: "Teacher: git commit -m \"[MSN-0001] legislate …\" including mission file" },
41
+ { audience: "worker", step: "eval \"$(gapman runtime env --mission .gitagent/missions/<file>.yaml)\"" },
42
+ { audience: "worker", step: "Append gate evidence to WORKER_LOG.md" },
43
+ { audience: "verifier", step: "gapman verify --mission .gitagent/missions/<file>.yaml" },
44
+ { audience: "platform", step: "git config core.hooksPath .githooks && gapman doctor" },
45
+ ];
46
+ function stepMatchesAudience(step, audience) {
47
+ switch (audience) {
48
+ case "teacher":
49
+ return /legislate|Teacher:|git commit -m "\[MSN-/i.test(step);
50
+ case "worker":
51
+ return /runtime env|WORKER_LOG|gate evidence|eval "\$\(gapman runtime|execute worker/i.test(step);
52
+ case "verifier":
53
+ return /gapman verify/i.test(step);
54
+ case "platform":
55
+ return /hooksPath|gapman doctor|gapman init/i.test(step);
56
+ }
57
+ }
58
+ export function filterNextStepsForAudience(audience, steps) {
59
+ if (!audience)
60
+ return steps;
61
+ if (steps.length > 0) {
62
+ const filtered = [...new Set(steps.filter((step) => stepMatchesAudience(step, audience)))];
63
+ if (filtered.length > 0)
64
+ return filtered;
65
+ }
66
+ const roleDefaults = DEFAULT_NEXT_STEPS.filter((s) => s.audience === audience).map((s) => s.step);
67
+ return roleDefaults.length > 0 ? roleDefaults : steps;
68
+ }
69
+ export function audienceSectionTitle(audience) {
70
+ if (!audience)
71
+ return null;
72
+ const labels = {
73
+ worker: "Worker next steps",
74
+ teacher: "Teacher next steps",
75
+ verifier: "Verifier next steps",
76
+ platform: "Platform next steps",
77
+ };
78
+ return labels[audience];
79
+ }
80
+ //# sourceMappingURL=audience-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience-output.js","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export declare const ENV_BYPASS_SECRET = "GXT_BYPASS_SECRET";
2
+ export declare const REL_BYPASS_SHA256 = ".gitagent/foreman/BYPASS.sha256";
3
+ export declare const GXT_BYPASS_NOTES_REF = "refs/notes/gxt-bypass";
4
+ export interface BypassAuditPayload {
5
+ v: 1;
6
+ reason: string;
7
+ ts: string;
8
+ msn_id?: string;
9
+ mission_file?: string;
10
+ }
11
+ /** True when GXT_BYPASS_SECRET matches committed BYPASS.sha256 anchor. */
12
+ export declare function isBypassSecretAuthorized(repoRoot: string): boolean;
13
+ export declare function assertBypassSecretAuthorized(repoRoot: string): void;
14
+ export declare function validateBreakGlassReason(reason: string | undefined): string;
15
+ export declare function parseBypassNoteBody(noteBody: string): BypassAuditPayload | null;
16
+ export declare function commitHasValidBypassNote(root: string, commit: string): boolean;
17
+ export declare function writeBypassGitNote(root: string, commit: string, payload: BypassAuditPayload): void;
18
+ export declare function runBreakGlassAudit(root: string, options: {
19
+ reason: string;
20
+ msnId?: string | null;
21
+ missionFile?: string;
22
+ commit?: string;
23
+ auditCommit?: boolean;
24
+ }): string;
25
+ //# sourceMappingURL=break-glass.d.ts.map
@@ -0,0 +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"}