@jeger-ai/opengantry 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +40 -14
  2. package/dist/cli/commands/audit-rigor.d.ts +8 -0
  3. package/dist/cli/commands/audit-rigor.d.ts.map +1 -0
  4. package/dist/cli/commands/audit-rigor.js +24 -0
  5. package/dist/cli/commands/audit-rigor.js.map +1 -0
  6. package/dist/cli/commands/context-feed.d.ts +6 -0
  7. package/dist/cli/commands/context-feed.d.ts.map +1 -0
  8. package/dist/cli/commands/context-feed.js +48 -0
  9. package/dist/cli/commands/context-feed.js.map +1 -0
  10. package/dist/cli/commands/context-request.d.ts +11 -0
  11. package/dist/cli/commands/context-request.d.ts.map +1 -0
  12. package/dist/cli/commands/context-request.js +74 -0
  13. package/dist/cli/commands/context-request.js.map +1 -0
  14. package/dist/cli/commands/doctor.d.ts +1 -1
  15. package/dist/cli/commands/doctor.d.ts.map +1 -1
  16. package/dist/cli/commands/doctor.js +1 -2
  17. package/dist/cli/commands/doctor.js.map +1 -1
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +6 -2
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/legislate.d.ts +1 -1
  22. package/dist/cli/commands/legislate.d.ts.map +1 -1
  23. package/dist/cli/commands/legislate.js +1 -1
  24. package/dist/cli/commands/legislate.js.map +1 -1
  25. package/dist/cli/commands/mission.js +3 -3
  26. package/dist/cli/commands/mission.js.map +1 -1
  27. package/dist/cli/commands/onboarding.d.ts.map +1 -1
  28. package/dist/cli/commands/onboarding.js +12 -9
  29. package/dist/cli/commands/onboarding.js.map +1 -1
  30. package/dist/cli/commands/perimeter.js +1 -1
  31. package/dist/cli/commands/perimeter.js.map +1 -1
  32. package/dist/cli/commands/runtime.js +1 -1
  33. package/dist/cli/commands/runtime.js.map +1 -1
  34. package/dist/cli/commands/scan.js +1 -1
  35. package/dist/cli/commands/scan.js.map +1 -1
  36. package/dist/cli/commands/tmvc-guard.d.ts +7 -0
  37. package/dist/cli/commands/tmvc-guard.d.ts.map +1 -0
  38. package/dist/cli/commands/tmvc-guard.js +63 -0
  39. package/dist/cli/commands/tmvc-guard.js.map +1 -0
  40. package/dist/cli/commands/triage.js +2 -2
  41. package/dist/cli/commands/triage.js.map +1 -1
  42. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  43. package/dist/cli/commands/upgrade.js +3 -2
  44. package/dist/cli/commands/upgrade.js.map +1 -1
  45. package/dist/cli/commands/verify.d.ts +2 -2
  46. package/dist/cli/commands/verify.d.ts.map +1 -1
  47. package/dist/cli/commands/verify.js +7 -7
  48. package/dist/cli/commands/verify.js.map +1 -1
  49. package/dist/cli/index.js +1 -1
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/lib/architecture-pointer.d.ts +33 -5
  52. package/dist/cli/lib/architecture-pointer.d.ts.map +1 -1
  53. package/dist/cli/lib/architecture-pointer.js +304 -5
  54. package/dist/cli/lib/architecture-pointer.js.map +1 -1
  55. package/dist/cli/lib/ast-discovery.d.ts.map +1 -1
  56. package/dist/cli/lib/ast-discovery.js +7 -16
  57. package/dist/cli/lib/ast-discovery.js.map +1 -1
  58. package/dist/cli/lib/audit-rigor.d.ts +18 -0
  59. package/dist/cli/lib/audit-rigor.d.ts.map +1 -0
  60. package/dist/cli/lib/audit-rigor.js +189 -0
  61. package/dist/cli/lib/audit-rigor.js.map +1 -0
  62. package/dist/cli/lib/banned-import-violation.d.ts +8 -0
  63. package/dist/cli/lib/banned-import-violation.d.ts.map +1 -0
  64. package/dist/cli/lib/banned-import-violation.js +15 -0
  65. package/dist/cli/lib/banned-import-violation.js.map +1 -0
  66. package/dist/cli/lib/break-glass.d.ts +17 -0
  67. package/dist/cli/lib/break-glass.d.ts.map +1 -1
  68. package/dist/cli/lib/break-glass.js +28 -1
  69. package/dist/cli/lib/break-glass.js.map +1 -1
  70. package/dist/cli/lib/cli-io.d.ts +8 -0
  71. package/dist/cli/lib/cli-io.d.ts.map +1 -1
  72. package/dist/cli/lib/cli-io.js +16 -0
  73. package/dist/cli/lib/cli-io.js.map +1 -1
  74. package/dist/cli/lib/command-reporter.d.ts +3 -3
  75. package/dist/cli/lib/command-reporter.d.ts.map +1 -1
  76. package/dist/cli/lib/constants.d.ts +6 -0
  77. package/dist/cli/lib/constants.d.ts.map +1 -1
  78. package/dist/cli/lib/constants.js +6 -0
  79. package/dist/cli/lib/constants.js.map +1 -1
  80. package/dist/cli/lib/context-feed-remediation.d.ts +12 -0
  81. package/dist/cli/lib/context-feed-remediation.d.ts.map +1 -0
  82. package/dist/cli/lib/context-feed-remediation.js +88 -0
  83. package/dist/cli/lib/context-feed-remediation.js.map +1 -0
  84. package/dist/cli/lib/context-feed-store.d.ts +33 -0
  85. package/dist/cli/lib/context-feed-store.d.ts.map +1 -0
  86. package/dist/cli/lib/context-feed-store.js +110 -0
  87. package/dist/cli/lib/context-feed-store.js.map +1 -0
  88. package/dist/cli/lib/context-request.d.ts +22 -0
  89. package/dist/cli/lib/context-request.d.ts.map +1 -0
  90. package/dist/cli/lib/context-request.js +45 -0
  91. package/dist/cli/lib/context-request.js.map +1 -0
  92. package/dist/cli/lib/dirty-missions.js +1 -1
  93. package/dist/cli/lib/dirty-missions.js.map +1 -1
  94. package/dist/cli/lib/doctor-core.d.ts +5 -0
  95. package/dist/cli/lib/doctor-core.d.ts.map +1 -0
  96. package/dist/cli/lib/{doctor-checks.js → doctor-core.js} +34 -9
  97. package/dist/cli/lib/doctor-core.js.map +1 -0
  98. package/dist/cli/lib/doctor-integration.d.ts +13 -0
  99. package/dist/cli/lib/doctor-integration.d.ts.map +1 -0
  100. package/dist/cli/lib/{doctor-integration-checks.js → doctor-integration.js} +38 -7
  101. package/dist/cli/lib/doctor-integration.js.map +1 -0
  102. package/dist/cli/lib/doctor-substrate.d.ts +3 -0
  103. package/dist/cli/lib/doctor-substrate.d.ts.map +1 -0
  104. package/dist/cli/lib/{doctor-substrate-drift.js → doctor-substrate.js} +1 -1
  105. package/dist/cli/lib/doctor-substrate.js.map +1 -0
  106. package/dist/cli/lib/{doctor-checks.d.ts → doctor-types.d.ts} +11 -3
  107. package/dist/cli/lib/doctor-types.d.ts.map +1 -0
  108. package/dist/cli/lib/doctor-types.js +7 -0
  109. package/dist/cli/lib/doctor-types.js.map +1 -0
  110. package/dist/cli/lib/doctor.d.ts +5 -0
  111. package/dist/cli/lib/doctor.d.ts.map +1 -0
  112. package/dist/cli/lib/doctor.js +5 -0
  113. package/dist/cli/lib/doctor.js.map +1 -0
  114. package/dist/cli/lib/draft-token.js +1 -1
  115. package/dist/cli/lib/draft-token.js.map +1 -1
  116. package/dist/cli/lib/{user-error.d.ts → errors.d.ts} +20 -1
  117. package/dist/cli/lib/errors.d.ts.map +1 -0
  118. package/dist/cli/lib/{agent-error.js → errors.js} +64 -1
  119. package/dist/cli/lib/errors.js.map +1 -0
  120. package/dist/cli/lib/fix-hints.d.ts +1 -1
  121. package/dist/cli/lib/fix-hints.d.ts.map +1 -1
  122. package/dist/cli/lib/gate-work-dir.d.ts +6 -0
  123. package/dist/cli/lib/gate-work-dir.d.ts.map +1 -0
  124. package/dist/cli/lib/gate-work-dir.js +6 -0
  125. package/dist/cli/lib/gate-work-dir.js.map +1 -0
  126. package/dist/cli/lib/git-metrics.d.ts +34 -0
  127. package/dist/cli/lib/git-metrics.d.ts.map +1 -1
  128. package/dist/cli/lib/git-metrics.js +199 -3
  129. package/dist/cli/lib/git-metrics.js.map +1 -1
  130. package/dist/cli/lib/git-proof.d.ts +4 -0
  131. package/dist/cli/lib/git-proof.d.ts.map +1 -1
  132. package/dist/cli/lib/git-proof.js +22 -8
  133. package/dist/cli/lib/git-proof.js.map +1 -1
  134. package/dist/cli/lib/git-staged.d.ts +20 -0
  135. package/dist/cli/lib/git-staged.d.ts.map +1 -0
  136. package/dist/cli/lib/git-staged.js +37 -0
  137. package/dist/cli/lib/git-staged.js.map +1 -0
  138. package/dist/cli/lib/git.d.ts +25 -0
  139. package/dist/cli/lib/git.d.ts.map +1 -1
  140. package/dist/cli/lib/git.js +52 -0
  141. package/dist/cli/lib/git.js.map +1 -1
  142. package/dist/cli/lib/gxt-error-codes.d.ts +4 -0
  143. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  144. package/dist/cli/lib/gxt-error-codes.js +4 -0
  145. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  146. package/dist/cli/lib/import-scanner.d.ts +14 -0
  147. package/dist/cli/lib/import-scanner.d.ts.map +1 -0
  148. package/dist/cli/lib/import-scanner.js +67 -0
  149. package/dist/cli/lib/import-scanner.js.map +1 -0
  150. package/dist/cli/lib/{init-compose-arch-pointer.d.ts → init-compose.d.ts} +4 -1
  151. package/dist/cli/lib/init-compose.d.ts.map +1 -0
  152. package/dist/cli/lib/{init-compose-arch-pointer.js → init-compose.js} +37 -1
  153. package/dist/cli/lib/init-compose.js.map +1 -0
  154. package/dist/cli/lib/init-interactive.js +2 -2
  155. package/dist/cli/lib/init-interactive.js.map +1 -1
  156. package/dist/cli/lib/init-tutorial.d.ts.map +1 -1
  157. package/dist/cli/lib/init-tutorial.js +10 -10
  158. package/dist/cli/lib/init-tutorial.js.map +1 -1
  159. package/dist/cli/lib/integration-compat.d.ts +7 -0
  160. package/dist/cli/lib/integration-compat.d.ts.map +1 -1
  161. package/dist/cli/lib/integration-compat.js +14 -0
  162. package/dist/cli/lib/integration-compat.js.map +1 -1
  163. package/dist/cli/lib/kpi-engine.d.ts +32 -0
  164. package/dist/cli/lib/kpi-engine.d.ts.map +1 -0
  165. package/dist/cli/lib/kpi-engine.js +279 -0
  166. package/dist/cli/lib/kpi-engine.js.map +1 -0
  167. package/dist/cli/lib/kpi-scan.d.ts +2 -0
  168. package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
  169. package/dist/cli/lib/kpi-scan.js +8 -4
  170. package/dist/cli/lib/kpi-scan.js.map +1 -1
  171. package/dist/cli/lib/legislate.d.ts +39 -0
  172. package/dist/cli/lib/legislate.d.ts.map +1 -0
  173. package/dist/cli/lib/{legislate-core.js → legislate.js} +31 -6
  174. package/dist/cli/lib/legislate.js.map +1 -0
  175. package/dist/cli/lib/mcp-governance.d.ts +124 -0
  176. package/dist/cli/lib/mcp-governance.d.ts.map +1 -0
  177. package/dist/cli/lib/mcp-governance.js +231 -0
  178. package/dist/cli/lib/mcp-governance.js.map +1 -0
  179. package/dist/cli/lib/mcp-runtime.d.ts +4 -4
  180. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
  181. package/dist/cli/lib/mcp-runtime.js +3 -3
  182. package/dist/cli/lib/mcp-runtime.js.map +1 -1
  183. package/dist/cli/lib/mcp-tools-register.js +2 -3
  184. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  185. package/dist/cli/lib/mcp-upgrade.d.ts +11 -2
  186. package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
  187. package/dist/cli/lib/mcp-upgrade.js +6 -2
  188. package/dist/cli/lib/mcp-upgrade.js.map +1 -1
  189. package/dist/cli/lib/missions/formatter.d.ts +17 -0
  190. package/dist/cli/lib/missions/formatter.d.ts.map +1 -0
  191. package/dist/cli/lib/{mission-markdown.js → missions/formatter.js} +58 -2
  192. package/dist/cli/lib/missions/formatter.js.map +1 -0
  193. package/dist/cli/lib/missions/parser.d.ts +45 -0
  194. package/dist/cli/lib/missions/parser.d.ts.map +1 -0
  195. package/dist/cli/lib/missions/parser.js +271 -0
  196. package/dist/cli/lib/missions/parser.js.map +1 -0
  197. package/dist/cli/lib/{mission-schema-validate.d.ts → missions/validator.d.ts} +1 -1
  198. package/dist/cli/lib/missions/validator.d.ts.map +1 -0
  199. package/dist/cli/lib/{mission-schema-validate.js → missions/validator.js} +4 -3
  200. package/dist/cli/lib/missions/validator.js.map +1 -0
  201. package/dist/cli/lib/msn-allocate.js +3 -3
  202. package/dist/cli/lib/msn-allocate.js.map +1 -1
  203. package/dist/cli/lib/perimeter.d.ts +19 -1
  204. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  205. package/dist/cli/lib/perimeter.js +139 -51
  206. package/dist/cli/lib/perimeter.js.map +1 -1
  207. package/dist/cli/lib/register-proposals.d.ts +1 -1
  208. package/dist/cli/lib/register-proposals.d.ts.map +1 -1
  209. package/dist/cli/lib/register-proposals.js +5 -1
  210. package/dist/cli/lib/register-proposals.js.map +1 -1
  211. package/dist/cli/lib/runtime-env.js +2 -2
  212. package/dist/cli/lib/runtime-env.js.map +1 -1
  213. package/dist/cli/lib/runtime-exec.d.ts +48 -4
  214. package/dist/cli/lib/runtime-exec.d.ts.map +1 -1
  215. package/dist/cli/lib/runtime-exec.js +218 -4
  216. package/dist/cli/lib/runtime-exec.js.map +1 -1
  217. package/dist/cli/lib/staged-tmvc-guard.d.ts +26 -0
  218. package/dist/cli/lib/staged-tmvc-guard.d.ts.map +1 -0
  219. package/dist/cli/lib/staged-tmvc-guard.js +58 -0
  220. package/dist/cli/lib/staged-tmvc-guard.js.map +1 -0
  221. package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
  222. package/dist/cli/lib/start-orchestration.js +20 -41
  223. package/dist/cli/lib/start-orchestration.js.map +1 -1
  224. package/dist/cli/lib/{start-state.d.ts → start-snapshot.d.ts} +1 -1
  225. package/dist/cli/lib/start-snapshot.d.ts.map +1 -0
  226. package/dist/cli/lib/{start-state.js → start-snapshot.js} +3 -8
  227. package/dist/cli/lib/start-snapshot.js.map +1 -0
  228. package/dist/cli/lib/status-report.d.ts +1 -1
  229. package/dist/cli/lib/status-report.d.ts.map +1 -1
  230. package/dist/cli/lib/status-report.js +2 -2
  231. package/dist/cli/lib/status-report.js.map +1 -1
  232. package/dist/cli/lib/surgeon.d.ts +23 -0
  233. package/dist/cli/lib/surgeon.d.ts.map +1 -0
  234. package/dist/cli/lib/surgeon.js +63 -0
  235. package/dist/cli/lib/surgeon.js.map +1 -0
  236. package/dist/cli/lib/surgeons/banned-import.d.ts +4 -0
  237. package/dist/cli/lib/surgeons/banned-import.d.ts.map +1 -0
  238. package/dist/cli/lib/surgeons/banned-import.js +37 -0
  239. package/dist/cli/lib/surgeons/banned-import.js.map +1 -0
  240. package/dist/cli/lib/surgeons/import-layer.d.ts +3 -0
  241. package/dist/cli/lib/surgeons/import-layer.d.ts.map +1 -0
  242. package/dist/cli/lib/surgeons/import-layer.js +74 -0
  243. package/dist/cli/lib/surgeons/import-layer.js.map +1 -0
  244. package/dist/cli/lib/surgeons/quarantine-import.d.ts +24 -0
  245. package/dist/cli/lib/surgeons/quarantine-import.d.ts.map +1 -0
  246. package/dist/cli/lib/surgeons/quarantine-import.js +128 -0
  247. package/dist/cli/lib/surgeons/quarantine-import.js.map +1 -0
  248. package/dist/cli/lib/surgeons/registry.d.ts +22 -0
  249. package/dist/cli/lib/surgeons/registry.d.ts.map +1 -0
  250. package/dist/cli/lib/surgeons/registry.js +27 -0
  251. package/dist/cli/lib/surgeons/registry.js.map +1 -0
  252. package/dist/cli/lib/surgeons/typescript-workspace.d.ts +7 -0
  253. package/dist/cli/lib/surgeons/typescript-workspace.d.ts.map +1 -0
  254. package/dist/cli/lib/surgeons/typescript-workspace.js +41 -0
  255. package/dist/cli/lib/surgeons/typescript-workspace.js.map +1 -0
  256. package/dist/cli/lib/teacher-identity.js +1 -1
  257. package/dist/cli/lib/teacher-identity.js.map +1 -1
  258. package/dist/cli/lib/tmvc-path.d.ts +12 -0
  259. package/dist/cli/lib/tmvc-path.d.ts.map +1 -0
  260. package/dist/cli/lib/tmvc-path.js +47 -0
  261. package/dist/cli/lib/tmvc-path.js.map +1 -0
  262. package/dist/cli/lib/trace.d.ts +28 -1
  263. package/dist/cli/lib/trace.d.ts.map +1 -1
  264. package/dist/cli/lib/trace.js +153 -3
  265. package/dist/cli/lib/trace.js.map +1 -1
  266. package/dist/cli/lib/types.d.ts +4 -1
  267. package/dist/cli/lib/types.d.ts.map +1 -1
  268. package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
  269. package/dist/cli/lib/upgrade-apply.js +6 -2
  270. package/dist/cli/lib/upgrade-apply.js.map +1 -1
  271. package/dist/cli/lib/upgrade-plan-payload.d.ts +31 -0
  272. package/dist/cli/lib/upgrade-plan-payload.d.ts.map +1 -0
  273. package/dist/cli/lib/upgrade-plan-payload.js +109 -0
  274. package/dist/cli/lib/upgrade-plan-payload.js.map +1 -0
  275. package/dist/cli/lib/upgrade-plan.d.ts +19 -1
  276. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
  277. package/dist/cli/lib/upgrade-plan.js +78 -6
  278. package/dist/cli/lib/upgrade-plan.js.map +1 -1
  279. package/dist/cli/lib/verify-changed-missions.js +1 -1
  280. package/dist/cli/lib/verify-changed-missions.js.map +1 -1
  281. package/dist/cli/lib/verify-engine.d.ts +36 -6
  282. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  283. package/dist/cli/lib/verify-engine.js +74 -25
  284. package/dist/cli/lib/verify-engine.js.map +1 -1
  285. package/dist/cli/lib/{verify-failure-presentation.d.ts → verify-failure-format.d.ts} +3 -4
  286. package/dist/cli/lib/verify-failure-format.d.ts.map +1 -0
  287. package/dist/cli/lib/{verify-failure-presentation.js → verify-failure-format.js} +2 -2
  288. package/dist/cli/lib/verify-failure-format.js.map +1 -0
  289. package/dist/cli/lib/verify-hints.d.ts +32 -0
  290. package/dist/cli/lib/verify-hints.d.ts.map +1 -0
  291. package/dist/cli/lib/verify-hints.js +161 -0
  292. package/dist/cli/lib/verify-hints.js.map +1 -0
  293. package/dist/cli/lib/{verify-result-payload.d.ts → verify-payload.d.ts} +2 -8
  294. package/dist/cli/lib/verify-payload.d.ts.map +1 -0
  295. package/dist/cli/lib/{verify-result-payload.js → verify-payload.js} +9 -26
  296. package/dist/cli/lib/verify-payload.js.map +1 -0
  297. package/dist/cli/lib/verify-present.d.ts +6 -19
  298. package/dist/cli/lib/verify-present.d.ts.map +1 -1
  299. package/dist/cli/lib/verify-present.js +3 -122
  300. package/dist/cli/lib/verify-present.js.map +1 -1
  301. package/dist/cli/lib/verify-presentation.d.ts +8 -0
  302. package/dist/cli/lib/verify-presentation.d.ts.map +1 -0
  303. package/dist/cli/lib/verify-presentation.js +5 -0
  304. package/dist/cli/lib/verify-presentation.js.map +1 -0
  305. package/dist/cli/lib/verify-presenters.d.ts +19 -0
  306. package/dist/cli/lib/verify-presenters.d.ts.map +1 -0
  307. package/dist/cli/lib/verify-presenters.js +173 -0
  308. package/dist/cli/lib/verify-presenters.js.map +1 -0
  309. package/dist/cli/lib/verify-remediation.d.ts +4 -30
  310. package/dist/cli/lib/verify-remediation.d.ts.map +1 -1
  311. package/dist/cli/lib/verify-remediation.js +2 -149
  312. package/dist/cli/lib/verify-remediation.js.map +1 -1
  313. package/dist/cli/lib/verify-run.d.ts +6 -4
  314. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  315. package/dist/cli/lib/verify-run.js +23 -8
  316. package/dist/cli/lib/verify-run.js.map +1 -1
  317. package/dist/cli/lib/verify-sinks.d.ts +4 -0
  318. package/dist/cli/lib/verify-sinks.d.ts.map +1 -0
  319. package/dist/cli/lib/verify-sinks.js +12 -0
  320. package/dist/cli/lib/verify-sinks.js.map +1 -0
  321. package/dist/cli/lib/version.gen.d.ts +1 -1
  322. package/dist/cli/lib/version.gen.js +1 -1
  323. package/dist/cli/lib/virtual-scratch-store.d.ts +37 -0
  324. package/dist/cli/lib/virtual-scratch-store.d.ts.map +1 -0
  325. package/dist/cli/lib/virtual-scratch-store.js +132 -0
  326. package/dist/cli/lib/virtual-scratch-store.js.map +1 -0
  327. package/dist/cli/program-core.d.ts.map +1 -1
  328. package/dist/cli/program-core.js +52 -29
  329. package/dist/cli/program-core.js.map +1 -1
  330. package/dist/cli/program-mission.d.ts.map +1 -1
  331. package/dist/cli/program-mission.js +38 -1
  332. package/dist/cli/program-mission.js.map +1 -1
  333. package/dist/cli/program-workflow.d.ts.map +1 -1
  334. package/dist/cli/program-workflow.js +30 -20
  335. package/dist/cli/program-workflow.js.map +1 -1
  336. package/package.json +3 -2
  337. package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +1 -0
  338. package/templates/.gitagent/teacher/MISSION.schema.yaml +6 -0
  339. package/templates/.gitagent/teacher/WORKER_LOG.template.md +1 -0
  340. package/templates/.githooks/pre-commit +26 -0
  341. package/templates/.github/workflows/gxt-validate.yml +5 -0
  342. package/templates/.gitignore.gxt +2 -0
  343. package/templates/AGENTS.md +4 -0
  344. package/templates/integrations/asset-catalog.json +30 -28
  345. package/templates/integrations/compatibility.json +10 -1
  346. package/templates/integrations/recipes/_footer.md +4 -0
  347. package/templates/integrations/recipes/claude-code.md +6 -4
  348. package/templates/integrations/recipes/codex-cli.md +6 -4
  349. package/templates/integrations/recipes/opencode.md +8 -2
  350. package/templates/scripts/gxt-shell-agent.sh +62 -0
  351. package/dist/cli/lib/agent-error.d.ts +0 -20
  352. package/dist/cli/lib/agent-error.d.ts.map +0 -1
  353. package/dist/cli/lib/agent-error.js.map +0 -1
  354. package/dist/cli/lib/architecture-pointer-discovery.d.ts +0 -7
  355. package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +0 -1
  356. package/dist/cli/lib/architecture-pointer-discovery.js +0 -60
  357. package/dist/cli/lib/architecture-pointer-discovery.js.map +0 -1
  358. package/dist/cli/lib/architecture-pointer-doctor.d.ts +0 -3
  359. package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +0 -1
  360. package/dist/cli/lib/architecture-pointer-doctor.js +0 -115
  361. package/dist/cli/lib/architecture-pointer-doctor.js.map +0 -1
  362. package/dist/cli/lib/architecture-pointer-schema.d.ts +0 -5
  363. package/dist/cli/lib/architecture-pointer-schema.d.ts.map +0 -1
  364. package/dist/cli/lib/architecture-pointer-schema.js +0 -138
  365. package/dist/cli/lib/architecture-pointer-schema.js.map +0 -1
  366. package/dist/cli/lib/architecture-pointer-types.d.ts +0 -24
  367. package/dist/cli/lib/architecture-pointer-types.d.ts.map +0 -1
  368. package/dist/cli/lib/architecture-pointer-types.js +0 -7
  369. package/dist/cli/lib/architecture-pointer-types.js.map +0 -1
  370. package/dist/cli/lib/break-glass-flow.d.ts +0 -18
  371. package/dist/cli/lib/break-glass-flow.d.ts.map +0 -1
  372. package/dist/cli/lib/break-glass-flow.js +0 -29
  373. package/dist/cli/lib/break-glass-flow.js.map +0 -1
  374. package/dist/cli/lib/cli-timeout.d.ts +0 -9
  375. package/dist/cli/lib/cli-timeout.d.ts.map +0 -1
  376. package/dist/cli/lib/cli-timeout.js +0 -17
  377. package/dist/cli/lib/cli-timeout.js.map +0 -1
  378. package/dist/cli/lib/doctor-checks.d.ts.map +0 -1
  379. package/dist/cli/lib/doctor-checks.js.map +0 -1
  380. package/dist/cli/lib/doctor-integration-checks.d.ts +0 -5
  381. package/dist/cli/lib/doctor-integration-checks.d.ts.map +0 -1
  382. package/dist/cli/lib/doctor-integration-checks.js.map +0 -1
  383. package/dist/cli/lib/doctor-orchestration.d.ts +0 -10
  384. package/dist/cli/lib/doctor-orchestration.d.ts.map +0 -1
  385. package/dist/cli/lib/doctor-orchestration.js +0 -32
  386. package/dist/cli/lib/doctor-orchestration.js.map +0 -1
  387. package/dist/cli/lib/doctor-substrate-drift.d.ts +0 -7
  388. package/dist/cli/lib/doctor-substrate-drift.d.ts.map +0 -1
  389. package/dist/cli/lib/doctor-substrate-drift.js.map +0 -1
  390. package/dist/cli/lib/git-metrics-missions.d.ts +0 -3
  391. package/dist/cli/lib/git-metrics-missions.d.ts.map +0 -1
  392. package/dist/cli/lib/git-metrics-missions.js +0 -51
  393. package/dist/cli/lib/git-metrics-missions.js.map +0 -1
  394. package/dist/cli/lib/git-metrics-stream.d.ts +0 -24
  395. package/dist/cli/lib/git-metrics-stream.d.ts.map +0 -1
  396. package/dist/cli/lib/git-metrics-stream.js +0 -137
  397. package/dist/cli/lib/git-metrics-stream.js.map +0 -1
  398. package/dist/cli/lib/git-repo.d.ts +0 -26
  399. package/dist/cli/lib/git-repo.d.ts.map +0 -1
  400. package/dist/cli/lib/git-repo.js +0 -53
  401. package/dist/cli/lib/git-repo.js.map +0 -1
  402. package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +0 -1
  403. package/dist/cli/lib/init-compose-arch-pointer.js.map +0 -1
  404. package/dist/cli/lib/init-compose-doc.d.ts +0 -5
  405. package/dist/cli/lib/init-compose-doc.d.ts.map +0 -1
  406. package/dist/cli/lib/init-compose-doc.js +0 -37
  407. package/dist/cli/lib/init-compose-doc.js.map +0 -1
  408. package/dist/cli/lib/kpi-phase.d.ts +0 -7
  409. package/dist/cli/lib/kpi-phase.d.ts.map +0 -1
  410. package/dist/cli/lib/kpi-phase.js +0 -80
  411. package/dist/cli/lib/kpi-phase.js.map +0 -1
  412. package/dist/cli/lib/kpi-report-stale.d.ts +0 -18
  413. package/dist/cli/lib/kpi-report-stale.d.ts.map +0 -1
  414. package/dist/cli/lib/kpi-report-stale.js +0 -91
  415. package/dist/cli/lib/kpi-report-stale.js.map +0 -1
  416. package/dist/cli/lib/kpi-report.d.ts +0 -13
  417. package/dist/cli/lib/kpi-report.d.ts.map +0 -1
  418. package/dist/cli/lib/kpi-report.js +0 -115
  419. package/dist/cli/lib/kpi-report.js.map +0 -1
  420. package/dist/cli/lib/legislate-core.d.ts +0 -21
  421. package/dist/cli/lib/legislate-core.d.ts.map +0 -1
  422. package/dist/cli/lib/legislate-core.js.map +0 -1
  423. package/dist/cli/lib/legislate-skill.d.ts +0 -20
  424. package/dist/cli/lib/legislate-skill.d.ts.map +0 -1
  425. package/dist/cli/lib/legislate-skill.js +0 -30
  426. package/dist/cli/lib/legislate-skill.js.map +0 -1
  427. package/dist/cli/lib/mcp-legislation-draft.d.ts +0 -6
  428. package/dist/cli/lib/mcp-legislation-draft.d.ts.map +0 -1
  429. package/dist/cli/lib/mcp-legislation-draft.js +0 -62
  430. package/dist/cli/lib/mcp-legislation-draft.js.map +0 -1
  431. package/dist/cli/lib/mcp-legislation-execute.d.ts +0 -6
  432. package/dist/cli/lib/mcp-legislation-execute.d.ts.map +0 -1
  433. package/dist/cli/lib/mcp-legislation-execute.js +0 -43
  434. package/dist/cli/lib/mcp-legislation-execute.js.map +0 -1
  435. package/dist/cli/lib/mcp-legislation-mission.d.ts +0 -12
  436. package/dist/cli/lib/mcp-legislation-mission.d.ts.map +0 -1
  437. package/dist/cli/lib/mcp-legislation-mission.js +0 -82
  438. package/dist/cli/lib/mcp-legislation-mission.js.map +0 -1
  439. package/dist/cli/lib/mcp-legislation-types.d.ts +0 -69
  440. package/dist/cli/lib/mcp-legislation-types.d.ts.map +0 -1
  441. package/dist/cli/lib/mcp-legislation-types.js +0 -4
  442. package/dist/cli/lib/mcp-legislation-types.js.map +0 -1
  443. package/dist/cli/lib/mcp-legislation.d.ts +0 -5
  444. package/dist/cli/lib/mcp-legislation.d.ts.map +0 -1
  445. package/dist/cli/lib/mcp-legislation.js +0 -4
  446. package/dist/cli/lib/mcp-legislation.js.map +0 -1
  447. package/dist/cli/lib/mcp-orchestration-types.d.ts +0 -28
  448. package/dist/cli/lib/mcp-orchestration-types.d.ts.map +0 -1
  449. package/dist/cli/lib/mcp-orchestration-types.js +0 -2
  450. package/dist/cli/lib/mcp-orchestration-types.js.map +0 -1
  451. package/dist/cli/lib/mcp-orchestration.d.ts +0 -14
  452. package/dist/cli/lib/mcp-orchestration.d.ts.map +0 -1
  453. package/dist/cli/lib/mcp-orchestration.js +0 -54
  454. package/dist/cli/lib/mcp-orchestration.js.map +0 -1
  455. package/dist/cli/lib/mcp-upgrade-types.d.ts +0 -12
  456. package/dist/cli/lib/mcp-upgrade-types.d.ts.map +0 -1
  457. package/dist/cli/lib/mcp-upgrade-types.js +0 -2
  458. package/dist/cli/lib/mcp-upgrade-types.js.map +0 -1
  459. package/dist/cli/lib/mission-emit.d.ts +0 -7
  460. package/dist/cli/lib/mission-emit.d.ts.map +0 -1
  461. package/dist/cli/lib/mission-emit.js +0 -23
  462. package/dist/cli/lib/mission-emit.js.map +0 -1
  463. package/dist/cli/lib/mission-legislative-stub.d.ts +0 -9
  464. package/dist/cli/lib/mission-legislative-stub.d.ts.map +0 -1
  465. package/dist/cli/lib/mission-legislative-stub.js +0 -37
  466. package/dist/cli/lib/mission-legislative-stub.js.map +0 -1
  467. package/dist/cli/lib/mission-markdown.d.ts +0 -6
  468. package/dist/cli/lib/mission-markdown.d.ts.map +0 -1
  469. package/dist/cli/lib/mission-markdown.js.map +0 -1
  470. package/dist/cli/lib/mission-msn.d.ts +0 -9
  471. package/dist/cli/lib/mission-msn.d.ts.map +0 -1
  472. package/dist/cli/lib/mission-msn.js +0 -86
  473. package/dist/cli/lib/mission-msn.js.map +0 -1
  474. package/dist/cli/lib/mission-parser.d.ts +0 -6
  475. package/dist/cli/lib/mission-parser.d.ts.map +0 -1
  476. package/dist/cli/lib/mission-parser.js +0 -29
  477. package/dist/cli/lib/mission-parser.js.map +0 -1
  478. package/dist/cli/lib/mission-path.d.ts +0 -4
  479. package/dist/cli/lib/mission-path.d.ts.map +0 -1
  480. package/dist/cli/lib/mission-path.js +0 -28
  481. package/dist/cli/lib/mission-path.js.map +0 -1
  482. package/dist/cli/lib/mission-resolution.d.ts +0 -14
  483. package/dist/cli/lib/mission-resolution.d.ts.map +0 -1
  484. package/dist/cli/lib/mission-resolution.js +0 -60
  485. package/dist/cli/lib/mission-resolution.js.map +0 -1
  486. package/dist/cli/lib/mission-schema-validate.d.ts.map +0 -1
  487. package/dist/cli/lib/mission-schema-validate.js.map +0 -1
  488. package/dist/cli/lib/mission-yaml.d.ts +0 -18
  489. package/dist/cli/lib/mission-yaml.d.ts.map +0 -1
  490. package/dist/cli/lib/mission-yaml.js +0 -228
  491. package/dist/cli/lib/mission-yaml.js.map +0 -1
  492. package/dist/cli/lib/register-proposals-format.d.ts +0 -2
  493. package/dist/cli/lib/register-proposals-format.d.ts.map +0 -1
  494. package/dist/cli/lib/register-proposals-format.js +0 -6
  495. package/dist/cli/lib/register-proposals-format.js.map +0 -1
  496. package/dist/cli/lib/runtime-exec-orchestrator.d.ts +0 -14
  497. package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +0 -1
  498. package/dist/cli/lib/runtime-exec-orchestrator.js +0 -132
  499. package/dist/cli/lib/runtime-exec-orchestrator.js.map +0 -1
  500. package/dist/cli/lib/runtime-exec-result.d.ts +0 -21
  501. package/dist/cli/lib/runtime-exec-result.d.ts.map +0 -1
  502. package/dist/cli/lib/runtime-exec-result.js +0 -42
  503. package/dist/cli/lib/runtime-exec-result.js.map +0 -1
  504. package/dist/cli/lib/runtime-exec-worker.d.ts +0 -18
  505. package/dist/cli/lib/runtime-exec-worker.d.ts.map +0 -1
  506. package/dist/cli/lib/runtime-exec-worker.js +0 -49
  507. package/dist/cli/lib/runtime-exec-worker.js.map +0 -1
  508. package/dist/cli/lib/start-state.d.ts.map +0 -1
  509. package/dist/cli/lib/start-state.js.map +0 -1
  510. package/dist/cli/lib/trace-evidence.d.ts +0 -23
  511. package/dist/cli/lib/trace-evidence.d.ts.map +0 -1
  512. package/dist/cli/lib/trace-evidence.js +0 -118
  513. package/dist/cli/lib/trace-evidence.js.map +0 -1
  514. package/dist/cli/lib/trace-failure-kind.d.ts +0 -4
  515. package/dist/cli/lib/trace-failure-kind.d.ts.map +0 -1
  516. package/dist/cli/lib/trace-failure-kind.js +0 -25
  517. package/dist/cli/lib/trace-failure-kind.js.map +0 -1
  518. package/dist/cli/lib/trace-status.d.ts +0 -7
  519. package/dist/cli/lib/trace-status.d.ts.map +0 -1
  520. package/dist/cli/lib/trace-status.js +0 -20
  521. package/dist/cli/lib/trace-status.js.map +0 -1
  522. package/dist/cli/lib/upgrade-eligible-assets.d.ts +0 -5
  523. package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +0 -1
  524. package/dist/cli/lib/upgrade-eligible-assets.js +0 -9
  525. package/dist/cli/lib/upgrade-eligible-assets.js.map +0 -1
  526. package/dist/cli/lib/upgrade-plan-preview.d.ts +0 -13
  527. package/dist/cli/lib/upgrade-plan-preview.d.ts.map +0 -1
  528. package/dist/cli/lib/upgrade-plan-preview.js +0 -51
  529. package/dist/cli/lib/upgrade-plan-preview.js.map +0 -1
  530. package/dist/cli/lib/upgrade-profile.d.ts +0 -4
  531. package/dist/cli/lib/upgrade-profile.d.ts.map +0 -1
  532. package/dist/cli/lib/upgrade-profile.js +0 -27
  533. package/dist/cli/lib/upgrade-profile.js.map +0 -1
  534. package/dist/cli/lib/user-error.d.ts.map +0 -1
  535. package/dist/cli/lib/user-error.js +0 -64
  536. package/dist/cli/lib/user-error.js.map +0 -1
  537. package/dist/cli/lib/verify-failure-presentation.d.ts.map +0 -1
  538. package/dist/cli/lib/verify-failure-presentation.js.map +0 -1
  539. package/dist/cli/lib/verify-result-payload.d.ts.map +0 -1
  540. package/dist/cli/lib/verify-result-payload.js.map +0 -1
  541. package/dist/cli/lib/verify-types.d.ts +0 -31
  542. package/dist/cli/lib/verify-types.d.ts.map +0 -1
  543. package/dist/cli/lib/verify-types.js +0 -2
  544. package/dist/cli/lib/verify-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"start-orchestration.js","sourceRoot":"","sources":["../../../src/cli/lib/start-orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-orchestration.js","sourceRoot":"","sources":["../../../src/cli/lib/start-orchestration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA2B/C,SAAS,mBAAmB,CAAC,OAAqB;IAChD,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,UAAyB,EAAE,KAAoB;IACrE,MAAM,OAAO,GAAG,UAAU,IAAI,gCAAgC,CAAC;IAC/D,MAAM,GAAG,GAAG,KAAK,IAAI,UAAU,CAAC;IAChC,OAAO;QACL,oBAAoB,OAAO,uBAAuB,GAAG,sBAAsB;QAC3E,wCAAwC,OAAO,IAAI;QACnD,uCAAuC;QACvC,2BAA2B,OAAO,EAAE;QACpC,8BAA8B,OAAO,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,OAAqB,EACrB,MAAoB,EACpB,SAAkB,EAClB,aAAiC;IAEjC,IAAI,mBAAmB,CAAC,OAAO,CAAC;QAAE,OAAO;IACzC,IAAI,SAAS,IAAI,aAAa;QAAE,OAAO;IACvC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAID,SAAS,kBAAkB,CACzB,MAAoB,EACpB,KAAoB,EACpB,QAAgB,EAChB,SAAmB;IAEnB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM;QACN,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,IAAI;QACvB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAqB,EACrB,MAAoB,EACpB,KAAa,EACb,YAAsB;IAEtB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,QAAQ,CACN,GAAG,QAAQ,+BAA+B,MAAM,CAAC,MAAM,uCAAuC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE;QACxD,iBAAiB,OAAO,CAAC,MAAM,WAAW,KAAK,gBAAgB,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;KAC5F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,OAAqB,EACrB,KAAa,EACb,gBAAwB,EACxB,MAAoB;IAEpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,QAAQ,0DAA0D,KAAK,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,sBAAsB,KAAK,cAAc,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,QAAQ,+BAA+B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACzD,kCAAkC,OAAO,CAAC,MAAM,WAAW,QAAQ,gBAAgB,gBAAgB,EAAE;QACrG,wBAAwB,OAAO,CAAC,MAAM,WAAW,KAAK,gBAAgB,gBAAgB,oBAAoB;KAC3G,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAqB;IACzD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1D,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,IAAI,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,QAAQ,+CAA+C,aAAa,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC;IAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,QAAQ,mCAAmC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACtF,IAAI,IAAI,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5E,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvC,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvB,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,QAAQ;YAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,QAAQ,CAAC,UAAU;QACtC,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAqB;IAC5C,MAAM,iBAAiB,GAAiB,OAAO,CAAC,IAAI;QAClD,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAC9B,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,MAAM,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;YAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;QAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC"}
@@ -9,4 +9,4 @@ export interface StartStateSnapshot {
9
9
  }
10
10
  export declare function captureStartState(repoRoot: string, manifest: Manifest, skillKey: string | null): StartStateSnapshot;
11
11
  export declare function writeSnapshot(repoRoot: string, snapshot: StartStateSnapshot, msnId: string): string;
12
- //# sourceMappingURL=start-state.d.ts.map
12
+ //# sourceMappingURL=start-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-snapshot.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/start-snapshot.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAyDD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,kBAAkB,CAepB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnG"}
@@ -1,8 +1,9 @@
1
1
  import { execSync } from "node:child_process";
2
+ import crypto from "node:crypto";
2
3
  import fs from "node:fs";
3
4
  import path from "node:path";
4
- import crypto from "node:crypto";
5
5
  import { REL_HISTORY_DIR, REL_MANIFEST } from "./constants.js";
6
+ import { tmvcRootsForSkill } from "./tmvc-path.js";
6
7
  function sha256(data) {
7
8
  return crypto.createHash("sha256").update(data).digest("hex");
8
9
  }
@@ -54,12 +55,6 @@ function readCurrentBranch(repoRoot) {
54
55
  function isWorkingTreeDirty(repoRoot) {
55
56
  return execSync("git status --porcelain", { cwd: repoRoot, encoding: "utf8" }).trim().length > 0;
56
57
  }
57
- function tmvcRootsForSkill(manifest, skillKey) {
58
- if (!skillKey)
59
- return [];
60
- const skill = manifest.skills[skillKey];
61
- return skill ? [...skill.tmvc_roots] : [];
62
- }
63
58
  export function captureStartState(repoRoot, manifest, skillKey) {
64
59
  const headSha = execSync("git rev-parse HEAD", { cwd: repoRoot, encoding: "utf8" }).trim();
65
60
  const manifestPath = path.join(repoRoot, REL_MANIFEST);
@@ -83,4 +78,4 @@ export function writeSnapshot(repoRoot, snapshot, msnId) {
83
78
  fs.writeFileSync(outFile, JSON.stringify(snapshot, null, 2), "utf8");
84
79
  return outFile;
85
80
  }
86
- //# sourceMappingURL=start-state.js.map
81
+ //# sourceMappingURL=start-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-snapshot.js","sourceRoot":"","sources":["../../../src/cli/lib/start-snapshot.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DoctorLine } from "./doctor-checks.js";
1
+ import { type DoctorLine } from "./doctor.js";
2
2
  import type { Manifest } from "./types.js";
3
3
  export interface StatusReport {
4
4
  repo: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status-report.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/status-report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;IAC1E,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAiDD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAwChF"}
1
+ {"version":3,"file":"status-report.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/status-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;IAC1E,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAiDD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAwChF"}
@@ -1,8 +1,8 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { REL_AGENT_ERROR_FILE } from "./constants.js";
4
- import { collectDoctorReport } from "./doctor-orchestration.js";
5
- import { resolvePinnedMission } from "./mission-resolution.js";
4
+ import { collectDoctorReport } from "./doctor.js";
5
+ import { resolvePinnedMission } from "./missions/parser.js";
6
6
  import { checkSkillManifestSync } from "./skill-sync.js";
7
7
  function collectBlockers(skillSync, doctorLines, verifyReadiness) {
8
8
  const blockers = [];
@@ -1 +1 @@
1
- {"version":3,"file":"status-report.js","sourceRoot":"","sources":["../../../src/cli/lib/status-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-report.js","sourceRoot":"","sources":["../../../src/cli/lib/status-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** Append immutable surgeon mutation line to WORKER_LOG (fail-closed if missing). */
2
+ export declare function appendSurgeonMutationLog(workerLogPath: string, summary: string): void;
3
+ export declare function ensureWorkerLogExists(workerLogPath: string): void;
4
+ /** Structured import-layer gate report (check-import-layers.mjs --json). */
5
+ export interface ImportLayerViolation {
6
+ file: string;
7
+ rule_id: string;
8
+ module_specifier: string;
9
+ bindings: string[];
10
+ line: number;
11
+ column: number;
12
+ }
13
+ export interface ImportLayerGateReport {
14
+ schema_version: number;
15
+ ok: boolean;
16
+ violations: ImportLayerViolation[];
17
+ }
18
+ /** Parse versioned JSON gate output; null when not a valid import-layer report. */
19
+ export declare function parseImportLayerGateJson(text: string): ImportLayerGateReport | null;
20
+ export declare function gateOutputIndicatesImportLayer(text: string): boolean;
21
+ /** Extract import-layer report from gate stdout/stderr (prefer stdout). */
22
+ export declare function extractImportLayerGateReport(gateStdout: string, gateStderr: string): ImportLayerGateReport | null;
23
+ //# sourceMappingURL=surgeon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surgeon.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/surgeon.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKrF;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAIjE;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAeD,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAoBnF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpE;AAED,2EAA2E;AAC3E,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAEjH"}
@@ -0,0 +1,63 @@
1
+ import fs from "node:fs";
2
+ const MUTATION_PREFIX = "[SURGEON-MUTATION]";
3
+ /** Append immutable surgeon mutation line to WORKER_LOG (fail-closed if missing). */
4
+ export function appendSurgeonMutationLog(workerLogPath, summary) {
5
+ ensureWorkerLogExists(workerLogPath);
6
+ const line = summary.startsWith(MUTATION_PREFIX) ? summary : `${MUTATION_PREFIX} ${summary}`;
7
+ const suffix = line.endsWith("\n") ? line : `${line}\n`;
8
+ fs.appendFileSync(workerLogPath, suffix, { encoding: "utf8" });
9
+ }
10
+ export function ensureWorkerLogExists(workerLogPath) {
11
+ if (!fs.existsSync(workerLogPath)) {
12
+ fs.writeFileSync(workerLogPath, "", "utf8");
13
+ }
14
+ }
15
+ function isViolationRecord(v) {
16
+ if (typeof v !== "object" || v === null)
17
+ return false;
18
+ const o = v;
19
+ return (typeof o.file === "string" &&
20
+ typeof o.rule_id === "string" &&
21
+ typeof o.module_specifier === "string" &&
22
+ Array.isArray(o.bindings) &&
23
+ typeof o.line === "number" &&
24
+ typeof o.column === "number");
25
+ }
26
+ /** Parse versioned JSON gate output; null when not a valid import-layer report. */
27
+ export function parseImportLayerGateJson(text) {
28
+ const trimmed = text.trim();
29
+ if (!trimmed.startsWith("{"))
30
+ return null;
31
+ let parsed;
32
+ try {
33
+ parsed = JSON.parse(trimmed);
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ if (typeof parsed !== "object" || parsed === null)
39
+ return null;
40
+ const o = parsed;
41
+ if (o.schema_version !== 1)
42
+ return null;
43
+ if (typeof o.ok !== "boolean")
44
+ return null;
45
+ if (!Array.isArray(o.violations))
46
+ return null;
47
+ if (!o.violations.every(isViolationRecord))
48
+ return null;
49
+ return {
50
+ schema_version: 1,
51
+ ok: o.ok,
52
+ violations: o.violations,
53
+ };
54
+ }
55
+ export function gateOutputIndicatesImportLayer(text) {
56
+ const report = parseImportLayerGateJson(text);
57
+ return report !== null && report.ok === false && report.violations.length > 0;
58
+ }
59
+ /** Extract import-layer report from gate stdout/stderr (prefer stdout). */
60
+ export function extractImportLayerGateReport(gateStdout, gateStderr) {
61
+ return parseImportLayerGateJson(gateStdout) ?? parseImportLayerGateJson(gateStderr);
62
+ }
63
+ //# sourceMappingURL=surgeon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surgeon.js","sourceRoot":"","sources":["../../../src/cli/lib/surgeon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CodeSurgeon } from "./registry.js";
2
+ export { quarantineBannedImportInFile } from "./quarantine-import.js";
3
+ export declare const bannedImportSurgeon: CodeSurgeon;
4
+ //# sourceMappingURL=banned-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banned-import.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/banned-import.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAyC,MAAM,eAAe,CAAC;AAIxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,eAAO,MAAM,mBAAmB,EAAE,WAmCjC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import path from "node:path";
2
+ import { GXT_ERROR } from "../gxt-error-codes.js";
3
+ import { parseBannedImportGateOutput } from "../banned-import-violation.js";
4
+ import { quarantineImportDeclaration } from "./quarantine-import.js";
5
+ const QUARANTINE_RULE = "RULE-BANNED-IMPORT";
6
+ export { quarantineBannedImportInFile } from "./quarantine-import.js";
7
+ export const bannedImportSurgeon = {
8
+ errorCode: GXT_ERROR.BANNED_IMPORT_DETECTED,
9
+ async applyMutation(context) {
10
+ const combined = `${context.failure.gateStderr ?? ""}\n${context.failure.gateStdout ?? ""}`;
11
+ const violations = parseBannedImportGateOutput(combined);
12
+ if (violations.length === 0) {
13
+ return { mutated: false, summary: "no banned-import violations parsed from gate output" };
14
+ }
15
+ const summaries = [];
16
+ let anyMutated = false;
17
+ for (const v of violations) {
18
+ const absPath = path.isAbsolute(v.file) ? v.file : path.join(context.root, v.file);
19
+ const result = quarantineImportDeclaration({
20
+ absPath,
21
+ moduleSpecifier: v.specifier,
22
+ ruleId: QUARANTINE_RULE,
23
+ reason: "removed banned specifier",
24
+ root: context.root,
25
+ });
26
+ if (result.mutated) {
27
+ anyMutated = true;
28
+ summaries.push(`banned-import quarantined: ${v.file}:${String(result.line ?? "?")} -> ${QUARANTINE_RULE}`);
29
+ }
30
+ }
31
+ return {
32
+ mutated: anyMutated,
33
+ summary: summaries.join("; "),
34
+ };
35
+ },
36
+ };
37
+ //# sourceMappingURL=banned-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banned-import.js","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/banned-import.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,SAAS,EAAE,SAAS,CAAC,sBAAsB;IAE3C,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC5F,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;QAC5F,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,2BAA2B,CAAC;gBACzC,OAAO;gBACP,eAAe,EAAE,CAAC,CAAC,SAAS;gBAC5B,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,0BAA0B;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS,CAAC,IAAI,CACZ,8BAA8B,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,eAAe,EAAE,CAC3F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CodeSurgeon } from "./registry.js";
2
+ export declare const importLayerSurgeon: CodeSurgeon;
3
+ //# sourceMappingURL=import-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-layer.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/import-layer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAyC,MAAM,eAAe,CAAC;AAgDxF,eAAO,MAAM,kBAAkB,EAAE,WAwChC,CAAC"}
@@ -0,0 +1,74 @@
1
+ import path from "node:path";
2
+ import { GXT_ERROR } from "../gxt-error-codes.js";
3
+ import { extractImportLayerGateReport } from "../surgeon.js";
4
+ import { quarantineImportDeclaration, resolveImportDeclarationOffset, } from "./quarantine-import.js";
5
+ const QUARANTINE_RULE = "RULE-IMPORT-LAYER";
6
+ function reasonForRule(ruleId) {
7
+ switch (ruleId) {
8
+ case "RULE-LIB-TO-COMMAND":
9
+ return "removed lib-to-command import";
10
+ case "RULE-LIB-COMMANDER":
11
+ return "removed commander import from lib layer";
12
+ case "RULE-COMMAND-RUNTIME-EXEC-PROCESS":
13
+ return "removed direct runtime-exec-process import";
14
+ default:
15
+ return "removed import layer violation";
16
+ }
17
+ }
18
+ function resolveTargets(root, violations) {
19
+ const targets = [];
20
+ for (const v of violations) {
21
+ const absPath = path.isAbsolute(v.file) ? v.file : path.join(root, v.file);
22
+ const offset = resolveImportDeclarationOffset(root, absPath, v.module_specifier);
23
+ if (offset === null)
24
+ continue;
25
+ targets.push({ violation: v, absPath, offset });
26
+ }
27
+ return targets;
28
+ }
29
+ function groupAndSortBottomToTop(targets) {
30
+ const byFile = new Map();
31
+ for (const t of targets) {
32
+ const list = byFile.get(t.absPath) ?? [];
33
+ list.push(t);
34
+ byFile.set(t.absPath, list);
35
+ }
36
+ for (const [file, list] of byFile) {
37
+ list.sort((a, b) => b.offset - a.offset);
38
+ byFile.set(file, list);
39
+ }
40
+ return byFile;
41
+ }
42
+ export const importLayerSurgeon = {
43
+ errorCode: GXT_ERROR.IMPORT_LAYER_VIOLATION,
44
+ async applyMutation(context) {
45
+ const report = extractImportLayerGateReport(context.failure.gateStdout ?? "", context.failure.gateStderr ?? "");
46
+ if (!report || report.violations.length === 0) {
47
+ return { mutated: false, summary: "no import-layer violations parsed from gate JSON" };
48
+ }
49
+ const grouped = groupAndSortBottomToTop(resolveTargets(context.root, report.violations));
50
+ const summaries = [];
51
+ let anyMutated = false;
52
+ for (const [, fileTargets] of grouped) {
53
+ for (const target of fileTargets) {
54
+ const v = target.violation;
55
+ const result = quarantineImportDeclaration({
56
+ absPath: target.absPath,
57
+ moduleSpecifier: v.module_specifier,
58
+ ruleId: QUARANTINE_RULE,
59
+ reason: reasonForRule(v.rule_id),
60
+ root: context.root,
61
+ });
62
+ if (result.mutated) {
63
+ anyMutated = true;
64
+ summaries.push(`import-layer quarantined: ${v.file}:${String(result.line ?? v.line)} -> ${QUARANTINE_RULE}`);
65
+ }
66
+ }
67
+ }
68
+ return {
69
+ mutated: anyMutated,
70
+ summary: summaries.join("; "),
71
+ };
72
+ },
73
+ };
74
+ //# sourceMappingURL=import-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-layer.js","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/import-layer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAA6B,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAGhC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAQ5C,SAAS,aAAa,CAAC,MAAc;IACnC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,qBAAqB;YACxB,OAAO,+BAA+B,CAAC;QACzC,KAAK,oBAAoB;YACvB,OAAO,yCAAyC,CAAC;QACnD,KAAK,mCAAmC;YACtC,OAAO,4CAA4C,CAAC;QACtD;YACE,OAAO,gCAAgC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,UAAkC;IACtE,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACjF,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAyB;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,SAAS,EAAE,SAAS,CAAC,sBAAsB;IAE3C,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,MAAM,MAAM,GAAG,4BAA4B,CACzC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAChC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CACjC,CAAC;QACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;QACzF,CAAC;QAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC3B,MAAM,MAAM,GAAG,2BAA2B,CAAC;oBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,eAAe,EAAE,CAAC,CAAC,gBAAgB;oBACnC,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,UAAU,GAAG,IAAI,CAAC;oBAClB,SAAS,CAAC,IAAI,CACZ,6BAA6B,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,eAAe,EAAE,CAC7F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface QuarantineImportTarget {
2
+ absPath: string;
3
+ moduleSpecifier: string;
4
+ ruleId: string;
5
+ reason: string;
6
+ /** Repo root for workspace TypeScript resolution. */
7
+ root: string;
8
+ }
9
+ export interface QuarantineImportResult {
10
+ mutated: boolean;
11
+ line?: number;
12
+ bindings: string[];
13
+ startOffset?: number;
14
+ }
15
+ /** Resolve import declaration start offset for bottom-to-top sorting. */
16
+ export declare function resolveImportDeclarationOffset(root: string, absPath: string, moduleSpecifier: string): number | null;
17
+ /** Quarantine a matching import via TypeScript AST offsets (lazy Proxy roadblock). */
18
+ export declare function quarantineImportDeclaration(target: QuarantineImportTarget): QuarantineImportResult;
19
+ /** Back-compat alias used by banned-import surgeon tests. */
20
+ export declare function quarantineBannedImportInFile(absPath: string, specifier: string, ruleId?: string, root?: string): {
21
+ mutated: boolean;
22
+ lineNumber?: number;
23
+ };
24
+ //# sourceMappingURL=quarantine-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quarantine-import.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/quarantine-import.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyFD,yEAAyE;AACzE,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAOf;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAuCxB;AAED,6DAA6D;AAC7D,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAA6B,EACrC,IAAI,GAAE,MAAsB,GAC3B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAS3C"}
@@ -0,0 +1,128 @@
1
+ import fs from "node:fs";
2
+ import { getWorkspaceTypeScript } from "./typescript-workspace.js";
3
+ function specifierMatches(found, expected) {
4
+ if (found === expected)
5
+ return true;
6
+ const norm = (s) => s.replace(/\.js$/i, ".ts");
7
+ return norm(found) === norm(expected);
8
+ }
9
+ function extractBindingsFromClause(ts, clause) {
10
+ if (!clause) {
11
+ return { namedBindings: ["__gxtQuarantineImport"] };
12
+ }
13
+ const groups = { namedBindings: [] };
14
+ if (clause.name) {
15
+ groups.defaultBinding = clause.name.text;
16
+ }
17
+ const named = clause.namedBindings;
18
+ if (named) {
19
+ if (ts.isNamespaceImport(named)) {
20
+ groups.namespaceBinding = named.name.text;
21
+ }
22
+ else if (ts.isNamedImports(named)) {
23
+ for (const el of named.elements) {
24
+ if (el.isTypeOnly)
25
+ continue;
26
+ groups.namedBindings.push(el.name.text);
27
+ }
28
+ }
29
+ }
30
+ if (!groups.defaultBinding && !groups.namespaceBinding && groups.namedBindings.length === 0) {
31
+ groups.namedBindings.push("__gxtQuarantineImport");
32
+ }
33
+ return groups;
34
+ }
35
+ function flattenBindingGroups(groups) {
36
+ const out = [];
37
+ if (groups.defaultBinding)
38
+ out.push(groups.defaultBinding);
39
+ out.push(...groups.namedBindings);
40
+ if (groups.namespaceBinding)
41
+ out.push(groups.namespaceBinding);
42
+ return out;
43
+ }
44
+ function proxyConstLine(binding, specifier, ruleId, reason) {
45
+ return [
46
+ `const ${binding} = new Proxy(Object.create(null), {`,
47
+ ` get() { throw new Error("GXT Security Violation: Execution blocked. ${reason} Import '${specifier}' quarantined by Code Surgeon [${ruleId}]."); }`,
48
+ `});`,
49
+ ].join("\n");
50
+ }
51
+ function buildProxyBlock(groups, specifier, ruleId, reason) {
52
+ return flattenBindingGroups(groups)
53
+ .map((binding) => proxyConstLine(binding, specifier, ruleId, reason))
54
+ .join("\n");
55
+ }
56
+ function findImportDeclaration(ts, sourceFile, moduleSpecifier) {
57
+ let found = null;
58
+ const visit = (node) => {
59
+ if (found)
60
+ return;
61
+ if (ts.isImportDeclaration(node) && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {
62
+ if (specifierMatches(node.moduleSpecifier.text, moduleSpecifier)) {
63
+ found = node;
64
+ return;
65
+ }
66
+ }
67
+ ts.forEachChild(node, visit);
68
+ };
69
+ visit(sourceFile);
70
+ return found;
71
+ }
72
+ /** Resolve import declaration start offset for bottom-to-top sorting. */
73
+ export function resolveImportDeclarationOffset(root, absPath, moduleSpecifier) {
74
+ const ts = getWorkspaceTypeScript(root);
75
+ if (!ts || !fs.existsSync(absPath))
76
+ return null;
77
+ const source = fs.readFileSync(absPath, "utf8");
78
+ const sourceFile = ts.createSourceFile(absPath, source, ts.ScriptTarget.Latest, true);
79
+ const decl = findImportDeclaration(ts, sourceFile, moduleSpecifier);
80
+ return decl ? decl.getStart(sourceFile) : null;
81
+ }
82
+ /** Quarantine a matching import via TypeScript AST offsets (lazy Proxy roadblock). */
83
+ export function quarantineImportDeclaration(target) {
84
+ const ts = getWorkspaceTypeScript(target.root);
85
+ if (!ts) {
86
+ return { mutated: false, bindings: [] };
87
+ }
88
+ if (!fs.existsSync(target.absPath)) {
89
+ return { mutated: false, bindings: [] };
90
+ }
91
+ const source = fs.readFileSync(target.absPath, "utf8");
92
+ const sourceFile = ts.createSourceFile(target.absPath, source, ts.ScriptTarget.Latest, true);
93
+ const decl = findImportDeclaration(ts, sourceFile, target.moduleSpecifier);
94
+ if (!decl || !decl.moduleSpecifier || !ts.isStringLiteral(decl.moduleSpecifier)) {
95
+ return { mutated: false, bindings: [] };
96
+ }
97
+ const isTypeOnly = decl.importClause?.isTypeOnly === true;
98
+ if (isTypeOnly) {
99
+ return { mutated: false, bindings: [] };
100
+ }
101
+ const bindingGroups = extractBindingsFromClause(ts, decl.importClause);
102
+ const bindings = flattenBindingGroups(bindingGroups);
103
+ const specifier = decl.moduleSpecifier.text;
104
+ const start = decl.getFullStart();
105
+ const end = decl.getEnd();
106
+ const line = sourceFile.getLineAndCharacterOfPosition(decl.getStart(sourceFile)).line + 1;
107
+ const quarantine = [
108
+ `// GXT-SURGEON-QUARANTINE-START [${target.ruleId}]`,
109
+ `// GXT-SURGEON-QUARANTINE: ${target.reason} ${specifier} (formerly line ${String(line)})`,
110
+ buildProxyBlock(bindingGroups, specifier, target.ruleId, target.reason),
111
+ "// GXT-SURGEON-QUARANTINE-END",
112
+ ].join("\n");
113
+ const updated = `${source.slice(0, start)}${quarantine}${source.slice(end)}`;
114
+ fs.writeFileSync(target.absPath, updated.endsWith("\n") ? updated : `${updated}\n`, "utf8");
115
+ return { mutated: true, line, bindings, startOffset: start };
116
+ }
117
+ /** Back-compat alias used by banned-import surgeon tests. */
118
+ export function quarantineBannedImportInFile(absPath, specifier, ruleId = "RULE-BANNED-IMPORT", root = process.cwd()) {
119
+ const result = quarantineImportDeclaration({
120
+ absPath,
121
+ moduleSpecifier: specifier,
122
+ ruleId,
123
+ reason: "removed banned specifier",
124
+ root,
125
+ });
126
+ return { mutated: result.mutated, lineNumber: result.line };
127
+ }
128
+ //# sourceMappingURL=quarantine-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quarantine-import.js","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/quarantine-import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { GxtErrorCode } from "../gxt-error-codes.js";
2
+ import type { VerifyPhaseFailure } from "../verify-engine.js";
3
+ import type { Manifest } from "../types.js";
4
+ export interface SurgeonMutationResult {
5
+ mutated: boolean;
6
+ summary: string;
7
+ }
8
+ export interface SurgeonContext {
9
+ root: string;
10
+ failure: VerifyPhaseFailure;
11
+ manifest: Manifest;
12
+ workerLogPath: string;
13
+ errorCode: GxtErrorCode;
14
+ }
15
+ export interface CodeSurgeon {
16
+ errorCode: GxtErrorCode;
17
+ applyMutation(context: SurgeonContext): Promise<SurgeonMutationResult>;
18
+ }
19
+ export declare function getSurgeonForErrorCode(code: GxtErrorCode): CodeSurgeon | undefined;
20
+ export declare function hasRegisteredSurgeon(code: GxtErrorCode): boolean;
21
+ export declare function resolveSurgeonErrorCode(failure: VerifyPhaseFailure): GxtErrorCode | null;
22
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,YAAY,CAAC;IACxB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACxE;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,CAElF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAaxF"}
@@ -0,0 +1,27 @@
1
+ import { GXT_ERROR } from "../gxt-error-codes.js";
2
+ import { gateOutputIndicatesBannedImport } from "../banned-import-violation.js";
3
+ import { gateOutputIndicatesImportLayer } from "../surgeon.js";
4
+ import { bannedImportSurgeon } from "./banned-import.js";
5
+ import { importLayerSurgeon } from "./import-layer.js";
6
+ const SURGEONS = [importLayerSurgeon, bannedImportSurgeon];
7
+ export function getSurgeonForErrorCode(code) {
8
+ return SURGEONS.find((s) => s.errorCode === code);
9
+ }
10
+ export function hasRegisteredSurgeon(code) {
11
+ return getSurgeonForErrorCode(code) !== undefined;
12
+ }
13
+ export function resolveSurgeonErrorCode(failure) {
14
+ if (failure.phase !== "gate")
15
+ return null;
16
+ const stdout = failure.gateStdout ?? "";
17
+ const stderr = failure.gateStderr ?? "";
18
+ const combined = `${stderr}\n${stdout}`;
19
+ if (gateOutputIndicatesImportLayer(stdout) || gateOutputIndicatesImportLayer(stderr)) {
20
+ return GXT_ERROR.IMPORT_LAYER_VIOLATION;
21
+ }
22
+ if (gateOutputIndicatesBannedImport(combined) || /: banned import "/.test(combined)) {
23
+ return GXT_ERROR.BANNED_IMPORT_DETECTED;
24
+ }
25
+ return null;
26
+ }
27
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAoBvD,MAAM,QAAQ,GAAkB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAE1E,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA2B;IACjE,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAExC,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC,sBAAsB,CAAC;IAC1C,CAAC;IACD,IAAI,+BAA+B,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC,sBAAsB,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,7 @@
1
+ type TsModule = typeof import("typescript");
2
+ /** Resolve TypeScript compiler API from adopter workspace or gapman package (lazy, fail-soft). */
3
+ export declare function getWorkspaceTypeScript(root: string): TsModule | null;
4
+ /** @internal Reset cache between tests. */
5
+ export declare function clearTypeScriptWorkspaceCache(): void;
6
+ export {};
7
+ //# sourceMappingURL=typescript-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-workspace.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/surgeons/typescript-workspace.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG,cAAc,YAAY,CAAC,CAAC;AAS5C,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAuBpE;AAED,2CAA2C;AAC3C,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}