@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,42 @@
1
+ import { type CopyCommandForms } from "../../core/launcher.js";
2
+ import type { ClaimExecutorLaunchOverrides } from "./claim-executor-permissions.js";
3
+ export type ArmTemplateResult = {
4
+ ok: true;
5
+ commands: CopyCommandForms;
6
+ } | {
7
+ ok: false;
8
+ detail: string;
9
+ };
10
+ /**
11
+ * True only when the RAW `command_template` (before any substitution)
12
+ * literally declares the `--session-id {task.uuid}` placeholder. This is
13
+ * the attacker-uncontrollable precondition for arming: `command_template`
14
+ * comes from project configuration (bundled defaults or a project's own
15
+ * `.shipwright-webui/actions.json`), never from the launch request body, so
16
+ * a caller cannot forge this check the way they could forge a coincidental
17
+ * match in the RENDERED output (see module header).
18
+ */
19
+ export declare function templateDeclaresSessionIdAnchor(commandTemplate: string): boolean;
20
+ /**
21
+ * Inserts `--tools <allow-list> --permission-mode <mode>` immediately after
22
+ * the substituted `--session-id <this task's sessionUuid>` token, on all
23
+ * three shell forms. The anchor is the task's own UUID rendered UNQUOTED —
24
+ * verified live (`actions-substitute.ts`'s `{task.uuid}` case returns the
25
+ * raw value, and its per-shell `q()` wrapping is applied only to
26
+ * user-derived placeholders, not this one; a debug probe against the real
27
+ * substitution engine confirmed `--session-id 11111111-...` with no quotes
28
+ * on posix, cmd AND powershell). The flags THEMSELVES still go through the
29
+ * matching shell's own quoter (`FLAG_QUOTERS`) — only the anchor is
30
+ * unquoted, matching the substitution engine's own convention for a
31
+ * server-generated UUID. The flags are inserted at the anchor's FIRST
32
+ * occurrence only when that occurrence is provably unique in the rendered
33
+ * string (checked via `indexOf` === `lastIndexOf`) — a custom project
34
+ * `command_template` can interpolate other placeholders (e.g.
35
+ * `{task.description}`) ahead of `{task.uuid}`, and a caller-supplied value
36
+ * that happens to contain this task's own UUID would otherwise let the
37
+ * flags land inside unrelated text while the real `--session-id` flag stays
38
+ * unarmed and the function still reported success. A non-unique anchor
39
+ * fails closed exactly like a missing one.
40
+ */
41
+ export declare function armActionTemplatePermissionPerimeter(commands: CopyCommandForms, sessionUuid: string, overrides: ClaimExecutorLaunchOverrides): ArmTemplateResult;
42
+ //# sourceMappingURL=claim-executor-template-arming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-executor-template-arming.d.ts","sourceRoot":"","sources":["../../../src/external/launch/claim-executor-template-arming.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAQlC;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAEhF;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,4BAA4B,GACtC,iBAAiB,CA8BnB"}
@@ -0,0 +1,121 @@
1
+ /*
2
+ * external/launch/claim-executor-template-arming.ts — FR-04.22 permission
3
+ * perimeter for the ACTION-TEMPLATE launch path (iterate-2026-09-06-claim-
4
+ * launch-permission-perimeter, Stage-1 review follow-up).
5
+ *
6
+ * `action-substitution-branch.ts` builds its command via
7
+ * `substitutePlaceholders(action.command_template, ...)` — a completely
8
+ * separate rendering path from `core/launcher.ts`'s `buildCopyCommands`/
9
+ * `LaunchArgs`, so `launcher-permission-flags.ts`'s argv-level flags never
10
+ * reach it. Spec review (Stage 1) proved this branch, not the legacy
11
+ * fallback, is the one leadwright's real tasks actually hit: leadwright's
12
+ * `CreateExternalTaskBody.actionId` is a REQUIRED field
13
+ * (`webui-client.ts`), persisted onto the task
14
+ * (`external/tasks/create.ts`), and `parse-body.ts`'s once-set-always-used
15
+ * contract means a claim-only `{ claimToken }` launch body still resolves
16
+ * `parsed.actionId` from that persisted value — so
17
+ * `applyActionSubstitutionBranch` fires, not the legacy fallback.
18
+ *
19
+ * `command_template` is a project-configurable string (bundled defaults in
20
+ * `config/default-actions.json`, or a project's own `actions.json` via
21
+ * `loadActionsForProject`) — NOT a fixed shape this module can trust
22
+ * blindly. Every bundled template starts `--session-id {task.uuid} ...`,
23
+ * but a custom project template is not guaranteed to. FAIL CLOSED: if the
24
+ * expected `--session-id <this task's own uuid>` anchor is not found,
25
+ * verbatim, in a rendered shell form, this module refuses to arm rather
26
+ * than silently returning an unrestricted command that LOOKS armed because
27
+ * the caller asked for arming (the exact "looks compliant, isn't" failure
28
+ * mode this whole card exists to close).
29
+ *
30
+ * Stage-3 doubt review found the rendered-output anchor search alone is not
31
+ * enough: a template that never emits the literal `--session-id {task.uuid}`
32
+ * placeholder at all could still coincidentally contain a UNIQUE occurrence
33
+ * of `--session-id <this task's uuid>` inside a substituted, caller-supplied
34
+ * placeholder (e.g. `{task.description?}`, settable in the very same
35
+ * claim-authorized launch body) — arming would then splice the flags inside
36
+ * quoted user text, not a real CLI flag, and still report success. Callers
37
+ * MUST call `templateDeclaresSessionIdAnchor` on the RAW (pre-substitution)
38
+ * `command_template` first and refuse to arm if it returns false — that
39
+ * check is immune to request-supplied content because the template comes
40
+ * from project configuration, not the launch body.
41
+ *
42
+ * The doubt review also found a template can independently re-declare
43
+ * `--tools`/`--permission-mode` via its own `{task.parameters?}` (a
44
+ * project's custom parameter schema may set `cli_flag: "--tools"` — the
45
+ * allowlist regex in `types/action-schema.ts` permits it), which could
46
+ * override or conflict with the injected flags depending on Claude CLI's
47
+ * duplicate-flag precedence. This module therefore also fails closed if the
48
+ * rendered command already contains either flag BEFORE arming.
49
+ */
50
+ import { qPs, qCmd, qPosix } from "../../core/launcher.js";
51
+ const FLAG_QUOTERS = {
52
+ powershell: qPs,
53
+ cmd: qCmd,
54
+ posix: qPosix,
55
+ };
56
+ /**
57
+ * True only when the RAW `command_template` (before any substitution)
58
+ * literally declares the `--session-id {task.uuid}` placeholder. This is
59
+ * the attacker-uncontrollable precondition for arming: `command_template`
60
+ * comes from project configuration (bundled defaults or a project's own
61
+ * `.shipwright-webui/actions.json`), never from the launch request body, so
62
+ * a caller cannot forge this check the way they could forge a coincidental
63
+ * match in the RENDERED output (see module header).
64
+ */
65
+ export function templateDeclaresSessionIdAnchor(commandTemplate) {
66
+ return commandTemplate.includes("--session-id {task.uuid}");
67
+ }
68
+ const CONFLICTING_FLAG_PATTERN = /(^|\s)(--tools|--permission-mode)(\s|$)/;
69
+ /**
70
+ * Inserts `--tools <allow-list> --permission-mode <mode>` immediately after
71
+ * the substituted `--session-id <this task's sessionUuid>` token, on all
72
+ * three shell forms. The anchor is the task's own UUID rendered UNQUOTED —
73
+ * verified live (`actions-substitute.ts`'s `{task.uuid}` case returns the
74
+ * raw value, and its per-shell `q()` wrapping is applied only to
75
+ * user-derived placeholders, not this one; a debug probe against the real
76
+ * substitution engine confirmed `--session-id 11111111-...` with no quotes
77
+ * on posix, cmd AND powershell). The flags THEMSELVES still go through the
78
+ * matching shell's own quoter (`FLAG_QUOTERS`) — only the anchor is
79
+ * unquoted, matching the substitution engine's own convention for a
80
+ * server-generated UUID. The flags are inserted at the anchor's FIRST
81
+ * occurrence only when that occurrence is provably unique in the rendered
82
+ * string (checked via `indexOf` === `lastIndexOf`) — a custom project
83
+ * `command_template` can interpolate other placeholders (e.g.
84
+ * `{task.description}`) ahead of `{task.uuid}`, and a caller-supplied value
85
+ * that happens to contain this task's own UUID would otherwise let the
86
+ * flags land inside unrelated text while the real `--session-id` flag stays
87
+ * unarmed and the function still reported success. A non-unique anchor
88
+ * fails closed exactly like a missing one.
89
+ */
90
+ export function armActionTemplatePermissionPerimeter(commands, sessionUuid, overrides) {
91
+ const armed = {};
92
+ for (const shellForm of Object.keys(FLAG_QUOTERS)) {
93
+ const q = FLAG_QUOTERS[shellForm];
94
+ const marker = `--session-id ${sessionUuid}`;
95
+ const source = commands[shellForm];
96
+ const idx = source.indexOf(marker);
97
+ if (idx === -1) {
98
+ return {
99
+ ok: false,
100
+ detail: `no '--session-id ${sessionUuid}' anchor found in the ${shellForm} command form — cannot arm the permission perimeter`,
101
+ };
102
+ }
103
+ if (idx !== source.lastIndexOf(marker)) {
104
+ return {
105
+ ok: false,
106
+ detail: `'--session-id ${sessionUuid}' anchor is not unique in the ${shellForm} command form — cannot safely arm the permission perimeter`,
107
+ };
108
+ }
109
+ if (CONFLICTING_FLAG_PATTERN.test(source)) {
110
+ return {
111
+ ok: false,
112
+ detail: `the ${shellForm} command form already contains a --tools or --permission-mode flag before arming — refusing to risk a duplicate/conflicting flag`,
113
+ };
114
+ }
115
+ const insertAt = idx + marker.length;
116
+ const flags = ` --tools ${q(overrides.toolsAllowlist.join(","))} --permission-mode ${q(overrides.permissionMode)}`;
117
+ armed[shellForm] = source.slice(0, insertAt) + flags + source.slice(insertAt);
118
+ }
119
+ return { ok: true, commands: armed };
120
+ }
121
+ //# sourceMappingURL=claim-executor-template-arming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-executor-template-arming.js","sourceRoot":"","sources":["../../../src/external/launch/claim-executor-template-arming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAyB,MAAM,wBAAwB,CAAC;AAOlF,MAAM,YAAY,GAA0D;IAC1E,UAAU,EAAE,GAAG;IACf,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,MAAM;CACd,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAAC,eAAuB;IACrE,OAAO,eAAe,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,wBAAwB,GAAG,yCAAyC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oCAAoC,CAClD,QAA0B,EAC1B,WAAmB,EACnB,SAAuC;IAEvC,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAkC,EAAE,CAAC;QACnF,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,gBAAgB,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,oBAAoB,WAAW,yBAAyB,SAAS,qDAAqD;aAC/H,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,iBAAiB,WAAW,iCAAiC,SAAS,4DAA4D;aAC3I,CAAC;QACJ,CAAC;QACD,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,OAAO,SAAS,kIAAkI;aAC3J,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACnH,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAyB,EAAE,CAAC;AAC3D,CAAC"}
@@ -25,6 +25,7 @@ export declare const CLAIM_LAUNCH_WINDOW_MS: number;
25
25
  export declare const CLAIM_CLOCK_SKEW_TOLERANCE_MS: number;
26
26
  export type ClaimGateResult = {
27
27
  allowed: true;
28
+ claimAuthorized: boolean;
28
29
  } | {
29
30
  allowed: false;
30
31
  error: Record<string, unknown>;
@@ -37,6 +38,14 @@ export type ClaimGateResult = {
37
38
  * envelope — `claimExpired: true` distinguishes "right token, too old" from
38
39
  * a foreign/absent token (trap: an expired claim must read differently from
39
40
  * someone else's).
41
+ *
42
+ * `claimAuthorized` (iterate-2026-09-06-claim-launch-permission-perimeter,
43
+ * FR-04.22 follow-up) distinguishes the TWO shapes of `allowed: true`: "no
44
+ * claim was ever on record" (an ordinary human/manual launch) vs. "the
45
+ * caller proved it holds the CURRENT, unexpired claim" (leadwright's stage-2
46
+ * executor). The launch route uses this — not a second, independently
47
+ * re-derived token-match check — to decide whether to arm the executor's
48
+ * permission perimeter, so the two conditions can never drift apart.
40
49
  */
41
50
  export declare function checkClaimHolderGate(task: ExternalTask, bodyClaimToken: string | undefined): ClaimGateResult;
42
51
  //# sourceMappingURL=claim-holder-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claim-holder-gate.d.ts","sourceRoot":"","sources":["../../../src/external/launch/claim-holder-gate.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,QAAgB,CAAC;AAE3D,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,YAAY,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,eAAe,CAqCjB"}
1
+ {"version":3,"file":"claim-holder-gate.d.ts","sourceRoot":"","sources":["../../../src/external/launch/claim-holder-gate.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,QAAgB,CAAC;AAE3D,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,GAC3C;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,YAAY,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,eAAe,CAqCjB"}
@@ -52,10 +52,18 @@ export const CLAIM_CLOCK_SKEW_TOLERANCE_MS = 5 * 60 * 1000;
52
52
  * envelope — `claimExpired: true` distinguishes "right token, too old" from
53
53
  * a foreign/absent token (trap: an expired claim must read differently from
54
54
  * someone else's).
55
+ *
56
+ * `claimAuthorized` (iterate-2026-09-06-claim-launch-permission-perimeter,
57
+ * FR-04.22 follow-up) distinguishes the TWO shapes of `allowed: true`: "no
58
+ * claim was ever on record" (an ordinary human/manual launch) vs. "the
59
+ * caller proved it holds the CURRENT, unexpired claim" (leadwright's stage-2
60
+ * executor). The launch route uses this — not a second, independently
61
+ * re-derived token-match check — to decide whether to arm the executor's
62
+ * permission perimeter, so the two conditions can never drift apart.
55
63
  */
56
64
  export function checkClaimHolderGate(task, bodyClaimToken) {
57
65
  if (typeof task.claimToken !== "string" || task.claimToken.length === 0) {
58
- return { allowed: true };
66
+ return { allowed: true, claimAuthorized: false };
59
67
  }
60
68
  const tokenMatches = bodyClaimToken !== undefined && bodyClaimToken === task.claimToken;
61
69
  const claimedAtMs = task.claimedAt ? Date.parse(task.claimedAt) : NaN;
@@ -64,7 +72,7 @@ export function checkClaimHolderGate(task, bodyClaimToken) {
64
72
  age >= -CLAIM_CLOCK_SKEW_TOLERANCE_MS &&
65
73
  age <= CLAIM_LAUNCH_WINDOW_MS;
66
74
  if (tokenMatches && withinWindow) {
67
- return { allowed: true };
75
+ return { allowed: true, claimAuthorized: true };
68
76
  }
69
77
  console.warn(JSON.stringify({
70
78
  level: "warn",
@@ -1 +1 @@
1
- {"version":3,"file":"claim-holder-gate.js","sourceRoot":"","sources":["../../../src/external/launch/claim-holder-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAM3D;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAkB,EAClB,cAAkC;IAElC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC,UAAU,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IACrC,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5B,GAAG,IAAI,CAAC,6BAA6B;QACrC,GAAG,IAAI,sBAAsB,CAAC;IAEhC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,sDAAsD;QAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;KACzD,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAA4B;QACrC,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;IACF,IAAI,YAAY;QAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"claim-holder-gate.js","sourceRoot":"","sources":["../../../src/external/launch/claim-holder-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAM3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAkB,EAClB,cAAkC;IAElC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC,UAAU,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IACrC,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5B,GAAG,IAAI,CAAC,6BAA6B;QACrC,GAAG,IAAI,sBAAsB,CAAC;IAEhC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,sDAAsD;QAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;KACzD,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAA4B;QACrC,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;IACF,IAAI,YAAY;QAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CopyCommandForms } from "../../core/launcher.js";
2
+ export declare function commandsCarryPermissionPerimeter(commands: CopyCommandForms): boolean;
3
+ //# sourceMappingURL=claim-permission-perimeter-assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-permission-perimeter-assert.d.ts","sourceRoot":"","sources":["../../../src/external/launch/claim-permission-perimeter-assert.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAMT"}
@@ -0,0 +1,24 @@
1
+ /*
2
+ * external/launch/claim-permission-perimeter-assert.ts — FR-04.22 Stage-3
3
+ * doubt-review follow-up (iterate-2026-09-06-claim-launch-permission-perimeter).
4
+ *
5
+ * `claimAuthorized` is threaded, opt-in, into only two of the six
6
+ * launch-precedence branches (action-substitution, legacy-fallback) because
7
+ * those are the only ones a `{ claimToken }`-only body can structurally
8
+ * reach today. That is an assumption about the CALLING daemon's current
9
+ * body shape, not a code-enforced invariant — a future body that combines a
10
+ * valid `claimToken` with `phaseTaskRef` / `campaignSlug` / `campaignStep` /
11
+ * `masterRun` would dispatch to one of the four branches that never learned
12
+ * about claims and get back a fully unrestricted command while still
13
+ * holding a valid claim.
14
+ *
15
+ * This is the centralized backstop: regardless of which branch produced
16
+ * `commands`, a claim-authorized launch must show the permission perimeter
17
+ * on every shell form or the request is refused (409) — never silently
18
+ * downgraded.
19
+ */
20
+ export function commandsCarryPermissionPerimeter(commands) {
21
+ return Object.keys(commands).every((shellForm) => commands[shellForm].includes("--tools") &&
22
+ commands[shellForm].includes("--permission-mode"));
23
+ }
24
+ //# sourceMappingURL=claim-permission-perimeter-assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-permission-perimeter-assert.js","sourceRoot":"","sources":["../../../src/external/launch/claim-permission-perimeter-assert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,UAAU,gCAAgC,CAC9C,QAA0B;IAE1B,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAmC,CAAC,KAAK,CACnE,CAAC,SAAS,EAAE,EAAE,CACZ,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CACpD,CAAC;AACJ,CAAC"}
@@ -5,6 +5,20 @@ export declare function applyLegacyFallbackBranch(args: {
5
5
  task: ExternalTask;
6
6
  parsed: ParsedLaunchBody;
7
7
  jsonlObserved: boolean;
8
+ /**
9
+ * FR-04.22 (iterate-2026-09-06-claim-launch-permission-perimeter) — true
10
+ * only when `checkClaimHolderGate` proved this caller holds the task's
11
+ * CURRENT, unexpired claim (leadwright's stage-2 executor). `undefined`/
12
+ * `false` (every human/manual launch) leaves the command byte-identical
13
+ * to before this field existed — verified by
14
+ * `legacy-fallback-branch.test.ts`'s own "manual launch unchanged"
15
+ * assertion on the produced command STRING, not just a 200 status. A
16
+ * leadwright-created task normally has `actionId` set and is armed
17
+ * through `action-substitution-branch.ts` instead (Stage-1 spec review
18
+ * finding) — this branch still needs the same wiring for a task launched
19
+ * before it ever had an actionId.
20
+ */
21
+ claimAuthorized?: boolean;
8
22
  }): {
9
23
  commands: CopyCommandForms;
10
24
  taskUpdate: Partial<ExternalTask>;
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-fallback-branch.d.ts","sourceRoot":"","sources":["../../../src/external/launch/legacy-fallback-branch.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,CAgBpE"}
1
+ {"version":3,"file":"legacy-fallback-branch.d.ts","sourceRoot":"","sources":["../../../src/external/launch/legacy-fallback-branch.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,CAiBpE"}
@@ -10,8 +10,9 @@
10
10
  * JSONL on disk, `--resume` is the correct shape.
11
11
  */
12
12
  import { buildCopyCommands, } from "../../core/launcher.js";
13
+ import { claimExecutorLaunchOverrides } from "./claim-executor-permissions.js";
13
14
  export function applyLegacyFallbackBranch(args) {
14
- const { task, parsed, jsonlObserved } = args;
15
+ const { task, parsed, jsonlObserved, claimAuthorized } = args;
15
16
  const effectiveResume = parsed.resume && (task.actionId !== "new-plain" || jsonlObserved);
16
17
  const commands = buildCopyCommands({
17
18
  sessionUuid: task.sessionUuid,
@@ -19,6 +20,7 @@ export function applyLegacyFallbackBranch(args) {
19
20
  resume: effectiveResume,
20
21
  pluginDirs: task.pluginDirs,
21
22
  title: task.title,
23
+ ...(claimAuthorized ? claimExecutorLaunchOverrides() : {}),
22
24
  });
23
25
  const taskUpdate = {
24
26
  state: "awaiting_external_start",
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-fallback-branch.js","sourceRoot":"","sources":["../../../src/external/launch/legacy-fallback-branch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAOhC,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7C,MAAM,eAAe,GACnB,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,aAAa,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,UAAU,GAA0B;QACxC,KAAK,EAAE,yBAA8C;QACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"legacy-fallback-branch.js","sourceRoot":"","sources":["../../../src/external/launch/legacy-fallback-branch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,UAAU,yBAAyB,CAAC,IAkBzC;IACC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,eAAe,GACnB,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,aAAa,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,UAAU,GAA0B;QACxC,KAAK,EAAE,yBAA8C;QACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
@@ -118,9 +118,9 @@ export async function applyMasterRunBranch(args) {
118
118
  }
119
119
  const mode = resolveRunMode(cfg.config);
120
120
  if (mode !== "single_session") {
121
- // multi_session (or a mode-less legacy config → multi_session) uses the
121
+ // multi_session (or a mode-less legacy config → standalone) uses the
122
122
  // per-phase Continue path, not a single master. Refuse rather than inject
123
- // `/shipwright-run` into a multi-session run.
123
+ // `/shipwright-run` into a multi-session/standalone run.
124
124
  return {
125
125
  error: { error: "master_launch_wrong_mode", detail: mode },
126
126
  status: 400,
@@ -1 +1 @@
1
- {"version":3,"file":"master-run-branch.js","sourceRoot":"","sources":["../../../src/external/launch/master-run-branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"master-run-branch.js","sourceRoot":"","sources":["../../../src/external/launch/master-run-branch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ParsedLaunchBody } from "./parse-body.js";
2
+ export interface MixedIntentsError {
3
+ error: {
4
+ error: "mixed_launch_intents";
5
+ detail: string;
6
+ };
7
+ status: 400;
8
+ }
9
+ export declare function checkMixedLaunchIntents(body: Record<string, unknown>, parsed: ParsedLaunchBody): MixedIntentsError | null;
10
+ //# sourceMappingURL=mixed-intents-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixed-intents-guard.d.ts","sourceRoot":"","sources":["../../../src/external/launch/mixed-intents-guard.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QAAE,KAAK,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC;CACb;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,gBAAgB,GACvB,iBAAiB,GAAG,IAAI,CAgD1B"}
@@ -0,0 +1,49 @@
1
+ /*
2
+ * external/launch/mixed-intents-guard.ts — the three `mixed_launch_intents`
3
+ * checks split out of routes.ts to keep that file ≤ 300 LOC. Each launch
4
+ * intent (campaignSlug / campaignStep / masterRun) is mutually exclusive
5
+ * with the others and with actionId / phaseTaskRef. Checked against the RAW
6
+ * body (never the parsed/once-set-always-used values) so a task's persisted
7
+ * `actionId` can never spuriously trip these — see routes.ts callers for
8
+ * the FR-01.34 / FR-01.36 / webui-pipeline-convergence W2 provenance.
9
+ */
10
+ export function checkMixedLaunchIntents(body, parsed) {
11
+ if (typeof body.campaignSlug === "string" &&
12
+ body.campaignSlug.trim().length > 0 &&
13
+ (body.actionId !== undefined || body.phaseTaskRef !== undefined)) {
14
+ return {
15
+ error: {
16
+ error: "mixed_launch_intents",
17
+ detail: "campaignSlug is mutually exclusive with actionId / phaseTaskRef",
18
+ },
19
+ status: 400,
20
+ };
21
+ }
22
+ if (parsed.campaignStep &&
23
+ (body.actionId !== undefined ||
24
+ body.phaseTaskRef !== undefined ||
25
+ (typeof body.campaignSlug === "string" && body.campaignSlug.trim().length > 0))) {
26
+ return {
27
+ error: {
28
+ error: "mixed_launch_intents",
29
+ detail: "campaignStep is mutually exclusive with actionId / phaseTaskRef / campaignSlug",
30
+ },
31
+ status: 400,
32
+ };
33
+ }
34
+ if (Boolean(body.masterRun) &&
35
+ (body.actionId !== undefined ||
36
+ body.phaseTaskRef !== undefined ||
37
+ (typeof body.campaignSlug === "string" && body.campaignSlug.trim().length > 0) ||
38
+ body.campaignStep !== undefined)) {
39
+ return {
40
+ error: {
41
+ error: "mixed_launch_intents",
42
+ detail: "masterRun is mutually exclusive with actionId / phaseTaskRef / campaignSlug / campaignStep",
43
+ },
44
+ status: 400,
45
+ };
46
+ }
47
+ return null;
48
+ }
49
+ //# sourceMappingURL=mixed-intents-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixed-intents-guard.js","sourceRoot":"","sources":["../../../src/external/launch/mixed-intents-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,UAAU,uBAAuB,CACrC,IAA6B,EAC7B,MAAwB;IAExB,IACE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,EAChE,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,iEAAiE;aAC1E;YACD,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,IACE,MAAM,CAAC,YAAY;QACnB,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC1B,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/B,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EACjF,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,gFAAgF;aACzF;YACD,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,IACE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC1B,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/B,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,EAClC,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EACJ,4FAA4F;aAC/F;YACD,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,18 @@
1
1
  import type { ExternalTask } from "../../core/sdk-sessions-store.js";
2
+ /**
3
+ * iterate-2026-09-17-codex-model-tier-parameterization, revised
4
+ * 2026-09-18 after shipwright#771 — a closed, hand-maintained catalog enum
5
+ * was withdrawn in favor of the same posture shipwright's own
6
+ * `codex_review`/`codex_plan_review` config axis uses
7
+ * (`shared/scripts/lib/codex_review_transport.py`'s
8
+ * `_CODEX_MODEL_SLUG_PATTERN`): an unconditional SYNTACTIC allowlist, never
9
+ * a live-catalog-pinned enum. #771's own architecture review rejected
10
+ * catalog validation outright — "a standing dependency on an undocumented,
11
+ * already-shifting CLI subcommand ... not worth it" — the exact dependency
12
+ * `CODEX_IMPLEMENTATION_MODELS` (the withdrawn enum) had. Pattern mirrored
13
+ * verbatim so both repos reject/accept the same slug shapes.
14
+ */
15
+ export declare const CODEX_MODEL_SLUG_PATTERN: RegExp;
2
16
  export interface ParsedLaunchBody {
3
17
  resume: boolean;
4
18
  dryRun: boolean;
@@ -26,6 +40,21 @@ export interface ParsedLaunchBody {
26
40
  * single_session run_config + builds the fixed `/shipwright-run` command;
27
41
  * this just surfaces the boolean intent. Launch-body only (never persisted). */
28
42
  masterRun: boolean;
43
+ /** iterate-2026-09-17-codex-model-tier-parameterization — session-scoped
44
+ * Codex implementation-model override. Body-only (never persisted on the
45
+ * task, and no once-set-always-used fallback), same "only for this
46
+ * session" posture as Claude's review-model/plan-review-model. Deliberately
47
+ * NOT routed through `userParams`/the action-schema `parameters` pipeline
48
+ * — see the iterate spec's server-scope decision for why. */
49
+ codexImplementationModel: string | undefined;
50
+ /** iterate-2026-09-19-codex-reviewer-fields (shipwright#772) —
51
+ * session-scoped Codex review-model overrides, same body-only /
52
+ * never-persisted posture as `codexImplementationModel` above. Threaded
53
+ * to `buildCodexCommands` as `SHIPWRIGHT_CODEX_PLAN_REVIEW_MODEL` /
54
+ * `SHIPWRIGHT_CODEX_REVIEW_MODEL` env-var prefixes — `run_codex_review`
55
+ * resolves those ahead of the project's `shipwright_model_config.json`. */
56
+ codexPlanReviewModel: string | undefined;
57
+ codexReviewModel: string | undefined;
29
58
  }
30
59
  /**
31
60
  * Parses the launch body into normalized fields + applies the
@@ -1 +1 @@
1
- {"version":3,"file":"parse-body.d.ts","sourceRoot":"","sources":["../../../src/external/launch/parse-body.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;IACzD,eAAe,EAAE,OAAO,CAAC;IACzB;;iFAE6E;IAC7E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;iFAG6E;IAC7E,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3D;;;qFAGiF;IACjF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,YAAY,GAEhB,gBAAgB,GAChB;IAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAmH5D"}
1
+ {"version":3,"file":"parse-body.d.ts","sourceRoot":"","sources":["../../../src/external/launch/parse-body.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,QAAsC,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;IACzD,eAAe,EAAE,OAAO,CAAC;IACzB;;iFAE6E;IAC7E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;iFAG6E;IAC7E,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3D;;;qFAGiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;kEAK8D;IAC9D,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;;gFAK4E;IAC5E,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,YAAY,GAEhB,gBAAgB,GAChB;IAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CA0J5D"}
@@ -4,6 +4,20 @@
4
4
  * value ?? persisted task value (v0.4.1 fix).
5
5
  */
6
6
  import { PARAM_NAME_PATTERN } from "../../types/action-schema.js";
7
+ /**
8
+ * iterate-2026-09-17-codex-model-tier-parameterization, revised
9
+ * 2026-09-18 after shipwright#771 — a closed, hand-maintained catalog enum
10
+ * was withdrawn in favor of the same posture shipwright's own
11
+ * `codex_review`/`codex_plan_review` config axis uses
12
+ * (`shared/scripts/lib/codex_review_transport.py`'s
13
+ * `_CODEX_MODEL_SLUG_PATTERN`): an unconditional SYNTACTIC allowlist, never
14
+ * a live-catalog-pinned enum. #771's own architecture review rejected
15
+ * catalog validation outright — "a standing dependency on an undocumented,
16
+ * already-shifting CLI subcommand ... not worth it" — the exact dependency
17
+ * `CODEX_IMPLEMENTATION_MODELS` (the withdrawn enum) had. Pattern mirrored
18
+ * verbatim so both repos reject/accept the same slug shapes.
19
+ */
20
+ export const CODEX_MODEL_SLUG_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
7
21
  /**
8
22
  * Parses the launch body into normalized fields + applies the
9
23
  * once-set-always-used contract (v0.4.1): body field falls back to the
@@ -97,6 +111,33 @@ export function parseLaunchBody(body, task) {
97
111
  campaignStep = { slug: s.trim(), stepId: id.trim() };
98
112
  }
99
113
  }
114
+ // iterate-2026-09-17-codex-model-tier-parameterization, revised for
115
+ // shipwright#771 — syntactic allowlist, not a catalog enum; trimmed first
116
+ // so an incidental leading/trailing space from a free-text field doesn't
117
+ // fail a slug that would otherwise match. An unrecognized shape fails
118
+ // closed (400), never silently dropped or coerced to undefined.
119
+ // Deliberately unconditional on task.runtime: a value irrelevant to a
120
+ // Claude-runtime task (runtime-chokepoint.ts never reads it for one) is
121
+ // still malformed-input-rejected rather than silently accepted, same
122
+ // fail-closed posture as every other field this function validates.
123
+ // Today's only caller (useNewIssueFormSubmit.ts) already gates on
124
+ // runtime === "codex" before ever setting this field.
125
+ const implementationModelResult = parseCodexModelSlugField(body.codexImplementationModel, "invalid_codex_implementation_model");
126
+ if ("error" in implementationModelResult)
127
+ return implementationModelResult;
128
+ const codexImplementationModel = implementationModelResult.value;
129
+ // iterate-2026-09-19-codex-reviewer-fields — same syntactic allowlist and
130
+ // fail-closed posture as codexImplementationModel above (see that field's
131
+ // comment); the value differs only in what it's used for downstream
132
+ // (an env-var prefix, not a `-c model=` CLI flag).
133
+ const planReviewModelResult = parseCodexModelSlugField(body.codexPlanReviewModel, "invalid_codex_plan_review_model");
134
+ if ("error" in planReviewModelResult)
135
+ return planReviewModelResult;
136
+ const codexPlanReviewModel = planReviewModelResult.value;
137
+ const reviewModelResult = parseCodexModelSlugField(body.codexReviewModel, "invalid_codex_review_model");
138
+ if ("error" in reviewModelResult)
139
+ return reviewModelResult;
140
+ const codexReviewModel = reviewModelResult.value;
100
141
  return {
101
142
  resume,
102
143
  dryRun,
@@ -110,6 +151,31 @@ export function parseLaunchBody(body, task) {
110
151
  campaignSlug,
111
152
  campaignStep,
112
153
  masterRun: Boolean(body.masterRun),
154
+ codexImplementationModel,
155
+ codexPlanReviewModel,
156
+ codexReviewModel,
113
157
  };
114
158
  }
159
+ /**
160
+ * Shared validator for the three body-only Codex model-slug overrides
161
+ * (implementation / plan-review / review): absent → `{ value: undefined }`;
162
+ * present but malformed → the field's own error code, fail-closed (never
163
+ * silently dropped or coerced), matching `codexImplementationModel`'s
164
+ * original inline behavior verbatim.
165
+ */
166
+ function parseCodexModelSlugField(raw, errorCode) {
167
+ if (raw === undefined)
168
+ return { value: undefined };
169
+ const trimmed = typeof raw === "string" ? raw.trim() : "";
170
+ if (!CODEX_MODEL_SLUG_PATTERN.test(trimmed)) {
171
+ return {
172
+ error: {
173
+ error: errorCode,
174
+ detail: `must match ${CODEX_MODEL_SLUG_PATTERN.source}`,
175
+ },
176
+ status: 400,
177
+ };
178
+ }
179
+ return { value: trimmed };
180
+ }
115
181
  //# sourceMappingURL=parse-body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-body.js","sourceRoot":"","sources":["../../../src/external/launch/parse-body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-body.js","sourceRoot":"","sources":["../../../src/external/launch/parse-body.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export interface LaunchRouterDeps {
18
18
  * per-router unit tests that don't wire a watcher default to "no JSONL".
19
19
  */
20
20
  jsonlExistsOnDisk?: (sessionUuid: string) => Promise<boolean>;
21
+ /** Codextender Part B.6 — fresh settings reads for the runtime chokepoint. */
22
+ getCodexIntegrationMode?: () => Promise<"light" | "codextender" | undefined>;
23
+ getCodextenderPort?: () => Promise<number | undefined>;
21
24
  }
22
25
  export declare function createLaunchRouter(deps: LaunchRouterDeps): Hono;
23
26
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/launch/routes.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AActE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IACtE,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvE;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAwN/D"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/launch/routes.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAYtE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IACtE,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvE;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;IAC7E,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAkK/D"}