@svenroth-ai/shipwright 0.27.0 → 0.28.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 (587) hide show
  1. package/client/dist/assets/{EmbeddedTerminal-CqCQUDtp.js → EmbeddedTerminal-4xgNUBUu.js} +19 -19
  2. package/client/dist/assets/{abnfDiagram-VRR7QNED-DX2objTP.js → abnfDiagram-VRR7QNED-BdCNbaqc.js} +1 -1
  3. package/client/dist/assets/{arc-DQmjbsFU.js → arc-DoZTTE1N.js} +1 -1
  4. package/client/dist/assets/{architectureDiagram-ZJ3FMSHR-DAvCsPCW.js → architectureDiagram-ZJ3FMSHR-DFTG4KtO.js} +1 -1
  5. package/client/dist/assets/{blockDiagram-677ZJIJ3-DC-dlyYI.js → blockDiagram-677ZJIJ3-C34UBjOB.js} +1 -1
  6. package/client/dist/assets/{c4Diagram-LMCZKHZV-DSlmXfhE.js → c4Diagram-LMCZKHZV-CbqAB1Ou.js} +1 -1
  7. package/client/dist/assets/channel-DBcZw7Kn.js +1 -0
  8. package/client/dist/assets/{chunk-2Q5K7J3B-C111EHL6.js → chunk-2Q5K7J3B-4N6AnmBJ.js} +1 -1
  9. package/client/dist/assets/{chunk-32BRIVSS-DrCYs2XG.js → chunk-32BRIVSS-Cs67LiCy.js} +1 -1
  10. package/client/dist/assets/{chunk-5VM5RSS4-DIejoaXS.js → chunk-5VM5RSS4-Bwd7rtD3.js} +1 -1
  11. package/client/dist/assets/{chunk-EX3LRPZG-CGWNeH2g.js → chunk-EX3LRPZG-CQqGfptD.js} +1 -1
  12. package/client/dist/assets/{chunk-JWPE2WC7-CCH0SRFY.js → chunk-JWPE2WC7-ClvKd4PN.js} +1 -1
  13. package/client/dist/assets/{chunk-MOJQB5TN-B3OpZGRv.js → chunk-MOJQB5TN-Cwvj8GE1.js} +1 -1
  14. package/client/dist/assets/{chunk-RYQCIY6F-BKhdp_8v.js → chunk-RYQCIY6F-DrWMx37d.js} +1 -1
  15. package/client/dist/assets/{chunk-V7JOEXUC-B6Bu8x1y.js → chunk-V7JOEXUC-CYFfa4PY.js} +1 -1
  16. package/client/dist/assets/{chunk-VR4S4FIN-OgFi2_iB.js → chunk-VR4S4FIN-B5eWtesm.js} +1 -1
  17. package/client/dist/assets/{chunk-XXDRQBXY-xyjuuhxl.js → chunk-XXDRQBXY-BQAZ6Our.js} +1 -1
  18. package/client/dist/assets/classDiagram-OUVF2IWQ-C3Q1V9DU.js +1 -0
  19. package/client/dist/assets/classDiagram-v2-EOCWNBFH-C3Q1V9DU.js +1 -0
  20. package/client/dist/assets/{cose-bilkent-JH36ORCC-BQIH3SCK.js → cose-bilkent-JH36ORCC-C76Yia6h.js} +1 -1
  21. package/client/dist/assets/{cynefin-VYW2F7L2-oyLAz8te.js → cynefin-VYW2F7L2-pJe7rdTi.js} +1 -1
  22. package/client/dist/assets/{cynefinDiagram-TSTJHNR4-DoLCsH0l.js → cynefinDiagram-TSTJHNR4-EeHQ7dYV.js} +1 -1
  23. package/client/dist/assets/{dagre-VKFMJZFB-D7djx1_Y.js → dagre-VKFMJZFB-VXOY6IHR.js} +1 -1
  24. package/client/dist/assets/{diagram-FQU43EPY-DFuYE0Vf.js → diagram-FQU43EPY-DW_-leqw.js} +1 -1
  25. package/client/dist/assets/{diagram-G47NLZAW-CffCZVXk.js → diagram-G47NLZAW-C_hsLD4u.js} +1 -1
  26. package/client/dist/assets/{diagram-NH7WQ7WH-BhrHtUlt.js → diagram-NH7WQ7WH-CbeQuO_f.js} +1 -1
  27. package/client/dist/assets/{diagram-OA4YK3LP-CwQPbOn0.js → diagram-OA4YK3LP-DRHY5d_c.js} +1 -1
  28. package/client/dist/assets/{diagram-WEI45ONY-abtYnYqH.js → diagram-WEI45ONY-B87OYR_S.js} +1 -1
  29. package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DfV7gT4m.js → ebnfDiagram-CCIWWBDH-B8Z8WHF6.js} +1 -1
  30. package/client/dist/assets/{erDiagram-Q63AITRT-vtbCprgH.js → erDiagram-Q63AITRT-DaD7oa9H.js} +1 -1
  31. package/client/dist/assets/{flowDiagram-23GEKE2U-CVCgcyDF.js → flowDiagram-23GEKE2U-GrMVpsea.js} +1 -1
  32. package/client/dist/assets/{ganttDiagram-NO4QXBWP-BclyOgMb.js → ganttDiagram-NO4QXBWP-K3X0DYBa.js} +1 -1
  33. package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-BXT4rIKj.js → gitGraphDiagram-IHSO6WYX-B2SEx0xa.js} +1 -1
  34. package/client/dist/assets/index-CIpLt0ie.js +863 -0
  35. package/client/dist/assets/index-DGtnTeFd.css +1 -0
  36. package/client/dist/assets/{infoDiagram-FWYZ7A6U-Dr4mN24J.js → infoDiagram-FWYZ7A6U-Fi8fQ95G.js} +1 -1
  37. package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-BBUFWq5C.js → ishikawaDiagram-FXEZZL3T-CrN7QJzt.js} +1 -1
  38. package/client/dist/assets/{journeyDiagram-5HDEW3XC-CmclipcQ.js → journeyDiagram-5HDEW3XC-XHIsl7rM.js} +1 -1
  39. package/client/dist/assets/{kanban-definition-HUTT4EX6-eIzUeZ03.js → kanban-definition-HUTT4EX6-A6HJqHw7.js} +1 -1
  40. package/client/dist/assets/{linear-DGiT7uKK.js → linear-D1vF9IQB.js} +1 -1
  41. package/client/dist/assets/{mermaid.core-BcLNGbxW.js → mermaid.core-D6w9zlA0.js} +4 -4
  42. package/client/dist/assets/{mindmap-definition-LN4V7U3C-C4ANnNiP.js → mindmap-definition-LN4V7U3C-CxRkUj6Z.js} +1 -1
  43. package/client/dist/assets/{pegDiagram-2B236MQR-DnMeh3Yh.js → pegDiagram-2B236MQR-Bs9dp-8a.js} +1 -1
  44. package/client/dist/assets/{pieDiagram-ENE6RG2P-CKV_rkhF.js → pieDiagram-ENE6RG2P-DBWILzB8.js} +1 -1
  45. package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-BuUsGwHh.js → quadrantDiagram-ABIIQ3AL-DrCVJJx6.js} +1 -1
  46. package/client/dist/assets/{railroadDiagram-RFXS5EU6-BwwdKnFL.js → railroadDiagram-RFXS5EU6-BdPW2dNf.js} +1 -1
  47. package/client/dist/assets/{requirementDiagram-TGXJPOKE-CpQZouJV.js → requirementDiagram-TGXJPOKE-Bj_g3tC5.js} +1 -1
  48. package/client/dist/assets/{sankeyDiagram-HTMAVEWB-4fnDUNVa.js → sankeyDiagram-HTMAVEWB-BGL9NnsS.js} +1 -1
  49. package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-BOcaWlM0.js → sequenceDiagram-DBY2YBRQ-DEirxTZY.js} +1 -1
  50. package/client/dist/assets/{sizeCapture-X5ZJPWSS-_pv-9R0c.js → sizeCapture-X5ZJPWSS-BtLrvrea.js} +1 -1
  51. package/client/dist/assets/{stateDiagram-2N3HPSRC-CFwCOonY.js → stateDiagram-2N3HPSRC-D3GXIouX.js} +1 -1
  52. package/client/dist/assets/stateDiagram-v2-6OUMAXLB-D3lXe_mJ.js +1 -0
  53. package/client/dist/assets/{swimlanes-5IMT3BWC-DFa2tzxu.js → swimlanes-5IMT3BWC-PMRQzNhU.js} +2 -2
  54. package/client/dist/assets/swimlanesDiagram-G3AALYLV-DMLbRFiO.js +8 -0
  55. package/client/dist/assets/{timeline-definition-FHXFAJF6-rhGYElgn.js → timeline-definition-FHXFAJF6-CnBKJtD_.js} +1 -1
  56. package/client/dist/assets/{vennDiagram-L72KCM5P-BoGjRxyA.js → vennDiagram-L72KCM5P-BYmiJYoh.js} +1 -1
  57. package/client/dist/assets/{wardleyDiagram-EHGQE667-D-IGv5bH.js → wardleyDiagram-EHGQE667-DU7vW8q3.js} +1 -1
  58. package/client/dist/assets/{xychartDiagram-FW5EYKEG-D9PFTCfm.js → xychartDiagram-FW5EYKEG-BEtPvBSU.js} +1 -1
  59. package/client/dist/index.html +2 -2
  60. package/lib/preflight.mjs +24 -5
  61. package/lib/util.mjs +5 -1
  62. package/package.json +1 -1
  63. package/scripts/deploy-procs.mjs +105 -20
  64. package/scripts/deploy-swap.mjs +23 -2
  65. package/server/dist/config.d.ts +9 -0
  66. package/server/dist/config.d.ts.map +1 -1
  67. package/server/dist/config.js +1 -0
  68. package/server/dist/config.js.map +1 -1
  69. package/server/dist/core/campaign-events.d.ts.map +1 -1
  70. package/server/dist/core/campaign-events.js +1 -0
  71. package/server/dist/core/campaign-events.js.map +1 -1
  72. package/server/dist/core/campaign-loop-state.d.ts.map +1 -1
  73. package/server/dist/core/campaign-loop-state.js +54 -21
  74. package/server/dist/core/campaign-loop-state.js.map +1 -1
  75. package/server/dist/core/campaign-parse.d.ts +4 -0
  76. package/server/dist/core/campaign-parse.d.ts.map +1 -1
  77. package/server/dist/core/campaign-parse.js +9 -0
  78. package/server/dist/core/campaign-parse.js.map +1 -1
  79. package/server/dist/core/campaign-readiness-schema.d.ts +33 -0
  80. package/server/dist/core/campaign-readiness-schema.d.ts.map +1 -0
  81. package/server/dist/core/campaign-readiness-schema.js +70 -0
  82. package/server/dist/core/campaign-readiness-schema.js.map +1 -0
  83. package/server/dist/core/campaign-readiness.d.ts +59 -0
  84. package/server/dist/core/campaign-readiness.d.ts.map +1 -0
  85. package/server/dist/core/campaign-readiness.js +163 -0
  86. package/server/dist/core/campaign-readiness.js.map +1 -0
  87. package/server/dist/core/campaign-status-json.d.ts +3 -0
  88. package/server/dist/core/campaign-status-json.d.ts.map +1 -1
  89. package/server/dist/core/campaign-status-json.js +7 -0
  90. package/server/dist/core/campaign-status-json.js.map +1 -1
  91. package/server/dist/core/campaign-store.d.ts.map +1 -1
  92. package/server/dist/core/campaign-store.js +4 -1
  93. package/server/dist/core/campaign-store.js.map +1 -1
  94. package/server/dist/core/campaign-types.d.ts +8 -0
  95. package/server/dist/core/campaign-types.d.ts.map +1 -1
  96. package/server/dist/core/campaign-worktree-root.d.ts +19 -0
  97. package/server/dist/core/campaign-worktree-root.d.ts.map +1 -0
  98. package/server/dist/core/campaign-worktree-root.js +76 -0
  99. package/server/dist/core/campaign-worktree-root.js.map +1 -0
  100. package/server/dist/core/claim-record-lock.d.ts +30 -0
  101. package/server/dist/core/claim-record-lock.d.ts.map +1 -0
  102. package/server/dist/core/claim-record-lock.js +90 -0
  103. package/server/dist/core/claim-record-lock.js.map +1 -0
  104. package/server/dist/core/cli-child-spawn.d.ts +28 -0
  105. package/server/dist/core/cli-child-spawn.d.ts.map +1 -0
  106. package/server/dist/core/cli-child-spawn.js +146 -0
  107. package/server/dist/core/cli-child-spawn.js.map +1 -0
  108. package/server/dist/core/codex-models-probe.d.ts +46 -0
  109. package/server/dist/core/codex-models-probe.d.ts.map +1 -0
  110. package/server/dist/core/codex-models-probe.js +103 -0
  111. package/server/dist/core/codex-models-probe.js.map +1 -0
  112. package/server/dist/core/codex-oracle-runner.d.ts +68 -0
  113. package/server/dist/core/codex-oracle-runner.d.ts.map +1 -0
  114. package/server/dist/core/codex-oracle-runner.js +124 -0
  115. package/server/dist/core/codex-oracle-runner.js.map +1 -0
  116. package/server/dist/core/codex-status-report.d.ts +6 -0
  117. package/server/dist/core/codex-status-report.d.ts.map +1 -0
  118. package/server/dist/core/codex-status-report.js +40 -0
  119. package/server/dist/core/codex-status-report.js.map +1 -0
  120. package/server/dist/core/codex-task-watcher-types.d.ts +69 -0
  121. package/server/dist/core/codex-task-watcher-types.d.ts.map +1 -0
  122. package/server/dist/core/codex-task-watcher-types.js +12 -0
  123. package/server/dist/core/codex-task-watcher-types.js.map +1 -0
  124. package/server/dist/core/codex-task-watcher.d.ts +30 -0
  125. package/server/dist/core/codex-task-watcher.d.ts.map +1 -0
  126. package/server/dist/core/codex-task-watcher.js +252 -0
  127. package/server/dist/core/codex-task-watcher.js.map +1 -0
  128. package/server/dist/core/codex-terminal-signal-detect.d.ts +7 -0
  129. package/server/dist/core/codex-terminal-signal-detect.d.ts.map +1 -0
  130. package/server/dist/core/codex-terminal-signal-detect.js +113 -0
  131. package/server/dist/core/codex-terminal-signal-detect.js.map +1 -0
  132. package/server/dist/core/codex-thread-discovery.d.ts +21 -0
  133. package/server/dist/core/codex-thread-discovery.d.ts.map +1 -0
  134. package/server/dist/core/codex-thread-discovery.js +169 -0
  135. package/server/dist/core/codex-thread-discovery.js.map +1 -0
  136. package/server/dist/core/codextender-auth-file-sweep.d.ts +41 -0
  137. package/server/dist/core/codextender-auth-file-sweep.d.ts.map +1 -0
  138. package/server/dist/core/codextender-auth-file-sweep.js +97 -0
  139. package/server/dist/core/codextender-auth-file-sweep.js.map +1 -0
  140. package/server/dist/core/codextender-proxy-probe.d.ts +80 -0
  141. package/server/dist/core/codextender-proxy-probe.d.ts.map +1 -0
  142. package/server/dist/core/codextender-proxy-probe.js +179 -0
  143. package/server/dist/core/codextender-proxy-probe.js.map +1 -0
  144. package/server/dist/core/contract-version.d.ts +16 -1
  145. package/server/dist/core/contract-version.d.ts.map +1 -1
  146. package/server/dist/core/contract-version.js +16 -1
  147. package/server/dist/core/contract-version.js.map +1 -1
  148. package/server/dist/core/launcher-codex.d.ts +61 -0
  149. package/server/dist/core/launcher-codex.d.ts.map +1 -0
  150. package/server/dist/core/launcher-codex.js +187 -0
  151. package/server/dist/core/launcher-codex.js.map +1 -0
  152. package/server/dist/core/launcher-codextender-env.d.ts +44 -0
  153. package/server/dist/core/launcher-codextender-env.d.ts.map +1 -0
  154. package/server/dist/core/launcher-codextender-env.js +212 -0
  155. package/server/dist/core/launcher-codextender-env.js.map +1 -0
  156. package/server/dist/core/launcher-codextender.d.ts +72 -0
  157. package/server/dist/core/launcher-codextender.d.ts.map +1 -0
  158. package/server/dist/core/launcher-codextender.js +98 -0
  159. package/server/dist/core/launcher-codextender.js.map +1 -0
  160. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts +25 -0
  161. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts.map +1 -0
  162. package/server/dist/core/launcher-codextender.smoke-helpers.js +211 -0
  163. package/server/dist/core/launcher-codextender.smoke-helpers.js.map +1 -0
  164. package/server/dist/core/launcher-permission-flags.d.ts +17 -0
  165. package/server/dist/core/launcher-permission-flags.d.ts.map +1 -0
  166. package/server/dist/core/launcher-permission-flags.js +27 -0
  167. package/server/dist/core/launcher-permission-flags.js.map +1 -0
  168. package/server/dist/core/launcher.d.ts +18 -0
  169. package/server/dist/core/launcher.d.ts.map +1 -1
  170. package/server/dist/core/launcher.js +6 -0
  171. package/server/dist/core/launcher.js.map +1 -1
  172. package/server/dist/core/leadwright-preflight-transport.d.ts +27 -0
  173. package/server/dist/core/leadwright-preflight-transport.d.ts.map +1 -0
  174. package/server/dist/core/leadwright-preflight-transport.js +124 -0
  175. package/server/dist/core/leadwright-preflight-transport.js.map +1 -0
  176. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts +6 -0
  177. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts.map +1 -0
  178. package/server/dist/core/mission-context/artifacts-tests-ac.js +31 -0
  179. package/server/dist/core/mission-context/artifacts-tests-ac.js.map +1 -0
  180. package/server/dist/core/mission-context/artifacts-tests.d.ts.map +1 -1
  181. package/server/dist/core/mission-context/artifacts-tests.js +20 -0
  182. package/server/dist/core/mission-context/artifacts-tests.js.map +1 -1
  183. package/server/dist/core/mission-context/resolver-io.d.ts +10 -0
  184. package/server/dist/core/mission-context/resolver-io.d.ts.map +1 -1
  185. package/server/dist/core/mission-context/resolver-parts.d.ts +8 -7
  186. package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -1
  187. package/server/dist/core/mission-context/resolver-parts.js +22 -14
  188. package/server/dist/core/mission-context/resolver-parts.js.map +1 -1
  189. package/server/dist/core/mission-context/resolver.d.ts.map +1 -1
  190. package/server/dist/core/mission-context/resolver.js +1 -1
  191. package/server/dist/core/mission-context/resolver.js.map +1 -1
  192. package/server/dist/core/mission-context/run-id-recovery.d.ts +18 -2
  193. package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -1
  194. package/server/dist/core/mission-context/run-id-recovery.js +38 -18
  195. package/server/dist/core/mission-context/run-id-recovery.js.map +1 -1
  196. package/server/dist/core/mission-context/traceability.d.ts.map +1 -1
  197. package/server/dist/core/mission-context/traceability.js +15 -1
  198. package/server/dist/core/mission-context/traceability.js.map +1 -1
  199. package/server/dist/core/mission-context/types-slice2.d.ts +44 -0
  200. package/server/dist/core/mission-context/types-slice2.d.ts.map +1 -1
  201. package/server/dist/core/model-tier-config-reader.d.ts +14 -1
  202. package/server/dist/core/model-tier-config-reader.d.ts.map +1 -1
  203. package/server/dist/core/model-tier-config-reader.js +34 -2
  204. package/server/dist/core/model-tier-config-reader.js.map +1 -1
  205. package/server/dist/core/powershell-probe.smoke-helpers.d.ts +12 -0
  206. package/server/dist/core/powershell-probe.smoke-helpers.d.ts.map +1 -0
  207. package/server/dist/core/powershell-probe.smoke-helpers.js +80 -0
  208. package/server/dist/core/powershell-probe.smoke-helpers.js.map +1 -0
  209. package/server/dist/core/readiness-install-hints.d.ts +1 -1
  210. package/server/dist/core/readiness-install-hints.d.ts.map +1 -1
  211. package/server/dist/core/readiness-install-hints.js +5 -0
  212. package/server/dist/core/readiness-install-hints.js.map +1 -1
  213. package/server/dist/core/readiness-probe-run.d.ts +61 -0
  214. package/server/dist/core/readiness-probe-run.d.ts.map +1 -1
  215. package/server/dist/core/readiness-probe-run.js +93 -15
  216. package/server/dist/core/readiness-probe-run.js.map +1 -1
  217. package/server/dist/core/readiness-probe.d.ts +1 -1
  218. package/server/dist/core/readiness-probe.d.ts.map +1 -1
  219. package/server/dist/core/readiness-probe.js +36 -8
  220. package/server/dist/core/readiness-probe.js.map +1 -1
  221. package/server/dist/core/sdk-sessions-store.d.ts +46 -0
  222. package/server/dist/core/sdk-sessions-store.d.ts.map +1 -1
  223. package/server/dist/core/sdk-sessions-store.js +1 -0
  224. package/server/dist/core/sdk-sessions-store.js.map +1 -1
  225. package/server/dist/core/sdk-sessions-validate.d.ts.map +1 -1
  226. package/server/dist/core/sdk-sessions-validate.js +11 -0
  227. package/server/dist/core/sdk-sessions-validate.js.map +1 -1
  228. package/server/dist/core/settings-reader.d.ts +18 -0
  229. package/server/dist/core/settings-reader.d.ts.map +1 -0
  230. package/server/dist/core/settings-reader.js +40 -0
  231. package/server/dist/core/settings-reader.js.map +1 -0
  232. package/server/dist/core/shell-quote.d.ts +29 -0
  233. package/server/dist/core/shell-quote.d.ts.map +1 -1
  234. package/server/dist/core/shell-quote.js +34 -0
  235. package/server/dist/core/shell-quote.js.map +1 -1
  236. package/server/dist/core/task-editability.d.ts +1 -1
  237. package/server/dist/core/task-editability.d.ts.map +1 -1
  238. package/server/dist/core/task-editability.js +1 -0
  239. package/server/dist/core/task-editability.js.map +1 -1
  240. package/server/dist/core/triage-cli-runner.d.ts.map +1 -1
  241. package/server/dist/core/triage-cli-runner.js +6 -21
  242. package/server/dist/core/triage-cli-runner.js.map +1 -1
  243. package/server/dist/core/triage-compose.d.ts.map +1 -1
  244. package/server/dist/core/triage-compose.js +34 -3
  245. package/server/dist/core/triage-compose.js.map +1 -1
  246. package/server/dist/core/triage-store.d.ts +2 -1
  247. package/server/dist/core/triage-store.d.ts.map +1 -1
  248. package/server/dist/core/triage-store.js +1 -1
  249. package/server/dist/core/triage-store.js.map +1 -1
  250. package/server/dist/external/create-external-routes-args.d.ts +122 -0
  251. package/server/dist/external/create-external-routes-args.d.ts.map +1 -0
  252. package/server/dist/external/create-external-routes-args.js +2 -0
  253. package/server/dist/external/create-external-routes-args.js.map +1 -0
  254. package/server/dist/external/inbox/_codex.d.ts +14 -0
  255. package/server/dist/external/inbox/_codex.d.ts.map +1 -0
  256. package/server/dist/external/inbox/_codex.js +88 -0
  257. package/server/dist/external/inbox/_codex.js.map +1 -0
  258. package/server/dist/external/inbox/_derive.d.ts.map +1 -1
  259. package/server/dist/external/inbox/_derive.js +11 -0
  260. package/server/dist/external/inbox/_derive.js.map +1 -1
  261. package/server/dist/external/inbox/_types.d.ts +23 -0
  262. package/server/dist/external/inbox/_types.d.ts.map +1 -1
  263. package/server/dist/external/inbox/_types.js +8 -5
  264. package/server/dist/external/inbox/_types.js.map +1 -1
  265. package/server/dist/external/inbox/routes.d.ts +7 -0
  266. package/server/dist/external/inbox/routes.d.ts.map +1 -1
  267. package/server/dist/external/inbox/routes.js +15 -2
  268. package/server/dist/external/inbox/routes.js.map +1 -1
  269. package/server/dist/external/launch/_helpers.d.ts +4 -0
  270. package/server/dist/external/launch/_helpers.d.ts.map +1 -1
  271. package/server/dist/external/launch/_helpers.js.map +1 -1
  272. package/server/dist/external/launch/action-substitution-branch.d.ts +12 -0
  273. package/server/dist/external/launch/action-substitution-branch.d.ts.map +1 -1
  274. package/server/dist/external/launch/action-substitution-branch.js +35 -1
  275. package/server/dist/external/launch/action-substitution-branch.js.map +1 -1
  276. package/server/dist/external/launch/branch-dispatch.d.ts +15 -0
  277. package/server/dist/external/launch/branch-dispatch.d.ts.map +1 -0
  278. package/server/dist/external/launch/branch-dispatch.js +73 -0
  279. package/server/dist/external/launch/branch-dispatch.js.map +1 -0
  280. package/server/dist/external/launch/campaign-step-branch.d.ts +7 -1
  281. package/server/dist/external/launch/campaign-step-branch.d.ts.map +1 -1
  282. package/server/dist/external/launch/campaign-step-branch.js +70 -2
  283. package/server/dist/external/launch/campaign-step-branch.js.map +1 -1
  284. package/server/dist/external/launch/claim-executor-permissions.d.ts +31 -0
  285. package/server/dist/external/launch/claim-executor-permissions.d.ts.map +1 -0
  286. package/server/dist/external/launch/claim-executor-permissions.js +107 -0
  287. package/server/dist/external/launch/claim-executor-permissions.js.map +1 -0
  288. package/server/dist/external/launch/claim-executor-template-arming.d.ts +42 -0
  289. package/server/dist/external/launch/claim-executor-template-arming.d.ts.map +1 -0
  290. package/server/dist/external/launch/claim-executor-template-arming.js +121 -0
  291. package/server/dist/external/launch/claim-executor-template-arming.js.map +1 -0
  292. package/server/dist/external/launch/claim-holder-gate.d.ts +9 -0
  293. package/server/dist/external/launch/claim-holder-gate.d.ts.map +1 -1
  294. package/server/dist/external/launch/claim-holder-gate.js +10 -2
  295. package/server/dist/external/launch/claim-holder-gate.js.map +1 -1
  296. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts +3 -0
  297. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts.map +1 -0
  298. package/server/dist/external/launch/claim-permission-perimeter-assert.js +24 -0
  299. package/server/dist/external/launch/claim-permission-perimeter-assert.js.map +1 -0
  300. package/server/dist/external/launch/legacy-fallback-branch.d.ts +14 -0
  301. package/server/dist/external/launch/legacy-fallback-branch.d.ts.map +1 -1
  302. package/server/dist/external/launch/legacy-fallback-branch.js +3 -1
  303. package/server/dist/external/launch/legacy-fallback-branch.js.map +1 -1
  304. package/server/dist/external/launch/master-run-branch.js +2 -2
  305. package/server/dist/external/launch/master-run-branch.js.map +1 -1
  306. package/server/dist/external/launch/mixed-intents-guard.d.ts +10 -0
  307. package/server/dist/external/launch/mixed-intents-guard.d.ts.map +1 -0
  308. package/server/dist/external/launch/mixed-intents-guard.js +49 -0
  309. package/server/dist/external/launch/mixed-intents-guard.js.map +1 -0
  310. package/server/dist/external/launch/parse-body.d.ts +29 -0
  311. package/server/dist/external/launch/parse-body.d.ts.map +1 -1
  312. package/server/dist/external/launch/parse-body.js +66 -0
  313. package/server/dist/external/launch/parse-body.js.map +1 -1
  314. package/server/dist/external/launch/routes.d.ts +3 -0
  315. package/server/dist/external/launch/routes.d.ts.map +1 -1
  316. package/server/dist/external/launch/routes.js +76 -109
  317. package/server/dist/external/launch/routes.js.map +1 -1
  318. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts +20 -0
  319. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts.map +1 -0
  320. package/server/dist/external/launch/runtime-chokepoint-codextender.js +51 -0
  321. package/server/dist/external/launch/runtime-chokepoint-codextender.js.map +1 -0
  322. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts +33 -0
  323. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts.map +1 -0
  324. package/server/dist/external/launch/runtime-chokepoint-errors.js +63 -0
  325. package/server/dist/external/launch/runtime-chokepoint-errors.js.map +1 -0
  326. package/server/dist/external/launch/runtime-chokepoint.d.ts +120 -0
  327. package/server/dist/external/launch/runtime-chokepoint.d.ts.map +1 -0
  328. package/server/dist/external/launch/runtime-chokepoint.js +201 -0
  329. package/server/dist/external/launch/runtime-chokepoint.js.map +1 -0
  330. package/server/dist/external/mission-context/routes.d.ts +33 -27
  331. package/server/dist/external/mission-context/routes.d.ts.map +1 -1
  332. package/server/dist/external/mission-context/routes.js +30 -27
  333. package/server/dist/external/mission-context/routes.js.map +1 -1
  334. package/server/dist/external/mission-context/test-harness.d.ts +6 -0
  335. package/server/dist/external/mission-context/test-harness.d.ts.map +1 -1
  336. package/server/dist/external/mission-context/test-harness.js +6 -1
  337. package/server/dist/external/mission-context/test-harness.js.map +1 -1
  338. package/server/dist/external/mission-context/wire.d.ts.map +1 -1
  339. package/server/dist/external/mission-context/wire.js +24 -2
  340. package/server/dist/external/mission-context/wire.js.map +1 -1
  341. package/server/dist/external/org/audit-log.d.ts +19 -0
  342. package/server/dist/external/org/audit-log.d.ts.map +1 -1
  343. package/server/dist/external/org/audit-log.js +33 -18
  344. package/server/dist/external/org/audit-log.js.map +1 -1
  345. package/server/dist/external/org/beat-effect-audit-read.d.ts +15 -0
  346. package/server/dist/external/org/beat-effect-audit-read.d.ts.map +1 -0
  347. package/server/dist/external/org/beat-effect-audit-read.js +73 -0
  348. package/server/dist/external/org/beat-effect-audit-read.js.map +1 -0
  349. package/server/dist/external/org/beat-register-health.d.ts +57 -0
  350. package/server/dist/external/org/beat-register-health.d.ts.map +1 -0
  351. package/server/dist/external/org/beat-register-health.js +125 -0
  352. package/server/dist/external/org/beat-register-health.js.map +1 -0
  353. package/server/dist/external/org/beat-register-release-core.d.ts.map +1 -1
  354. package/server/dist/external/org/beat-register-release-core.js +4 -1
  355. package/server/dist/external/org/beat-register-release-core.js.map +1 -1
  356. package/server/dist/external/org/beat-register-release-request.d.ts +20 -0
  357. package/server/dist/external/org/beat-register-release-request.d.ts.map +1 -0
  358. package/server/dist/external/org/beat-register-release-request.js +92 -0
  359. package/server/dist/external/org/beat-register-release-request.js.map +1 -0
  360. package/server/dist/external/org/beat-register-release.d.ts +3 -1
  361. package/server/dist/external/org/beat-register-release.d.ts.map +1 -1
  362. package/server/dist/external/org/beat-register-release.js +15 -57
  363. package/server/dist/external/org/beat-register-release.js.map +1 -1
  364. package/server/dist/external/org/beat-register.d.ts +18 -20
  365. package/server/dist/external/org/beat-register.d.ts.map +1 -1
  366. package/server/dist/external/org/beat-register.js +30 -56
  367. package/server/dist/external/org/beat-register.js.map +1 -1
  368. package/server/dist/external/org/beat-steps-read.d.ts +17 -0
  369. package/server/dist/external/org/beat-steps-read.d.ts.map +1 -0
  370. package/server/dist/external/org/beat-steps-read.js +89 -0
  371. package/server/dist/external/org/beat-steps-read.js.map +1 -0
  372. package/server/dist/external/org/charter-authority-read.d.ts +39 -0
  373. package/server/dist/external/org/charter-authority-read.d.ts.map +1 -0
  374. package/server/dist/external/org/charter-authority-read.js +142 -0
  375. package/server/dist/external/org/charter-authority-read.js.map +1 -0
  376. package/server/dist/external/org/commit-validate.d.ts +18 -0
  377. package/server/dist/external/org/commit-validate.d.ts.map +1 -0
  378. package/server/dist/external/org/commit-validate.js +59 -0
  379. package/server/dist/external/org/commit-validate.js.map +1 -0
  380. package/server/dist/external/org/commit-writes.d.ts +68 -0
  381. package/server/dist/external/org/commit-writes.d.ts.map +1 -0
  382. package/server/dist/external/org/commit-writes.js +110 -0
  383. package/server/dist/external/org/commit-writes.js.map +1 -0
  384. package/server/dist/external/org/commit.d.ts +73 -0
  385. package/server/dist/external/org/commit.d.ts.map +1 -0
  386. package/server/dist/external/org/commit.js +181 -0
  387. package/server/dist/external/org/commit.js.map +1 -0
  388. package/server/dist/external/org/commit.test-fixtures.d.ts +38 -0
  389. package/server/dist/external/org/commit.test-fixtures.d.ts.map +1 -0
  390. package/server/dist/external/org/commit.test-fixtures.js +67 -0
  391. package/server/dist/external/org/commit.test-fixtures.js.map +1 -0
  392. package/server/dist/external/org/countersign-core.d.ts +19 -0
  393. package/server/dist/external/org/countersign-core.d.ts.map +1 -0
  394. package/server/dist/external/org/countersign-core.js +122 -0
  395. package/server/dist/external/org/countersign-core.js.map +1 -0
  396. package/server/dist/external/org/countersign-request.d.ts +14 -0
  397. package/server/dist/external/org/countersign-request.d.ts.map +1 -0
  398. package/server/dist/external/org/countersign-request.js +78 -0
  399. package/server/dist/external/org/countersign-request.js.map +1 -0
  400. package/server/dist/external/org/countersign.d.ts +6 -5
  401. package/server/dist/external/org/countersign.d.ts.map +1 -1
  402. package/server/dist/external/org/countersign.js +12 -141
  403. package/server/dist/external/org/countersign.js.map +1 -1
  404. package/server/dist/external/org/daemon-config-read.d.ts +31 -0
  405. package/server/dist/external/org/daemon-config-read.d.ts.map +1 -0
  406. package/server/dist/external/org/daemon-config-read.js +50 -0
  407. package/server/dist/external/org/daemon-config-read.js.map +1 -0
  408. package/server/dist/external/org/decisions-lock.d.ts +6 -4
  409. package/server/dist/external/org/decisions-lock.d.ts.map +1 -1
  410. package/server/dist/external/org/decisions-lock.js +9 -8
  411. package/server/dist/external/org/decisions-lock.js.map +1 -1
  412. package/server/dist/external/org/domains.d.ts +35 -0
  413. package/server/dist/external/org/domains.d.ts.map +1 -0
  414. package/server/dist/external/org/domains.js +29 -0
  415. package/server/dist/external/org/domains.js.map +1 -0
  416. package/server/dist/external/org/existing-charters-read.d.ts +5 -0
  417. package/server/dist/external/org/existing-charters-read.d.ts.map +1 -0
  418. package/server/dist/external/org/existing-charters-read.js +31 -0
  419. package/server/dist/external/org/existing-charters-read.js.map +1 -0
  420. package/server/dist/external/org/leadwright-proposal-merge.d.ts +54 -0
  421. package/server/dist/external/org/leadwright-proposal-merge.d.ts.map +1 -0
  422. package/server/dist/external/org/leadwright-proposal-merge.js +47 -0
  423. package/server/dist/external/org/leadwright-proposal-merge.js.map +1 -0
  424. package/server/dist/external/org/mount.d.ts +10 -2
  425. package/server/dist/external/org/mount.d.ts.map +1 -1
  426. package/server/dist/external/org/mount.js +6 -1
  427. package/server/dist/external/org/mount.js.map +1 -1
  428. package/server/dist/external/org/org-chart-full-read.d.ts +19 -0
  429. package/server/dist/external/org/org-chart-full-read.d.ts.map +1 -0
  430. package/server/dist/external/org/org-chart-full-read.js +58 -0
  431. package/server/dist/external/org/org-chart-full-read.js.map +1 -0
  432. package/server/dist/external/org/org-file-lock.d.ts +41 -0
  433. package/server/dist/external/org/org-file-lock.d.ts.map +1 -0
  434. package/server/dist/external/org/org-file-lock.js +90 -0
  435. package/server/dist/external/org/org-file-lock.js.map +1 -0
  436. package/server/dist/external/org/routes.d.ts +10 -0
  437. package/server/dist/external/org/routes.d.ts.map +1 -1
  438. package/server/dist/external/org/routes.js +22 -1
  439. package/server/dist/external/org/routes.js.map +1 -1
  440. package/server/dist/external/org/verdict.d.ts +57 -0
  441. package/server/dist/external/org/verdict.d.ts.map +1 -0
  442. package/server/dist/external/org/verdict.js +74 -0
  443. package/server/dist/external/org/verdict.js.map +1 -0
  444. package/server/dist/external/routes.d.ts +3 -101
  445. package/server/dist/external/routes.d.ts.map +1 -1
  446. package/server/dist/external/routes.js +19 -4
  447. package/server/dist/external/routes.js.map +1 -1
  448. package/server/dist/external/tasks/create.d.ts.map +1 -1
  449. package/server/dist/external/tasks/create.js +8 -0
  450. package/server/dist/external/tasks/create.js.map +1 -1
  451. package/server/dist/external/tasks/fork.d.ts +29 -0
  452. package/server/dist/external/tasks/fork.d.ts.map +1 -0
  453. package/server/dist/external/tasks/fork.js +166 -0
  454. package/server/dist/external/tasks/fork.js.map +1 -0
  455. package/server/dist/external/tasks/lifecycle.d.ts.map +1 -1
  456. package/server/dist/external/tasks/lifecycle.js +10 -57
  457. package/server/dist/external/tasks/lifecycle.js.map +1 -1
  458. package/server/dist/external/tasks/patch.d.ts.map +1 -1
  459. package/server/dist/external/tasks/patch.js +17 -0
  460. package/server/dist/external/tasks/patch.js.map +1 -1
  461. package/server/dist/external/tasks/routes.d.ts +2 -0
  462. package/server/dist/external/tasks/routes.d.ts.map +1 -1
  463. package/server/dist/external/tasks/routes.js +7 -0
  464. package/server/dist/external/tasks/routes.js.map +1 -1
  465. package/server/dist/external/transcript/routes.d.ts.map +1 -1
  466. package/server/dist/external/transcript/routes.js +25 -3
  467. package/server/dist/external/transcript/routes.js.map +1 -1
  468. package/server/dist/external-routes-wiring.d.ts +28 -0
  469. package/server/dist/external-routes-wiring.d.ts.map +1 -0
  470. package/server/dist/external-routes-wiring.js +61 -0
  471. package/server/dist/external-routes-wiring.js.map +1 -0
  472. package/server/dist/index.d.ts.map +1 -1
  473. package/server/dist/index.js +111 -44
  474. package/server/dist/index.js.map +1 -1
  475. package/server/dist/lib/resolveHonoHost.d.ts.map +1 -1
  476. package/server/dist/lib/resolveHonoHost.js +16 -1
  477. package/server/dist/lib/resolveHonoHost.js.map +1 -1
  478. package/server/dist/routes/_triage-api-harness.d.ts +1 -1
  479. package/server/dist/routes/_triage-api-harness.d.ts.map +1 -1
  480. package/server/dist/routes/_triage-api-harness.js.map +1 -1
  481. package/server/dist/routes/campaigns-readiness.d.ts +10 -0
  482. package/server/dist/routes/campaigns-readiness.d.ts.map +1 -0
  483. package/server/dist/routes/campaigns-readiness.js +58 -0
  484. package/server/dist/routes/campaigns-readiness.js.map +1 -0
  485. package/server/dist/routes/campaigns.d.ts.map +1 -1
  486. package/server/dist/routes/campaigns.js +3 -0
  487. package/server/dist/routes/campaigns.js.map +1 -1
  488. package/server/dist/routes/codex-models.d.ts +15 -0
  489. package/server/dist/routes/codex-models.d.ts.map +1 -0
  490. package/server/dist/routes/codex-models.js +77 -0
  491. package/server/dist/routes/codex-models.js.map +1 -0
  492. package/server/dist/routes/codextender-models.d.ts +16 -0
  493. package/server/dist/routes/codextender-models.d.ts.map +1 -0
  494. package/server/dist/routes/codextender-models.js +81 -0
  495. package/server/dist/routes/codextender-models.js.map +1 -0
  496. package/server/dist/routes/diagnostics.d.ts +15 -0
  497. package/server/dist/routes/diagnostics.d.ts.map +1 -1
  498. package/server/dist/routes/diagnostics.js +1 -0
  499. package/server/dist/routes/diagnostics.js.map +1 -1
  500. package/server/dist/routes/org-chart-lead-guard.d.ts +10 -0
  501. package/server/dist/routes/org-chart-lead-guard.d.ts.map +1 -0
  502. package/server/dist/routes/org-chart-lead-guard.js +49 -0
  503. package/server/dist/routes/org-chart-lead-guard.js.map +1 -0
  504. package/server/dist/routes/org-inventory-composite.d.ts +20 -0
  505. package/server/dist/routes/org-inventory-composite.d.ts.map +1 -0
  506. package/server/dist/routes/org-inventory-composite.js +100 -0
  507. package/server/dist/routes/org-inventory-composite.js.map +1 -0
  508. package/server/dist/routes/org-lead-setup-wizard.d.ts +10 -0
  509. package/server/dist/routes/org-lead-setup-wizard.d.ts.map +1 -0
  510. package/server/dist/routes/org-lead-setup-wizard.js +51 -0
  511. package/server/dist/routes/org-lead-setup-wizard.js.map +1 -0
  512. package/server/dist/routes/org-leads-composite.d.ts.map +1 -1
  513. package/server/dist/routes/org-leads-composite.js +35 -9
  514. package/server/dist/routes/org-leads-composite.js.map +1 -1
  515. package/server/dist/routes/org-writes.d.ts +14 -0
  516. package/server/dist/routes/org-writes.d.ts.map +1 -0
  517. package/server/dist/routes/org-writes.js +61 -0
  518. package/server/dist/routes/org-writes.js.map +1 -0
  519. package/server/dist/routes/org.d.ts +11 -2
  520. package/server/dist/routes/org.d.ts.map +1 -1
  521. package/server/dist/routes/org.js +50 -47
  522. package/server/dist/routes/org.js.map +1 -1
  523. package/server/dist/routes/settings.d.ts.map +1 -1
  524. package/server/dist/routes/settings.js +23 -2
  525. package/server/dist/routes/settings.js.map +1 -1
  526. package/server/dist/routes/triage.d.ts +17 -0
  527. package/server/dist/routes/triage.d.ts.map +1 -1
  528. package/server/dist/routes/triage.js +29 -0
  529. package/server/dist/routes/triage.js.map +1 -1
  530. package/server/dist/terminal/pty-manager.d.ts +14 -0
  531. package/server/dist/terminal/pty-manager.d.ts.map +1 -1
  532. package/server/dist/terminal/pty-manager.js +11 -0
  533. package/server/dist/terminal/pty-manager.js.map +1 -1
  534. package/server/dist/terminal/routes.d.ts.map +1 -1
  535. package/server/dist/terminal/routes.js +9 -0
  536. package/server/dist/terminal/routes.js.map +1 -1
  537. package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -1
  538. package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -1
  539. package/server/dist/terminal/ws-upgrade-handler.fixtures.js +1 -0
  540. package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -1
  541. package/server/dist/terminal/ws-upgrade-handler.js +14 -5
  542. package/server/dist/terminal/ws-upgrade-handler.js.map +1 -1
  543. package/server/dist/test/event-test-counts-fixtures.d.ts +40 -0
  544. package/server/dist/test/event-test-counts-fixtures.d.ts.map +1 -0
  545. package/server/dist/test/event-test-counts-fixtures.js +56 -0
  546. package/server/dist/test/event-test-counts-fixtures.js.map +1 -0
  547. package/server/dist/types/leadwright-beat-step.d.ts +19 -0
  548. package/server/dist/types/leadwright-beat-step.d.ts.map +1 -0
  549. package/server/dist/types/leadwright-beat-step.js +56 -0
  550. package/server/dist/types/leadwright-beat-step.js.map +1 -0
  551. package/server/dist/types/leadwright-preflight.d.ts +90 -0
  552. package/server/dist/types/leadwright-preflight.d.ts.map +1 -0
  553. package/server/dist/types/leadwright-preflight.js +65 -0
  554. package/server/dist/types/leadwright-preflight.js.map +1 -0
  555. package/server/dist/types/leadwright-schema-drift.d.ts +28 -0
  556. package/server/dist/types/leadwright-schema-drift.d.ts.map +1 -0
  557. package/server/dist/types/leadwright-schema-drift.js +89 -0
  558. package/server/dist/types/leadwright-schema-drift.js.map +1 -0
  559. package/server/dist/types/org-inventory.d.ts +53 -0
  560. package/server/dist/types/org-inventory.d.ts.map +1 -0
  561. package/server/dist/types/org-inventory.js +11 -0
  562. package/server/dist/types/org-inventory.js.map +1 -0
  563. package/server/dist/types/org.d.ts +57 -6
  564. package/server/dist/types/org.d.ts.map +1 -1
  565. package/server/dist/types/run-config-retry.d.ts +29 -0
  566. package/server/dist/types/run-config-retry.d.ts.map +1 -0
  567. package/server/dist/types/run-config-retry.js +47 -0
  568. package/server/dist/types/run-config-retry.js.map +1 -0
  569. package/server/dist/types/run-config-v2.d.ts +29 -41
  570. package/server/dist/types/run-config-v2.d.ts.map +1 -1
  571. package/server/dist/types/run-config-v2.js +16 -50
  572. package/server/dist/types/run-config-v2.js.map +1 -1
  573. package/server/dist/types/settings.d.ts +33 -0
  574. package/server/dist/types/settings.d.ts.map +1 -1
  575. package/server/dist/vendor/leadwright/beat-step.schema.json +83 -0
  576. package/server/dist/vendor/leadwright/claim-record-lock-contract.json +15 -0
  577. package/server/dist/vendor/leadwright/org-chart.schema.json +195 -0
  578. package/server/dist/vendor/leadwright/preflight-input.schema.json +318 -0
  579. package/server/dist/vendor/leadwright/preflight-result.schema.json +56 -0
  580. package/server/package.json +1 -1
  581. package/client/dist/assets/channel-BfmIcrp7.js +0 -1
  582. package/client/dist/assets/classDiagram-OUVF2IWQ-HfUQZ6Uc.js +0 -1
  583. package/client/dist/assets/classDiagram-v2-EOCWNBFH-HfUQZ6Uc.js +0 -1
  584. package/client/dist/assets/index-CKU9dY18.css +0 -1
  585. package/client/dist/assets/index-DOMl6atu.js +0 -847
  586. package/client/dist/assets/stateDiagram-v2-6OUMAXLB-srkiu3Ib.js +0 -1
  587. package/client/dist/assets/swimlanesDiagram-G3AALYLV-Dq-0K9Zm.js +0 -8
@@ -0,0 +1,166 @@
1
+ /*
2
+ * external/tasks/fork.ts — POST /tasks/:id/fork.
3
+ *
4
+ * Split out of lifecycle.ts (Codextender integration file-size cleanup,
5
+ * 2026-09-23 — lifecycle.ts crossed the 300-line guideline) so each file
6
+ * stays a single concern. Clone a task with a parent linkage + emit fresh
7
+ * launch commands. Fork bypasses the main launch chokepoint (§2.1's
8
+ * correction) entirely — it has its own AC8-equivalent CLI/proxy preflight
9
+ * and its own runtime/integration-mode inheritance, mirroring but never
10
+ * calling `runtime-chokepoint.ts`.
11
+ */
12
+ import { existsSync } from "node:fs";
13
+ import path from "node:path";
14
+ import { probeCodextenderLiveness, resolveCodextenderMaxContextTokens, } from "../../core/codextender-proxy-probe.js";
15
+ import { buildCopyCommands } from "../../core/launcher.js";
16
+ import { buildCodexCommands } from "../../core/launcher-codex.js";
17
+ import { buildCodextenderCommands, resolveCodextenderAuthToken, } from "../../core/launcher-codextender.js";
18
+ import { normalizeTitle, withLiveSession } from "../_shared/helpers.js";
19
+ import { isCodexCliAvailable, runtimeForTask } from "../launch/runtime-chokepoint.js";
20
+ import { codexCliNotFoundError, codextenderAuthTokenMissingError, codextenderProxyUnreachableError, } from "../launch/runtime-chokepoint-errors.js";
21
+ export function registerTasksFork(app, deps) {
22
+ const { store, ptyManager, getProjectById, checkCodexCliAvailable = isCodexCliAvailable, checkCodextenderProxyAvailable, getCodextenderPort, getCodextenderMaxContextTokens = (port) => resolveCodextenderMaxContextTokens(port, undefined), getCodextenderAuthToken = resolveCodextenderAuthToken, } = deps;
23
+ app.post("/api/external/tasks/:id/fork", async (c) => {
24
+ const parent = store.get(c.req.param("id"));
25
+ if (!parent)
26
+ return c.json({ error: "Parent task not found" }, 404);
27
+ // Doubt-review HIGH — `store.get()` returns the live, shared task
28
+ // object, and `store.patch()` mutates it in place (e.g. a concurrent
29
+ // relaunch of the parent in another tab). This handler awaits multiple
30
+ // times (settings read, CLI/proxy probe, store.create); re-reading
31
+ // `parent.runtime`/`parent.codexIntegrationMode` after each await could
32
+ // observe a DIFFERENT value than the preflight branch above already
33
+ // committed to, silently skipping the CLI/proxy check the later branch
34
+ // assumed already ran. Snapshot both fields ONCE, before the first
35
+ // await, and use only these locals for the rest of the handler.
36
+ const parentRuntime = parent.runtime;
37
+ const parentCodexIntegrationMode = parent.codexIntegrationMode;
38
+ const body = await c.req.json().catch(() => ({}));
39
+ // D22/F27 — validate a PROVIDED (non-blank) title with PATCH's own rule
40
+ // BEFORE creating the child (no orphan row on an invalid title). Absent/
41
+ // blank keeps the "<parent> — fork" default.
42
+ let title = `${parent.title} — fork`;
43
+ if (typeof body.title === "string" && body.title.trim()) {
44
+ const r = normalizeTitle(body.title);
45
+ if (!r.ok)
46
+ return c.json({ error: r.error }, 400);
47
+ title = r.value;
48
+ }
49
+ // AC8 (PR-review preflight finding) — fork bypasses the main chokepoint
50
+ // (§2.1's correction), so it needs its own CLI check, before store.create
51
+ // like the title validation above (no orphan child row).
52
+ //
53
+ // Codextender integration Part B.6 — a Codextender-mode parent (parent.
54
+ // codexIntegrationMode is stamped at the PARENT's own launch, so it's
55
+ // already known here — no fresh-settings read needed the way the launch
56
+ // chokepoint requires) drives ordinary `claude`, so the relevant
57
+ // preflight is the proxy probe, not `codex --version`.
58
+ //
59
+ // The port read is scoped to this branch (not hoisted above the `if`)
60
+ // so the common case — forking an ordinary Claude-runtime task — never
61
+ // pays for a settings read whose result it would discard.
62
+ let codextenderPort;
63
+ let codextenderAuthToken;
64
+ let codextenderMaxContextTokens;
65
+ if (parentRuntime === "codex" && parentCodexIntegrationMode === "codextender") {
66
+ codextenderPort = (await getCodextenderPort?.()) ?? 4000;
67
+ const proxyOk = checkCodextenderProxyAvailable
68
+ ? await checkCodextenderProxyAvailable()
69
+ : await probeCodextenderLiveness(codextenderPort);
70
+ if (!proxyOk) {
71
+ return c.json(codextenderProxyUnreachableError(codextenderPort), 400);
72
+ }
73
+ codextenderAuthToken = getCodextenderAuthToken();
74
+ if (!codextenderAuthToken) {
75
+ return c.json(codextenderAuthTokenMissingError(), 400);
76
+ }
77
+ codextenderMaxContextTokens = await getCodextenderMaxContextTokens(codextenderPort);
78
+ }
79
+ else if (parentRuntime === "codex" && !(await checkCodexCliAvailable())) {
80
+ return c.json(codexCliNotFoundError(), 400);
81
+ }
82
+ const child = store.create({
83
+ title,
84
+ cwd: parent.cwd,
85
+ pluginDirs: parent.pluginDirs,
86
+ parentTaskId: parent.taskId,
87
+ parentSessionUuid: parent.sessionUuid,
88
+ // Section 02 — forks inherit the parent's projectId.
89
+ projectId: parent.projectId,
90
+ // Codex Light §2.1's correction — fork does NOT share the main
91
+ // chokepoint; a forked task must inherit the parent's runtime here,
92
+ // explicitly, or it silently becomes a Claude task. Uses the snapshot
93
+ // taken above the preflight, not a fresh `parent.runtime` re-read.
94
+ runtime: parentRuntime,
95
+ });
96
+ let commands;
97
+ if (runtimeForTask(child) === "codex" && parentCodexIntegrationMode === "codextender") {
98
+ // Codextender integration Part B.6 — same "reuse the plain-Claude fork
99
+ // commands, prepend the env-var prefix" pattern the launch chokepoint
100
+ // uses (launcher-codextender.ts's own doc comment).
101
+ const plainForkCommands = buildCopyCommands({
102
+ sessionUuid: child.sessionUuid,
103
+ cwd: child.cwd,
104
+ fork: true,
105
+ parentSessionUuid: parent.sessionUuid,
106
+ pluginDirs: child.pluginDirs,
107
+ title: child.title,
108
+ });
109
+ commands = buildCodextenderCommands({
110
+ cwd: child.cwd,
111
+ // `codextenderPort`/`codextenderAuthToken` are always set on this
112
+ // path — the same `parentCodexIntegrationMode === "codextender"`
113
+ // guard above assigned both (both branches now read the same
114
+ // snapshot local, so this invariant can no longer be defeated by a
115
+ // concurrent mutation of the live `parent` object between the two
116
+ // checks). The `?? 4000` / `!` are unreachable-but-safe, not real
117
+ // fallbacks — the auth-token preflight above already returned 400
118
+ // if it were missing.
119
+ baseUrl: `http://127.0.0.1:${codextenderPort ?? 4000}`,
120
+ authToken: codextenderAuthToken,
121
+ claudeCommands: plainForkCommands,
122
+ maxContextTokens: codextenderMaxContextTokens,
123
+ });
124
+ }
125
+ else if (runtimeForTask(child) === "codex") {
126
+ const hasAgentsMd = Boolean(getProjectById &&
127
+ getProjectById(child.projectId)?.path &&
128
+ existsSync(path.join(getProjectById(child.projectId).path || "", "AGENTS.md")));
129
+ commands = buildCodexCommands({
130
+ cwd: child.cwd,
131
+ autonomy: parent.autonomy ?? "guided",
132
+ resume: false,
133
+ phase: parent.phase,
134
+ description: parent.description,
135
+ hasAgentsMd,
136
+ });
137
+ }
138
+ else {
139
+ commands = buildCopyCommands({
140
+ sessionUuid: child.sessionUuid,
141
+ cwd: child.cwd,
142
+ fork: true,
143
+ parentSessionUuid: parent.sessionUuid,
144
+ pluginDirs: child.pluginDirs,
145
+ title: child.title,
146
+ });
147
+ }
148
+ store.patch(child.taskId, {
149
+ state: "awaiting_external_start",
150
+ launchedAt: new Date().toISOString(),
151
+ // Codextender integration Part B.6 — a forked task inherits the
152
+ // PARENT's already-established integration mode (mirrors `runtime:
153
+ // parentRuntime` at store.create above), never today's global
154
+ // setting, which may have changed since the parent's own launch —
155
+ // and never a fresh `parent.codexIntegrationMode` re-read, which
156
+ // could now disagree with the preflight that already ran above.
157
+ codexIntegrationMode: parentCodexIntegrationMode,
158
+ });
159
+ await store.persist();
160
+ return c.json({
161
+ task: withLiveSession(store.get(child.taskId), ptyManager),
162
+ commands,
163
+ });
164
+ });
165
+ }
166
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/external/tasks/fork.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/lifecycle.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAI1C,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,IAAI,EACT,IAAI,EAAE;IACJ,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACV,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAG7B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;IACF,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,GACA,IAAI,CAoNN"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/lifecycle.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAI1C,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,IAAI,EACT,IAAI,EAAE;IACJ,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QACV,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAG7B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;IACF,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,GACA,IAAI,CAmKN"}
@@ -1,70 +1,23 @@
1
1
  /*
2
- * external/tasks/lifecycle.ts — POST /tasks/:id/fork, /close, /backlog +
3
- * DELETE /tasks/:id.
2
+ * external/tasks/lifecycle.ts — POST /tasks/:id/close, /backlog, /reopen,
3
+ * /column + DELETE /tasks/:id.
4
4
  *
5
- * fork — clone a task with a parent linkage + emit fresh launch commands.
6
- * close — `state → done` (terminal).
7
- * backlog — `state → draft` (FR-01.32, move back to Backlog column).
8
- * delete — drop the task + cascade-clear scrollback + snapshot.
5
+ * (Fork lives in `./fork.ts` — split out during the Codextender integration's
6
+ * file-size cleanup, 2026-09-23.)
9
7
  *
10
- * ADR-068-A1 + ADR-087 — DELETE cascade-clears scrollback files +
11
- * snapshot files. Best-effort; the task delete is the authoritative
12
- * privacy boundary.
8
+ * close — `state → done` (terminal). backlog — `state → draft` (FR-01.32,
9
+ * back to the Backlog column). delete — drop the task + cascade-clear
10
+ * scrollback + snapshot (ADR-068-A1 + ADR-087, best-effort; the task
11
+ * delete itself is the authoritative privacy boundary).
13
12
  *
14
13
  * CLAUDE.md rule 6 — backlog's `store.persist` returns 409 on ELOCKED
15
14
  * (proper-lockfile contention).
16
15
  */
17
- import { buildCopyCommands } from "../../core/launcher.js";
18
16
  import { isBacklogSourceState, } from "../../core/sdk-sessions-store.js";
19
- import { normalizeTitle, withLiveSession } from "../_shared/helpers.js";
17
+ import { withLiveSession } from "../_shared/helpers.js";
20
18
  import { isBoardColumn } from "../../core/board-column.js";
21
19
  export function registerTasksLifecycle(app, deps) {
22
- const { store, ptyManager, scrollbackClearBestEffort, snapshotClearBestEffort, } = deps;
23
- app.post("/api/external/tasks/:id/fork", async (c) => {
24
- const parent = store.get(c.req.param("id"));
25
- if (!parent)
26
- return c.json({ error: "Parent task not found" }, 404);
27
- const body = await c.req.json().catch(() => ({}));
28
- // D22/F27 — validate a PROVIDED (non-blank) fork title with the same rule
29
- // PATCH applies BEFORE creating the child, so an invalid title (embedded
30
- // newlines / over-length) is rejected up-front instead of leaving an
31
- // orphan child row behind (the pre-fix normalizeTitle throw in
32
- // buildCopyCommands 500'd AFTER store.create). An absent / blank title
33
- // keeps the "<parent> — fork" default.
34
- let title = `${parent.title} — fork`;
35
- if (typeof body.title === "string" && body.title.trim()) {
36
- const r = normalizeTitle(body.title);
37
- if (!r.ok)
38
- return c.json({ error: r.error }, 400);
39
- title = r.value;
40
- }
41
- const child = store.create({
42
- title,
43
- cwd: parent.cwd,
44
- pluginDirs: parent.pluginDirs,
45
- parentTaskId: parent.taskId,
46
- parentSessionUuid: parent.sessionUuid,
47
- // Section 02 — forks inherit the parent's projectId.
48
- projectId: parent.projectId,
49
- });
50
- const commands = buildCopyCommands({
51
- sessionUuid: child.sessionUuid,
52
- cwd: child.cwd,
53
- fork: true,
54
- parentSessionUuid: parent.sessionUuid,
55
- pluginDirs: child.pluginDirs,
56
- title: child.title,
57
- });
58
- store.patch(child.taskId, {
59
- state: "awaiting_external_start",
60
- launchedAt: new Date().toISOString(),
61
- });
62
- await store.persist();
63
- return c.json({
64
- task: withLiveSession(store.get(child.taskId), ptyManager),
65
- commands,
66
- });
67
- });
20
+ const { store, ptyManager, scrollbackClearBestEffort, snapshotClearBestEffort } = deps;
68
21
  app.post("/api/external/tasks/:id/close", async (c) => {
69
22
  const task = store.get(c.req.param("id"));
70
23
  if (!task)
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/external/tasks/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/external/tasks/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/patch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAyBtE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,EACT,IAAI,EAAE;IACJ,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CACvE,GACA,IAAI,CAkMN"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/patch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AA0BtE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,EACT,IAAI,EAAE;IACJ,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CACvE,GACA,IAAI,CAqNN"}
@@ -28,6 +28,7 @@ const PATCHABLE = [
28
28
  "tags",
29
29
  "blockedBy",
30
30
  "autonomy",
31
+ "runtime",
31
32
  "poFeedback",
32
33
  ];
33
34
  export function registerTasksPatch(app, deps) {
@@ -167,6 +168,22 @@ export function registerTasksPatch(app, deps) {
167
168
  }, 400);
168
169
  }
169
170
  }
171
+ // Codex Light §3.5 — EditTaskModal's RuntimeToggle. External-review
172
+ // finding: this route parsed every other patchable field but dropped
173
+ // `runtime` on the floor entirely (not even in PATCHABLE), so a
174
+ // pre-start task flipped to Codex in the modal silently stayed on
175
+ // Claude server-side. FROZEN_WHEN_STARTED already covers "runtime" in
176
+ // task-editability.ts, so the lifecycle gate above already enforces
177
+ // the post-start freeze — this only needed the field wired through.
178
+ if ("runtime" in body) {
179
+ const rt = body.runtime;
180
+ if (rt === "claude" || rt === "codex") {
181
+ patch.runtime = rt;
182
+ }
183
+ else {
184
+ return c.json({ error: "invalid_runtime", detail: "runtime must be claude or codex" }, 400);
185
+ }
186
+ }
170
187
  if ("poFeedback" in body) {
171
188
  const r = normalizePoFeedback(body.poFeedback);
172
189
  if (!r.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/external/tasks/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/external/tasks/patch.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface TasksRouterDeps {
13
13
  getProjectById?: (id: string) => ExternalRouteProjectView | undefined;
14
14
  scrollbackClearBestEffort?: (taskId: string) => Promise<void>;
15
15
  snapshotClearBestEffort?: (taskId: string) => Promise<void>;
16
+ /** Codextender integration Part B.6 — see `CreateExternalRoutesArgs`. */
17
+ getCodextenderPort?: () => Promise<number | undefined>;
16
18
  }
17
19
  export declare function createTasksRouter(deps: TasksRouterDeps): Hono;
18
20
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/routes.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAOtE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IAGxB,UAAU,EAAE;QACV,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IACtE,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA0B7D"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/tasks/routes.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAQtE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IAGxB,UAAU,EAAE;QACV,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IACtE,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAgC7D"}
@@ -19,6 +19,7 @@ import { registerTasksCreate } from "./create.js";
19
19
  import { registerTasksListGet } from "./list-get.js";
20
20
  import { registerTasksPatch } from "./patch.js";
21
21
  import { registerTasksLifecycle } from "./lifecycle.js";
22
+ import { registerTasksFork } from "./fork.js";
22
23
  export function createTasksRouter(deps) {
23
24
  const app = new Hono();
24
25
  registerTasksCreate(app, {
@@ -44,6 +45,12 @@ export function createTasksRouter(deps) {
44
45
  scrollbackClearBestEffort: deps.scrollbackClearBestEffort,
45
46
  snapshotClearBestEffort: deps.snapshotClearBestEffort,
46
47
  });
48
+ registerTasksFork(app, {
49
+ store: deps.store,
50
+ ptyManager: deps.ptyManager,
51
+ getProjectById: deps.getProjectById,
52
+ getCodextenderPort: deps.getCodextenderPort,
53
+ });
47
54
  return app;
48
55
  }
49
56
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/external/tasks/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAiBxD,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,mBAAmB,CAAC,GAAG,EAAE;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,oBAAoB,CAAC,GAAG,EAAE;QACxB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,kBAAkB,CAAC,GAAG,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,sBAAsB,CAAC,GAAG,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;QACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;KACtD,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/external/tasks/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAmB9C,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,mBAAmB,CAAC,GAAG,EAAE;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,oBAAoB,CAAC,GAAG,EAAE;QACxB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,kBAAkB,CAAC,GAAG,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,sBAAsB,CAAC,GAAG,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;QACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;KACtD,CAAC,CAAC;IACH,iBAAiB,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/transcript/routes.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAGjB,MAAM,kCAAkC,CAAC;AAS1C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CA0JvE"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/external/transcript/routes.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAGjB,MAAM,kCAAkC,CAAC;AAU1C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CA8KvE"}
@@ -12,11 +12,13 @@
12
12
  * { status: "rotated", task, currentFingerprint }
13
13
  *
14
14
  * Also drives the active/idle decay state machine — see comments inline
15
- * for the new-plain pty-up exception (ADR-085) and AWAITING-external-start
16
- * re-launch path.
15
+ * for the new-plain pty-up exception (ADR-085, generalized to every
16
+ * Codex-runtime task regardless of actionId by ADR-309) and
17
+ * AWAITING-external-start re-launch path.
17
18
  */
18
19
  import { Hono } from "hono";
19
20
  import { ACTIVE_IDLE_THRESHOLD_MS, IDLE_REACTIVATE_THRESHOLD_MS, parseIntSafe, withLiveSession, } from "../_shared/helpers.js";
21
+ import { isCodexNonCodextenderTask } from "../launch/runtime-chokepoint.js";
20
22
  export function createTranscriptRouter(deps) {
21
23
  const app = new Hono();
22
24
  const { store, watcher, ptyManager } = deps;
@@ -57,7 +59,27 @@ export function createTranscriptRouter(deps) {
57
59
  // JSONL (per known_issues.md). Without this branch, AC-4's pty-up
58
60
  // active-state never decays back to `idle` after pty-kill, so the
59
61
  // header CTA stays empty (Resume only renders for state=idle).
60
- task.actionId === "new-plain" &&
62
+ //
63
+ // iterate-2026-09-20-codex-liveness-transition — a Codex-runtime
64
+ // task never writes a Claude JSONL under any actionId either, so
65
+ // once the ws-upgrade-handler.ts AC-4 sibling fix lets it reach
66
+ // `active`, the SAME decay gap applies: without `runtime ===
67
+ // "codex"` here too, a Codex task whose pty has already gone
68
+ // would be stuck `active` forever instead of decaying to `idle`
69
+ // (external review, GLM, 2026-09-20 — flagged as the same
70
+ // conceptual edit left inconsistent if deferred).
71
+ //
72
+ // Codextender integration Part B.6 companion fix — EXCLUDED from
73
+ // that generalization here too via the shared
74
+ // `isCodexNonCodextenderTask` predicate (runtime-chokepoint.ts),
75
+ // mirroring ws-upgrade-handler.ts's own companion fix: a
76
+ // Codextender task drives ordinary `claude` and DOES write a real
77
+ // `.jsonl`, so it never reaches `active` via the early-flip path
78
+ // this branch backstops in the first place (`task.state ===
79
+ // "active"` below is structurally unreachable for it during a
80
+ // missing-JSONL window) — kept explicit rather than relying on
81
+ // that invariant holding forever.
82
+ (task.actionId === "new-plain" || isCodexNonCodextenderTask(task)) &&
61
83
  task.state === "active" &&
62
84
  ptyManager.get(task.taskId) === undefined) {
63
85
  store.patch(task.taskId, { state: "idle" });
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/external/transcript/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/external/transcript/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ProjectManager } from "./core/project-manager.js";
2
+ import type { SdkSessionsStore } from "./core/sdk-sessions-store.js";
3
+ import type { SessionWatcher } from "./core/session-watcher.js";
4
+ import type { PreviewSessionManager } from "./core/preview-session-manager.js";
5
+ import type { ScrollbackStore } from "./terminal/scrollback-store.js";
6
+ import type { SnapshotStore } from "./terminal/snapshot-store.js";
7
+ import type { PtyManager } from "./terminal/pty-manager.js";
8
+ import type { ServerConfig } from "./config.js";
9
+ import type { CreateExternalRoutesArgs } from "./external/create-external-routes-args.js";
10
+ import type { CodexTaskWatcher } from "./core/codex-task-watcher.js";
11
+ export interface ExternalRoutesWiringDeps {
12
+ sdkSessionsStore: SdkSessionsStore;
13
+ sessionWatcher: SessionWatcher;
14
+ projectManager: ProjectManager;
15
+ previewManager: PreviewSessionManager;
16
+ scrollbackStore: ScrollbackStore;
17
+ snapshotStore: SnapshotStore;
18
+ ptyManager: PtyManager;
19
+ honoHost: string;
20
+ config: ServerConfig;
21
+ /** Codex Light AC6 — feeds `codex_watcher` inbox rows. */
22
+ codexWatcher?: Pick<CodexTaskWatcher, "snapshot">;
23
+ /** Codextender integration Part B.6 — see `CreateExternalRoutesArgs`. */
24
+ getCodexIntegrationMode?: () => Promise<"light" | "codextender" | undefined>;
25
+ getCodextenderPort?: () => Promise<number | undefined>;
26
+ }
27
+ export declare function buildExternalRoutesArgs(deps: ExternalRoutesWiringDeps): CreateExternalRoutesArgs;
28
+ //# sourceMappingURL=external-routes-wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-routes-wiring.d.ts","sourceRoot":"","sources":["../src/external-routes-wiring.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,qBAAqB,CAAC;IACtC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAClD,yEAAyE;IACzE,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,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAkEhG"}
@@ -0,0 +1,61 @@
1
+ /*
2
+ * server/src/external-routes-wiring.ts — builds the `createExternalRoutes`
3
+ * injection object from index.ts's already-constructed singletons. Split
4
+ * out (iterate-2026-09-07-leadwright-setup-wizard) to keep index.ts under
5
+ * the bloat ceiling — pure object construction, no new behavior.
6
+ */
7
+ import { getProfilesDir, loadProfile as loadProfileReal } from "./core/profile-loader.js";
8
+ export function buildExternalRoutesArgs(deps) {
9
+ const { sdkSessionsStore, sessionWatcher, projectManager, previewManager, scrollbackStore, snapshotStore, ptyManager, honoHost, config, codexWatcher, getCodexIntegrationMode, getCodextenderPort, } = deps;
10
+ return {
11
+ store: sdkSessionsStore,
12
+ watcher: sessionWatcher,
13
+ // Section 02 — PATCH/POST projectId validation. Excludes the
14
+ // synthesized Unassigned row (that sentinel is hard-coded valid
15
+ // inside validateProjectIdOrError).
16
+ getKnownProjectIds: () => new Set(projectManager.getAll().filter((p) => !p.synthesized).map((p) => p.id)),
17
+ // Section 03 — actions / preview / stub routes. Synthesized row
18
+ // has no filesystem path so it's skipped by getProjectById.
19
+ getProjectById: (id) => {
20
+ const p = projectManager.getById(id);
21
+ if (!p || p.synthesized)
22
+ return undefined;
23
+ return {
24
+ id: p.id,
25
+ name: p.name,
26
+ path: p.path,
27
+ profile: p.profile,
28
+ synthesized: p.synthesized,
29
+ settings: p.settings ? { color: p.settings.color } : undefined,
30
+ };
31
+ },
32
+ previewManager,
33
+ loadProfile: (name) => loadProfileReal(name, getProfilesDir()),
34
+ // ADR-068-A1: cascade-clean scrollback on DELETE /tasks/:id.
35
+ scrollbackClearBestEffort: (taskId) => scrollbackStore.clearBestEffort(taskId),
36
+ // Iterate C (ADR-087, MEDIUM-B1): cascade-clean the cell-state
37
+ // snapshot on DELETE (secrets; privacy boundary). D19/F26: clear()
38
+ // also sweeps the task's orphaned `.snapshot.tmp-*` strays.
39
+ snapshotClearBestEffort: (taskId) => snapshotStore.clearBestEffort(taskId),
40
+ // iterate-2026-05-08 v0.8.7 AC-1: live-pty lookup so transcript
41
+ // poll can flip new-plain `active → idle` after pty-kill.
42
+ // iterate-2026-05-18-inbox-terminal-prompts: peekTerminalText so
43
+ // the inbox can detect a waiting AskUserQuestion picker from the
44
+ // live @xterm/headless mirror.
45
+ ptyManager: {
46
+ get: (taskId) => ptyManager.get(taskId),
47
+ kill: (taskId) => ptyManager.kill(taskId), // D01/F01 — teardown before clears
48
+ peekTerminalText: (taskId) => ptyManager.peekTerminalText(taskId),
49
+ },
50
+ honoHost, // FR-04.38 org-directory route family
51
+ leadsRoot: config.leadsRoot,
52
+ leadsRouteSecret: config.leadsRouteSecret,
53
+ // iterate-2026-09-07-leadwright-setup-wizard (W14)
54
+ leadwrightCheckoutRoot: config.leadwrightCheckoutRoot,
55
+ webuiBaseUrl: `http://localhost:${process.env.VITE_PORT ?? "5173"}`,
56
+ codexWatcher,
57
+ getCodexIntegrationMode,
58
+ getCodextenderPort,
59
+ };
60
+ }
61
+ //# sourceMappingURL=external-routes-wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-routes-wiring.js","sourceRoot":"","sources":["../src/external-routes-wiring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA6B1F,MAAM,UAAU,uBAAuB,CAAC,IAA8B;IACpE,MAAM,EACJ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,OAAO;QACL,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,cAAc;QACvB,6DAA6D;QAC7D,gEAAgE;QAChE,oCAAoC;QACpC,kBAAkB,EAAE,GAAG,EAAE,CACvB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,gEAAgE;QAChE,4DAA4D;QAC5D,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YAC1C,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aAC/D,CAAC;QACJ,CAAC;QACD,cAAc;QACd,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;QACtE,6DAA6D;QAC7D,yBAAyB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC;QACtF,+DAA+D;QAC/D,mEAAmE;QACnE,4DAA4D;QAC5D,uBAAuB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;QAClF,gEAAgE;QAChE,0DAA0D;QAC1D,iEAAiE;QACjE,iEAAiE;QACjE,+BAA+B;QAC/B,UAAU,EAAE;YACV,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,mCAAmC;YACtF,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC;SAC1E;QACD,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,mDAAmD;QACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,YAAY,EAAE,oBAAoB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,EAAE;QACnE,YAAY;QACZ,uBAAuB;QACvB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA0D5B,eAAO,MAAM,GAAG,4EAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuE5B,eAAO,MAAM,GAAG,4EAAa,CAAC"}