@jeger-ai/opengantry 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/README.md +20 -11
  2. package/dist/cli/commands/context-request.d.ts +11 -0
  3. package/dist/cli/commands/context-request.d.ts.map +1 -0
  4. package/dist/cli/commands/context-request.js +74 -0
  5. package/dist/cli/commands/context-request.js.map +1 -0
  6. package/dist/cli/commands/doctor.d.ts +1 -1
  7. package/dist/cli/commands/doctor.d.ts.map +1 -1
  8. package/dist/cli/commands/doctor.js +1 -2
  9. package/dist/cli/commands/doctor.js.map +1 -1
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +6 -2
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/legislate.d.ts +1 -1
  14. package/dist/cli/commands/legislate.d.ts.map +1 -1
  15. package/dist/cli/commands/legislate.js +1 -1
  16. package/dist/cli/commands/legislate.js.map +1 -1
  17. package/dist/cli/commands/mission.js +3 -3
  18. package/dist/cli/commands/mission.js.map +1 -1
  19. package/dist/cli/commands/onboarding.d.ts.map +1 -1
  20. package/dist/cli/commands/onboarding.js +4 -6
  21. package/dist/cli/commands/onboarding.js.map +1 -1
  22. package/dist/cli/commands/perimeter.js +1 -1
  23. package/dist/cli/commands/perimeter.js.map +1 -1
  24. package/dist/cli/commands/runtime.js +1 -1
  25. package/dist/cli/commands/runtime.js.map +1 -1
  26. package/dist/cli/commands/scan.js +1 -1
  27. package/dist/cli/commands/scan.js.map +1 -1
  28. package/dist/cli/commands/tmvc-guard.d.ts +7 -0
  29. package/dist/cli/commands/tmvc-guard.d.ts.map +1 -0
  30. package/dist/cli/commands/tmvc-guard.js +63 -0
  31. package/dist/cli/commands/tmvc-guard.js.map +1 -0
  32. package/dist/cli/commands/triage.js +2 -2
  33. package/dist/cli/commands/triage.js.map +1 -1
  34. package/dist/cli/commands/upgrade.js +1 -1
  35. package/dist/cli/commands/upgrade.js.map +1 -1
  36. package/dist/cli/commands/verify.d.ts +2 -2
  37. package/dist/cli/commands/verify.d.ts.map +1 -1
  38. package/dist/cli/commands/verify.js +7 -7
  39. package/dist/cli/commands/verify.js.map +1 -1
  40. package/dist/cli/index.js +1 -1
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/lib/architecture-pointer.d.ts +33 -5
  43. package/dist/cli/lib/architecture-pointer.d.ts.map +1 -1
  44. package/dist/cli/lib/architecture-pointer.js +304 -5
  45. package/dist/cli/lib/architecture-pointer.js.map +1 -1
  46. package/dist/cli/lib/ast-discovery.d.ts.map +1 -1
  47. package/dist/cli/lib/ast-discovery.js +7 -16
  48. package/dist/cli/lib/ast-discovery.js.map +1 -1
  49. package/dist/cli/lib/banned-import-violation.d.ts +8 -0
  50. package/dist/cli/lib/banned-import-violation.d.ts.map +1 -0
  51. package/dist/cli/lib/banned-import-violation.js +15 -0
  52. package/dist/cli/lib/banned-import-violation.js.map +1 -0
  53. package/dist/cli/lib/break-glass.d.ts +17 -0
  54. package/dist/cli/lib/break-glass.d.ts.map +1 -1
  55. package/dist/cli/lib/break-glass.js +28 -1
  56. package/dist/cli/lib/break-glass.js.map +1 -1
  57. package/dist/cli/lib/cli-io.d.ts +8 -0
  58. package/dist/cli/lib/cli-io.d.ts.map +1 -1
  59. package/dist/cli/lib/cli-io.js +16 -0
  60. package/dist/cli/lib/cli-io.js.map +1 -1
  61. package/dist/cli/lib/command-reporter.d.ts +3 -3
  62. package/dist/cli/lib/command-reporter.d.ts.map +1 -1
  63. package/dist/cli/lib/constants.d.ts +2 -0
  64. package/dist/cli/lib/constants.d.ts.map +1 -1
  65. package/dist/cli/lib/constants.js +2 -0
  66. package/dist/cli/lib/constants.js.map +1 -1
  67. package/dist/cli/lib/context-request.d.ts +22 -0
  68. package/dist/cli/lib/context-request.d.ts.map +1 -0
  69. package/dist/cli/lib/context-request.js +45 -0
  70. package/dist/cli/lib/context-request.js.map +1 -0
  71. package/dist/cli/lib/dirty-missions.js +1 -1
  72. package/dist/cli/lib/dirty-missions.js.map +1 -1
  73. package/dist/cli/lib/doctor.d.ts +31 -0
  74. package/dist/cli/lib/doctor.d.ts.map +1 -0
  75. package/dist/cli/lib/doctor.js +282 -0
  76. package/dist/cli/lib/doctor.js.map +1 -0
  77. package/dist/cli/lib/draft-token.js +1 -1
  78. package/dist/cli/lib/draft-token.js.map +1 -1
  79. package/dist/cli/lib/{user-error.d.ts → errors.d.ts} +20 -1
  80. package/dist/cli/lib/errors.d.ts.map +1 -0
  81. package/dist/cli/lib/{agent-error.js → errors.js} +64 -1
  82. package/dist/cli/lib/errors.js.map +1 -0
  83. package/dist/cli/lib/fix-hints.d.ts +1 -1
  84. package/dist/cli/lib/fix-hints.d.ts.map +1 -1
  85. package/dist/cli/lib/gate-work-dir.d.ts +6 -0
  86. package/dist/cli/lib/gate-work-dir.d.ts.map +1 -0
  87. package/dist/cli/lib/gate-work-dir.js +6 -0
  88. package/dist/cli/lib/gate-work-dir.js.map +1 -0
  89. package/dist/cli/lib/git-metrics.d.ts +34 -0
  90. package/dist/cli/lib/git-metrics.d.ts.map +1 -1
  91. package/dist/cli/lib/git-metrics.js +199 -3
  92. package/dist/cli/lib/git-metrics.js.map +1 -1
  93. package/dist/cli/lib/git-proof.d.ts +4 -0
  94. package/dist/cli/lib/git-proof.d.ts.map +1 -1
  95. package/dist/cli/lib/git-proof.js +22 -8
  96. package/dist/cli/lib/git-proof.js.map +1 -1
  97. package/dist/cli/lib/git-staged.d.ts +20 -0
  98. package/dist/cli/lib/git-staged.d.ts.map +1 -0
  99. package/dist/cli/lib/git-staged.js +37 -0
  100. package/dist/cli/lib/git-staged.js.map +1 -0
  101. package/dist/cli/lib/git.d.ts +25 -0
  102. package/dist/cli/lib/git.d.ts.map +1 -1
  103. package/dist/cli/lib/git.js +52 -0
  104. package/dist/cli/lib/git.js.map +1 -1
  105. package/dist/cli/lib/gxt-error-codes.d.ts +4 -0
  106. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  107. package/dist/cli/lib/gxt-error-codes.js +4 -0
  108. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  109. package/dist/cli/lib/import-scanner.d.ts +14 -0
  110. package/dist/cli/lib/import-scanner.d.ts.map +1 -0
  111. package/dist/cli/lib/import-scanner.js +67 -0
  112. package/dist/cli/lib/import-scanner.js.map +1 -0
  113. package/dist/cli/lib/{init-compose-arch-pointer.d.ts → init-compose.d.ts} +4 -1
  114. package/dist/cli/lib/init-compose.d.ts.map +1 -0
  115. package/dist/cli/lib/{init-compose-arch-pointer.js → init-compose.js} +37 -1
  116. package/dist/cli/lib/init-compose.js.map +1 -0
  117. package/dist/cli/lib/init-interactive.js +2 -2
  118. package/dist/cli/lib/init-interactive.js.map +1 -1
  119. package/dist/cli/lib/init-tutorial.d.ts.map +1 -1
  120. package/dist/cli/lib/init-tutorial.js +10 -10
  121. package/dist/cli/lib/init-tutorial.js.map +1 -1
  122. package/dist/cli/lib/kpi-engine.d.ts +34 -0
  123. package/dist/cli/lib/kpi-engine.d.ts.map +1 -0
  124. package/dist/cli/lib/kpi-engine.js +281 -0
  125. package/dist/cli/lib/kpi-engine.js.map +1 -0
  126. package/dist/cli/lib/kpi-report-stale.js +2 -2
  127. package/dist/cli/lib/kpi-report-stale.js.map +1 -1
  128. package/dist/cli/lib/kpi-scan.d.ts +2 -0
  129. package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
  130. package/dist/cli/lib/kpi-scan.js +8 -4
  131. package/dist/cli/lib/kpi-scan.js.map +1 -1
  132. package/dist/cli/lib/legislate.d.ts +39 -0
  133. package/dist/cli/lib/legislate.d.ts.map +1 -0
  134. package/dist/cli/lib/{legislate-core.js → legislate.js} +31 -6
  135. package/dist/cli/lib/legislate.js.map +1 -0
  136. package/dist/cli/lib/mcp-governance.d.ts +124 -0
  137. package/dist/cli/lib/mcp-governance.d.ts.map +1 -0
  138. package/dist/cli/lib/mcp-governance.js +231 -0
  139. package/dist/cli/lib/mcp-governance.js.map +1 -0
  140. package/dist/cli/lib/mcp-runtime.d.ts +4 -4
  141. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
  142. package/dist/cli/lib/mcp-runtime.js +3 -3
  143. package/dist/cli/lib/mcp-runtime.js.map +1 -1
  144. package/dist/cli/lib/mcp-tools-register.js +1 -2
  145. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  146. package/dist/cli/lib/mcp-upgrade.d.ts +11 -2
  147. package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
  148. package/dist/cli/lib/mcp-upgrade.js +1 -1
  149. package/dist/cli/lib/mcp-upgrade.js.map +1 -1
  150. package/dist/cli/lib/missions/formatter.d.ts +17 -0
  151. package/dist/cli/lib/missions/formatter.d.ts.map +1 -0
  152. package/dist/cli/lib/{mission-markdown.js → missions/formatter.js} +57 -2
  153. package/dist/cli/lib/missions/formatter.js.map +1 -0
  154. package/dist/cli/lib/missions/parser.d.ts +45 -0
  155. package/dist/cli/lib/missions/parser.d.ts.map +1 -0
  156. package/dist/cli/lib/missions/parser.js +270 -0
  157. package/dist/cli/lib/missions/parser.js.map +1 -0
  158. package/dist/cli/lib/{mission-schema-validate.d.ts → missions/validator.d.ts} +1 -1
  159. package/dist/cli/lib/missions/validator.d.ts.map +1 -0
  160. package/dist/cli/lib/{mission-schema-validate.js → missions/validator.js} +4 -3
  161. package/dist/cli/lib/missions/validator.js.map +1 -0
  162. package/dist/cli/lib/msn-allocate.js +3 -3
  163. package/dist/cli/lib/msn-allocate.js.map +1 -1
  164. package/dist/cli/lib/perimeter.d.ts +19 -1
  165. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  166. package/dist/cli/lib/perimeter.js +139 -51
  167. package/dist/cli/lib/perimeter.js.map +1 -1
  168. package/dist/cli/lib/register-proposals.d.ts +1 -1
  169. package/dist/cli/lib/register-proposals.d.ts.map +1 -1
  170. package/dist/cli/lib/register-proposals.js +5 -1
  171. package/dist/cli/lib/register-proposals.js.map +1 -1
  172. package/dist/cli/lib/runtime-env.js +2 -2
  173. package/dist/cli/lib/runtime-env.js.map +1 -1
  174. package/dist/cli/lib/runtime-exec.d.ts +48 -4
  175. package/dist/cli/lib/runtime-exec.d.ts.map +1 -1
  176. package/dist/cli/lib/runtime-exec.js +218 -4
  177. package/dist/cli/lib/runtime-exec.js.map +1 -1
  178. package/dist/cli/lib/staged-tmvc-guard.d.ts +26 -0
  179. package/dist/cli/lib/staged-tmvc-guard.d.ts.map +1 -0
  180. package/dist/cli/lib/staged-tmvc-guard.js +58 -0
  181. package/dist/cli/lib/staged-tmvc-guard.js.map +1 -0
  182. package/dist/cli/lib/start-orchestration.d.ts +11 -1
  183. package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
  184. package/dist/cli/lib/start-orchestration.js +105 -42
  185. package/dist/cli/lib/start-orchestration.js.map +1 -1
  186. package/dist/cli/lib/status-report.d.ts +1 -1
  187. package/dist/cli/lib/status-report.d.ts.map +1 -1
  188. package/dist/cli/lib/status-report.js +2 -2
  189. package/dist/cli/lib/status-report.js.map +1 -1
  190. package/dist/cli/lib/surgeon.d.ts +23 -0
  191. package/dist/cli/lib/surgeon.d.ts.map +1 -0
  192. package/dist/cli/lib/surgeon.js +63 -0
  193. package/dist/cli/lib/surgeon.js.map +1 -0
  194. package/dist/cli/lib/surgeons/banned-import.d.ts +4 -0
  195. package/dist/cli/lib/surgeons/banned-import.d.ts.map +1 -0
  196. package/dist/cli/lib/surgeons/banned-import.js +37 -0
  197. package/dist/cli/lib/surgeons/banned-import.js.map +1 -0
  198. package/dist/cli/lib/surgeons/import-layer.d.ts +3 -0
  199. package/dist/cli/lib/surgeons/import-layer.d.ts.map +1 -0
  200. package/dist/cli/lib/surgeons/import-layer.js +74 -0
  201. package/dist/cli/lib/surgeons/import-layer.js.map +1 -0
  202. package/dist/cli/lib/surgeons/quarantine-import.d.ts +24 -0
  203. package/dist/cli/lib/surgeons/quarantine-import.d.ts.map +1 -0
  204. package/dist/cli/lib/surgeons/quarantine-import.js +128 -0
  205. package/dist/cli/lib/surgeons/quarantine-import.js.map +1 -0
  206. package/dist/cli/lib/surgeons/registry.d.ts +22 -0
  207. package/dist/cli/lib/surgeons/registry.d.ts.map +1 -0
  208. package/dist/cli/lib/surgeons/registry.js +27 -0
  209. package/dist/cli/lib/surgeons/registry.js.map +1 -0
  210. package/dist/cli/lib/surgeons/typescript-workspace.d.ts +7 -0
  211. package/dist/cli/lib/surgeons/typescript-workspace.d.ts.map +1 -0
  212. package/dist/cli/lib/surgeons/typescript-workspace.js +41 -0
  213. package/dist/cli/lib/surgeons/typescript-workspace.js.map +1 -0
  214. package/dist/cli/lib/teacher-identity.js +1 -1
  215. package/dist/cli/lib/teacher-identity.js.map +1 -1
  216. package/dist/cli/lib/tmvc-path.d.ts +12 -0
  217. package/dist/cli/lib/tmvc-path.d.ts.map +1 -0
  218. package/dist/cli/lib/tmvc-path.js +47 -0
  219. package/dist/cli/lib/tmvc-path.js.map +1 -0
  220. package/dist/cli/lib/trace-evidence.js +1 -1
  221. package/dist/cli/lib/trace-evidence.js.map +1 -1
  222. package/dist/cli/lib/trace.d.ts +28 -1
  223. package/dist/cli/lib/trace.d.ts.map +1 -1
  224. package/dist/cli/lib/trace.js +158 -3
  225. package/dist/cli/lib/trace.js.map +1 -1
  226. package/dist/cli/lib/types.d.ts +1 -1
  227. package/dist/cli/lib/types.d.ts.map +1 -1
  228. package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
  229. package/dist/cli/lib/upgrade-apply.js +6 -2
  230. package/dist/cli/lib/upgrade-apply.js.map +1 -1
  231. package/dist/cli/lib/upgrade-plan.d.ts +19 -1
  232. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
  233. package/dist/cli/lib/upgrade-plan.js +78 -6
  234. package/dist/cli/lib/upgrade-plan.js.map +1 -1
  235. package/dist/cli/lib/verify-changed-missions.js +1 -1
  236. package/dist/cli/lib/verify-changed-missions.js.map +1 -1
  237. package/dist/cli/lib/verify-engine.d.ts +36 -6
  238. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  239. package/dist/cli/lib/verify-engine.js +35 -12
  240. package/dist/cli/lib/verify-engine.js.map +1 -1
  241. package/dist/cli/lib/{verify-result-payload.d.ts → verify-payload.d.ts} +2 -7
  242. package/dist/cli/lib/verify-payload.d.ts.map +1 -0
  243. package/dist/cli/lib/{verify-result-payload.js → verify-payload.js} +7 -11
  244. package/dist/cli/lib/verify-payload.js.map +1 -0
  245. package/dist/cli/lib/verify-present.d.ts +9 -5
  246. package/dist/cli/lib/verify-present.d.ts.map +1 -1
  247. package/dist/cli/lib/verify-present.js +101 -8
  248. package/dist/cli/lib/verify-present.js.map +1 -1
  249. package/dist/cli/lib/verify-presentation.d.ts +7 -0
  250. package/dist/cli/lib/verify-presentation.d.ts.map +1 -0
  251. package/dist/cli/lib/verify-presentation.js +4 -0
  252. package/dist/cli/lib/verify-presentation.js.map +1 -0
  253. package/dist/cli/lib/verify-remediation.d.ts +29 -3
  254. package/dist/cli/lib/verify-remediation.d.ts.map +1 -1
  255. package/dist/cli/lib/verify-remediation.js +78 -1
  256. package/dist/cli/lib/verify-remediation.js.map +1 -1
  257. package/dist/cli/lib/version.gen.d.ts +1 -1
  258. package/dist/cli/lib/version.gen.js +1 -1
  259. package/dist/cli/program-core.d.ts.map +1 -1
  260. package/dist/cli/program-core.js +9 -26
  261. package/dist/cli/program-core.js.map +1 -1
  262. package/dist/cli/program-mission.d.ts.map +1 -1
  263. package/dist/cli/program-mission.js +38 -1
  264. package/dist/cli/program-mission.js.map +1 -1
  265. package/dist/cli/program-workflow.d.ts.map +1 -1
  266. package/dist/cli/program-workflow.js +30 -20
  267. package/dist/cli/program-workflow.js.map +1 -1
  268. package/package.json +3 -2
  269. package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +1 -0
  270. package/templates/.gitagent/teacher/WORKER_LOG.template.md +1 -0
  271. package/templates/.githooks/pre-commit +26 -0
  272. package/templates/.github/workflows/gxt-validate.yml +5 -0
  273. package/templates/AGENTS.md +4 -0
  274. package/templates/integrations/asset-catalog.json +29 -28
  275. package/templates/integrations/compatibility.json +1 -1
  276. package/templates/integrations/recipes/_footer.md +4 -0
  277. package/dist/cli/lib/agent-error.d.ts +0 -20
  278. package/dist/cli/lib/agent-error.d.ts.map +0 -1
  279. package/dist/cli/lib/agent-error.js.map +0 -1
  280. package/dist/cli/lib/architecture-pointer-discovery.d.ts +0 -7
  281. package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +0 -1
  282. package/dist/cli/lib/architecture-pointer-discovery.js +0 -60
  283. package/dist/cli/lib/architecture-pointer-discovery.js.map +0 -1
  284. package/dist/cli/lib/architecture-pointer-doctor.d.ts +0 -3
  285. package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +0 -1
  286. package/dist/cli/lib/architecture-pointer-doctor.js +0 -115
  287. package/dist/cli/lib/architecture-pointer-doctor.js.map +0 -1
  288. package/dist/cli/lib/architecture-pointer-schema.d.ts +0 -5
  289. package/dist/cli/lib/architecture-pointer-schema.d.ts.map +0 -1
  290. package/dist/cli/lib/architecture-pointer-schema.js +0 -138
  291. package/dist/cli/lib/architecture-pointer-schema.js.map +0 -1
  292. package/dist/cli/lib/architecture-pointer-types.d.ts +0 -24
  293. package/dist/cli/lib/architecture-pointer-types.d.ts.map +0 -1
  294. package/dist/cli/lib/architecture-pointer-types.js +0 -7
  295. package/dist/cli/lib/architecture-pointer-types.js.map +0 -1
  296. package/dist/cli/lib/break-glass-flow.d.ts +0 -18
  297. package/dist/cli/lib/break-glass-flow.d.ts.map +0 -1
  298. package/dist/cli/lib/break-glass-flow.js +0 -29
  299. package/dist/cli/lib/break-glass-flow.js.map +0 -1
  300. package/dist/cli/lib/cli-timeout.d.ts +0 -9
  301. package/dist/cli/lib/cli-timeout.d.ts.map +0 -1
  302. package/dist/cli/lib/cli-timeout.js +0 -17
  303. package/dist/cli/lib/cli-timeout.js.map +0 -1
  304. package/dist/cli/lib/doctor-checks.d.ts +0 -16
  305. package/dist/cli/lib/doctor-checks.d.ts.map +0 -1
  306. package/dist/cli/lib/doctor-checks.js +0 -138
  307. package/dist/cli/lib/doctor-checks.js.map +0 -1
  308. package/dist/cli/lib/doctor-integration-checks.d.ts +0 -5
  309. package/dist/cli/lib/doctor-integration-checks.d.ts.map +0 -1
  310. package/dist/cli/lib/doctor-integration-checks.js +0 -89
  311. package/dist/cli/lib/doctor-integration-checks.js.map +0 -1
  312. package/dist/cli/lib/doctor-orchestration.d.ts +0 -10
  313. package/dist/cli/lib/doctor-orchestration.d.ts.map +0 -1
  314. package/dist/cli/lib/doctor-orchestration.js +0 -32
  315. package/dist/cli/lib/doctor-orchestration.js.map +0 -1
  316. package/dist/cli/lib/doctor-substrate-drift.d.ts +0 -7
  317. package/dist/cli/lib/doctor-substrate-drift.d.ts.map +0 -1
  318. package/dist/cli/lib/doctor-substrate-drift.js +0 -35
  319. package/dist/cli/lib/doctor-substrate-drift.js.map +0 -1
  320. package/dist/cli/lib/git-metrics-missions.d.ts +0 -3
  321. package/dist/cli/lib/git-metrics-missions.d.ts.map +0 -1
  322. package/dist/cli/lib/git-metrics-missions.js +0 -51
  323. package/dist/cli/lib/git-metrics-missions.js.map +0 -1
  324. package/dist/cli/lib/git-metrics-stream.d.ts +0 -24
  325. package/dist/cli/lib/git-metrics-stream.d.ts.map +0 -1
  326. package/dist/cli/lib/git-metrics-stream.js +0 -137
  327. package/dist/cli/lib/git-metrics-stream.js.map +0 -1
  328. package/dist/cli/lib/git-repo.d.ts +0 -26
  329. package/dist/cli/lib/git-repo.d.ts.map +0 -1
  330. package/dist/cli/lib/git-repo.js +0 -53
  331. package/dist/cli/lib/git-repo.js.map +0 -1
  332. package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +0 -1
  333. package/dist/cli/lib/init-compose-arch-pointer.js.map +0 -1
  334. package/dist/cli/lib/init-compose-doc.d.ts +0 -5
  335. package/dist/cli/lib/init-compose-doc.d.ts.map +0 -1
  336. package/dist/cli/lib/init-compose-doc.js +0 -37
  337. package/dist/cli/lib/init-compose-doc.js.map +0 -1
  338. package/dist/cli/lib/kpi-phase.d.ts +0 -7
  339. package/dist/cli/lib/kpi-phase.d.ts.map +0 -1
  340. package/dist/cli/lib/kpi-phase.js +0 -80
  341. package/dist/cli/lib/kpi-phase.js.map +0 -1
  342. package/dist/cli/lib/kpi-report.d.ts +0 -13
  343. package/dist/cli/lib/kpi-report.d.ts.map +0 -1
  344. package/dist/cli/lib/kpi-report.js +0 -115
  345. package/dist/cli/lib/kpi-report.js.map +0 -1
  346. package/dist/cli/lib/legislate-core.d.ts +0 -21
  347. package/dist/cli/lib/legislate-core.d.ts.map +0 -1
  348. package/dist/cli/lib/legislate-core.js.map +0 -1
  349. package/dist/cli/lib/legislate-skill.d.ts +0 -20
  350. package/dist/cli/lib/legislate-skill.d.ts.map +0 -1
  351. package/dist/cli/lib/legislate-skill.js +0 -30
  352. package/dist/cli/lib/legislate-skill.js.map +0 -1
  353. package/dist/cli/lib/mcp-legislation-draft.d.ts +0 -6
  354. package/dist/cli/lib/mcp-legislation-draft.d.ts.map +0 -1
  355. package/dist/cli/lib/mcp-legislation-draft.js +0 -62
  356. package/dist/cli/lib/mcp-legislation-draft.js.map +0 -1
  357. package/dist/cli/lib/mcp-legislation-execute.d.ts +0 -6
  358. package/dist/cli/lib/mcp-legislation-execute.d.ts.map +0 -1
  359. package/dist/cli/lib/mcp-legislation-execute.js +0 -43
  360. package/dist/cli/lib/mcp-legislation-execute.js.map +0 -1
  361. package/dist/cli/lib/mcp-legislation-mission.d.ts +0 -12
  362. package/dist/cli/lib/mcp-legislation-mission.d.ts.map +0 -1
  363. package/dist/cli/lib/mcp-legislation-mission.js +0 -82
  364. package/dist/cli/lib/mcp-legislation-mission.js.map +0 -1
  365. package/dist/cli/lib/mcp-legislation-types.d.ts +0 -69
  366. package/dist/cli/lib/mcp-legislation-types.d.ts.map +0 -1
  367. package/dist/cli/lib/mcp-legislation-types.js +0 -4
  368. package/dist/cli/lib/mcp-legislation-types.js.map +0 -1
  369. package/dist/cli/lib/mcp-legislation.d.ts +0 -5
  370. package/dist/cli/lib/mcp-legislation.d.ts.map +0 -1
  371. package/dist/cli/lib/mcp-legislation.js +0 -4
  372. package/dist/cli/lib/mcp-legislation.js.map +0 -1
  373. package/dist/cli/lib/mcp-orchestration-types.d.ts +0 -28
  374. package/dist/cli/lib/mcp-orchestration-types.d.ts.map +0 -1
  375. package/dist/cli/lib/mcp-orchestration-types.js +0 -2
  376. package/dist/cli/lib/mcp-orchestration-types.js.map +0 -1
  377. package/dist/cli/lib/mcp-orchestration.d.ts +0 -14
  378. package/dist/cli/lib/mcp-orchestration.d.ts.map +0 -1
  379. package/dist/cli/lib/mcp-orchestration.js +0 -54
  380. package/dist/cli/lib/mcp-orchestration.js.map +0 -1
  381. package/dist/cli/lib/mcp-upgrade-types.d.ts +0 -12
  382. package/dist/cli/lib/mcp-upgrade-types.d.ts.map +0 -1
  383. package/dist/cli/lib/mcp-upgrade-types.js +0 -2
  384. package/dist/cli/lib/mcp-upgrade-types.js.map +0 -1
  385. package/dist/cli/lib/mission-emit.d.ts +0 -7
  386. package/dist/cli/lib/mission-emit.d.ts.map +0 -1
  387. package/dist/cli/lib/mission-emit.js +0 -23
  388. package/dist/cli/lib/mission-emit.js.map +0 -1
  389. package/dist/cli/lib/mission-legislative-stub.d.ts +0 -9
  390. package/dist/cli/lib/mission-legislative-stub.d.ts.map +0 -1
  391. package/dist/cli/lib/mission-legislative-stub.js +0 -37
  392. package/dist/cli/lib/mission-legislative-stub.js.map +0 -1
  393. package/dist/cli/lib/mission-markdown.d.ts +0 -6
  394. package/dist/cli/lib/mission-markdown.d.ts.map +0 -1
  395. package/dist/cli/lib/mission-markdown.js.map +0 -1
  396. package/dist/cli/lib/mission-msn.d.ts +0 -9
  397. package/dist/cli/lib/mission-msn.d.ts.map +0 -1
  398. package/dist/cli/lib/mission-msn.js +0 -86
  399. package/dist/cli/lib/mission-msn.js.map +0 -1
  400. package/dist/cli/lib/mission-parser.d.ts +0 -6
  401. package/dist/cli/lib/mission-parser.d.ts.map +0 -1
  402. package/dist/cli/lib/mission-parser.js +0 -29
  403. package/dist/cli/lib/mission-parser.js.map +0 -1
  404. package/dist/cli/lib/mission-path.d.ts +0 -4
  405. package/dist/cli/lib/mission-path.d.ts.map +0 -1
  406. package/dist/cli/lib/mission-path.js +0 -28
  407. package/dist/cli/lib/mission-path.js.map +0 -1
  408. package/dist/cli/lib/mission-resolution.d.ts +0 -14
  409. package/dist/cli/lib/mission-resolution.d.ts.map +0 -1
  410. package/dist/cli/lib/mission-resolution.js +0 -60
  411. package/dist/cli/lib/mission-resolution.js.map +0 -1
  412. package/dist/cli/lib/mission-schema-validate.d.ts.map +0 -1
  413. package/dist/cli/lib/mission-schema-validate.js.map +0 -1
  414. package/dist/cli/lib/mission-yaml.d.ts +0 -18
  415. package/dist/cli/lib/mission-yaml.d.ts.map +0 -1
  416. package/dist/cli/lib/mission-yaml.js +0 -228
  417. package/dist/cli/lib/mission-yaml.js.map +0 -1
  418. package/dist/cli/lib/register-proposals-format.d.ts +0 -2
  419. package/dist/cli/lib/register-proposals-format.d.ts.map +0 -1
  420. package/dist/cli/lib/register-proposals-format.js +0 -6
  421. package/dist/cli/lib/register-proposals-format.js.map +0 -1
  422. package/dist/cli/lib/runtime-exec-orchestrator.d.ts +0 -14
  423. package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +0 -1
  424. package/dist/cli/lib/runtime-exec-orchestrator.js +0 -132
  425. package/dist/cli/lib/runtime-exec-orchestrator.js.map +0 -1
  426. package/dist/cli/lib/runtime-exec-result.d.ts +0 -21
  427. package/dist/cli/lib/runtime-exec-result.d.ts.map +0 -1
  428. package/dist/cli/lib/runtime-exec-result.js +0 -42
  429. package/dist/cli/lib/runtime-exec-result.js.map +0 -1
  430. package/dist/cli/lib/runtime-exec-worker.d.ts +0 -18
  431. package/dist/cli/lib/runtime-exec-worker.d.ts.map +0 -1
  432. package/dist/cli/lib/runtime-exec-worker.js +0 -49
  433. package/dist/cli/lib/runtime-exec-worker.js.map +0 -1
  434. package/dist/cli/lib/start-state.d.ts +0 -12
  435. package/dist/cli/lib/start-state.d.ts.map +0 -1
  436. package/dist/cli/lib/start-state.js +0 -86
  437. package/dist/cli/lib/start-state.js.map +0 -1
  438. package/dist/cli/lib/trace-failure-kind.d.ts +0 -4
  439. package/dist/cli/lib/trace-failure-kind.d.ts.map +0 -1
  440. package/dist/cli/lib/trace-failure-kind.js +0 -25
  441. package/dist/cli/lib/trace-failure-kind.js.map +0 -1
  442. package/dist/cli/lib/trace-status.d.ts +0 -7
  443. package/dist/cli/lib/trace-status.d.ts.map +0 -1
  444. package/dist/cli/lib/trace-status.js +0 -20
  445. package/dist/cli/lib/trace-status.js.map +0 -1
  446. package/dist/cli/lib/upgrade-eligible-assets.d.ts +0 -5
  447. package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +0 -1
  448. package/dist/cli/lib/upgrade-eligible-assets.js +0 -9
  449. package/dist/cli/lib/upgrade-eligible-assets.js.map +0 -1
  450. package/dist/cli/lib/upgrade-plan-preview.d.ts +0 -13
  451. package/dist/cli/lib/upgrade-plan-preview.d.ts.map +0 -1
  452. package/dist/cli/lib/upgrade-plan-preview.js +0 -51
  453. package/dist/cli/lib/upgrade-plan-preview.js.map +0 -1
  454. package/dist/cli/lib/upgrade-profile.d.ts +0 -4
  455. package/dist/cli/lib/upgrade-profile.d.ts.map +0 -1
  456. package/dist/cli/lib/upgrade-profile.js +0 -27
  457. package/dist/cli/lib/upgrade-profile.js.map +0 -1
  458. package/dist/cli/lib/user-error.d.ts.map +0 -1
  459. package/dist/cli/lib/user-error.js +0 -64
  460. package/dist/cli/lib/user-error.js.map +0 -1
  461. package/dist/cli/lib/verify-failure-presentation.d.ts +0 -30
  462. package/dist/cli/lib/verify-failure-presentation.d.ts.map +0 -1
  463. package/dist/cli/lib/verify-failure-presentation.js +0 -68
  464. package/dist/cli/lib/verify-failure-presentation.js.map +0 -1
  465. package/dist/cli/lib/verify-result-payload.d.ts.map +0 -1
  466. package/dist/cli/lib/verify-result-payload.js.map +0 -1
  467. package/dist/cli/lib/verify-run.d.ts +0 -10
  468. package/dist/cli/lib/verify-run.d.ts.map +0 -1
  469. package/dist/cli/lib/verify-run.js +0 -55
  470. package/dist/cli/lib/verify-run.js.map +0 -1
  471. package/dist/cli/lib/verify-types.d.ts +0 -31
  472. package/dist/cli/lib/verify-types.d.ts.map +0 -1
  473. package/dist/cli/lib/verify-types.js +0 -2
  474. package/dist/cli/lib/verify-types.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import path from "node:path";
2
+ import { GXT_ERROR } from "./gxt-error-codes.js";
2
3
  import { toPosixRel } from "./cli-io.js";
3
- import { gitRun, gitRunOk } from "./git-repo.js";
4
+ import { gitRevParse, gitRun, gitRunOk } from "./git.js";
4
5
  import { commitSubjectHasMsnPrefix, listCommitChangedPaths, listMsnSubjectCommits, } from "./git-proof.js";
5
6
  import { resolveTeacherEmails } from "./teacher-identity.js";
6
7
  export const DEFAULT_PERIMETER_PROTECTED = [
@@ -8,6 +9,7 @@ export const DEFAULT_PERIMETER_PROTECTED = [
8
9
  ".gitagent/foreman/MANIFEST.json",
9
10
  ".gitagent/teacher/RULES.md",
10
11
  ];
12
+ const SHALLOW_HISTORY_HINT = "Configure CI checkout with fetch-depth: 0 or fetch the base ref explicitly before running gapman perimeter --ci.";
11
13
  function perimeterGlobs(manifest) {
12
14
  return manifest.perimeter_protected?.length
13
15
  ? [...manifest.perimeter_protected]
@@ -27,15 +29,55 @@ export function isPerimeterProtectedPath(repoRelPath, manifest) {
27
29
  const globs = perimeterGlobs(manifest);
28
30
  return globs.some((g) => pathMatchesPerimeterGlob(repoRelPath, g));
29
31
  }
32
+ function shallowHistoryReason(baseRef, detail) {
33
+ return (`${GXT_ERROR.PERIMETER_SHALLOW_HISTORY}: cannot evaluate protected-path history for ${baseRef}..HEAD — ${detail}. ` +
34
+ SHALLOW_HISTORY_HINT);
35
+ }
30
36
  export function listChangedPathsSinceBase(repoRoot, baseRef) {
31
- const r = gitRunOk(repoRoot, ["diff", "--name-only", `${baseRef}...HEAD`]);
32
- if (!r.ok)
33
- return [];
34
- return r.stdout
37
+ if (!gitRevParse(repoRoot, baseRef)) {
38
+ return {
39
+ ok: false,
40
+ code: GXT_ERROR.PERIMETER_SHALLOW_HISTORY,
41
+ reason: shallowHistoryReason(baseRef, `base ref "${baseRef}" is missing or unreachable`),
42
+ };
43
+ }
44
+ const r = gitRun(repoRoot, ["diff", "--name-only", `${baseRef}...HEAD`]);
45
+ if (!r.ok) {
46
+ return {
47
+ ok: false,
48
+ code: GXT_ERROR.PERIMETER_SHALLOW_HISTORY,
49
+ reason: shallowHistoryReason(baseRef, r.stderr.trim() || "git diff failed"),
50
+ };
51
+ }
52
+ const paths = r.stdout
35
53
  .split("\n")
36
54
  .map((line) => line.trim())
37
55
  .filter((line) => line.length > 0)
38
56
  .map((rel) => toPosixRel(repoRoot, path.join(repoRoot, rel)));
57
+ return { ok: true, paths };
58
+ }
59
+ /** All commits in baseRef..HEAD that touched repoRelPath (newest first). */
60
+ export function listCommitsTouchingPathInRange(repoRoot, baseRef, repoRelPath) {
61
+ if (!gitRevParse(repoRoot, baseRef)) {
62
+ return {
63
+ ok: false,
64
+ code: GXT_ERROR.PERIMETER_SHALLOW_HISTORY,
65
+ reason: shallowHistoryReason(baseRef, `base ref "${baseRef}" is missing or unreachable`),
66
+ };
67
+ }
68
+ const r = gitRun(repoRoot, ["log", "--format=%H", `${baseRef}..HEAD`, "--", repoRelPath]);
69
+ if (!r.ok) {
70
+ return {
71
+ ok: false,
72
+ code: GXT_ERROR.PERIMETER_SHALLOW_HISTORY,
73
+ reason: shallowHistoryReason(baseRef, r.stderr.trim() || "git log failed"),
74
+ };
75
+ }
76
+ const commits = r.stdout
77
+ .split("\n")
78
+ .map((line) => line.trim())
79
+ .filter((line) => line.length > 0);
80
+ return { ok: true, commits };
39
81
  }
40
82
  function lastCommitTouchingPath(repoRoot, repoRelPath) {
41
83
  const r = gitRunOk(repoRoot, ["log", "-1", "--format=%H", "HEAD", "--", repoRelPath]);
@@ -80,9 +122,97 @@ function extractMsnFromRecentCommits(repoRoot, hash) {
80
122
  const m = row.subject.match(/\[(MSN-\d{4})\]/);
81
123
  return m?.[1] ?? null;
82
124
  }
125
+ function checkProtectedPathCi(repoRoot, baseRef, filePath, violations, advisories) {
126
+ const range = listCommitsTouchingPathInRange(repoRoot, baseRef, filePath);
127
+ if (!range.ok) {
128
+ violations.push({
129
+ path: filePath,
130
+ commit: "unknown",
131
+ reason: range.reason,
132
+ advisoryOnly: false,
133
+ });
134
+ return;
135
+ }
136
+ if (range.commits.length === 0) {
137
+ violations.push({
138
+ path: filePath,
139
+ commit: "unknown",
140
+ reason: `no commits in ${baseRef}..HEAD found for protected path ${filePath}`,
141
+ advisoryOnly: false,
142
+ });
143
+ return;
144
+ }
145
+ for (const commit of range.commits) {
146
+ const sig = signatureStatus(repoRoot, commit);
147
+ if (!isGoodSignature(sig)) {
148
+ violations.push({
149
+ path: filePath,
150
+ commit,
151
+ reason: `${GXT_ERROR.PERIMETER_VIOLATION}: protected file ${filePath} modified in unsigned commit ${commit.slice(0, 7)} ` +
152
+ `(signature status: ${sig}). CI requires verified SSH/GPG signature.`,
153
+ advisoryOnly: false,
154
+ });
155
+ }
156
+ }
157
+ const unsignedForPath = violations.filter((v) => v.path === filePath && !v.advisoryOnly);
158
+ if (unsignedForPath.length === 0) {
159
+ advisories.push(`perimeter: ${filePath} — all ${String(range.commits.length)} commit(s) in range are signed`);
160
+ }
161
+ }
162
+ function checkProtectedPathLocal(repoRoot, filePath, teacherEmails, violations, advisories) {
163
+ const commit = lastCommitTouchingPath(repoRoot, filePath);
164
+ if (!commit) {
165
+ violations.push({
166
+ path: filePath,
167
+ commit: "unknown",
168
+ reason: `no commit found for protected path ${filePath}`,
169
+ advisoryOnly: true,
170
+ });
171
+ return;
172
+ }
173
+ const row = commitRow(repoRoot, commit);
174
+ if (!row) {
175
+ violations.push({
176
+ path: filePath,
177
+ commit,
178
+ reason: `cannot read commit metadata for ${commit}`,
179
+ advisoryOnly: true,
180
+ });
181
+ return;
182
+ }
183
+ const msnId = extractMsnFromRecentCommits(repoRoot, commit);
184
+ const emailMatch = row.authorEmail.trim().toLowerCase() &&
185
+ teacherEmails.includes(row.authorEmail.trim().toLowerCase());
186
+ const subjectMatch = msnId !== null && commitSubjectHasMsnPrefix(row.subject, msnId);
187
+ const stamp = msnId !== null ? findTeacherStampForPath(repoRoot, msnId, filePath, teacherEmails) : null;
188
+ if (stamp) {
189
+ advisories.push(`perimeter (advisory): ${filePath} — Teacher email + MSN stamp hint matched ${stamp.hash.slice(0, 7)} (forgeable locally; CI verifies signature)`);
190
+ return;
191
+ }
192
+ advisories.push(`perimeter (advisory): ${filePath} modified in ${commit.slice(0, 7)} — ` +
193
+ `email match=${String(emailMatch)}, subject MSN match=${String(subjectMatch)}. ` +
194
+ `Local checks are forgeable; push triggers CI signature enforcement.`);
195
+ }
83
196
  export function checkPerimeter(repoRoot, manifest, options) {
84
- const changed = listChangedPathsSinceBase(repoRoot, options.baseRef);
85
- const protectedChanged = changed.filter((p) => isPerimeterProtectedPath(p, manifest));
197
+ const changedResult = listChangedPathsSinceBase(repoRoot, options.baseRef);
198
+ if (!changedResult.ok) {
199
+ if (options.ci === true) {
200
+ return {
201
+ ok: false,
202
+ violations: [
203
+ {
204
+ path: "(range)",
205
+ commit: "unknown",
206
+ reason: changedResult.reason,
207
+ advisoryOnly: false,
208
+ },
209
+ ],
210
+ advisories: [],
211
+ };
212
+ }
213
+ return { ok: true, violations: [], advisories: [changedResult.reason] };
214
+ }
215
+ const protectedChanged = changedResult.paths.filter((p) => isPerimeterProtectedPath(p, manifest));
86
216
  if (protectedChanged.length === 0) {
87
217
  return { ok: true, violations: [], advisories: [] };
88
218
  }
@@ -90,53 +220,11 @@ export function checkPerimeter(repoRoot, manifest, options) {
90
220
  const violations = [];
91
221
  const advisories = [];
92
222
  for (const filePath of protectedChanged) {
93
- const commit = lastCommitTouchingPath(repoRoot, filePath);
94
- if (!commit) {
95
- violations.push({
96
- path: filePath,
97
- commit: "unknown",
98
- reason: `no commit found for protected path ${filePath}`,
99
- advisoryOnly: options.ci !== true,
100
- });
101
- continue;
102
- }
103
- const row = commitRow(repoRoot, commit);
104
- if (!row) {
105
- violations.push({
106
- path: filePath,
107
- commit,
108
- reason: `cannot read commit metadata for ${commit}`,
109
- advisoryOnly: options.ci !== true,
110
- });
111
- continue;
112
- }
113
223
  if (options.ci === true) {
114
- const sig = signatureStatus(repoRoot, commit);
115
- if (!isGoodSignature(sig)) {
116
- violations.push({
117
- path: filePath,
118
- commit,
119
- reason: `GXT_PERIMETER_VIOLATION: protected file ${filePath} modified in unsigned commit ${commit.slice(0, 7)} ` +
120
- `(signature status: ${sig}). CI requires verified SSH/GPG signature.`,
121
- advisoryOnly: false,
122
- });
123
- continue;
124
- }
125
- advisories.push(`perimeter: ${filePath} touched by signed commit ${commit.slice(0, 7)} (signature ${sig})`);
126
- continue;
127
- }
128
- const msnId = extractMsnFromRecentCommits(repoRoot, commit);
129
- const emailMatch = row.authorEmail.trim().toLowerCase() &&
130
- teacherEmails.includes(row.authorEmail.trim().toLowerCase());
131
- const subjectMatch = msnId !== null && commitSubjectHasMsnPrefix(row.subject, msnId);
132
- const stamp = msnId !== null ? findTeacherStampForPath(repoRoot, msnId, filePath, teacherEmails) : null;
133
- if (stamp) {
134
- advisories.push(`perimeter (advisory): ${filePath} — Teacher email + MSN stamp hint matched ${stamp.hash.slice(0, 7)} (forgeable locally; CI verifies signature)`);
224
+ checkProtectedPathCi(repoRoot, options.baseRef, filePath, violations, advisories);
135
225
  }
136
226
  else {
137
- advisories.push(`perimeter (advisory): ${filePath} modified in ${commit.slice(0, 7)} — ` +
138
- `email match=${String(emailMatch)}, subject MSN match=${String(subjectMatch)}. ` +
139
- `Local checks are forgeable; push triggers CI signature enforcement.`);
227
+ checkProtectedPathLocal(repoRoot, filePath, teacherEmails, violations, advisories);
140
228
  }
141
229
  }
142
230
  const hardFailures = violations.filter((v) => !v.advisoryOnly);
@@ -1 +1 @@
1
- {"version":3,"file":"perimeter.js","sourceRoot":"","sources":["../../../src/cli/lib/perimeter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,oBAAoB;IACpB,iCAAiC;IACjC,4BAA4B;CACpB,CAAC;AAeX,SAAS,cAAc,CAAC,QAAkB;IACxC,OAAO,QAAQ,CAAC,mBAAmB,EAAE,MAAM;QACzC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACnC,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC;AACvC,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,IAAY;IACxE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,QAAkB;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,OAAe;IACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,CAAC,MAAM;SACZ,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,WAAmB;IACnE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,IAAY;IAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAY;IACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACtB,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,KAAa,EACb,WAAmB,EACnB,aAAuB;IAEvB,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QAC5E,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,IAAY;IACjE,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxB,CAAC;AAQD,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,QAAkB,EAClB,OAA8B;IAE9B,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,sCAAsC,QAAQ,EAAE;gBACxD,YAAY,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI;aAClC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,MAAM,EAAE,mCAAmC,MAAM,EAAE;gBACnD,YAAY,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI;aAClC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,QAAQ;oBACd,MAAM;oBACN,MAAM,EACJ,2CAA2C,QAAQ,gCAAgC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;wBACxG,sBAAsB,GAAG,4CAA4C;oBACvE,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CACb,cAAc,QAAQ,6BAA6B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,GAAG,GAAG,CAC3F,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GACd,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,KAAK,KAAK,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrF,MAAM,KAAK,GACT,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5F,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,IAAI,CACb,yBAAyB,QAAQ,6CAA6C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,6CAA6C,CAClJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CACb,yBAAyB,QAAQ,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;gBACtE,eAAe,MAAM,CAAC,UAAU,CAAC,uBAAuB,MAAM,CAAC,YAAY,CAAC,IAAI;gBAChF,qEAAqE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC;QAC7B,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,IAAY;IAClE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"perimeter.js","sourceRoot":"","sources":["../../../src/cli/lib/perimeter.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ export interface SkillProposal {
6
6
  suggested_forbidden_imports: string[];
7
7
  signature: FolderSignature;
8
8
  }
9
+ export declare function suggestSkillKeyFromFolder(folderRel: string): string;
9
10
  export declare function buildSkillProposal(signature: FolderSignature, skillKey: string, httpLikeImports?: string[]): SkillProposal;
10
- export { suggestSkillKeyFromFolder } from "./register-proposals-format.js";
11
11
  export declare function formatProposalJson(proposal: SkillProposal): string;
12
12
  export declare function formatProposalHuman(proposal: SkillProposal): string;
13
13
  //# sourceMappingURL=register-proposals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-proposals.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/register-proposals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,MAAM,EAChB,eAAe,WAAuD,GACrE,aAAa,CAkBf;AAED,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAElE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgBnE"}
1
+ {"version":3,"file":"register-proposals.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/register-proposals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,MAAM,EAChB,eAAe,WAAuD,GACrE,aAAa,CAkBf;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAElE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgBnE"}
@@ -1,3 +1,8 @@
1
+ import path from "node:path";
2
+ export function suggestSkillKeyFromFolder(folderRel) {
3
+ const base = path.basename(folderRel.replace(/\/$/, ""));
4
+ return base.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "skill";
5
+ }
1
6
  export function buildSkillProposal(signature, skillKey, httpLikeImports = ["express", "axios", "node-fetch", "@nestjs/common"]) {
2
7
  const externalPackages = signature.imports.filter((i) => !i.startsWith(".") && !i.startsWith("/") && !i.startsWith("@/"));
3
8
  const hasHttp = externalPackages.some((p) => httpLikeImports.some((h) => p === h || p.startsWith(`${h}/`)));
@@ -12,7 +17,6 @@ export function buildSkillProposal(signature, skillKey, httpLikeImports = ["expr
12
17
  signature,
13
18
  };
14
19
  }
15
- export { suggestSkillKeyFromFolder } from "./register-proposals-format.js";
16
20
  export function formatProposalJson(proposal) {
17
21
  return JSON.stringify(proposal, null, 2);
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register-proposals.js","sourceRoot":"","sources":["../../../src/cli/lib/register-proposals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-proposals.js","sourceRoot":"","sources":["../../../src/cli/lib/register-proposals.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { toPosixRel } from "./cli-io.js";
4
- import { agentErrorAbsolutePath } from "./agent-error.js";
5
- import { parseMissionFile } from "./mission-parser.js";
4
+ import { agentErrorAbsolutePath } from "./errors.js";
5
+ import { parseMissionFile } from "./missions/parser.js";
6
6
  import { defaultWorkerLogPath } from "./trace.js";
7
7
  function toRepoRelativePosix(repoRoot, absolutePath) {
8
8
  const rel = toPosixRel(repoRoot, path.resolve(absolutePath));
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-env.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,49 @@
1
- /**
2
- * Runtime execution harness: re-exports orchestrator (process runner lives in runtime-exec-process.ts).
3
- */
4
- export { runRuntimeExec, type RuntimeExecOptions, type RuntimeExecResult, } from "./runtime-exec-orchestrator.js";
1
+ import { type ForbiddenViolation } from "./forbidden-scan.js";
2
+ import { createTelemetryWriter } from "./telemetry-log.js";
3
+ import type { Workspace } from "./workspace.js";
4
+ export interface RuntimeExecResult {
5
+ status: "success" | "worker_failed" | "forbidden_zone_violation" | "runtime_error" | "timeout";
6
+ exitCode: number;
7
+ workerExitCode: number | null;
8
+ workerSignal: NodeJS.Signals | null;
9
+ violations: ForbiddenViolation[];
10
+ workerLogPath: string;
11
+ flightId: string;
12
+ }
13
+ export declare function emptyWorkerCommandResult(): RuntimeExecResult;
14
+ export declare function buildRuntimeExecResult(input: {
15
+ violations: ForbiddenViolation[];
16
+ timedOut: boolean;
17
+ exitCode: number | null;
18
+ exitSignal: NodeJS.Signals | null;
19
+ workerLogPath: string;
20
+ flightId: string;
21
+ }): RuntimeExecResult;
22
+ export declare function runtimeErrorResult(workerLogPath: string, flightId: string): RuntimeExecResult;
23
+ type TelemetryWriter = ReturnType<typeof createTelemetryWriter>;
24
+ export interface WorkerCaptureResult {
25
+ code: number | null;
26
+ signal: NodeJS.Signals | null;
27
+ timedOut: boolean;
28
+ }
29
+ export declare function captureWorkerProcess(input: {
30
+ command: string;
31
+ argv: string[];
32
+ cwd: string;
33
+ env: NodeJS.ProcessEnv;
34
+ streamOutput: boolean;
35
+ timeoutMs?: number;
36
+ writer: TelemetryWriter;
37
+ }): Promise<WorkerCaptureResult>;
38
+ export interface RuntimeExecOptions {
39
+ mission: string;
40
+ workerCommand: string[];
41
+ cwd?: string;
42
+ workerLog?: string;
43
+ append?: boolean;
44
+ timeoutMs?: number;
45
+ streamOutput?: boolean;
46
+ }
47
+ export declare function runRuntimeExec(workspace: Workspace, options: RuntimeExecOptions): Promise<RuntimeExecResult>;
48
+ export {};
5
49
  //# sourceMappingURL=runtime-exec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-exec.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/runtime-exec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"runtime-exec.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/runtime-exec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqD,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EACF,SAAS,GACT,eAAe,GACf,0BAA0B,GAC1B,eAAe,GACf,SAAS,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,IAAI,iBAAiB,CAU5D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,iBAAiB,CAmBpB;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAUnB;AAED,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+C/B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6FD,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA0E5B"}
@@ -1,5 +1,219 @@
1
- /**
2
- * Runtime execution harness: re-exports orchestrator (process runner lives in runtime-exec-process.ts).
3
- */
4
- export { runRuntimeExec, } from "./runtime-exec-orchestrator.js";
1
+ import crypto from "node:crypto";
2
+ import path from "node:path";
3
+ import { errorMessage } from "./cli-io.js";
4
+ import { writeAgentErrorPayload } from "./errors.js";
5
+ import { buildForbiddenBaseline, detectForbiddenViolations } from "./forbidden-scan.js";
6
+ import { createTelemetryWriter } from "./telemetry-log.js";
7
+ import { resolvedRuntimeEnvToJsonPayload, resolveRuntimeEnv } from "./runtime-env.js";
8
+ import { hashProcessChunk, spawnWithStreamCapture } from "./runtime-exec-process.js";
9
+ export function emptyWorkerCommandResult() {
10
+ return {
11
+ status: "runtime_error",
12
+ exitCode: 2,
13
+ workerExitCode: null,
14
+ workerSignal: null,
15
+ violations: [],
16
+ workerLogPath: "",
17
+ flightId: "",
18
+ };
19
+ }
20
+ export function buildRuntimeExecResult(input) {
21
+ const base = {
22
+ workerExitCode: input.exitCode,
23
+ workerSignal: input.exitSignal,
24
+ violations: input.violations,
25
+ workerLogPath: input.workerLogPath,
26
+ flightId: input.flightId,
27
+ };
28
+ if (input.violations.length > 0) {
29
+ return { ...base, status: "forbidden_zone_violation", exitCode: 3 };
30
+ }
31
+ if (input.timedOut) {
32
+ return { ...base, status: "timeout", exitCode: 124 };
33
+ }
34
+ if (input.exitCode !== 0) {
35
+ return { ...base, status: "worker_failed", exitCode: 1 };
36
+ }
37
+ return { ...base, status: "success", exitCode: 0 };
38
+ }
39
+ export function runtimeErrorResult(workerLogPath, flightId) {
40
+ return {
41
+ status: "runtime_error",
42
+ exitCode: 2,
43
+ workerExitCode: null,
44
+ workerSignal: null,
45
+ violations: [],
46
+ workerLogPath,
47
+ flightId,
48
+ };
49
+ }
50
+ export async function captureWorkerProcess(input) {
51
+ const exit = await spawnWithStreamCapture({
52
+ command: input.command,
53
+ argv: input.argv,
54
+ cwd: input.cwd,
55
+ env: input.env,
56
+ streamOutput: input.streamOutput,
57
+ timeoutMs: input.timeoutMs,
58
+ onSpawn: (pid) => {
59
+ input.writer.logEvent({
60
+ type: "proc_spawn",
61
+ pid,
62
+ cwd: input.cwd,
63
+ command: input.command,
64
+ argv: input.argv,
65
+ });
66
+ },
67
+ onStdout: (chunk, seq) => {
68
+ input.writer.logEvent({
69
+ type: "stream",
70
+ stream: "stdout",
71
+ seq,
72
+ chunk_b64: chunk.toString("base64"),
73
+ chunk_sha256: hashProcessChunk(chunk),
74
+ bytes: chunk.byteLength,
75
+ });
76
+ },
77
+ onStderr: (chunk, seq) => {
78
+ input.writer.logEvent({
79
+ type: "stream",
80
+ stream: "stderr",
81
+ seq,
82
+ chunk_b64: chunk.toString("base64"),
83
+ chunk_sha256: hashProcessChunk(chunk),
84
+ bytes: chunk.byteLength,
85
+ });
86
+ },
87
+ onRuntimeError: (message, errno) => {
88
+ input.writer.logEvent({
89
+ type: "runtime_error",
90
+ message,
91
+ errno,
92
+ });
93
+ },
94
+ });
95
+ return { code: exit.code, signal: exit.signal, timedOut: exit.timedOut };
96
+ }
97
+ function randomFlightId() {
98
+ return crypto.randomUUID();
99
+ }
100
+ function parseJoinedLines(s) {
101
+ return s
102
+ .split("\n")
103
+ .map((x) => x.trim())
104
+ .filter((x) => x.length > 0);
105
+ }
106
+ function chooseWorkingDirectory(repoRoot, cwd) {
107
+ if (!cwd?.trim())
108
+ return repoRoot;
109
+ return path.resolve(repoRoot, cwd);
110
+ }
111
+ function logFlightEnd(writer, result, violationCount) {
112
+ writer.logEvent({
113
+ type: "flight_end",
114
+ status: result.status,
115
+ exit_code: result.exitCode,
116
+ worker_exit_code: result.workerExitCode,
117
+ worker_signal: result.workerSignal,
118
+ violation_count: violationCount,
119
+ });
120
+ writer.close();
121
+ }
122
+ function beginRuntimeFlight(workspace, options) {
123
+ const resolved = resolveRuntimeEnv(workspace, options.mission);
124
+ const envPayload = resolvedRuntimeEnvToJsonPayload(resolved);
125
+ const repoRoot = resolved.repo_root;
126
+ const forbiddenZones = parseJoinedLines(resolved.forbidden_zones_joined);
127
+ const workerLogPath = options.workerLog
128
+ ? path.resolve(repoRoot, options.workerLog)
129
+ : resolved.worker_log;
130
+ const cwd = chooseWorkingDirectory(repoRoot, options.cwd);
131
+ const flightId = randomFlightId();
132
+ const streamOutput = options.streamOutput !== false;
133
+ const baseline = buildForbiddenBaseline(repoRoot, forbiddenZones);
134
+ const writer = createTelemetryWriter(workerLogPath, {
135
+ flight_id: flightId,
136
+ msn_id: resolved.msn_id,
137
+ mission_file: resolved.mission_file,
138
+ skill_key: resolved.skill_key,
139
+ worker_command: options.workerCommand,
140
+ }, options.append === true);
141
+ writer.logEvent({
142
+ type: "flight_start",
143
+ repo_root: repoRoot,
144
+ skill_key: resolved.skill_key,
145
+ worker_log: workerLogPath,
146
+ worker_command: options.workerCommand,
147
+ forbidden_zones: forbiddenZones,
148
+ });
149
+ return {
150
+ resolved,
151
+ envPayload,
152
+ repoRoot,
153
+ forbiddenZones,
154
+ workerLogPath,
155
+ cwd,
156
+ flightId,
157
+ streamOutput,
158
+ baseline,
159
+ writer,
160
+ };
161
+ }
162
+ export async function runRuntimeExec(workspace, options) {
163
+ if (options.workerCommand.length === 0) {
164
+ return emptyWorkerCommandResult();
165
+ }
166
+ const { resolved, envPayload, repoRoot, forbiddenZones, workerLogPath, cwd, flightId, streamOutput, baseline, writer, } = beginRuntimeFlight(workspace, options);
167
+ const timeoutMs = options.timeoutMs;
168
+ const [cmd, ...argv] = options.workerCommand;
169
+ try {
170
+ const exit = await captureWorkerProcess({
171
+ command: cmd,
172
+ argv,
173
+ cwd,
174
+ env: { ...process.env, ...envPayload, GXT_WORKER_LOG: workerLogPath },
175
+ streamOutput,
176
+ timeoutMs,
177
+ writer,
178
+ });
179
+ if (exit.timedOut) {
180
+ writer.logEvent({ type: "timeout_kill", timeout_ms: timeoutMs ?? null });
181
+ }
182
+ writer.logEvent({
183
+ type: "proc_exit",
184
+ code: exit.code,
185
+ signal: exit.signal,
186
+ timed_out: exit.timedOut,
187
+ });
188
+ const violations = detectForbiddenViolations(baseline, forbiddenZones);
189
+ writer.logEvent({
190
+ type: "forbidden_scan",
191
+ violations,
192
+ violation_count: violations.length,
193
+ });
194
+ const result = buildRuntimeExecResult({
195
+ violations,
196
+ timedOut: exit.timedOut,
197
+ exitCode: exit.code,
198
+ exitSignal: exit.signal,
199
+ workerLogPath,
200
+ flightId,
201
+ });
202
+ logFlightEnd(writer, result, violations.length);
203
+ if (result.exitCode !== 0) {
204
+ writeAgentErrorPayload(repoRoot, resolved, result);
205
+ }
206
+ return result;
207
+ }
208
+ catch (e) {
209
+ writer.logEvent({
210
+ type: "runtime_error",
211
+ message: errorMessage(e),
212
+ });
213
+ const errorResult = runtimeErrorResult(workerLogPath, flightId);
214
+ logFlightEnd(writer, errorResult, 0);
215
+ writeAgentErrorPayload(repoRoot, resolved, errorResult);
216
+ return errorResult;
217
+ }
218
+ }
5
219
  //# sourceMappingURL=runtime-exec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-exec.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-exec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,GAGf,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"runtime-exec.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-exec.ts"],"names":[],"mappings":"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"}