@svenroth-ai/shipwright 0.27.0 → 0.29.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 (799) hide show
  1. package/client/dist/apple-touch-icon.png +0 -0
  2. package/client/dist/assets/{EmbeddedTerminal-CqCQUDtp.js → EmbeddedTerminal-IkAS1bic.js} +30 -30
  3. package/client/dist/assets/{abnfDiagram-VRR7QNED-DX2objTP.js → abnfDiagram-VCTEODGH-CclAL-Ri.js} +1 -1
  4. package/client/dist/assets/arc-C8vUxwav.js +1 -0
  5. package/client/dist/assets/architectureDiagram-5GKGNRK7-DdrrZJx7.js +36 -0
  6. package/client/dist/assets/blockDiagram-I7D4REHJ-CMhbhsVq.js +129 -0
  7. package/client/dist/assets/c4Diagram-7LVT6UL2-OvlH6BiV.js +38 -0
  8. package/client/dist/assets/channel-BtkABUIE.js +1 -0
  9. package/client/dist/assets/{chunk-2Q5K7J3B-C111EHL6.js → chunk-2Q5K7J3B-BxUk85j7.js} +1 -1
  10. package/client/dist/assets/{chunk-5VM5RSS4-DIejoaXS.js → chunk-5VM5RSS4-DoTSs3Kn.js} +1 -1
  11. package/client/dist/assets/{chunk-32BRIVSS-DrCYs2XG.js → chunk-F27PBJKO-DquVu1wX.js} +1 -1
  12. package/client/dist/assets/{chunk-EX3LRPZG-CGWNeH2g.js → chunk-IMKFNOWR-8l4wPLQK.js} +5 -5
  13. package/client/dist/assets/{chunk-JWPE2WC7-CCH0SRFY.js → chunk-JWPE2WC7-CTAa0a4O.js} +1 -1
  14. package/client/dist/assets/chunk-POPQ4Y6H-BZ6zpqEF.js +1 -0
  15. package/client/dist/assets/{chunk-MOJQB5TN-B3OpZGRv.js → chunk-SVP7TREG-Dx7pMiq4.js} +1 -1
  16. package/client/dist/assets/{chunk-V7JOEXUC-B6Bu8x1y.js → chunk-TICWLB2K-BtDKT858.js} +1 -1
  17. package/client/dist/assets/{chunk-XXDRQBXY-xyjuuhxl.js → chunk-XXDRQBXY-BbrrrzuM.js} +1 -1
  18. package/client/dist/assets/classDiagram-ZZMXUADV-2gEcH3cX.js +1 -0
  19. package/client/dist/assets/classDiagram-v2-VYDZK3BY-2gEcH3cX.js +1 -0
  20. package/client/dist/assets/{cose-bilkent-JH36ORCC-BQIH3SCK.js → cose-bilkent-JH36ORCC-Bhem6unn.js} +1 -1
  21. package/client/dist/assets/{cynefin-VYW2F7L2-oyLAz8te.js → cynefin-OW5HDTMX-hukx0bAt.js} +3 -3
  22. package/client/dist/assets/{cynefinDiagram-TSTJHNR4-DoLCsH0l.js → cynefinDiagram-5FMLGOSQ-CGogKYMK.js} +1 -1
  23. package/client/dist/assets/dagre-GXQ25YYZ-BiLo3XBj.js +4 -0
  24. package/client/dist/assets/diagram-S7CK7UJ4-DBfdjdN6.js +30 -0
  25. package/client/dist/assets/diagram-UQ7AKVKN-3CvmyZYO.js +41 -0
  26. package/client/dist/assets/{diagram-FQU43EPY-DFuYE0Vf.js → diagram-VSXAHHWV-COG9399I.js} +2 -2
  27. package/client/dist/assets/{diagram-G47NLZAW-CffCZVXk.js → diagram-VX7I27RA-Dftpj84a.js} +1 -1
  28. package/client/dist/assets/{diagram-NH7WQ7WH-BhrHtUlt.js → diagram-Z3DM3KII-Dw9_CGLA.js} +1 -1
  29. package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DfV7gT4m.js → ebnfDiagram-PWID7BFC-CJirhPah.js} +1 -1
  30. package/client/dist/assets/erDiagram-RLTQ6QDP-B11aYoo6.js +99 -0
  31. package/client/dist/assets/flowDiagram-HODETNUW-CPC6X9E5.js +168 -0
  32. package/client/dist/assets/{ganttDiagram-NO4QXBWP-BclyOgMb.js → ganttDiagram-EL5Y4UJY-DDSk2AAg.js} +4 -4
  33. package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-BXT4rIKj.js → gitGraphDiagram-WWUBYQGX-D_2UGciq.js} +1 -1
  34. package/client/dist/assets/index-DDSwQXcp.js +924 -0
  35. package/client/dist/assets/index-DWrPE3aq.css +1 -0
  36. package/client/dist/assets/infoDiagram-27XIBGKW-BuUv5Wms.js +2 -0
  37. package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-BBUFWq5C.js → ishikawaDiagram-5VMMS53U-DpnAnJ0q.js} +4 -4
  38. package/client/dist/assets/{journeyDiagram-5HDEW3XC-CmclipcQ.js → journeyDiagram-3NMN7TZE-CFUsXz2q.js} +2 -2
  39. package/client/dist/assets/{kanban-definition-HUTT4EX6-eIzUeZ03.js → kanban-definition-UXKFOSKX-BAq4Kujj.js} +8 -8
  40. package/client/dist/assets/katex-C5jXJg4s.js +257 -0
  41. package/client/dist/assets/layout-CccpfEe3.js +1 -0
  42. package/client/dist/assets/{linear-DGiT7uKK.js → linear-BIeIr2tp.js} +1 -1
  43. package/client/dist/assets/mermaid.core-B-Ezy6Me.js +312 -0
  44. package/client/dist/assets/{mindmap-definition-LN4V7U3C-C4ANnNiP.js → mindmap-definition-YA3MSWOX-CMPZ0Ggp.js} +2 -2
  45. package/client/dist/assets/{pegDiagram-2B236MQR-DnMeh3Yh.js → pegDiagram-XKGWAZYB-B0_2KQ6f.js} +1 -1
  46. package/client/dist/assets/{pieDiagram-ENE6RG2P-CKV_rkhF.js → pieDiagram-E7YTZNPT-1-nOk5pZ.js} +3 -3
  47. package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-BuUsGwHh.js → quadrantDiagram-AXDQQJYC-C_RdmOuq.js} +1 -1
  48. package/client/dist/assets/{railroadDiagram-RFXS5EU6-BwwdKnFL.js → railroadDiagram-O6MQD6OU-o73KM0oq.js} +1 -1
  49. package/client/dist/assets/{requirementDiagram-TGXJPOKE-CpQZouJV.js → requirementDiagram-BXWQKSXE-DnhCWJHv.js} +5 -5
  50. package/client/dist/assets/{sankeyDiagram-HTMAVEWB-4fnDUNVa.js → sankeyDiagram-P5KCCOFB-CVkYgfTV.js} +4 -4
  51. package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-BOcaWlM0.js → sequenceDiagram-WJ2MYXX4-BYLed29R.js} +1 -1
  52. package/client/dist/assets/{sizeCapture-X5ZJPWSS-_pv-9R0c.js → sizeCapture-INFHLROL-CYb4HDaH.js} +1 -1
  53. package/client/dist/assets/stateDiagram-D77RDMKH-CNKFRye_.js +1 -0
  54. package/client/dist/assets/stateDiagram-v2-MP3YSRHH-NpMhMQ36.js +1 -0
  55. package/client/dist/assets/swimlanes-42K2YHIH-BhsYrplp.js +1 -0
  56. package/client/dist/assets/swimlanesDiagram-VR7AAH4N-B4frkWBG.js +8 -0
  57. package/client/dist/assets/{timeline-definition-FHXFAJF6-rhGYElgn.js → timeline-definition-24CTP7MA-DiUXzB2p.js} +3 -3
  58. package/client/dist/assets/{vennDiagram-L72KCM5P-BoGjRxyA.js → vennDiagram-4TSXK5OY-aE4j6W86.js} +5 -5
  59. package/client/dist/assets/{wardleyDiagram-EHGQE667-D-IGv5bH.js → wardleyDiagram-VM6X3IG4-BxJXq0mU.js} +1 -1
  60. package/client/dist/assets/xychartDiagram-S5SC5T6Z-4vHeL9zc.js +7 -0
  61. package/client/dist/favicon-16.png +0 -0
  62. package/client/dist/favicon-32.png +0 -0
  63. package/client/dist/icon-192.png +0 -0
  64. package/client/dist/icon-512.png +0 -0
  65. package/client/dist/icon-maskable-512.png +0 -0
  66. package/client/dist/index.html +11 -2
  67. package/client/dist/manifest.json +13 -0
  68. package/lib/preflight.mjs +24 -5
  69. package/lib/util.mjs +5 -1
  70. package/package.json +2 -2
  71. package/scripts/deploy-procs.mjs +105 -20
  72. package/scripts/deploy-swap.mjs +23 -2
  73. package/server/dist/config.d.ts +9 -0
  74. package/server/dist/config.d.ts.map +1 -1
  75. package/server/dist/config.js +8 -2
  76. package/server/dist/config.js.map +1 -1
  77. package/server/dist/core/adopt-scan-findings.d.ts +12 -0
  78. package/server/dist/core/adopt-scan-findings.d.ts.map +1 -0
  79. package/server/dist/core/adopt-scan-findings.js +96 -0
  80. package/server/dist/core/adopt-scan-findings.js.map +1 -0
  81. package/server/dist/core/adopt-scan.d.ts +49 -0
  82. package/server/dist/core/adopt-scan.d.ts.map +1 -0
  83. package/server/dist/core/adopt-scan.js +201 -0
  84. package/server/dist/core/adopt-scan.js.map +1 -0
  85. package/server/dist/core/campaign-events.d.ts.map +1 -1
  86. package/server/dist/core/campaign-events.js +1 -0
  87. package/server/dist/core/campaign-events.js.map +1 -1
  88. package/server/dist/core/campaign-loop-state.d.ts.map +1 -1
  89. package/server/dist/core/campaign-loop-state.js +54 -21
  90. package/server/dist/core/campaign-loop-state.js.map +1 -1
  91. package/server/dist/core/campaign-parse.d.ts +4 -0
  92. package/server/dist/core/campaign-parse.d.ts.map +1 -1
  93. package/server/dist/core/campaign-parse.js +9 -0
  94. package/server/dist/core/campaign-parse.js.map +1 -1
  95. package/server/dist/core/campaign-readiness-schema.d.ts +33 -0
  96. package/server/dist/core/campaign-readiness-schema.d.ts.map +1 -0
  97. package/server/dist/core/campaign-readiness-schema.js +70 -0
  98. package/server/dist/core/campaign-readiness-schema.js.map +1 -0
  99. package/server/dist/core/campaign-readiness.d.ts +59 -0
  100. package/server/dist/core/campaign-readiness.d.ts.map +1 -0
  101. package/server/dist/core/campaign-readiness.js +163 -0
  102. package/server/dist/core/campaign-readiness.js.map +1 -0
  103. package/server/dist/core/campaign-status-json.d.ts +3 -0
  104. package/server/dist/core/campaign-status-json.d.ts.map +1 -1
  105. package/server/dist/core/campaign-status-json.js +7 -0
  106. package/server/dist/core/campaign-status-json.js.map +1 -1
  107. package/server/dist/core/campaign-store.d.ts.map +1 -1
  108. package/server/dist/core/campaign-store.js +4 -1
  109. package/server/dist/core/campaign-store.js.map +1 -1
  110. package/server/dist/core/campaign-types.d.ts +8 -0
  111. package/server/dist/core/campaign-types.d.ts.map +1 -1
  112. package/server/dist/core/campaign-worktree-root.d.ts +19 -0
  113. package/server/dist/core/campaign-worktree-root.d.ts.map +1 -0
  114. package/server/dist/core/campaign-worktree-root.js +76 -0
  115. package/server/dist/core/campaign-worktree-root.js.map +1 -0
  116. package/server/dist/core/claim-record-lock.d.ts +30 -0
  117. package/server/dist/core/claim-record-lock.d.ts.map +1 -0
  118. package/server/dist/core/claim-record-lock.js +90 -0
  119. package/server/dist/core/claim-record-lock.js.map +1 -0
  120. package/server/dist/core/cli-child-spawn.d.ts +28 -0
  121. package/server/dist/core/cli-child-spawn.d.ts.map +1 -0
  122. package/server/dist/core/cli-child-spawn.js +146 -0
  123. package/server/dist/core/cli-child-spawn.js.map +1 -0
  124. package/server/dist/core/codex-models-probe.d.ts +46 -0
  125. package/server/dist/core/codex-models-probe.d.ts.map +1 -0
  126. package/server/dist/core/codex-models-probe.js +103 -0
  127. package/server/dist/core/codex-models-probe.js.map +1 -0
  128. package/server/dist/core/codex-oracle-runner.d.ts +68 -0
  129. package/server/dist/core/codex-oracle-runner.d.ts.map +1 -0
  130. package/server/dist/core/codex-oracle-runner.js +124 -0
  131. package/server/dist/core/codex-oracle-runner.js.map +1 -0
  132. package/server/dist/core/codex-status-report.d.ts +6 -0
  133. package/server/dist/core/codex-status-report.d.ts.map +1 -0
  134. package/server/dist/core/codex-status-report.js +40 -0
  135. package/server/dist/core/codex-status-report.js.map +1 -0
  136. package/server/dist/core/codex-task-watcher-types.d.ts +69 -0
  137. package/server/dist/core/codex-task-watcher-types.d.ts.map +1 -0
  138. package/server/dist/core/codex-task-watcher-types.js +12 -0
  139. package/server/dist/core/codex-task-watcher-types.js.map +1 -0
  140. package/server/dist/core/codex-task-watcher.d.ts +30 -0
  141. package/server/dist/core/codex-task-watcher.d.ts.map +1 -0
  142. package/server/dist/core/codex-task-watcher.js +252 -0
  143. package/server/dist/core/codex-task-watcher.js.map +1 -0
  144. package/server/dist/core/codex-terminal-signal-detect.d.ts +7 -0
  145. package/server/dist/core/codex-terminal-signal-detect.d.ts.map +1 -0
  146. package/server/dist/core/codex-terminal-signal-detect.js +113 -0
  147. package/server/dist/core/codex-terminal-signal-detect.js.map +1 -0
  148. package/server/dist/core/codex-thread-discovery.d.ts +21 -0
  149. package/server/dist/core/codex-thread-discovery.d.ts.map +1 -0
  150. package/server/dist/core/codex-thread-discovery.js +169 -0
  151. package/server/dist/core/codex-thread-discovery.js.map +1 -0
  152. package/server/dist/core/codextender-auth-file-sweep.d.ts +41 -0
  153. package/server/dist/core/codextender-auth-file-sweep.d.ts.map +1 -0
  154. package/server/dist/core/codextender-auth-file-sweep.js +97 -0
  155. package/server/dist/core/codextender-auth-file-sweep.js.map +1 -0
  156. package/server/dist/core/codextender-proxy-probe.d.ts +80 -0
  157. package/server/dist/core/codextender-proxy-probe.d.ts.map +1 -0
  158. package/server/dist/core/codextender-proxy-probe.js +179 -0
  159. package/server/dist/core/codextender-proxy-probe.js.map +1 -0
  160. package/server/dist/core/contract-version.d.ts +16 -1
  161. package/server/dist/core/contract-version.d.ts.map +1 -1
  162. package/server/dist/core/contract-version.js +16 -1
  163. package/server/dist/core/contract-version.js.map +1 -1
  164. package/server/dist/core/custom-profile-command-policy.d.ts +6 -0
  165. package/server/dist/core/custom-profile-command-policy.d.ts.map +1 -0
  166. package/server/dist/core/custom-profile-command-policy.js +110 -0
  167. package/server/dist/core/custom-profile-command-policy.js.map +1 -0
  168. package/server/dist/core/custom-profile-loader.d.ts +34 -0
  169. package/server/dist/core/custom-profile-loader.d.ts.map +1 -0
  170. package/server/dist/core/custom-profile-loader.js +225 -0
  171. package/server/dist/core/custom-profile-loader.js.map +1 -0
  172. package/server/dist/core/launcher-codex.d.ts +61 -0
  173. package/server/dist/core/launcher-codex.d.ts.map +1 -0
  174. package/server/dist/core/launcher-codex.js +187 -0
  175. package/server/dist/core/launcher-codex.js.map +1 -0
  176. package/server/dist/core/launcher-codextender-env.d.ts +44 -0
  177. package/server/dist/core/launcher-codextender-env.d.ts.map +1 -0
  178. package/server/dist/core/launcher-codextender-env.js +212 -0
  179. package/server/dist/core/launcher-codextender-env.js.map +1 -0
  180. package/server/dist/core/launcher-codextender.d.ts +72 -0
  181. package/server/dist/core/launcher-codextender.d.ts.map +1 -0
  182. package/server/dist/core/launcher-codextender.js +98 -0
  183. package/server/dist/core/launcher-codextender.js.map +1 -0
  184. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts +25 -0
  185. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts.map +1 -0
  186. package/server/dist/core/launcher-codextender.smoke-helpers.js +211 -0
  187. package/server/dist/core/launcher-codextender.smoke-helpers.js.map +1 -0
  188. package/server/dist/core/launcher-permission-flags.d.ts +17 -0
  189. package/server/dist/core/launcher-permission-flags.d.ts.map +1 -0
  190. package/server/dist/core/launcher-permission-flags.js +27 -0
  191. package/server/dist/core/launcher-permission-flags.js.map +1 -0
  192. package/server/dist/core/launcher.d.ts +18 -0
  193. package/server/dist/core/launcher.d.ts.map +1 -1
  194. package/server/dist/core/launcher.js +6 -0
  195. package/server/dist/core/launcher.js.map +1 -1
  196. package/server/dist/core/leadwright-preflight-transport.d.ts +27 -0
  197. package/server/dist/core/leadwright-preflight-transport.d.ts.map +1 -0
  198. package/server/dist/core/leadwright-preflight-transport.js +124 -0
  199. package/server/dist/core/leadwright-preflight-transport.js.map +1 -0
  200. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts +6 -0
  201. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts.map +1 -0
  202. package/server/dist/core/mission-context/artifacts-tests-ac.js +31 -0
  203. package/server/dist/core/mission-context/artifacts-tests-ac.js.map +1 -0
  204. package/server/dist/core/mission-context/artifacts-tests.d.ts.map +1 -1
  205. package/server/dist/core/mission-context/artifacts-tests.js +20 -0
  206. package/server/dist/core/mission-context/artifacts-tests.js.map +1 -1
  207. package/server/dist/core/mission-context/resolver-io.d.ts +10 -0
  208. package/server/dist/core/mission-context/resolver-io.d.ts.map +1 -1
  209. package/server/dist/core/mission-context/resolver-parts.d.ts +8 -7
  210. package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -1
  211. package/server/dist/core/mission-context/resolver-parts.js +22 -14
  212. package/server/dist/core/mission-context/resolver-parts.js.map +1 -1
  213. package/server/dist/core/mission-context/resolver.d.ts.map +1 -1
  214. package/server/dist/core/mission-context/resolver.js +1 -1
  215. package/server/dist/core/mission-context/resolver.js.map +1 -1
  216. package/server/dist/core/mission-context/run-id-recovery.d.ts +18 -2
  217. package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -1
  218. package/server/dist/core/mission-context/run-id-recovery.js +38 -18
  219. package/server/dist/core/mission-context/run-id-recovery.js.map +1 -1
  220. package/server/dist/core/mission-context/traceability.d.ts.map +1 -1
  221. package/server/dist/core/mission-context/traceability.js +15 -1
  222. package/server/dist/core/mission-context/traceability.js.map +1 -1
  223. package/server/dist/core/mission-context/types-slice2.d.ts +44 -0
  224. package/server/dist/core/mission-context/types-slice2.d.ts.map +1 -1
  225. package/server/dist/core/model-tier-config-reader.d.ts +14 -1
  226. package/server/dist/core/model-tier-config-reader.d.ts.map +1 -1
  227. package/server/dist/core/model-tier-config-reader.js +34 -2
  228. package/server/dist/core/model-tier-config-reader.js.map +1 -1
  229. package/server/dist/core/powershell-probe.smoke-helpers.d.ts +12 -0
  230. package/server/dist/core/powershell-probe.smoke-helpers.d.ts.map +1 -0
  231. package/server/dist/core/powershell-probe.smoke-helpers.js +80 -0
  232. package/server/dist/core/powershell-probe.smoke-helpers.js.map +1 -0
  233. package/server/dist/core/preview-child-lifecycle.d.ts +7 -2
  234. package/server/dist/core/preview-child-lifecycle.d.ts.map +1 -1
  235. package/server/dist/core/preview-child-lifecycle.js +17 -5
  236. package/server/dist/core/preview-child-lifecycle.js.map +1 -1
  237. package/server/dist/core/preview-session-manager.d.ts +1 -0
  238. package/server/dist/core/preview-session-manager.d.ts.map +1 -1
  239. package/server/dist/core/preview-session-manager.js +2 -2
  240. package/server/dist/core/preview-session-manager.js.map +1 -1
  241. package/server/dist/core/project-actions-loader.d.ts +13 -0
  242. package/server/dist/core/project-actions-loader.d.ts.map +1 -1
  243. package/server/dist/core/project-actions-loader.js +28 -6
  244. package/server/dist/core/project-actions-loader.js.map +1 -1
  245. package/server/dist/core/project-data-dir.d.ts +41 -0
  246. package/server/dist/core/project-data-dir.d.ts.map +1 -0
  247. package/server/dist/core/project-data-dir.js +64 -0
  248. package/server/dist/core/project-data-dir.js.map +1 -0
  249. package/server/dist/core/project-data-migrate.d.ts +14 -0
  250. package/server/dist/core/project-data-migrate.d.ts.map +1 -0
  251. package/server/dist/core/project-data-migrate.js +94 -0
  252. package/server/dist/core/project-data-migrate.js.map +1 -0
  253. package/server/dist/core/project-manager.d.ts.map +1 -1
  254. package/server/dist/core/project-manager.js +9 -10
  255. package/server/dist/core/project-manager.js.map +1 -1
  256. package/server/dist/core/readiness-install-hints.d.ts +1 -1
  257. package/server/dist/core/readiness-install-hints.d.ts.map +1 -1
  258. package/server/dist/core/readiness-install-hints.js +5 -0
  259. package/server/dist/core/readiness-install-hints.js.map +1 -1
  260. package/server/dist/core/readiness-probe-run.d.ts +61 -0
  261. package/server/dist/core/readiness-probe-run.d.ts.map +1 -1
  262. package/server/dist/core/readiness-probe-run.js +93 -15
  263. package/server/dist/core/readiness-probe-run.js.map +1 -1
  264. package/server/dist/core/readiness-probe.d.ts +1 -1
  265. package/server/dist/core/readiness-probe.d.ts.map +1 -1
  266. package/server/dist/core/readiness-probe.js +36 -8
  267. package/server/dist/core/readiness-probe.js.map +1 -1
  268. package/server/dist/core/sdk-sessions-store.d.ts +46 -0
  269. package/server/dist/core/sdk-sessions-store.d.ts.map +1 -1
  270. package/server/dist/core/sdk-sessions-store.js +1 -0
  271. package/server/dist/core/sdk-sessions-store.js.map +1 -1
  272. package/server/dist/core/sdk-sessions-validate.d.ts.map +1 -1
  273. package/server/dist/core/sdk-sessions-validate.js +11 -0
  274. package/server/dist/core/sdk-sessions-validate.js.map +1 -1
  275. package/server/dist/core/session-file/access.d.ts +26 -0
  276. package/server/dist/core/session-file/access.d.ts.map +1 -0
  277. package/server/dist/core/session-file/access.js +143 -0
  278. package/server/dist/core/session-file/access.js.map +1 -0
  279. package/server/dist/core/session-file/asset-access.d.ts +15 -0
  280. package/server/dist/core/session-file/asset-access.d.ts.map +1 -0
  281. package/server/dist/core/session-file/asset-access.js +141 -0
  282. package/server/dist/core/session-file/asset-access.js.map +1 -0
  283. package/server/dist/core/session-file/evidence.d.ts +25 -0
  284. package/server/dist/core/session-file/evidence.d.ts.map +1 -0
  285. package/server/dist/core/session-file/evidence.js +201 -0
  286. package/server/dist/core/session-file/evidence.js.map +1 -0
  287. package/server/dist/core/session-file/probe.d.ts +16 -0
  288. package/server/dist/core/session-file/probe.d.ts.map +1 -0
  289. package/server/dist/core/session-file/probe.js +63 -0
  290. package/server/dist/core/session-file/probe.js.map +1 -0
  291. package/server/dist/core/session-file/safe-read.d.ts +33 -0
  292. package/server/dist/core/session-file/safe-read.d.ts.map +1 -0
  293. package/server/dist/core/session-file/safe-read.js +103 -0
  294. package/server/dist/core/session-file/safe-read.js.map +1 -0
  295. package/server/dist/core/session-file/sensitive.d.ts +5 -0
  296. package/server/dist/core/session-file/sensitive.d.ts.map +1 -0
  297. package/server/dist/core/session-file/sensitive.js +52 -0
  298. package/server/dist/core/session-file/sensitive.js.map +1 -0
  299. package/server/dist/core/session-info/collect.d.ts +70 -0
  300. package/server/dist/core/session-info/collect.d.ts.map +1 -0
  301. package/server/dist/core/session-info/collect.js +248 -0
  302. package/server/dist/core/session-info/collect.js.map +1 -0
  303. package/server/dist/core/session-info/line-scan.d.ts +20 -0
  304. package/server/dist/core/session-info/line-scan.d.ts.map +1 -0
  305. package/server/dist/core/session-info/line-scan.js +109 -0
  306. package/server/dist/core/session-info/line-scan.js.map +1 -0
  307. package/server/dist/core/session-info/remote-control.d.ts +9 -0
  308. package/server/dist/core/session-info/remote-control.d.ts.map +1 -0
  309. package/server/dist/core/session-info/remote-control.js +64 -0
  310. package/server/dist/core/session-info/remote-control.js.map +1 -0
  311. package/server/dist/core/session-info/session-info.d.ts +18 -0
  312. package/server/dist/core/session-info/session-info.d.ts.map +1 -0
  313. package/server/dist/core/session-info/session-info.js +170 -0
  314. package/server/dist/core/session-info/session-info.js.map +1 -0
  315. package/server/dist/core/session-info/small-file.d.ts +2 -0
  316. package/server/dist/core/session-info/small-file.d.ts.map +1 -0
  317. package/server/dist/core/session-info/small-file.js +42 -0
  318. package/server/dist/core/session-info/small-file.js.map +1 -0
  319. package/server/dist/core/session-info/subagent-transcript.d.ts +12 -0
  320. package/server/dist/core/session-info/subagent-transcript.d.ts.map +1 -0
  321. package/server/dist/core/session-info/subagent-transcript.js +78 -0
  322. package/server/dist/core/session-info/subagent-transcript.js.map +1 -0
  323. package/server/dist/core/session-info/subagents.d.ts +14 -0
  324. package/server/dist/core/session-info/subagents.d.ts.map +1 -0
  325. package/server/dist/core/session-info/subagents.js +92 -0
  326. package/server/dist/core/session-info/subagents.js.map +1 -0
  327. package/server/dist/core/session-info/test-fixtures.d.ts +50 -0
  328. package/server/dist/core/session-info/test-fixtures.d.ts.map +1 -0
  329. package/server/dist/core/session-info/test-fixtures.js +43 -0
  330. package/server/dist/core/session-info/test-fixtures.js.map +1 -0
  331. package/server/dist/core/session-info/types.d.ts +77 -0
  332. package/server/dist/core/session-info/types.d.ts.map +1 -0
  333. package/server/dist/core/session-info/types.js +14 -0
  334. package/server/dist/core/session-info/types.js.map +1 -0
  335. package/server/dist/core/settings-reader.d.ts +18 -0
  336. package/server/dist/core/settings-reader.d.ts.map +1 -0
  337. package/server/dist/core/settings-reader.js +40 -0
  338. package/server/dist/core/settings-reader.js.map +1 -0
  339. package/server/dist/core/shell-quote.d.ts +29 -0
  340. package/server/dist/core/shell-quote.d.ts.map +1 -1
  341. package/server/dist/core/shell-quote.js +34 -0
  342. package/server/dist/core/shell-quote.js.map +1 -1
  343. package/server/dist/core/stack-profiles-create.d.ts +31 -0
  344. package/server/dist/core/stack-profiles-create.d.ts.map +1 -0
  345. package/server/dist/core/stack-profiles-create.js +128 -0
  346. package/server/dist/core/stack-profiles-create.js.map +1 -0
  347. package/server/dist/core/stack-profiles.d.ts +49 -0
  348. package/server/dist/core/stack-profiles.d.ts.map +1 -0
  349. package/server/dist/core/stack-profiles.js +142 -0
  350. package/server/dist/core/stack-profiles.js.map +1 -0
  351. package/server/dist/core/task-editability.d.ts +1 -1
  352. package/server/dist/core/task-editability.d.ts.map +1 -1
  353. package/server/dist/core/task-editability.js +1 -0
  354. package/server/dist/core/task-editability.js.map +1 -1
  355. package/server/dist/core/triage-cli-runner.d.ts.map +1 -1
  356. package/server/dist/core/triage-cli-runner.js +6 -21
  357. package/server/dist/core/triage-cli-runner.js.map +1 -1
  358. package/server/dist/core/triage-compose.d.ts.map +1 -1
  359. package/server/dist/core/triage-compose.js +34 -3
  360. package/server/dist/core/triage-compose.js.map +1 -1
  361. package/server/dist/core/triage-store.d.ts +2 -1
  362. package/server/dist/core/triage-store.d.ts.map +1 -1
  363. package/server/dist/core/triage-store.js +1 -1
  364. package/server/dist/core/triage-store.js.map +1 -1
  365. package/server/dist/external/_shared/helpers.d.ts +2 -0
  366. package/server/dist/external/_shared/helpers.d.ts.map +1 -1
  367. package/server/dist/external/_shared/helpers.js.map +1 -1
  368. package/server/dist/external/actions/get.d.ts +3 -1
  369. package/server/dist/external/actions/get.d.ts.map +1 -1
  370. package/server/dist/external/actions/get.js +15 -4
  371. package/server/dist/external/actions/get.js.map +1 -1
  372. package/server/dist/external/actions/routes.d.ts +3 -1
  373. package/server/dist/external/actions/routes.d.ts.map +1 -1
  374. package/server/dist/external/actions/routes.js.map +1 -1
  375. package/server/dist/external/actions/stub.d.ts.map +1 -1
  376. package/server/dist/external/actions/stub.js +15 -4
  377. package/server/dist/external/actions/stub.js.map +1 -1
  378. package/server/dist/external/actions/upload-delete.d.ts.map +1 -1
  379. package/server/dist/external/actions/upload-delete.js +30 -20
  380. package/server/dist/external/actions/upload-delete.js.map +1 -1
  381. package/server/dist/external/actions/upload.d.ts.map +1 -1
  382. package/server/dist/external/actions/upload.js +5 -4
  383. package/server/dist/external/actions/upload.js.map +1 -1
  384. package/server/dist/external/create-external-routes-args.d.ts +124 -0
  385. package/server/dist/external/create-external-routes-args.d.ts.map +1 -0
  386. package/server/dist/external/create-external-routes-args.js +2 -0
  387. package/server/dist/external/create-external-routes-args.js.map +1 -0
  388. package/server/dist/external/inbox/_codex.d.ts +14 -0
  389. package/server/dist/external/inbox/_codex.d.ts.map +1 -0
  390. package/server/dist/external/inbox/_codex.js +88 -0
  391. package/server/dist/external/inbox/_codex.js.map +1 -0
  392. package/server/dist/external/inbox/_derive.d.ts.map +1 -1
  393. package/server/dist/external/inbox/_derive.js +11 -0
  394. package/server/dist/external/inbox/_derive.js.map +1 -1
  395. package/server/dist/external/inbox/_phase-gate.d.ts +9 -0
  396. package/server/dist/external/inbox/_phase-gate.d.ts.map +1 -0
  397. package/server/dist/external/inbox/_phase-gate.js +87 -0
  398. package/server/dist/external/inbox/_phase-gate.js.map +1 -0
  399. package/server/dist/external/inbox/_types.d.ts +30 -0
  400. package/server/dist/external/inbox/_types.d.ts.map +1 -1
  401. package/server/dist/external/inbox/_types.js +8 -5
  402. package/server/dist/external/inbox/_types.js.map +1 -1
  403. package/server/dist/external/inbox/routes.d.ts +7 -0
  404. package/server/dist/external/inbox/routes.d.ts.map +1 -1
  405. package/server/dist/external/inbox/routes.js +17 -2
  406. package/server/dist/external/inbox/routes.js.map +1 -1
  407. package/server/dist/external/launch/_helpers.d.ts +4 -0
  408. package/server/dist/external/launch/_helpers.d.ts.map +1 -1
  409. package/server/dist/external/launch/_helpers.js.map +1 -1
  410. package/server/dist/external/launch/action-substitution-branch.d.ts +12 -0
  411. package/server/dist/external/launch/action-substitution-branch.d.ts.map +1 -1
  412. package/server/dist/external/launch/action-substitution-branch.js +37 -3
  413. package/server/dist/external/launch/action-substitution-branch.js.map +1 -1
  414. package/server/dist/external/launch/branch-dispatch.d.ts +15 -0
  415. package/server/dist/external/launch/branch-dispatch.d.ts.map +1 -0
  416. package/server/dist/external/launch/branch-dispatch.js +73 -0
  417. package/server/dist/external/launch/branch-dispatch.js.map +1 -0
  418. package/server/dist/external/launch/campaign-step-branch.d.ts +7 -1
  419. package/server/dist/external/launch/campaign-step-branch.d.ts.map +1 -1
  420. package/server/dist/external/launch/campaign-step-branch.js +70 -2
  421. package/server/dist/external/launch/campaign-step-branch.js.map +1 -1
  422. package/server/dist/external/launch/claim-executor-permissions.d.ts +31 -0
  423. package/server/dist/external/launch/claim-executor-permissions.d.ts.map +1 -0
  424. package/server/dist/external/launch/claim-executor-permissions.js +107 -0
  425. package/server/dist/external/launch/claim-executor-permissions.js.map +1 -0
  426. package/server/dist/external/launch/claim-executor-template-arming.d.ts +42 -0
  427. package/server/dist/external/launch/claim-executor-template-arming.d.ts.map +1 -0
  428. package/server/dist/external/launch/claim-executor-template-arming.js +121 -0
  429. package/server/dist/external/launch/claim-executor-template-arming.js.map +1 -0
  430. package/server/dist/external/launch/claim-holder-gate.d.ts +9 -0
  431. package/server/dist/external/launch/claim-holder-gate.d.ts.map +1 -1
  432. package/server/dist/external/launch/claim-holder-gate.js +10 -2
  433. package/server/dist/external/launch/claim-holder-gate.js.map +1 -1
  434. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts +3 -0
  435. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts.map +1 -0
  436. package/server/dist/external/launch/claim-permission-perimeter-assert.js +24 -0
  437. package/server/dist/external/launch/claim-permission-perimeter-assert.js.map +1 -0
  438. package/server/dist/external/launch/legacy-fallback-branch.d.ts +14 -0
  439. package/server/dist/external/launch/legacy-fallback-branch.d.ts.map +1 -1
  440. package/server/dist/external/launch/legacy-fallback-branch.js +3 -1
  441. package/server/dist/external/launch/legacy-fallback-branch.js.map +1 -1
  442. package/server/dist/external/launch/master-run-branch.js +2 -2
  443. package/server/dist/external/launch/master-run-branch.js.map +1 -1
  444. package/server/dist/external/launch/mixed-intents-guard.d.ts +10 -0
  445. package/server/dist/external/launch/mixed-intents-guard.d.ts.map +1 -0
  446. package/server/dist/external/launch/mixed-intents-guard.js +49 -0
  447. package/server/dist/external/launch/mixed-intents-guard.js.map +1 -0
  448. package/server/dist/external/launch/parse-body.d.ts +29 -0
  449. package/server/dist/external/launch/parse-body.d.ts.map +1 -1
  450. package/server/dist/external/launch/parse-body.js +66 -0
  451. package/server/dist/external/launch/parse-body.js.map +1 -1
  452. package/server/dist/external/launch/routes.d.ts +3 -0
  453. package/server/dist/external/launch/routes.d.ts.map +1 -1
  454. package/server/dist/external/launch/routes.js +76 -109
  455. package/server/dist/external/launch/routes.js.map +1 -1
  456. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts +20 -0
  457. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts.map +1 -0
  458. package/server/dist/external/launch/runtime-chokepoint-codextender.js +51 -0
  459. package/server/dist/external/launch/runtime-chokepoint-codextender.js.map +1 -0
  460. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts +33 -0
  461. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts.map +1 -0
  462. package/server/dist/external/launch/runtime-chokepoint-errors.js +63 -0
  463. package/server/dist/external/launch/runtime-chokepoint-errors.js.map +1 -0
  464. package/server/dist/external/launch/runtime-chokepoint.d.ts +120 -0
  465. package/server/dist/external/launch/runtime-chokepoint.d.ts.map +1 -0
  466. package/server/dist/external/launch/runtime-chokepoint.js +201 -0
  467. package/server/dist/external/launch/runtime-chokepoint.js.map +1 -0
  468. package/server/dist/external/mission-context/facts.js +2 -2
  469. package/server/dist/external/mission-context/facts.js.map +1 -1
  470. package/server/dist/external/mission-context/routes.d.ts +33 -27
  471. package/server/dist/external/mission-context/routes.d.ts.map +1 -1
  472. package/server/dist/external/mission-context/routes.js +30 -27
  473. package/server/dist/external/mission-context/routes.js.map +1 -1
  474. package/server/dist/external/mission-context/test-harness.d.ts +6 -0
  475. package/server/dist/external/mission-context/test-harness.d.ts.map +1 -1
  476. package/server/dist/external/mission-context/test-harness.js +6 -1
  477. package/server/dist/external/mission-context/test-harness.js.map +1 -1
  478. package/server/dist/external/mission-context/wire.d.ts.map +1 -1
  479. package/server/dist/external/mission-context/wire.js +24 -2
  480. package/server/dist/external/mission-context/wire.js.map +1 -1
  481. package/server/dist/external/org/audit-log.d.ts +19 -0
  482. package/server/dist/external/org/audit-log.d.ts.map +1 -1
  483. package/server/dist/external/org/audit-log.js +33 -18
  484. package/server/dist/external/org/audit-log.js.map +1 -1
  485. package/server/dist/external/org/beat-effect-audit-read.d.ts +15 -0
  486. package/server/dist/external/org/beat-effect-audit-read.d.ts.map +1 -0
  487. package/server/dist/external/org/beat-effect-audit-read.js +73 -0
  488. package/server/dist/external/org/beat-effect-audit-read.js.map +1 -0
  489. package/server/dist/external/org/beat-register-health.d.ts +57 -0
  490. package/server/dist/external/org/beat-register-health.d.ts.map +1 -0
  491. package/server/dist/external/org/beat-register-health.js +125 -0
  492. package/server/dist/external/org/beat-register-health.js.map +1 -0
  493. package/server/dist/external/org/beat-register-release-core.d.ts.map +1 -1
  494. package/server/dist/external/org/beat-register-release-core.js +4 -1
  495. package/server/dist/external/org/beat-register-release-core.js.map +1 -1
  496. package/server/dist/external/org/beat-register-release-request.d.ts +20 -0
  497. package/server/dist/external/org/beat-register-release-request.d.ts.map +1 -0
  498. package/server/dist/external/org/beat-register-release-request.js +92 -0
  499. package/server/dist/external/org/beat-register-release-request.js.map +1 -0
  500. package/server/dist/external/org/beat-register-release.d.ts +3 -1
  501. package/server/dist/external/org/beat-register-release.d.ts.map +1 -1
  502. package/server/dist/external/org/beat-register-release.js +15 -57
  503. package/server/dist/external/org/beat-register-release.js.map +1 -1
  504. package/server/dist/external/org/beat-register.d.ts +18 -20
  505. package/server/dist/external/org/beat-register.d.ts.map +1 -1
  506. package/server/dist/external/org/beat-register.js +30 -56
  507. package/server/dist/external/org/beat-register.js.map +1 -1
  508. package/server/dist/external/org/beat-steps-read.d.ts +17 -0
  509. package/server/dist/external/org/beat-steps-read.d.ts.map +1 -0
  510. package/server/dist/external/org/beat-steps-read.js +89 -0
  511. package/server/dist/external/org/beat-steps-read.js.map +1 -0
  512. package/server/dist/external/org/charter-authority-read.d.ts +39 -0
  513. package/server/dist/external/org/charter-authority-read.d.ts.map +1 -0
  514. package/server/dist/external/org/charter-authority-read.js +142 -0
  515. package/server/dist/external/org/charter-authority-read.js.map +1 -0
  516. package/server/dist/external/org/commit-validate.d.ts +18 -0
  517. package/server/dist/external/org/commit-validate.d.ts.map +1 -0
  518. package/server/dist/external/org/commit-validate.js +59 -0
  519. package/server/dist/external/org/commit-validate.js.map +1 -0
  520. package/server/dist/external/org/commit-writes.d.ts +68 -0
  521. package/server/dist/external/org/commit-writes.d.ts.map +1 -0
  522. package/server/dist/external/org/commit-writes.js +110 -0
  523. package/server/dist/external/org/commit-writes.js.map +1 -0
  524. package/server/dist/external/org/commit.d.ts +73 -0
  525. package/server/dist/external/org/commit.d.ts.map +1 -0
  526. package/server/dist/external/org/commit.js +181 -0
  527. package/server/dist/external/org/commit.js.map +1 -0
  528. package/server/dist/external/org/commit.test-fixtures.d.ts +38 -0
  529. package/server/dist/external/org/commit.test-fixtures.d.ts.map +1 -0
  530. package/server/dist/external/org/commit.test-fixtures.js +67 -0
  531. package/server/dist/external/org/commit.test-fixtures.js.map +1 -0
  532. package/server/dist/external/org/countersign-core.d.ts +19 -0
  533. package/server/dist/external/org/countersign-core.d.ts.map +1 -0
  534. package/server/dist/external/org/countersign-core.js +122 -0
  535. package/server/dist/external/org/countersign-core.js.map +1 -0
  536. package/server/dist/external/org/countersign-request.d.ts +14 -0
  537. package/server/dist/external/org/countersign-request.d.ts.map +1 -0
  538. package/server/dist/external/org/countersign-request.js +78 -0
  539. package/server/dist/external/org/countersign-request.js.map +1 -0
  540. package/server/dist/external/org/countersign.d.ts +6 -5
  541. package/server/dist/external/org/countersign.d.ts.map +1 -1
  542. package/server/dist/external/org/countersign.js +12 -141
  543. package/server/dist/external/org/countersign.js.map +1 -1
  544. package/server/dist/external/org/daemon-config-read.d.ts +31 -0
  545. package/server/dist/external/org/daemon-config-read.d.ts.map +1 -0
  546. package/server/dist/external/org/daemon-config-read.js +50 -0
  547. package/server/dist/external/org/daemon-config-read.js.map +1 -0
  548. package/server/dist/external/org/decisions-lock.d.ts +6 -4
  549. package/server/dist/external/org/decisions-lock.d.ts.map +1 -1
  550. package/server/dist/external/org/decisions-lock.js +9 -8
  551. package/server/dist/external/org/decisions-lock.js.map +1 -1
  552. package/server/dist/external/org/domains.d.ts +35 -0
  553. package/server/dist/external/org/domains.d.ts.map +1 -0
  554. package/server/dist/external/org/domains.js +29 -0
  555. package/server/dist/external/org/domains.js.map +1 -0
  556. package/server/dist/external/org/existing-charters-read.d.ts +5 -0
  557. package/server/dist/external/org/existing-charters-read.d.ts.map +1 -0
  558. package/server/dist/external/org/existing-charters-read.js +31 -0
  559. package/server/dist/external/org/existing-charters-read.js.map +1 -0
  560. package/server/dist/external/org/leadwright-proposal-merge.d.ts +54 -0
  561. package/server/dist/external/org/leadwright-proposal-merge.d.ts.map +1 -0
  562. package/server/dist/external/org/leadwright-proposal-merge.js +47 -0
  563. package/server/dist/external/org/leadwright-proposal-merge.js.map +1 -0
  564. package/server/dist/external/org/mount.d.ts +10 -2
  565. package/server/dist/external/org/mount.d.ts.map +1 -1
  566. package/server/dist/external/org/mount.js +6 -1
  567. package/server/dist/external/org/mount.js.map +1 -1
  568. package/server/dist/external/org/org-chart-full-read.d.ts +19 -0
  569. package/server/dist/external/org/org-chart-full-read.d.ts.map +1 -0
  570. package/server/dist/external/org/org-chart-full-read.js +58 -0
  571. package/server/dist/external/org/org-chart-full-read.js.map +1 -0
  572. package/server/dist/external/org/org-file-lock.d.ts +41 -0
  573. package/server/dist/external/org/org-file-lock.d.ts.map +1 -0
  574. package/server/dist/external/org/org-file-lock.js +90 -0
  575. package/server/dist/external/org/org-file-lock.js.map +1 -0
  576. package/server/dist/external/org/routes.d.ts +10 -0
  577. package/server/dist/external/org/routes.d.ts.map +1 -1
  578. package/server/dist/external/org/routes.js +22 -1
  579. package/server/dist/external/org/routes.js.map +1 -1
  580. package/server/dist/external/org/verdict.d.ts +57 -0
  581. package/server/dist/external/org/verdict.d.ts.map +1 -0
  582. package/server/dist/external/org/verdict.js +74 -0
  583. package/server/dist/external/org/verdict.js.map +1 -0
  584. package/server/dist/external/preview/routes.d.ts +3 -1
  585. package/server/dist/external/preview/routes.d.ts.map +1 -1
  586. package/server/dist/external/preview/routes.js +8 -1
  587. package/server/dist/external/preview/routes.js.map +1 -1
  588. package/server/dist/external/routes.d.ts +3 -101
  589. package/server/dist/external/routes.d.ts.map +1 -1
  590. package/server/dist/external/routes.js +21 -6
  591. package/server/dist/external/routes.js.map +1 -1
  592. package/server/dist/external/session-file/probe-route.d.ts +4 -0
  593. package/server/dist/external/session-file/probe-route.d.ts.map +1 -0
  594. package/server/dist/external/session-file/probe-route.js +66 -0
  595. package/server/dist/external/session-file/probe-route.js.map +1 -0
  596. package/server/dist/external/session-file/routes.d.ts +12 -0
  597. package/server/dist/external/session-file/routes.d.ts.map +1 -0
  598. package/server/dist/external/session-file/routes.js +90 -0
  599. package/server/dist/external/session-file/routes.js.map +1 -0
  600. package/server/dist/external/session-file/session-file.fixture.d.ts +45 -0
  601. package/server/dist/external/session-file/session-file.fixture.d.ts.map +1 -0
  602. package/server/dist/external/session-file/session-file.fixture.js +41 -0
  603. package/server/dist/external/session-file/session-file.fixture.js.map +1 -0
  604. package/server/dist/external/session-info/routes.d.ts +15 -0
  605. package/server/dist/external/session-info/routes.d.ts.map +1 -0
  606. package/server/dist/external/session-info/routes.js +57 -0
  607. package/server/dist/external/session-info/routes.js.map +1 -0
  608. package/server/dist/external/tasks/_phase-helpers.js +2 -2
  609. package/server/dist/external/tasks/_phase-helpers.js.map +1 -1
  610. package/server/dist/external/tasks/create.d.ts.map +1 -1
  611. package/server/dist/external/tasks/create.js +10 -2
  612. package/server/dist/external/tasks/create.js.map +1 -1
  613. package/server/dist/external/tasks/fork.d.ts +29 -0
  614. package/server/dist/external/tasks/fork.d.ts.map +1 -0
  615. package/server/dist/external/tasks/fork.js +166 -0
  616. package/server/dist/external/tasks/fork.js.map +1 -0
  617. package/server/dist/external/tasks/lifecycle.d.ts.map +1 -1
  618. package/server/dist/external/tasks/lifecycle.js +10 -57
  619. package/server/dist/external/tasks/lifecycle.js.map +1 -1
  620. package/server/dist/external/tasks/patch.d.ts.map +1 -1
  621. package/server/dist/external/tasks/patch.js +17 -0
  622. package/server/dist/external/tasks/patch.js.map +1 -1
  623. package/server/dist/external/tasks/routes.d.ts +2 -0
  624. package/server/dist/external/tasks/routes.d.ts.map +1 -1
  625. package/server/dist/external/tasks/routes.js +7 -0
  626. package/server/dist/external/tasks/routes.js.map +1 -1
  627. package/server/dist/external/transcript/routes.d.ts.map +1 -1
  628. package/server/dist/external/transcript/routes.js +25 -3
  629. package/server/dist/external/transcript/routes.js.map +1 -1
  630. package/server/dist/external-routes-wiring.d.ts +28 -0
  631. package/server/dist/external-routes-wiring.d.ts.map +1 -0
  632. package/server/dist/external-routes-wiring.js +70 -0
  633. package/server/dist/external-routes-wiring.js.map +1 -0
  634. package/server/dist/index.d.ts.map +1 -1
  635. package/server/dist/index.js +117 -52
  636. package/server/dist/index.js.map +1 -1
  637. package/server/dist/lib/resolveHonoHost.d.ts.map +1 -1
  638. package/server/dist/lib/resolveHonoHost.js +16 -1
  639. package/server/dist/lib/resolveHonoHost.js.map +1 -1
  640. package/server/dist/routes/_triage-api-harness.d.ts +1 -1
  641. package/server/dist/routes/_triage-api-harness.d.ts.map +1 -1
  642. package/server/dist/routes/_triage-api-harness.js.map +1 -1
  643. package/server/dist/routes/adopt-scan.d.ts +4 -0
  644. package/server/dist/routes/adopt-scan.d.ts.map +1 -0
  645. package/server/dist/routes/adopt-scan.js +27 -0
  646. package/server/dist/routes/adopt-scan.js.map +1 -0
  647. package/server/dist/routes/campaigns-readiness.d.ts +10 -0
  648. package/server/dist/routes/campaigns-readiness.d.ts.map +1 -0
  649. package/server/dist/routes/campaigns-readiness.js +58 -0
  650. package/server/dist/routes/campaigns-readiness.js.map +1 -0
  651. package/server/dist/routes/campaigns.d.ts.map +1 -1
  652. package/server/dist/routes/campaigns.js +3 -0
  653. package/server/dist/routes/campaigns.js.map +1 -1
  654. package/server/dist/routes/codex-models.d.ts +15 -0
  655. package/server/dist/routes/codex-models.d.ts.map +1 -0
  656. package/server/dist/routes/codex-models.js +77 -0
  657. package/server/dist/routes/codex-models.js.map +1 -0
  658. package/server/dist/routes/codextender-models.d.ts +16 -0
  659. package/server/dist/routes/codextender-models.d.ts.map +1 -0
  660. package/server/dist/routes/codextender-models.js +81 -0
  661. package/server/dist/routes/codextender-models.js.map +1 -0
  662. package/server/dist/routes/diagnostics.d.ts +15 -0
  663. package/server/dist/routes/diagnostics.d.ts.map +1 -1
  664. package/server/dist/routes/diagnostics.js +1 -0
  665. package/server/dist/routes/diagnostics.js.map +1 -1
  666. package/server/dist/routes/org-chart-lead-guard.d.ts +10 -0
  667. package/server/dist/routes/org-chart-lead-guard.d.ts.map +1 -0
  668. package/server/dist/routes/org-chart-lead-guard.js +49 -0
  669. package/server/dist/routes/org-chart-lead-guard.js.map +1 -0
  670. package/server/dist/routes/org-inventory-composite.d.ts +20 -0
  671. package/server/dist/routes/org-inventory-composite.d.ts.map +1 -0
  672. package/server/dist/routes/org-inventory-composite.js +100 -0
  673. package/server/dist/routes/org-inventory-composite.js.map +1 -0
  674. package/server/dist/routes/org-lead-setup-wizard.d.ts +10 -0
  675. package/server/dist/routes/org-lead-setup-wizard.d.ts.map +1 -0
  676. package/server/dist/routes/org-lead-setup-wizard.js +51 -0
  677. package/server/dist/routes/org-lead-setup-wizard.js.map +1 -0
  678. package/server/dist/routes/org-leads-composite.d.ts.map +1 -1
  679. package/server/dist/routes/org-leads-composite.js +35 -9
  680. package/server/dist/routes/org-leads-composite.js.map +1 -1
  681. package/server/dist/routes/org-writes.d.ts +14 -0
  682. package/server/dist/routes/org-writes.d.ts.map +1 -0
  683. package/server/dist/routes/org-writes.js +61 -0
  684. package/server/dist/routes/org-writes.js.map +1 -0
  685. package/server/dist/routes/org.d.ts +11 -2
  686. package/server/dist/routes/org.d.ts.map +1 -1
  687. package/server/dist/routes/org.js +50 -47
  688. package/server/dist/routes/org.js.map +1 -1
  689. package/server/dist/routes/profiles.d.ts +7 -0
  690. package/server/dist/routes/profiles.d.ts.map +1 -1
  691. package/server/dist/routes/profiles.js +13 -0
  692. package/server/dist/routes/profiles.js.map +1 -1
  693. package/server/dist/routes/projects.d.ts.map +1 -1
  694. package/server/dist/routes/projects.js +58 -16
  695. package/server/dist/routes/projects.js.map +1 -1
  696. package/server/dist/routes/settings.d.ts.map +1 -1
  697. package/server/dist/routes/settings.js +23 -2
  698. package/server/dist/routes/settings.js.map +1 -1
  699. package/server/dist/routes/stack-profiles.d.ts +10 -0
  700. package/server/dist/routes/stack-profiles.d.ts.map +1 -0
  701. package/server/dist/routes/stack-profiles.js +65 -0
  702. package/server/dist/routes/stack-profiles.js.map +1 -0
  703. package/server/dist/routes/triage.d.ts +17 -0
  704. package/server/dist/routes/triage.d.ts.map +1 -1
  705. package/server/dist/routes/triage.js +29 -0
  706. package/server/dist/routes/triage.js.map +1 -1
  707. package/server/dist/terminal/data-target.d.ts +17 -0
  708. package/server/dist/terminal/data-target.d.ts.map +1 -0
  709. package/server/dist/terminal/data-target.js +56 -0
  710. package/server/dist/terminal/data-target.js.map +1 -0
  711. package/server/dist/terminal/image-paste.d.ts +2 -0
  712. package/server/dist/terminal/image-paste.d.ts.map +1 -1
  713. package/server/dist/terminal/image-paste.js +11 -12
  714. package/server/dist/terminal/image-paste.js.map +1 -1
  715. package/server/dist/terminal/pty-manager.d.ts +14 -0
  716. package/server/dist/terminal/pty-manager.d.ts.map +1 -1
  717. package/server/dist/terminal/pty-manager.js +11 -0
  718. package/server/dist/terminal/pty-manager.js.map +1 -1
  719. package/server/dist/terminal/routes.d.ts +5 -0
  720. package/server/dist/terminal/routes.d.ts.map +1 -1
  721. package/server/dist/terminal/routes.js +20 -13
  722. package/server/dist/terminal/routes.js.map +1 -1
  723. package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -1
  724. package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -1
  725. package/server/dist/terminal/ws-upgrade-handler.fixtures.js +1 -0
  726. package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -1
  727. package/server/dist/terminal/ws-upgrade-handler.js +14 -5
  728. package/server/dist/terminal/ws-upgrade-handler.js.map +1 -1
  729. package/server/dist/test/event-test-counts-fixtures.d.ts +40 -0
  730. package/server/dist/test/event-test-counts-fixtures.d.ts.map +1 -0
  731. package/server/dist/test/event-test-counts-fixtures.js +56 -0
  732. package/server/dist/test/event-test-counts-fixtures.js.map +1 -0
  733. package/server/dist/types/leadwright-beat-step.d.ts +19 -0
  734. package/server/dist/types/leadwright-beat-step.d.ts.map +1 -0
  735. package/server/dist/types/leadwright-beat-step.js +56 -0
  736. package/server/dist/types/leadwright-beat-step.js.map +1 -0
  737. package/server/dist/types/leadwright-preflight.d.ts +90 -0
  738. package/server/dist/types/leadwright-preflight.d.ts.map +1 -0
  739. package/server/dist/types/leadwright-preflight.js +65 -0
  740. package/server/dist/types/leadwright-preflight.js.map +1 -0
  741. package/server/dist/types/leadwright-schema-drift.d.ts +28 -0
  742. package/server/dist/types/leadwright-schema-drift.d.ts.map +1 -0
  743. package/server/dist/types/leadwright-schema-drift.js +89 -0
  744. package/server/dist/types/leadwright-schema-drift.js.map +1 -0
  745. package/server/dist/types/org-inventory.d.ts +53 -0
  746. package/server/dist/types/org-inventory.d.ts.map +1 -0
  747. package/server/dist/types/org-inventory.js +11 -0
  748. package/server/dist/types/org-inventory.js.map +1 -0
  749. package/server/dist/types/org.d.ts +57 -6
  750. package/server/dist/types/org.d.ts.map +1 -1
  751. package/server/dist/types/project.d.ts +9 -0
  752. package/server/dist/types/project.d.ts.map +1 -1
  753. package/server/dist/types/run-config-retry.d.ts +29 -0
  754. package/server/dist/types/run-config-retry.d.ts.map +1 -0
  755. package/server/dist/types/run-config-retry.js +47 -0
  756. package/server/dist/types/run-config-retry.js.map +1 -0
  757. package/server/dist/types/run-config-v2.d.ts +29 -41
  758. package/server/dist/types/run-config-v2.d.ts.map +1 -1
  759. package/server/dist/types/run-config-v2.js +16 -50
  760. package/server/dist/types/run-config-v2.js.map +1 -1
  761. package/server/dist/types/settings.d.ts +33 -0
  762. package/server/dist/types/settings.d.ts.map +1 -1
  763. package/server/dist/types/stack-profile-contract.d.ts +33 -0
  764. package/server/dist/types/stack-profile-contract.d.ts.map +1 -0
  765. package/server/dist/types/stack-profile-contract.js +11 -0
  766. package/server/dist/types/stack-profile-contract.js.map +1 -0
  767. package/server/dist/vendor/leadwright/beat-step.schema.json +83 -0
  768. package/server/dist/vendor/leadwright/claim-record-lock-contract.json +15 -0
  769. package/server/dist/vendor/leadwright/org-chart.schema.json +195 -0
  770. package/server/dist/vendor/leadwright/preflight-input.schema.json +318 -0
  771. package/server/dist/vendor/leadwright/preflight-result.schema.json +56 -0
  772. package/server/package.json +3 -3
  773. package/client/dist/assets/arc-DQmjbsFU.js +0 -1
  774. package/client/dist/assets/architectureDiagram-ZJ3FMSHR-DAvCsPCW.js +0 -36
  775. package/client/dist/assets/blockDiagram-677ZJIJ3-DC-dlyYI.js +0 -132
  776. package/client/dist/assets/c4Diagram-LMCZKHZV-DSlmXfhE.js +0 -10
  777. package/client/dist/assets/channel-BfmIcrp7.js +0 -1
  778. package/client/dist/assets/chunk-RYQCIY6F-BKhdp_8v.js +0 -1
  779. package/client/dist/assets/chunk-VR4S4FIN-OgFi2_iB.js +0 -1
  780. package/client/dist/assets/classDiagram-OUVF2IWQ-HfUQZ6Uc.js +0 -1
  781. package/client/dist/assets/classDiagram-v2-EOCWNBFH-HfUQZ6Uc.js +0 -1
  782. package/client/dist/assets/dagre-VKFMJZFB-D7djx1_Y.js +0 -4
  783. package/client/dist/assets/diagram-OA4YK3LP-CwQPbOn0.js +0 -30
  784. package/client/dist/assets/diagram-WEI45ONY-abtYnYqH.js +0 -41
  785. package/client/dist/assets/erDiagram-Q63AITRT-vtbCprgH.js +0 -85
  786. package/client/dist/assets/flowDiagram-23GEKE2U-CVCgcyDF.js +0 -156
  787. package/client/dist/assets/graph-C9eacEi8.js +0 -1
  788. package/client/dist/assets/index-CKU9dY18.css +0 -1
  789. package/client/dist/assets/index-DOMl6atu.js +0 -847
  790. package/client/dist/assets/infoDiagram-FWYZ7A6U-Dr4mN24J.js +0 -2
  791. package/client/dist/assets/katex-DkKDou_j.js +0 -257
  792. package/client/dist/assets/layout-DEXfKzaS.js +0 -1
  793. package/client/dist/assets/map-Czzmt4hB.js +0 -1
  794. package/client/dist/assets/mermaid.core-BcLNGbxW.js +0 -314
  795. package/client/dist/assets/stateDiagram-2N3HPSRC-CFwCOonY.js +0 -1
  796. package/client/dist/assets/stateDiagram-v2-6OUMAXLB-srkiu3Ib.js +0 -1
  797. package/client/dist/assets/swimlanes-5IMT3BWC-DFa2tzxu.js +0 -2
  798. package/client/dist/assets/swimlanesDiagram-G3AALYLV-Dq-0K9Zm.js +0 -8
  799. package/client/dist/assets/xychartDiagram-FW5EYKEG-D9PFTCfm.js +0 -7
@@ -0,0 +1,179 @@
1
+ /*
2
+ * codextender-proxy-probe — HTTP probes of the local Codextender (LiteLLM)
3
+ * proxy (Codextender integration spec Part B.3/B.5, re-verified live
4
+ * 2026-09-23).
5
+ *
6
+ * Two distinct endpoints, deliberately not collapsed into one probe:
7
+ * - `probeCodextenderLiveness` -> `GET /health/liveliness`, no auth
8
+ * header. This is the AC8 pre-flight check (`runtime-chokepoint.ts`'s
9
+ * `checkCodextenderProxyAvailable` default, and its fork-route
10
+ * equivalent in `external/tasks/fork.ts`) — a launch/fork only needs to
11
+ * know the proxy is UP, not what it serves.
12
+ * - `probeCodextenderModels` -> `GET /v1/models`, WITH
13
+ * `Authorization: Bearer <token>` where `<token>` comes from
14
+ * `process.env.CODEXTENDER_AUTH_TOKEN` (`resolveCodextenderAuthToken()`
15
+ * in `launcher-codextender.ts` — no built-in default, PR-review BLOCK,
16
+ * iterate-2026-09-23) — an unconfigured token degrades this probe to
17
+ * `{ok: false}` the same as an unreachable proxy, rather than sending a
18
+ * baked-in value. Confirmed live against a real local LiteLLM proxy: an
19
+ * unauthenticated `/v1/models` request returns `500` (a LiteLLM quirk,
20
+ * not a clean 401), so omitting the header makes every probe look like
21
+ * a hard failure regardless. Backs the cached `/api/codextender-models`
22
+ * route (`routes/codextender-models.ts`), which wraps this probe in a
23
+ * TTL cache mirroring `codex-models.ts`'s shape.
24
+ *
25
+ * Deliberately no CLI shell-out (unlike `codex-models-probe.ts`) — the
26
+ * proxy already speaks these two endpoints natively (LiteLLM's own
27
+ * built-in routes), so plain HTTP GETs are both the cheapest check and the
28
+ * datalist's real source.
29
+ */
30
+ import { DEFAULT_CODEXTENDER_MODEL_ALIAS, resolveCodextenderAuthToken, } from "./launcher-codextender.js";
31
+ /**
32
+ * `codextenderPort` is persisted/read as arbitrary JSON (PUT /api/settings
33
+ * accepts an unvalidated body; a hand-edited settings.json is untyped on
34
+ * disk too) before ever reaching here, so `port: number`'s compile-time
35
+ * type is not a runtime guarantee. Both probes below MUST reject anything
36
+ * outside a real TCP port before interpolating it into a URL — a value
37
+ * like `"4000@attacker.example"` would otherwise redirect the request via
38
+ * URL userinfo-authority confusion (PR-review BLOCK, iterate-2026-09-23
39
+ * fifth round). This is the enforcement point regardless of how an invalid
40
+ * value got in; `routes/settings.ts`'s PUT-time rejection (same finding)
41
+ * is defense-in-depth on top of it, not a substitute for it.
42
+ */
43
+ export function isValidCodextenderPort(value) {
44
+ return (typeof value === "number" &&
45
+ Number.isInteger(value) &&
46
+ value >= 1 &&
47
+ value <= 65535);
48
+ }
49
+ /**
50
+ * PR-review preflight BLOCK (round 14, 2026-09-26) — `max_input_tokens`
51
+ * lives under each entry's `model_info` object (LiteLLM's own extension to
52
+ * the OpenAI-shaped `/v1/models` list; codextender's operator finding
53
+ * describes its config as declaring the value "in its LiteLLM
54
+ * `model_info`"), NOT as a flat, top-level field on the entry. A flat
55
+ * `entry.max_input_tokens` is checked too, purely as a forward-compatible
56
+ * fallback in case a future LiteLLM/codextender version flattens it — the
57
+ * nested form is the one actually confirmed, so it takes precedence.
58
+ */
59
+ function extractMaxInputTokens(entry) {
60
+ const modelInfo = entry.model_info;
61
+ const nested = modelInfo && typeof modelInfo === "object"
62
+ ? modelInfo.max_input_tokens
63
+ : undefined;
64
+ const raw = nested ?? entry.max_input_tokens;
65
+ return typeof raw === "number" && Number.isInteger(raw) && raw > 0 ? raw : undefined;
66
+ }
67
+ /**
68
+ * `GET http://127.0.0.1:<port>/v1/models` with the configured Codextender
69
+ * master-key bearer token (`deps.authToken` or `resolveCodextenderAuthToken()`).
70
+ * Never throws — an unconfigured token, any network error, non-2xx status,
71
+ * timeout, or malformed body all resolve `{ok: false, models: []}` rather
72
+ * than rejecting, so callers never need a try/catch.
73
+ *
74
+ * LiteLLM's `/v1/models` response is OpenAI-shaped (`{"data": [{"id":
75
+ * "sol"}, ...]}`) — it carries no separate display name, so `display_name`
76
+ * is set to the same slug (matches `codex-models-probe.ts`'s
77
+ * `CodexModelCatalogEntry` shape for the client's shared consumer).
78
+ */
79
+ export async function probeCodextenderModels(port, deps = {}) {
80
+ if (!isValidCodextenderPort(port))
81
+ return { ok: false, models: [] };
82
+ const authToken = deps.authToken ?? resolveCodextenderAuthToken();
83
+ if (!authToken)
84
+ return { ok: false, models: [] };
85
+ const fetchFn = deps.fetchFn ?? fetch;
86
+ const timeoutMs = deps.timeoutMs ?? 1500;
87
+ const controller = new AbortController();
88
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
89
+ try {
90
+ const res = await fetchFn(`http://127.0.0.1:${port}/v1/models`, {
91
+ signal: controller.signal,
92
+ headers: { Authorization: `Bearer ${authToken}` },
93
+ });
94
+ if (!res.ok)
95
+ return { ok: false, models: [] };
96
+ const body = await res.json();
97
+ const rawModels = body?.data;
98
+ if (!Array.isArray(rawModels))
99
+ return { ok: false, models: [] };
100
+ const models = [];
101
+ for (const entry of rawModels) {
102
+ if (!entry || typeof entry !== "object")
103
+ continue;
104
+ const id = entry.id;
105
+ if (typeof id !== "string" || id.trim() === "")
106
+ continue;
107
+ const maxInputTokens = extractMaxInputTokens(entry);
108
+ models.push({
109
+ slug: id,
110
+ display_name: id,
111
+ ...(maxInputTokens !== undefined ? { max_input_tokens: maxInputTokens } : {}),
112
+ });
113
+ }
114
+ return { ok: true, models };
115
+ }
116
+ catch {
117
+ return { ok: false, models: [] };
118
+ }
119
+ finally {
120
+ clearTimeout(timer);
121
+ }
122
+ }
123
+ /**
124
+ * Resolves the REAL context window for the Codextender alias a task is
125
+ * about to launch with, straight from the proxy's own `/v1/models` response
126
+ * (operator finding, 2026-09-26, live Codextender iterate test) — never a
127
+ * number hardcoded here a second time. Claude Code assumes a 200K context
128
+ * window for any model id it doesn't recognize (the Codex alias is one) and
129
+ * proactively over-compacts against that wrong, much-too-small ceiling; the
130
+ * fix is `launcher-codextender.ts` setting `CLAUDE_CODE_MAX_CONTEXT_TOKENS`
131
+ * from THIS value, so a change to codextender's own declared window (its
132
+ * `config.py` `model_info.max_input_tokens`) can never drift out of sync
133
+ * with what webui tells Claude Code — both repos read the same live number.
134
+ *
135
+ * Never throws, same contract as `probeCodextenderModels` — resolves
136
+ * `undefined` (not a guessed fallback) when the probe fails, the alias
137
+ * isn't in the response, or the response carries no usable
138
+ * `max_input_tokens` for it (an older/unpatched proxy). The caller's
139
+ * contract for `undefined` is "leave `CLAUDE_CODE_MAX_CONTEXT_TOKENS`
140
+ * unset", which is the conservative, safe default — Claude Code's own 200K
141
+ * fallback — rather than risking an inflated ceiling that starves
142
+ * compaction entirely.
143
+ */
144
+ export async function resolveCodextenderMaxContextTokens(port, model, deps = {}) {
145
+ const alias = model?.trim() || DEFAULT_CODEXTENDER_MODEL_ALIAS;
146
+ const result = await probeCodextenderModels(port, deps);
147
+ if (!result.ok)
148
+ return undefined;
149
+ const entry = result.models.find((m) => m.slug === alias);
150
+ return entry?.max_input_tokens;
151
+ }
152
+ /**
153
+ * `GET http://127.0.0.1:<port>/health/liveliness` — no auth header
154
+ * required (confirmed live against a real local LiteLLM proxy). This is
155
+ * the AC8 pre-flight probe: it only needs to know the proxy process is up
156
+ * and answering, not what it serves. Never throws — same
157
+ * never-reject contract as `probeCodextenderModels`.
158
+ */
159
+ export async function probeCodextenderLiveness(port, deps = {}) {
160
+ if (!isValidCodextenderPort(port))
161
+ return false;
162
+ const fetchFn = deps.fetchFn ?? fetch;
163
+ const timeoutMs = deps.timeoutMs ?? 1500;
164
+ const controller = new AbortController();
165
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
166
+ try {
167
+ const res = await fetchFn(`http://127.0.0.1:${port}/health/liveliness`, {
168
+ signal: controller.signal,
169
+ });
170
+ return res.ok;
171
+ }
172
+ catch {
173
+ return false;
174
+ }
175
+ finally {
176
+ clearTimeout(timer);
177
+ }
178
+ }
179
+ //# sourceMappingURL=codextender-proxy-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codextender-proxy-probe.js","sourceRoot":"","sources":["../../src/core/codextender-proxy-probe.ts"],"names":[],"mappings":"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"}
@@ -44,12 +44,27 @@ export declare const PROFILE_SCHEMA_VERSION = 1;
44
44
  * (it consumes `Object.values(requirements)` then inner `.id`/`.tests`), so v3
45
45
  * is a pure data-shape acknowledgement — no reader-logic change.
46
46
  *
47
+ * **v4** (shipwright monorepo campaign req3-04c-ac-identity-wave2, P3.2:
48
+ * "AC-scoped `@covers` tag grammar + test-traceability manifest v4") —
49
+ * additive AC-scoped test binding. A test link may carry an optional
50
+ * `ac_id` (e.g. `covers("FR-01.11/AC07")` → `"AC07"`), and a requirement
51
+ * node may carry an optional `acs` breakdown mirroring its own
52
+ * `tests`/`coverage` shape, scoped per AC. Both are OMITTED ENTIRELY when
53
+ * the requirement has no AC-scoped tag anywhere, so a repo with none of
54
+ * these tags yet emits a byte-identical v3-shaped body (only the
55
+ * `schema_version` const moves). This reader does not consume `ac_id` or
56
+ * `acs` — it still only reads `.id`/`.tests[<layer>][*].id/.layer/.resolved_from`,
57
+ * every one of which is unchanged and required in both v3 and v4 — so a
58
+ * v4 manifest with NO AC tags at all (a "v3-shaped bare FR tag" body) and
59
+ * one WITH AC tags both invert identically; frozen fixture in
60
+ * `traceability.v4-fixture.test.ts` pins both shapes.
61
+ *
47
62
  * A manifest declaring a HIGHER version is warned once (via
48
63
  * `checkContractVersion`) and still read best-effort — the inner shape the
49
64
  * reader consumes has been stable across the bumps seen so far, so an
50
65
  * ahead-of-us manifest still yields a useful index.
51
66
  */
52
- export declare const TRACEABILITY_SCHEMA_VERSION = 3;
67
+ export declare const TRACEABILITY_SCHEMA_VERSION = 4;
53
68
  /**
54
69
  * Check a parsed artefact's declared version against the library's
55
70
  * known max. Logs one JSON warning per (artefact, path, version)
@@ -1 +1 @@
1
- {"version":3,"file":"contract-version.d.ts","sourceRoot":"","sources":["../../src/core/contract-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAc7C;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAmDV;AAED,gEAAgE;AAChE,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"contract-version.d.ts","sourceRoot":"","sources":["../../src/core/contract-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAc7C;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAmDV;AAED,gEAAgE;AAChE,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
@@ -44,12 +44,27 @@ export const PROFILE_SCHEMA_VERSION = 1;
44
44
  * (it consumes `Object.values(requirements)` then inner `.id`/`.tests`), so v3
45
45
  * is a pure data-shape acknowledgement — no reader-logic change.
46
46
  *
47
+ * **v4** (shipwright monorepo campaign req3-04c-ac-identity-wave2, P3.2:
48
+ * "AC-scoped `@covers` tag grammar + test-traceability manifest v4") —
49
+ * additive AC-scoped test binding. A test link may carry an optional
50
+ * `ac_id` (e.g. `covers("FR-01.11/AC07")` → `"AC07"`), and a requirement
51
+ * node may carry an optional `acs` breakdown mirroring its own
52
+ * `tests`/`coverage` shape, scoped per AC. Both are OMITTED ENTIRELY when
53
+ * the requirement has no AC-scoped tag anywhere, so a repo with none of
54
+ * these tags yet emits a byte-identical v3-shaped body (only the
55
+ * `schema_version` const moves). This reader does not consume `ac_id` or
56
+ * `acs` — it still only reads `.id`/`.tests[<layer>][*].id/.layer/.resolved_from`,
57
+ * every one of which is unchanged and required in both v3 and v4 — so a
58
+ * v4 manifest with NO AC tags at all (a "v3-shaped bare FR tag" body) and
59
+ * one WITH AC tags both invert identically; frozen fixture in
60
+ * `traceability.v4-fixture.test.ts` pins both shapes.
61
+ *
47
62
  * A manifest declaring a HIGHER version is warned once (via
48
63
  * `checkContractVersion`) and still read best-effort — the inner shape the
49
64
  * reader consumes has been stable across the bumps seen so far, so an
50
65
  * ahead-of-us manifest still yields a useful index.
51
66
  */
52
- export const TRACEABILITY_SCHEMA_VERSION = 3;
67
+ export const TRACEABILITY_SCHEMA_VERSION = 4;
53
68
  const warnedOnce = new Set();
54
69
  function warnKey(k) {
55
70
  return `${k.artefact}::${k.path}::${k.observedVersion}`;
@@ -1 +1 @@
1
- {"version":3,"file":"contract-version.js","sourceRoot":"","sources":["../../src/core/contract-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAQ7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC,SAAS,OAAO,CAAC,CAAc;IAC7B,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAMpC;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,iBAAiB,EAAE,GACzE,KAAK,CAAC;IAER,uEAAuE;IACvE,sEAAsE;IACtE,gCAAgC;IAChC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,gEAAgE;QAChE,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,4BAA4B;gBACnC,QAAQ;gBACR,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACxC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,QAAQ;gBACR,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,QAAQ;gBACR,IAAI,EACF,+DAA+D;oBAC/D,mEAAmE;aACtE,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"contract-version.js","sourceRoot":"","sources":["../../src/core/contract-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAQ7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC,SAAS,OAAO,CAAC,CAAc;IAC7B,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAMpC;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,iBAAiB,EAAE,GACzE,KAAK,CAAC;IAER,uEAAuE;IACvE,sEAAsE;IACtE,gCAAgC;IAChC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,gEAAgE;QAChE,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,4BAA4B;gBACnC,QAAQ;gBACR,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACxC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,QAAQ;gBACR,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,QAAQ;gBACR,IAAI,EACF,+DAA+D;oBAC/D,mEAAmE;aACtE,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Project-source command policy. Returns a refusal reason, or null when allowed. */
2
+ export declare function projectCommandRefusal(command: string): string | null;
3
+ /** User-source: any bare program, or an ABSOLUTE path - never a path relative to the repo. */
4
+ export declare function userCommandRefusal(command: string, projectPath?: string): string | null;
5
+ export declare function contained(root: string, target: string): boolean;
6
+ //# sourceMappingURL=custom-profile-command-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-profile-command-policy.d.ts","sourceRoot":"","sources":["../../src/core/custom-profile-command-policy.ts"],"names":[],"mappings":"AAsBA,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqCpE;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,MAAM,GAAG,IAAI,CAwBnF;AAeD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG/D"}
@@ -0,0 +1,110 @@
1
+ /*
2
+ * custom-profile-command-policy.ts — command policy for custom Preview profiles.
3
+ * Split out of custom-profile-loader.ts (300-line cap). A PROJECT-source command
4
+ * must be a bare allowlisted runner; a USER-source one may be any bare program or
5
+ * absolute path, never one pointing into the repo. Pure functions, no I/O beyond
6
+ * realpath of the program being checked.
7
+ */
8
+ import { realpathSync } from "node:fs";
9
+ import path from "node:path";
10
+ import { PreviewSessionManager } from "./preview-session-manager.js";
11
+ // `npx` is deliberately absent: it downloads and runs a package the repo names.
12
+ const RUNNERS = new Set(["npm", "pnpm", "yarn", "bun", "node", "vite", "next", "python", "python3", "uv", "deno"]);
13
+ const PACKAGE_MANAGERS = new Set(["npm", "pnpm", "yarn", "bun"]);
14
+ const SCRIPT_VERBS = new Set(["run", "run-script", "dev", "start", "serve", "preview"]);
15
+ // Interpreters take code from flags (-e, --eval=, -cprint, -Ic, --import data:...),
16
+ // subcommands (deno eval, -m) and URLs. For these the only accepted shape is
17
+ // "runner + plain file argument(s)": any dash-led argument, `eval`, or URL is refused.
18
+ const INTERPRETERS = new Set(["node", "python", "python3", "deno", "uv"]);
19
+ /** Project-source command policy. Returns a refusal reason, or null when allowed. */
20
+ export function projectCommandRefusal(command) {
21
+ let argv;
22
+ try {
23
+ argv = PreviewSessionManager.tokenizeCommand(command);
24
+ }
25
+ catch (err) {
26
+ return err instanceof Error ? err.message : "unparseable command";
27
+ }
28
+ const exe = argv[0] ?? "";
29
+ if (/[\\/:]/.test(exe))
30
+ return "a project profile may not run a path or a program inside the repo";
31
+ const name = exe.toLowerCase().replace(/\.(cmd|exe|bat)$/, "");
32
+ if (!RUNNERS.has(name))
33
+ return `“${exe}” is not an allowed runner for a project profile`;
34
+ const args = argv.slice(1);
35
+ const argRefusal = runnerArgRefusal(args);
36
+ if (argRefusal)
37
+ return argRefusal;
38
+ if (PACKAGE_MANAGERS.has(name)) {
39
+ // Run a script the repo's own package.json declares - the same trust as `npm run dev`.
40
+ // exec / dlx / x / create fetch and run a package; -e / -c run inline code.
41
+ if (!SCRIPT_VERBS.has((args[0] ?? "").toLowerCase()))
42
+ return "a project profile may only run a package script (run, dev, start)";
43
+ const verb = (args[0] ?? "").toLowerCase();
44
+ const script = verb === "run" || verb === "run-script" ? (args[1] ?? "") : "dev";
45
+ if (!script || script.startsWith("-") || /^[a-z][a-z0-9+.-]*:/i.test(script) || /[\\/]/.test(script)) {
46
+ return "a project profile must name a plain package script";
47
+ }
48
+ }
49
+ if (INTERPRETERS.has(name)) {
50
+ if (args.some((a) => a.startsWith("-") || a.toLowerCase() === "eval" || /^[a-z][a-z0-9+.-]*:/i.test(a))) {
51
+ return "flags, eval and URLs are not allowed for an interpreter in a project profile";
52
+ }
53
+ // a script INSIDE the repo only: no absolute / drive / UNC / parent-relative file argument
54
+ if (args.some((a) => /^([\\/]|[a-z]:)/i.test(a) || a.split(/[\\/]/).includes(".."))) {
55
+ return "an interpreter may only run a script inside the project";
56
+ }
57
+ if (name === "uv" && (args[0] !== "run" || INTERPRETERS.has((args[1] ?? "").toLowerCase().replace(/\.(cmd|exe|bat)$/, "")))) {
58
+ return "uv may only run a script file in a project profile";
59
+ }
60
+ }
61
+ return null;
62
+ }
63
+ /** User-source: any bare program, or an ABSOLUTE path - never a path relative to the repo. */
64
+ export function userCommandRefusal(command, projectPath = "") {
65
+ let argv;
66
+ try {
67
+ argv = PreviewSessionManager.tokenizeCommand(command);
68
+ }
69
+ catch (err) {
70
+ return err instanceof Error ? err.message : "unparseable command";
71
+ }
72
+ const exe = argv[0] ?? "";
73
+ if (/[\\/]/.test(exe) && !path.isAbsolute(exe))
74
+ return "a profile command must be a bare program or an absolute path";
75
+ // an absolute path that points INTO the repository is the same thing as a repo-relative one
76
+ if (projectPath && path.isAbsolute(exe)) {
77
+ let root = projectPath;
78
+ let target = exe;
79
+ try {
80
+ root = realpathSync(projectPath);
81
+ target = realpathSync(exe);
82
+ }
83
+ catch {
84
+ // a program that does not exist yet cannot be resolved - compare the literal paths
85
+ }
86
+ if (contained(root, target) || contained(path.resolve(projectPath), path.resolve(exe))) {
87
+ return "a profile command may not point into the project";
88
+ }
89
+ }
90
+ return null;
91
+ }
92
+ /** Arguments no runner may take: a path out of the project, a URL, or a config/eval flag. */
93
+ function runnerArgRefusal(args) {
94
+ for (const a of args) {
95
+ if (/^([\\/]|[a-z]:)/i.test(a) || a.split(/[\\/]/).includes(".."))
96
+ return "a project profile argument may not be an absolute path or leave the project";
97
+ if (/^[a-z][a-z0-9+.-]*:/i.test(a) && !/^[a-z]:[\\/]/i.test(a))
98
+ return "a project profile argument may not be a URL";
99
+ const flag = a.toLowerCase().split("=")[0];
100
+ if (["-c", "--config", "-e", "--eval", "--print", "--require", "-r", "--import", "--loader", "--input-type"].includes(flag ?? "")) {
101
+ return "config, eval and preload flags are not allowed in a project profile";
102
+ }
103
+ }
104
+ return null;
105
+ }
106
+ export function contained(root, target) {
107
+ const rel = path.relative(root, target);
108
+ return rel !== "" && rel !== ".." && !rel.startsWith(".." + path.sep) && !path.isAbsolute(rel);
109
+ }
110
+ //# sourceMappingURL=custom-profile-command-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-profile-command-policy.js","sourceRoot":"","sources":["../../src/core/custom-profile-command-policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,gFAAgF;AAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACnH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACjE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,oFAAoF;AACpF,6EAA6E;AAC7E,uFAAuF;AACvF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1E,qFAAqF;AACrF,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,mEAAmE,CAAC;IACnG,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,GAAG,kDAAkD,CAAC;IACzF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,uFAAuF;QACvF,4EAA4E;QAC5E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,mEAAmE,CAAC;QACjI,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrG,OAAO,oDAAoD,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,OAAO,8EAA8E,CAAC;QACxF,CAAC;QACD,2FAA2F;QAC3F,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpF,OAAO,yDAAyD,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5H,OAAO,oDAAoD,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,WAAW,GAAG,EAAE;IAClE,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,8DAA8D,CAAC;IACtH,4FAA4F;IAC5F,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,mFAAmF;QACrF,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvF,OAAO,kDAAkD,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,IAAc;IACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,6EAA6E,CAAC;QACxJ,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,6CAA6C,CAAC;QACrH,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YAClI,OAAO,qEAAqE,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjG,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { projectCommandRefusal, userCommandRefusal } from "./custom-profile-command-policy.js";
2
+ import type { PreviewProfile } from "./preview-session-manager.js";
3
+ import { validateStackProfile, type StackProfileDeps } from "./stack-profiles.js";
4
+ export { projectCommandRefusal, userCommandRefusal };
5
+ export type ResolvedPreviewProfile = PreviewProfile & {
6
+ stack?: {
7
+ frontend?: unknown;
8
+ };
9
+ };
10
+ export interface PreviewProfileLookup {
11
+ profile: ResolvedPreviewProfile | null;
12
+ /** Why there is no profile (diagnostics only; never shown as a verdict). */
13
+ reason?: string;
14
+ }
15
+ export interface PreviewProfileResolverDeps {
16
+ /** Bundled-snapshot loader (the existing sync one). */
17
+ bundled: (name: string) => ResolvedPreviewProfile | null;
18
+ validate?: typeof validateStackProfile;
19
+ stack?: StackProfileDeps;
20
+ homeDir?: string;
21
+ now?: () => number;
22
+ /** Max concurrent resolver processes. */
23
+ maxConcurrent?: number;
24
+ }
25
+ export declare const POSITIVE_TTL_MS = 15000;
26
+ export declare const NEGATIVE_TTL_MS = 30000;
27
+ export declare function createPreviewProfileResolver(deps: PreviewProfileResolverDeps): {
28
+ /** `fresh` bypasses the cache (spawn re-resolves right before it runs). Never throws. */
29
+ resolve(name: string, projectPath: string, opts?: {
30
+ fresh?: boolean;
31
+ }): Promise<PreviewProfileLookup>;
32
+ clear(): void;
33
+ };
34
+ //# sourceMappingURL=custom-profile-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-profile-loader.d.ts","sourceRoot":"","sources":["../../src/core/custom-profile-loader.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAa,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAsB,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGtG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvC,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,eAAO,MAAM,eAAe,QAAS,CAAC;AAwBtC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,0BAA0B;IAsGzE,yFAAyF;kBACrE,MAAM,eAAe,MAAM,SAAQ;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAQ,OAAO,CAAC,oBAAoB,CAAC;aAkCtG,IAAI;EAIhB"}