@testmuai/kane-cli 0.8.10 → 0.8.12

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 (189) hide show
  1. package/dist/{ChatSurface-OWGOCHG3.js → ChatSurface-DALSIICW.js} +1 -1
  2. package/dist/{ChromeProfilePicker-QIMCWPPI.js → ChromeProfilePicker-ZMVZH3AK.js} +1 -1
  3. package/dist/{CliFeedbackPrompt-34E2AXS4.js → CliFeedbackPrompt-K66H7YE6.js} +1 -1
  4. package/dist/{CliUploadProgress-TRKOSED7.js → CliUploadProgress-5DZHZY4M.js} +1 -1
  5. package/dist/{ConfigView-XVKR7ATN.js → ConfigView-S5KBV62S.js} +1 -1
  6. package/dist/EvidenceViewOffer-UACWB3YJ.js +2 -0
  7. package/dist/FolderPicker-YH5TKMX3.js +2 -0
  8. package/dist/{InfoBox-QM5YEBMH.js → InfoBox-7PAM2FQH.js} +1 -1
  9. package/dist/{LinksBox-CSEDEZGU.js → LinksBox-2NVZ3FHJ.js} +1 -1
  10. package/dist/{ProfilesView-CZVPREIS.js → ProfilesView-SIUBF7IU.js} +1 -1
  11. package/dist/{ProjectPicker-F6FEWNMY.js → ProjectPicker-5NI554X3.js} +1 -1
  12. package/dist/{SaveSessionPrompt-RUSFOLBZ.js → SaveSessionPrompt-5OULBV5N.js} +1 -1
  13. package/dist/SingleShotApp-LA3EMPUK.js +2 -0
  14. package/dist/{SummaryBox-KOJXTZVZ.js → SummaryBox-GTGF3CBO.js} +1 -1
  15. package/dist/TestMdRunView-5MNKJJMS.js +2 -0
  16. package/dist/{TestrunEvidenceTable-KGVBX76H.js → TestrunEvidenceTable-7WBCOGYW.js} +1 -1
  17. package/dist/{WhoamiView-IOTBOCGK.js → WhoamiView-E2SVBHLC.js} +1 -1
  18. package/dist/{app-download-7AF6QL2C.js → app-download-SAXSYXIV.js} +1 -1
  19. package/dist/{auth-2HTDCT7X.js → auth-3LLVDHOJ.js} +1 -1
  20. package/dist/{binary-NKX3NEK7.js → binary-WSMIRJNC.js} +1 -1
  21. package/dist/{bind-IMBQFRKT.js → bind-A3M4PV4V.js} +2 -2
  22. package/dist/{bootstrap-TNFANHSS.js → bootstrap-QTVHGL45.js} +1 -1
  23. package/dist/bridge-E2C5VV3H.js +2 -0
  24. package/dist/{changelog-SQVLSCYO.js → changelog-CNYWOB2V.js} +1 -1
  25. package/dist/{chat-committer-K3NOTLOU.js → chat-committer-RAOIL2T6.js} +1 -1
  26. package/dist/{chunk-SAFETUCL.js → chunk-24QPDHRD.js} +1 -1
  27. package/dist/{chunk-C33E5XQM.js → chunk-2LXJ2ZM3.js} +1 -1
  28. package/dist/{chunk-CSCJLGIY.js → chunk-2MTAXT2U.js} +1 -1
  29. package/dist/{chunk-KUAFVRSR.js → chunk-3CCD434H.js} +1 -1
  30. package/dist/{chunk-ESHDTCSZ.js → chunk-3G3LY6BM.js} +1 -1
  31. package/dist/{chunk-EH3YMGQ7.js → chunk-3N2YOHD6.js} +1 -1
  32. package/dist/{chunk-QJNQN6ND.js → chunk-3OU2F34I.js} +1 -1
  33. package/dist/{chunk-GHL2A273.js → chunk-3XWKKSIM.js} +2 -2
  34. package/dist/chunk-43DM2I6Q.js +2 -0
  35. package/dist/chunk-4ASRA7CD.js +6 -0
  36. package/dist/{chunk-ETIQJIDI.js → chunk-4E4GJPEM.js} +1 -1
  37. package/dist/chunk-4O6XBS5G.js +5 -0
  38. package/dist/{chunk-NYQOYOBA.js → chunk-4T35SA2O.js} +1 -1
  39. package/dist/{chunk-NYSFEZUR.js → chunk-4TZSEC2C.js} +1 -1
  40. package/dist/{chunk-EKOL4WCC.js → chunk-5A4QG7ZM.js} +1 -1
  41. package/dist/{chunk-LUTRUSIV.js → chunk-5AHOVOWV.js} +1 -1
  42. package/dist/{chunk-ZFZB4CGJ.js → chunk-5FYO3PFG.js} +1 -1
  43. package/dist/chunk-5KLDW3ZW.js +85 -0
  44. package/dist/{chunk-USUFF3S6.js → chunk-6A47PRDS.js} +1 -1
  45. package/dist/{chunk-WAI5UHW3.js → chunk-75HF3GPO.js} +1 -1
  46. package/dist/{chunk-FOP6CJAM.js → chunk-7KAPHA56.js} +1 -1
  47. package/dist/{chunk-LTNMOEHT.js → chunk-7NXHVC7G.js} +1 -1
  48. package/dist/{chunk-47OUD76M.js → chunk-7R5K4IGS.js} +1 -1
  49. package/dist/{chunk-LKUWEQ5M.js → chunk-7RFGO3TH.js} +1 -1
  50. package/dist/{chunk-BUM367KV.js → chunk-AFNDJK2A.js} +1 -1
  51. package/dist/{chunk-PMOUXVUC.js → chunk-AHRL4E3M.js} +1 -1
  52. package/dist/{chunk-2ULZVQZV.js → chunk-APZCLVZD.js} +1 -1
  53. package/dist/{chunk-XTUSDGAB.js → chunk-ASYWKYTQ.js} +1 -1
  54. package/dist/chunk-BHSHGWBL.js +2 -0
  55. package/dist/{chunk-BZCVLCMG.js → chunk-COVIEKZN.js} +1 -1
  56. package/dist/chunk-CQ3ZQ5UK.js +26 -0
  57. package/dist/{chunk-HNNVVK2O.js → chunk-DYXYNH6X.js} +1 -1
  58. package/dist/{chunk-NJQNHD5P.js → chunk-F2CET54H.js} +2 -2
  59. package/dist/{chunk-SAKUG4KE.js → chunk-FAREJ4P2.js} +1 -1
  60. package/dist/{chunk-2BIPFAGX.js → chunk-FBYB3SRE.js} +1 -1
  61. package/dist/{chunk-TI7MR3PB.js → chunk-FHYG3QLL.js} +1 -1
  62. package/dist/{chunk-WXJQDLXX.js → chunk-G2Q2TP3O.js} +1 -1
  63. package/dist/chunk-G52YPXKT.js +4 -0
  64. package/dist/{chunk-B4CYIZP5.js → chunk-GNAPBOAJ.js} +1 -1
  65. package/dist/chunk-GRDYYYIQ.js +2 -0
  66. package/dist/{chunk-BG2AZQLI.js → chunk-H6NHARB4.js} +1 -1
  67. package/dist/chunk-H6VS5RYO.js +11 -0
  68. package/dist/{chunk-HE3ZKFRC.js → chunk-HPUQJRDX.js} +1 -1
  69. package/dist/{chunk-HXSOZWFL.js → chunk-HWHLKBUT.js} +1 -1
  70. package/dist/{chunk-BQSLPF5M.js → chunk-I57TM22L.js} +1 -1
  71. package/dist/{chunk-GOF5PQ5T.js → chunk-IE4BCGUE.js} +1 -1
  72. package/dist/{chunk-ML2E3JGK.js → chunk-IGW77FMB.js} +1 -1
  73. package/dist/{chunk-ZDAO5D6D.js → chunk-JDGBRACP.js} +1 -1
  74. package/dist/{chunk-SXX7ZE6L.js → chunk-JOATASPP.js} +3 -3
  75. package/dist/chunk-KRL2BDI5.js +8 -0
  76. package/dist/{chunk-CKNVMB4E.js → chunk-L2BCQQLJ.js} +1 -1
  77. package/dist/{chunk-CXKWVHZK.js → chunk-L7GAZQYL.js} +1 -1
  78. package/dist/{chunk-RP7FW23G.js → chunk-LLY7TQSI.js} +1 -1
  79. package/dist/{chunk-W7PBJXLJ.js → chunk-M4WSRYRA.js} +1 -1
  80. package/dist/{chunk-SU3QKERU.js → chunk-MMQLVGUJ.js} +1 -1
  81. package/dist/{chunk-M6SFFAAQ.js → chunk-NBXYL2JT.js} +6 -6
  82. package/dist/{chunk-WEJA3EVI.js → chunk-NJJQL54J.js} +1 -1
  83. package/dist/{chunk-H4WIA4IP.js → chunk-NP3VGFZM.js} +1 -1
  84. package/dist/{chunk-AWEUKXZQ.js → chunk-NSD2H67E.js} +1 -1
  85. package/dist/{chunk-6S3Z3WPF.js → chunk-O7U5BVX5.js} +2 -2
  86. package/dist/chunk-OZMYKG6E.js +6 -0
  87. package/dist/{chunk-YUA2VDWH.js → chunk-QZRHXGNI.js} +1 -1
  88. package/dist/{chunk-JGZWR3CR.js → chunk-RV7Q4RUV.js} +2 -2
  89. package/dist/{chunk-NDKHC6KL.js → chunk-SA6EDKUF.js} +1 -1
  90. package/dist/chunk-SACCB44S.js +21 -0
  91. package/dist/chunk-T4OJX2GZ.js +15 -0
  92. package/dist/{chunk-5EKTQY2S.js → chunk-TLFNUXKS.js} +1 -1
  93. package/dist/chunk-U27OWZPW.js +368 -0
  94. package/dist/{chunk-5YBKKWJA.js → chunk-U2CIXGZR.js} +1 -1
  95. package/dist/{chunk-YHL5NA43.js → chunk-UDFDTFBL.js} +1 -1
  96. package/dist/{chunk-5Q3W3SX7.js → chunk-UZXCCO7V.js} +1 -1
  97. package/dist/{chunk-DF3DUGJS.js → chunk-VDM3TWF6.js} +4 -4
  98. package/dist/{chunk-YXPWGIQ2.js → chunk-VG7BTA5G.js} +1 -1
  99. package/dist/chunk-WD52ZNQY.js +2 -0
  100. package/dist/{chunk-D6566A2X.js → chunk-WHYEXCTG.js} +1 -1
  101. package/dist/{chunk-FH6EDP77.js → chunk-WMVPJWWA.js} +4 -4
  102. package/dist/{chunk-ZXTVP4WX.js → chunk-X6APRDUM.js} +2 -2
  103. package/dist/{chunk-KRKGZ2ZW.js → chunk-XS2LZFCH.js} +1 -1
  104. package/dist/{chunk-P3UGM74Z.js → chunk-XWO5MDEU.js} +1 -1
  105. package/dist/{chunk-RJ4YFH7K.js → chunk-YF26DH4Z.js} +1 -1
  106. package/dist/{chunk-OSRRMY6M.js → chunk-YTAAF62A.js} +1 -1
  107. package/dist/{chunk-UEANTGQS.js → chunk-ZVJGHQNG.js} +1 -1
  108. package/dist/chunk-ZVZHE7KH.js +27 -0
  109. package/dist/{chunk-WAWMIKSI.js → chunk-ZXN67F4U.js} +9 -9
  110. package/dist/{chunk-RSNG5PBN.js → chunk-ZZI4Y3CX.js} +1 -1
  111. package/dist/{config-UF635MC4.js → config-HUK7V364.js} +1 -1
  112. package/dist/{credentials-3KBLEVJH.js → credentials-6DP4KAMJ.js} +1 -1
  113. package/dist/{deps-bundle-WGF4YYGO.js → deps-bundle-PZNXSKLC.js} +1 -1
  114. package/dist/{deps-resolve-DVJPU4YX.js → deps-resolve-62XK3LKV.js} +1 -1
  115. package/dist/{dispatch-YTIJKX6C.js → dispatch-7JCKGQVC.js} +1 -1
  116. package/dist/{doctor-2KRK42L2.js → doctor-ZQQ4VMPY.js} +1 -1
  117. package/dist/{docx-convert-JMUMT5C4.js → docx-convert-BIV5T7F5.js} +1 -1
  118. package/dist/effective-decisions-UNE2TFVA.js +2 -0
  119. package/dist/{evidence-CDCFEYS7.js → evidence-YAXIWZ6A.js} +1 -1
  120. package/dist/{evolve-cmd-L3JIBYP5.js → evolve-cmd-5ACHYQPE.js} +1 -1
  121. package/dist/{extract-bind-VFQWACVO.js → extract-bind-BF2G6AS6.js} +2 -2
  122. package/dist/{extract-cmd-2OFQBBJ4.js → extract-cmd-IPBCCR3T.js} +1 -1
  123. package/dist/{gaps-cmd-JIUM5YDY.js → gaps-cmd-3WXL6PAW.js} +1 -1
  124. package/dist/{generate-headless-B35UUR5A.js → generate-headless-CLMSXEAS.js} +2 -2
  125. package/dist/index.js +130 -125
  126. package/dist/{ingest-cmd-LAUSXSI3.js → ingest-cmd-KP5M6XTA.js} +1 -1
  127. package/dist/install-5VWCH5GW.js +2 -0
  128. package/dist/{interactive-bind-OWASLPBQ.js → interactive-bind-MOV2VWHJ.js} +3 -3
  129. package/dist/{list-commands-SLQDF6AT.js → list-commands-KUDSKVP5.js} +1 -1
  130. package/dist/login-flow-GZ3XHVCS.js +2 -0
  131. package/dist/{mobile-prompts-6MGOXIKX.js → mobile-prompts-WJVFBWW5.js} +1 -1
  132. package/dist/objective-variable-gate-GCQYYM77.js +2 -0
  133. package/dist/persist-recorded-session-MHLD4A32.js +3 -0
  134. package/dist/pipeline-G7KWRK2G.js +2 -0
  135. package/dist/prepare-target-SQ5IGKXD.js +2 -0
  136. package/dist/{reconcile-cmd-MR2MSVZ5.js → reconcile-cmd-NI3AYU3Y.js} +1 -1
  137. package/dist/{reconcile-deps-RYO67ZXY.js → reconcile-deps-DCHUFIEC.js} +2 -2
  138. package/dist/{reconcile-engine-PRH6YIAZ.js → reconcile-engine-QXUKUKSL.js} +1 -1
  139. package/dist/{recording-banner-CH2SZ4IU.js → recording-banner-4H4AL6YN.js} +1 -1
  140. package/dist/registry-R6QNPI5E.js +2 -0
  141. package/dist/{replay-policy-CVQ6OJX5.js → replay-policy-A62KXE6Y.js} +1 -1
  142. package/dist/{require-project-folder-XY77JKAQ.js → require-project-folder-G2G4WKWW.js} +1 -1
  143. package/dist/{resolve-run-intent-JFIGIF72.js → resolve-run-intent-MZRPYN4V.js} +1 -1
  144. package/dist/{resolver-6VDNZ6KP.js → resolver-X5NHNX5O.js} +1 -1
  145. package/dist/run-PBS2J4N4.js +2 -0
  146. package/dist/run-VTUYLPSG.js +2 -0
  147. package/dist/{run-test-md-OLGWTC4I.js → run-test-md-4VRH7FU5.js} +2 -2
  148. package/dist/{skill-installer-NT7ZT6O4.js → skill-installer-WPW6NDCR.js} +1 -1
  149. package/dist/{spawner-YQSAPZR4.js → spawner-R3XOP3GP.js} +1 -1
  150. package/dist/tcg-generate-HIC5AA3L.js +2 -0
  151. package/dist/testmd-actions-VOSP7L74.js +2 -0
  152. package/dist/testmd-sync-GNCDKPQN.js +2 -0
  153. package/dist/token-refresh-GSFVJ6GU.js +2 -0
  154. package/dist/{validate-basic-OMAFYHME.js → validate-basic-YNGP5JFB.js} +1 -1
  155. package/dist/variable-receipt-2VCUG7NN.js +2 -0
  156. package/dist/{verdicts-KEBSV2NL.js → verdicts-PRXUKSDV.js} +1 -1
  157. package/dist/{version-check-FRVZSYNF.js → version-check-GUGRBTIH.js} +1 -1
  158. package/dist/{walk-session-LNFOCPJ6.js → walk-session-G3DLBR24.js} +1 -1
  159. package/dist/{with-telemetry-4ATZC6IR.js → with-telemetry-5Y2CVPXK.js} +1 -1
  160. package/package.json +11 -11
  161. package/dist/EvidenceViewOffer-M2TGMSNE.js +0 -2
  162. package/dist/FolderPicker-WZTNQ5IV.js +0 -2
  163. package/dist/SingleShotApp-WBFVUZFP.js +0 -2
  164. package/dist/TestMdRunView-BEXL7TIN.js +0 -2
  165. package/dist/bridge-SXYWYZDO.js +0 -2
  166. package/dist/chunk-724NYDMU.js +0 -27
  167. package/dist/chunk-CPGUTSUD.js +0 -6
  168. package/dist/chunk-EKCGZXZE.js +0 -2
  169. package/dist/chunk-I3OVXNBW.js +0 -7
  170. package/dist/chunk-I5KYZHJ5.js +0 -71
  171. package/dist/chunk-IPEA7ZOF.js +0 -8
  172. package/dist/chunk-PCVTSFIX.js +0 -363
  173. package/dist/chunk-SXUQBPQ6.js +0 -2
  174. package/dist/chunk-TGPI7VDR.js +0 -21
  175. package/dist/chunk-VIJUT5AR.js +0 -26
  176. package/dist/chunk-WHEWZR2C.js +0 -15
  177. package/dist/chunk-XIGTZTFP.js +0 -5
  178. package/dist/effective-decisions-DRM3JSR4.js +0 -2
  179. package/dist/install-ENSOEMSX.js +0 -2
  180. package/dist/login-flow-YKQUXP75.js +0 -2
  181. package/dist/persist-recorded-session-RKG7HOEW.js +0 -3
  182. package/dist/pipeline-M25AR7RM.js +0 -2
  183. package/dist/prepare-target-UGACDQEJ.js +0 -2
  184. package/dist/registry-ARR5ITIQ.js +0 -2
  185. package/dist/run-GTBYWSLW.js +0 -2
  186. package/dist/run-UETW72YU.js +0 -2
  187. package/dist/tcg-generate-D73BMKOE.js +0 -2
  188. package/dist/testmd-actions-XPYXS36F.js +0 -2
  189. package/dist/token-refresh-2XVSIFRM.js +0 -2
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-JGZWR3CR.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-DF3DUGJS.js";import"./chunk-2UIHS2FH.js";import"./chunk-YKTYVJBN.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-Q2F5QB2W.js";import"./chunk-R7QAS6LZ.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{c as ingestCommand,b as runIngestCommand,a as runIngestWithResults};
2
+ import{a,b,c}from"./chunk-RV7Q4RUV.js";import"./chunk-R7QAS6LZ.js";import"./chunk-XS2LZFCH.js";import"./chunk-BKHXPBWN.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-5DT7PIGB.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{c as ingestCommand,b as runIngestCommand,a as runIngestWithResults};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as a}from"./chunk-WMVPJWWA.js";import"./chunk-4E4GJPEM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as installPlugin};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as f}from"./chunk-A2SQD2AY.js";import{a as D}from"./chunk-PCVTSFIX.js";import"./chunk-ZKSN2SJ7.js";import"./chunk-N7Z7BQYO.js";import"./chunk-KGKJU27A.js";import"./chunk-JUJ4SAGH.js";import"./chunk-WXJQDLXX.js";import"./chunk-JGZWR3CR.js";import"./chunk-5G22NOZK.js";import"./chunk-C33E5XQM.js";import"./chunk-BB2W35TW.js";import"./chunk-AXTPNZPX.js";import"./chunk-L2TV4G56.js";import"./chunk-BZAGVBCX.js";import"./chunk-IVQX3AKL.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-NJQNHD5P.js";import"./chunk-DF3DUGJS.js";import"./chunk-2UIHS2FH.js";import"./chunk-YKTYVJBN.js";import"./chunk-EV64VI66.js";import"./chunk-GX3FPJUG.js";import"./chunk-427OQS2N.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-Q2F5QB2W.js";import"./chunk-R7QAS6LZ.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-ZDAO5D6D.js";import{c as E}from"./chunk-5DT7PIGB.js";import"./chunk-H4WIA4IP.js";import"./chunk-IPEA7ZOF.js";import"./chunk-NVGBE2DR.js";import{a as I}from"./chunk-CH273NAE.js";import"./chunk-VZ7KXRXB.js";import{a as C,b as $}from"./chunk-CSCJLGIY.js";import"./chunk-4PMZ5FCD.js";import"./chunk-KBM3XHAM.js";import"./chunk-2YEHV2CX.js";import"./chunk-IDX3TOPY.js";import"./chunk-BKM2LWU2.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";async function W(e){let[{render:o},t,{QuestionBatchPrompt:s}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),l=t.default??t;return new Promise(n=>{let y=o(l.createElement(s,{questions:e,onSubmit:w=>{y.unmount(),n(w)}}))})}async function q(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{return/^y(es)?$/i.test((await t.question(`${e} [y/N] `)).trim())}finally{t.close()}}async function X(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{process.stdout.write(`${e.message}
2
+ import{a as f}from"./chunk-A2SQD2AY.js";import{a as D}from"./chunk-U27OWZPW.js";import"./chunk-ZKSN2SJ7.js";import"./chunk-N7Z7BQYO.js";import"./chunk-KGKJU27A.js";import"./chunk-G2Q2TP3O.js";import"./chunk-RV7Q4RUV.js";import"./chunk-5G22NOZK.js";import"./chunk-2LXJ2ZM3.js";import"./chunk-BZAGVBCX.js";import"./chunk-BB2W35TW.js";import"./chunk-GX3FPJUG.js";import"./chunk-427OQS2N.js";import"./chunk-JUJ4SAGH.js";import"./chunk-AXTPNZPX.js";import"./chunk-L2TV4G56.js";import"./chunk-IVQX3AKL.js";import"./chunk-R7QAS6LZ.js";import"./chunk-XS2LZFCH.js";import"./chunk-BKHXPBWN.js";import"./chunk-F2CET54H.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-EV64VI66.js";import"./chunk-JDGBRACP.js";import{c as E}from"./chunk-5DT7PIGB.js";import"./chunk-GRDYYYIQ.js";import"./chunk-NP3VGFZM.js";import"./chunk-NVGBE2DR.js";import{a as I}from"./chunk-CH273NAE.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import{a as C,b as $}from"./chunk-2MTAXT2U.js";import"./chunk-4PMZ5FCD.js";import"./chunk-KBM3XHAM.js";import"./chunk-2YEHV2CX.js";import"./chunk-IDX3TOPY.js";import"./chunk-BKM2LWU2.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";async function W(e){let[{render:o},t,{QuestionBatchPrompt:s}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),l=t.default??t;return new Promise(n=>{let y=o(l.createElement(s,{questions:e,onSubmit:w=>{y.unmount(),n(w)}}))})}async function q(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{return/^y(es)?$/i.test((await t.question(`${e} [y/N] `)).trim())}finally{t.close()}}async function X(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{process.stdout.write(`${e.message}
3
3
  `),process.stdout.write(` 1. start at ${e.earliest} instead \u2014 the earliest uncommitted phase (recommended)
4
4
  `),process.stdout.write(` 2. proceed anyway \u2014 noted on the record
5
5
  `),process.stdout.write(` 3. cancel
@@ -10,7 +10,7 @@ import{a as f}from"./chunk-A2SQD2AY.js";import{a as D}from"./chunk-PCVTSFIX.js";
10
10
  `);let l=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return l===""||l==="1"?{pick:"view"}:l==="2"?{pick:"redesign",because:(await t.question("because (reason for the redesign): ")).trim()}:{pick:"back"}}process.stdout.write(` 1. refresh first \u2014 evolve re-designs against the moved use-case (recommended)
11
11
  `),process.stdout.write(` 2. proceed anyway \u2014 asks a reason, noted on the record
12
12
  `),process.stdout.write(` 3. back
13
- `);let s=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return s===""||s==="1"?{pick:"refresh"}:s==="2"?{pick:"proceed",because:(await t.question("because (reason for proceeding): ")).trim()}:{pick:"back"}}finally{t.close()}}async function ie(e){let[{resolveAgentAuthEnv:o},{runAgent:t},{preflightTurn:s}]=await Promise.all([import("./spawner-YQSAPZR4.js"),import("./bridge-SXYWYZDO.js"),import("./turn-preflight-JGYT7LXP.js")]),l=await o(),n=I(process.cwd()),{baseUrlAdvisory:y}=await import("./turn-preflight-JGYT7LXP.js"),w=y();w&&process.stderr.write(w+`
13
+ `);let s=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return s===""||s==="1"?{pick:"refresh"}:s==="2"?{pick:"proceed",because:(await t.question("because (reason for proceeding): ")).trim()}:{pick:"back"}}finally{t.close()}}async function ie(e){let[{resolveAgentAuthEnv:o},{runAgent:t},{preflightTurn:s}]=await Promise.all([import("./spawner-R3XOP3GP.js"),import("./bridge-E2C5VV3H.js"),import("./turn-preflight-JGYT7LXP.js")]),l=await o(),n=I(process.cwd()),{baseUrlAdvisory:y}=await import("./turn-preflight-JGYT7LXP.js"),w=y();w&&process.stderr.write(w+`
14
14
  `);let i=$({verb:"design",mode:e.plan?"cli":"interactive",contextRoot:n,env:C(),resumeSid:e.resume,write:!0,longSession:!0}),k={...l,...i.spawnEnv()},b=await s(k);if(!b.ok)return process.stderr.write((b.message??"error: turn-endpoint preflight failed")+`
15
15
  `),process.stderr.write(i.supportFooter()+`
16
16
  `),i.error("preflight_auth"),await i.end({exit_code:2}),2;let S=async()=>b;if(e.plan){let r=await D({...e,confirmRetarget:q,askPhaseEntry:X,askDesignEntry:_},{contextDir:n,agent:t,preflightTurn:S,ask:W,out:a=>process.stdout.write(a+`
@@ -21,5 +21,5 @@ import{a as f}from"./chunk-A2SQD2AY.js";import{a as D}from"./chunk-PCVTSFIX.js";
21
21
  `),0):d.pick==="refresh"?(process.stdout.write(`refresh it first: kane-cli maintain evolve ${c.wall.display}
22
22
  `),0):(process.stdout.write(`nothing executed \u2014 list use-cases: kane-cli context list
23
23
  `),0)}else return process.stderr.write(`design: ${c.message}
24
- `),c.code}let[{render:j},R,{ScrollbackProvider:G},{ChatSurface:N},{ScrollbackTap:V},{makeChatController:B},{setInkExit:O},Q]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-OWGOCHG3.js"),import("./ScrollbackTap-Q3IOKNMS.js"),import("./chat-controller-YJCNU76T.js"),import("./exit-manager-ZLDO54S4.js"),Promise.all([import("./chat-committer-K3NOTLOU.js"),import("./descriptor-PWUUNYV7.js"),import("./explain-3HAZY7Q6.js"),import("./readmodel-TDRFVDVI.js")])]),[{commitChatTurn:Y},{topologyDescriptor:z},{explain:U},{openGraph:v}]=Q,x=R.default??R,p=B({commitChatTurn:Y,descriptor:z("design"),contextDir:n,refreshGraph:()=>v(n),graph:v(n),explain:U,by:{kind:"human",id:"owner"}}),{buildDossier:H}=await import("./dossier-Y6TJWFZU.js"),J=r=>{try{return H(v(n),r)}catch{return null}},P={current:null},m=null,A=0,T=null,g=!1,K=()=>{if(A+=1,A>=2){try{h.unmount()}catch{}f({state:"interrupted",reason:"ctrl+c \xD72",facts:["forced quit \u2014 anything already committed is safe in the store"]}),process.exit(130)}p.requestPause(),T=setTimeout(()=>{g||(g=!0,(async()=>{p.finalizeForExit(),await P.current?.flush();try{h.unmount()}catch{}f({state:"interrupted",facts:["the agent did not confirm the pause within 5s \u2014 nothing new was saved"]}),process.exit(130)})())},5e3)},L={verb:"design",sid:e.resume??i.ids.session_id,env:C(),...e.useCase?{subject:e.useCase}:{}},h=j(x.createElement(G,null,x.createElement(V,{into:P}),x.createElement(N,{controller:p,verb:"design",onCtrlC:K,inspect:J,meta:L})),{exitOnCtrlC:!1});O(()=>h.unmount());let F=null;try{let r=D({...e,confirmRetarget:q},{contextDir:n,agent:t,preflightTurn:S,onSummary:u=>{m=u},ask:u=>p.ask(u),out:u=>p.note(u),progress:()=>{},isTTY:E(),auth:k,chat:p,telemetry:i});r.finally(()=>{g=!0});let a=await r;return F=a,a===1&&process.stderr.write(i.supportFooter()+`
24
+ `),c.code}let[{render:j},R,{ScrollbackProvider:G},{ChatSurface:N},{ScrollbackTap:V},{makeChatController:B},{setInkExit:O},Q]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-DALSIICW.js"),import("./ScrollbackTap-Q3IOKNMS.js"),import("./chat-controller-YJCNU76T.js"),import("./exit-manager-ZLDO54S4.js"),Promise.all([import("./chat-committer-RAOIL2T6.js"),import("./descriptor-PWUUNYV7.js"),import("./explain-3HAZY7Q6.js"),import("./readmodel-TDRFVDVI.js")])]),[{commitChatTurn:Y},{topologyDescriptor:z},{explain:U},{openGraph:v}]=Q,x=R.default??R,p=B({commitChatTurn:Y,descriptor:z("design"),contextDir:n,refreshGraph:()=>v(n),graph:v(n),explain:U,by:{kind:"human",id:"owner"}}),{buildDossier:H}=await import("./dossier-Y6TJWFZU.js"),J=r=>{try{return H(v(n),r)}catch{return null}},P={current:null},m=null,A=0,T=null,g=!1,K=()=>{if(A+=1,A>=2){try{h.unmount()}catch{}f({state:"interrupted",reason:"ctrl+c \xD72",facts:["forced quit \u2014 anything already committed is safe in the store"]}),process.exit(130)}p.requestPause(),T=setTimeout(()=>{g||(g=!0,(async()=>{p.finalizeForExit(),await P.current?.flush();try{h.unmount()}catch{}f({state:"interrupted",facts:["the agent did not confirm the pause within 5s \u2014 nothing new was saved"]}),process.exit(130)})())},5e3)},L={verb:"design",sid:e.resume??i.ids.session_id,env:C(),...e.useCase?{subject:e.useCase}:{}},h=j(x.createElement(G,null,x.createElement(V,{into:P}),x.createElement(N,{controller:p,verb:"design",onCtrlC:K,inspect:J,meta:L})),{exitOnCtrlC:!1});O(()=>h.unmount());let F=null;try{let r=D({...e,confirmRetarget:q},{contextDir:n,agent:t,preflightTurn:S,onSummary:u=>{m=u},ask:u=>p.ask(u),out:u=>p.note(u),progress:()=>{},isTTY:E(),auth:k,chat:p,telemetry:i});r.finally(()=>{g=!0});let a=await r;return F=a,a===1&&process.stderr.write(i.supportFooter()+`
25
25
  `),await i.end({exit_code:a}),a}catch(r){throw m||(m={state:"crashed",facts:[`the session ended unexpectedly \u2014 ${r instanceof Error?r.name:"error"}`]}),r}finally{g=!0,T&&clearTimeout(T),p.finalizeForExit(),await P.current?.flush();try{h.unmount()}catch{}m?f(m):F===1&&f({state:"interrupted",facts:["the session ended without saving \u2014 see the error above"]})}}export{ie as bindDesignInteractive};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d,e,f,g,h,i}from"./chunk-GHL2A273.js";import"./chunk-2BIPFAGX.js";import"./chunk-BPMSNGXQ.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-FOP6CJAM.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-BUM367KV.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{d as emitNdjson,b as filterByName,g as formatAuthResolutionError,c as paginate,a as parsePagination,i as registerListCommands,e as renderTable,f as resolveTmsBasicAuth,h as validateCreateName};
2
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-3XWKKSIM.js";import"./chunk-FBYB3SRE.js";import"./chunk-BPMSNGXQ.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-AFNDJK2A.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{d as emitNdjson,b as filterByName,g as formatAuthResolutionError,c as paginate,a as parsePagination,i as registerListCommands,e as renderTable,f as resolveTmsBasicAuth,h as validateCreateName};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a}from"./chunk-ZZI4Y3CX.js";import"./chunk-RFHMDQXZ.js";import"./chunk-GNAPBOAJ.js";import"./chunk-7KAPHA56.js";import"./chunk-RZ4F3BHX.js";import"./chunk-AFNDJK2A.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as LoginFlow};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as c,b as m,c as s,d,e as P}from"./chunk-BZCVLCMG.js";import{a as f}from"./chunk-W7PBJXLJ.js";import"./chunk-WAI5UHW3.js";import"./chunk-5Y2G4NC7.js";import"./chunk-LKUWEQ5M.js";import"./chunk-HE3ZKFRC.js";import"./chunk-YCCUBQY4.js";import"./chunk-EKOL4WCC.js";import"./chunk-CXKWVHZK.js";import"./chunk-XTUSDGAB.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-6S3Z3WPF.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-LTNMOEHT.js";import"./chunk-TAOHYWEO.js";import"./chunk-KUAFVRSR.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-WEJA3EVI.js";import{a as p}from"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import{a as T}from"./chunk-6YGTRKDT.js";import{e as a}from"./chunk-UR6MHSHU.js";var g=a(T(),1);import{access as k}from"fs/promises";var l=a(p(),1);async function u(r){let{render:e}=await import("./build-JIKYOZUH.js");return await new Promise(t=>{let{unmount:i,waitUntilExit:n}=e(r(o=>{i(),t(o)}),{stdout:process.stderr,exitOnCtrlC:!0});n().then(()=>t(null)).catch(()=>t(null))})}async function K(){return await u(r=>(0,l.jsx)(f,{mode:"mobile-only",onSelect:e=>{(e==="emulator"||e==="simulator")&&r(e)},onCancel:()=>r(null)}))}async function M(r,e,t){return await u(i=>(0,l.jsx)(c,{targets:r,kind:e,...t?{preselectedTarget:t}:{},onSelect:n=>i(n),onCancel:()=>i(null)}))}function y({kind:r,listApps:e,done:t}){let[i,n]=(0,g.useState)(e?"source":"local");return i==="source"?(0,l.jsx)(d,{kind:r,onSelect:o=>n(o==="local"?"local":"cloud"),onCancel:()=>t(null)}):i==="cloud"&&e?(0,l.jsx)(m,{kind:r,listApps:e,onSelect:o=>t(o.appId),onManualEntry:()=>n("id"),onCancel:()=>n("source")}):i==="id"?(0,l.jsx)(P,{onSubmit:async o=>(t(o),{ok:!0}),onBack:()=>n("cloud")}):(0,l.jsx)(s,{kind:r,onSelect:async o=>{try{await k(o.value)}catch{return{ok:!1,error:`${o.value} is not there.`}}return t(o.value),{ok:!0}},onBack:()=>e?n("source"):t(null),onCancel:()=>t(null)})}async function x(r){return await u(e=>(0,l.jsx)(y,{...r,done:e}))}export{x as promptApp,M as promptDevice,K as promptMobileKind};
2
+ import{a as c,b as m,c as s,d,e as P}from"./chunk-COVIEKZN.js";import{a as f}from"./chunk-M4WSRYRA.js";import"./chunk-75HF3GPO.js";import"./chunk-5Y2G4NC7.js";import"./chunk-7RFGO3TH.js";import"./chunk-HPUQJRDX.js";import"./chunk-YCCUBQY4.js";import"./chunk-5A4QG7ZM.js";import"./chunk-L7GAZQYL.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7NXHVC7G.js";import"./chunk-TAOHYWEO.js";import"./chunk-3CCD434H.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import{a as p}from"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import{a as T}from"./chunk-6YGTRKDT.js";import{e as a}from"./chunk-UR6MHSHU.js";var g=a(T(),1);import{access as k}from"fs/promises";var l=a(p(),1);async function u(r){let{render:e}=await import("./build-JIKYOZUH.js");return await new Promise(t=>{let{unmount:i,waitUntilExit:n}=e(r(o=>{i(),t(o)}),{stdout:process.stderr,exitOnCtrlC:!0});n().then(()=>t(null)).catch(()=>t(null))})}async function K(){return await u(r=>(0,l.jsx)(f,{mode:"mobile-only",onSelect:e=>{(e==="emulator"||e==="simulator")&&r(e)},onCancel:()=>r(null)}))}async function M(r,e,t){return await u(i=>(0,l.jsx)(c,{targets:r,kind:e,...t?{preselectedTarget:t}:{},onSelect:n=>i(n),onCancel:()=>i(null)}))}function y({kind:r,listApps:e,done:t}){let[i,n]=(0,g.useState)(e?"source":"local");return i==="source"?(0,l.jsx)(d,{kind:r,onSelect:o=>n(o==="local"?"local":"cloud"),onCancel:()=>t(null)}):i==="cloud"&&e?(0,l.jsx)(m,{kind:r,listApps:e,onSelect:o=>t(o.appId),onManualEntry:()=>n("id"),onCancel:()=>n("source")}):i==="id"?(0,l.jsx)(P,{onSubmit:async o=>(t(o),{ok:!0}),onBack:()=>n("cloud")}):(0,l.jsx)(s,{kind:r,onSelect:async o=>{try{await k(o.value)}catch{return{ok:!1,error:`${o.value} is not there.`}}return t(o.value),{ok:!0}},onBack:()=>e?n("source"):t(null),onCancel:()=>t(null)})}async function x(r){return await u(e=>(0,l.jsx)(y,{...r,done:e}))}export{x as promptApp,M as promptDevice,K as promptMobileKind};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{c as r,e as o,g as s,i as n}from"./chunk-GRDYYYIQ.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";import{join as a}from"path";function u(e){if((e.env??process.env).KANE_CLI_MODE==="hyperexecute")return{refuse:!1};let l=r({globalDir:e.globalDir,localDir:a(e.cwd,".testmuai","variables"),file:e.opts.variablesFile,inline:e.opts.variables}),i;try{i=e.opts.sessionContext?JSON.parse(e.opts.sessionContext):void 0}catch{i=void 0}let t=s(e.objective,l,{file:o,step:1},n(i));return t.length===0?{refuse:!1}:{refuse:!0,rows:t}}export{u as objectiveVariableGate};
@@ -0,0 +1,3 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{h as T}from"./chunk-OZMYKG6E.js";import{a as _}from"./chunk-WD52ZNQY.js";import{a as h}from"./chunk-PDXZROJM.js";import"./chunk-EHN5HTUD.js";import{a as I,b as S,r as P}from"./chunk-T4OJX2GZ.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import{a as m}from"./chunk-APZCLVZD.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";async function y(e,o={}){e.flushRecorder();let s=e.recorder?.lastWrittenPath??null;if(!s)return e.log("info","PERSIST_SKIPPED","No recorded path \u2014 recorder.flush no-op",{reason:e.sessionName?"recorder_flush_failed":"no_session_name",session_name:e.sessionName}),null;let p;try{p=P(s)}catch(t){throw e.log("error","PERSIST_RESOLVE_FAILED","resolveTestMd threw",{error:t.message,recorded_path:s}),t}let i=e.getRunsAsStepRecords(),u=e.getFlows(),d=[],c=0;for(let t=0;t<i.length;t++){let r=i[t],l=u.slice(c,c+r.totalRunDirs);c+=r.totalRunDirs;let f=l.find(n=>n.status==="failed"||n.status==="error"),R=f?"failed":l.length===0?"skipped":"passed";d.push({rootStepIndex:t+1,status:R,duration_s:l.reduce((n,w)=>n+(w.duration??0),0),reason:f?.reason})}let D=d.some(t=>t.status==="failed")?"failed":"passed",E=new m().load(),g=h(E.code_export?.language==="javascript"?"javascript":"python",o.mobile),a=S(s);e.log("info","PERSIST_START","Building staging dir",{recorded_path:s,output_dir:a,session_dir:e.sessionDir,step_count:i.length,flow_count:u.length});try{await T({resolvedTest:p,sessionDir:e.sessionDir,stepRunRecords:i,outcomes:d,overallStatus:D,startedISO:e.startedAt,durationS:d.reduce((t,r)=>t+(r.duration_s??0),0),sessionId:e.sessionId,commitId:e.sessionId,tmsIds:{testId:e.testId??void 0,testcaseId:o.testcaseId,projectId:o.projectId,folderId:o.folderId,orgId:o.orgId??e.orgId??void 0,sessionName:e.sessionName??I(s)},codeExportDir:o.codeExportDir,codeExportLanguage:g.language,codeExportFramework:g.framework,packTestDir:o.packTestDir}),e.log("info","PERSIST_STAGING_OK","Staging dir built",{output_dir:a}),_(a),e.log("info","PERSIST_OK","Persist complete",{output_dir:a})}catch(t){let r=t;e.log("error","PERSIST_FAILED","staging build / atomic replace failed",{error:r.message,stack:r.stack,output_dir:a}),process.stderr.write(`[persist] staging build / atomic replace failed: ${r.message}
3
+ `)}return{recordedTestPath:s,outputDir:a}}export{y as persistRecordedSession};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a,b,c}from"./chunk-4O6XBS5G.js";import"./chunk-PDXZROJM.js";import"./chunk-SACCB44S.js";import"./chunk-QQ5MHSSY.js";import"./chunk-5GUD3CIH.js";import"./chunk-DYXYNH6X.js";import"./chunk-YMLC55J4.js";import"./chunk-NP3VGFZM.js";import"./chunk-NVGBE2DR.js";import"./chunk-EHN5HTUD.js";import"./chunk-CH273NAE.js";import"./chunk-NBXYL2JT.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-P7YZ3PU3.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-HPUQJRDX.js";import"./chunk-BPMSNGXQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-4JOD47QI.js";import"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{c as UploadPipeline,b as packPresignEntry,a as readPackForUpload};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{e as a,f as b,g as c,h as d,i as e,j as f}from"./chunk-7RFGO3TH.js";import"./chunk-HPUQJRDX.js";import"./chunk-L7GAZQYL.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7NXHVC7G.js";import"./chunk-TAOHYWEO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as MobileHostUnsupportedError,b as MobilePreflightError,c as PACKAGE_ID_REJECTED,e as isInstallablePath,f as prepareTarget,d as toAppSpec};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d,e,f}from"./chunk-SXX7ZE6L.js";import"./chunk-ZXTVP4WX.js";import"./chunk-5YBKKWJA.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import"./chunk-JUJ4SAGH.js";import"./chunk-6J5T5FEY.js";import"./chunk-UJZZDPDY.js";import"./chunk-O5U6EAL3.js";import"./chunk-W5TTF7GB.js";import"./chunk-BZAGVBCX.js";import"./chunk-DF3DUGJS.js";import"./chunk-2UIHS2FH.js";import"./chunk-YKTYVJBN.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{c as childModeFor,d as emitWalkSignal,f as reconcileCommand,a as resolveReconcileMode,e as runReconcileCommand,b as validateReconcileInputs};
2
+ import{a,b,c,d,e,f}from"./chunk-JOATASPP.js";import"./chunk-X6APRDUM.js";import"./chunk-U2CIXGZR.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import"./chunk-W5TTF7GB.js";import"./chunk-BZAGVBCX.js";import"./chunk-JUJ4SAGH.js";import"./chunk-6J5T5FEY.js";import"./chunk-UJZZDPDY.js";import"./chunk-O5U6EAL3.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{c as childModeFor,d as emitWalkSignal,f as reconcileCommand,a as resolveReconcileMode,e as runReconcileCommand,b as validateReconcileInputs};
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{d as q}from"./chunk-SXX7ZE6L.js";import{j as K}from"./chunk-ZXTVP4WX.js";import"./chunk-5YBKKWJA.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import{a as J}from"./chunk-PMOUXVUC.js";import"./chunk-KGKJU27A.js";import"./chunk-JUJ4SAGH.js";import"./chunk-6J5T5FEY.js";import"./chunk-UJZZDPDY.js";import"./chunk-O5U6EAL3.js";import{a as b,b as Y}from"./chunk-ZMNJBUAO.js";import"./chunk-W5TTF7GB.js";import"./chunk-I7TIGB7K.js";import{a as W}from"./chunk-C33E5XQM.js";import"./chunk-BB2W35TW.js";import"./chunk-BZAGVBCX.js";import"./chunk-DF3DUGJS.js";import"./chunk-2UIHS2FH.js";import"./chunk-YKTYVJBN.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import{e as P}from"./chunk-IDX3TOPY.js";import{C as D,d as V,j as G,q as M,r as H,v as U,w as F}from"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import{b as E}from"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import{e as A}from"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";import{existsSync as te,mkdirSync as re,readFileSync as N,readdirSync as ne,renameSync as ie,rmSync as le,writeFileSync as oe}from"fs";import{join as v}from"path";var ae=["title","description","summary","value"];function Q(e,t){let s=[],o=t.updated;if(!o)return s;for(let r of ae){let p=o[r];if(typeof p!="string"||p===e[r])continue;let g=e[r];typeof g=="string"&&g.length>0&&s.push({op:"-",field:r,text:g}),s.push({op:"+",field:r,text:p})}let i=(e.criteria??[]).map(String),u=o.criteria??[];if(u.length>0)if(u.some(r=>"op"in r))for(let r of u)r.op==="set"&&s.push({op:"+",field:"criteria",text:r.text}),r.op==="remove"&&s.push({op:"-",field:"criteria",text:r.text});else{let r=u.map(p=>p.text);for(let p of i)r.includes(p)||s.push({op:"-",field:"criteria",text:p});for(let p of r)i.includes(p)||s.push({op:"+",field:"criteria",text:p})}return s}function $(e){let t=e.filter(r=>r.field==="criteria"),s=t.filter(r=>r.op==="+").length,o=t.filter(r=>r.op==="-").length,i=[...new Set(e.filter(r=>r.field!=="criteria").map(r=>r.field))],u=[];return t.length>0&&u.push(`${t.length} criteria changed \xB7 +${s} \u2212${o}`),i.length>0&&u.push(`${i.join("/")} reworded`),u.join(" \xB7 ")||"no field changes"}var z={high:0,med:1,low:2};function B(e,t){return t?e.nameOf.get(t)??`${t.slice(0,19)}\u2026`:"(new)"}function O(e,t){if(!t)return;let s=e.edgesInto(t).filter(o=>o.type===A.BELONGS_TO||o.type===A.SCOPED_TO);if(s.length!==0)return{stale:s.length,direct:s.slice(0,3).map(o=>B(e,o.src))}}function X(e){return G(e).map(t=>({...t.source_id!==void 0?{source_id:t.source_id}:{},anchor:t.anchor,quote:t.quote??""}))}function S(e,t){let s=Y(e),o=[];for(let i of s.updates){let u=t.resolve(i.matches_existing.cid),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{},g=Q(p,i);o.push({key:b("MODIFY",i.matches_existing.cid),kind:"MODIFY",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.title,changeLine:i.change_note??$(g),diff:g,diffSummary:g.length>4?$(g):null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),...i.matches_existing?.reason!==void 0?{tier:i.matches_existing.reason}:{},...O(t,r)!==void 0?{impact:O(t,r)}:{},payload:i})}for(let i of s.adds)o.push({key:b("ADD",i.temp_ref),kind:"ADD",display:"(new)",title:i.title,changeLine:i.summary??i.title,diff:[],diffSummary:null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),payload:i});for(let i of s.archives){let u=t.resolve(i.target),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{};o.push({key:b("ARCHIVE",i.target),kind:"ARCHIVE",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.target,changeLine:i.reason,diff:[],diffSummary:null,...typeof p.risk=="string"?{risk:p.risk}:{},cites:[],reason:i.reason,basis:i.basis,...O(t,r)!==void 0?{impact:O(t,r)}:{}})}return o.sort((i,u)=>(z[i.risk??"low"]??2)-(z[u.risk??"low"]??2))}function j(e,t){return e.filter(s=>!(s.key in t))}async function Z(e){let{contextDir:t,graph:s,card:o,verdict:i,by:u}=e,r=null;if(o.kind!=="ADD"){let n=o.ref?s.resolve(o.ref):null;if(r=n?s.tipOf(n.cid):null,!r||(s.trust.get(r)??null)==="archived")return{ok:!1,refusal:`its target ${o.display} was retired while the review was open \u2014 nothing landed`}}if(i==="reject")return e.signals?.({ref:o.display,verdict:"reject",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"nothing saved \u2014 rejections aren't remembered yet; it may be re-proposed"};if(i==="defer"){let n=de({contextDir:t,card:o,note:e.note,changeBasis:e.changeBasis,tip:r,proposalId:e.proposalId});return n.ok?(e.signals?.({ref:o.display,verdict:"defer",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"gap recorded \u2014 visible in cover gaps until a later verdict resolves it"}):{ok:!1,refusal:n.refusal}}if(e.changeBasis?.to_cid){let n=s.resolve(e.changeBasis.source_id);if(!n)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} no longer resolves \u2014 cannot verify this changeset is current; re-run maintain reconcile`};if(n.cid!==e.changeBasis.to_cid)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} moved again while this review was open \u2014 re-run maintain reconcile to refresh the changeset`}}if(o.kind==="ARCHIVE"){let n=(e.proposal.archived??[]).filter(c=>{let y=s.resolve(c.target);return y!=null&&s.tipOf(y.cid)===r}),l=V({...e.proposal,archived:n},s);if(n.length===0||l.errors.length>0)return{ok:!1,refusal:l.errors.length>0?`${l.errors.map(c=>c.detail).join("; ")} \u2014 nothing landed; the card re-presents`:`its archive op no longer resolves to ${o.display} \u2014 re-run maintain reconcile`};let h;try{h=H({contextDir:t,graph:s,verdicts:new Map([[r,{resolution:"rejected",...o.reason??e.note?{reason:o.reason??e.note}:{}}]]),by:u})}catch(c){if(c instanceof E)return{ok:!1,refusal:"concurrent activity kept moving the store \u2014 try the card again"};throw c}return h.errors?{ok:!1,refusal:h.errors.map(c=>c.detail).join("; ")}:(e.signals?.({ref:o.display,verdict:"archive"}),F({contextDir:t,graph:s,targetTip:r,resolvedBy:r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:"archived"})}let p=o.payload,g=o.kind==="MODIFY"&&r&&p.matches_existing&&r!==p.matches_existing.cid?{...p,matches_existing:{...p.matches_existing,cid:r}}:p,R={version:1,read_basis:s.latestHash,source:e.proposal.source,...e.proposal.sources?{sources:e.proposal.sources}:{},use_cases:[g]},a=await W(J(t,e.sid??`card-${process.pid}`),{verb:"maintain",ucTargets:r?[{ref:r}]:[],newBuCandidates:o.kind==="ADD"?[{tempRef:g.temp_ref,title:g.title,probeText:`${g.title} ${g.summary??""}`.trim()}]:[],sourcePins:[],readBasis:s.latestHash},n=>{let l=M({contextDir:t,graph:n.graph,proposal:R,proposalId:`${e.proposalId}:${o.key}`,verdicts:new Map([[g.temp_ref,{resolution:"approved"}]]),by:u,autoName:!0,allowStaleBasis:!0,eventIds:n.eventIds("maintain",1),...e.sid?{sid:n.sid}:{},probeHits:n.probeHits});return l.errors!==null?{errors:l.errors}:{result:l,record:l.record}});if(!a.ok||!("result"in a))return{ok:!1,refusal:!a.ok&&a.kind==="validation"?a.errors.map(l=>l.detail).join("; "):"concurrent activity kept moving the store \u2014 try the card again"};e.signals?.({ref:o.display,verdict:"approve"});let d=a.result.record?.nodes.find(n=>n.label==="usecase")?.cid,f=o.kind==="MODIFY"?d??r??void 0:d;return o.kind==="MODIFY"&&r&&F({contextDir:t,graph:s,targetTip:r,resolvedBy:d??r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:o.kind==="MODIFY"?"successor":"minted",...f?{offer:{kind:o.kind==="MODIFY"?"evolve":"design",target:f}}:{}}}function de(e){let{card:t,changeBasis:s}=e,o={kind:"reconcile_deferred",derived:!0,text:t.changeLine||t.title,...t.risk?{risk:t.risk}:{},...e.note?{risk_rationale:e.note}:{},...e.tip?{ref:t.display,uc:e.tip}:{},...s?{basis:{source_id:s.source_id,from_cid:s.from_cid??"",to_cid:s.to_cid??""}}:{},...e.proposalId?{proposal_id:e.proposalId}:{},...t.payload?.temp_ref?{temp_ref:t.payload.temp_ref}:{}};return U({contextDir:e.contextDir,content:o,...e.tip?{annotates:e.tip}:{}})}function se(e,t){return v(e,"proposals",t,"verdicts.json")}function C(e,t){try{return JSON.parse(N(se(e,t),"utf8"))}catch{return{verdicts:{}}}}function ee(e,t,s){let o=v(e,"proposals",t);re(o,{recursive:!0});let i=v(o,`.verdicts.${process.pid}.tmp`);oe(i,JSON.stringify(s,null,2)+`
2
+ import{d as q}from"./chunk-JOATASPP.js";import{a as J}from"./chunk-AHRL4E3M.js";import{j as K}from"./chunk-X6APRDUM.js";import"./chunk-U2CIXGZR.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import{a as b,b as Y}from"./chunk-ZMNJBUAO.js";import"./chunk-W5TTF7GB.js";import"./chunk-I7TIGB7K.js";import{a as W}from"./chunk-2LXJ2ZM3.js";import"./chunk-BZAGVBCX.js";import"./chunk-BB2W35TW.js";import"./chunk-JUJ4SAGH.js";import"./chunk-6J5T5FEY.js";import"./chunk-UJZZDPDY.js";import"./chunk-O5U6EAL3.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import{e as P}from"./chunk-IDX3TOPY.js";import{C as D,d as V,j as G,q as M,r as H,v as U,w as F}from"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import{b as E}from"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import{e as A}from"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";import{existsSync as te,mkdirSync as re,readFileSync as N,readdirSync as ne,renameSync as ie,rmSync as le,writeFileSync as oe}from"fs";import{join as v}from"path";var ae=["title","description","summary","value"];function Q(e,t){let s=[],o=t.updated;if(!o)return s;for(let r of ae){let p=o[r];if(typeof p!="string"||p===e[r])continue;let g=e[r];typeof g=="string"&&g.length>0&&s.push({op:"-",field:r,text:g}),s.push({op:"+",field:r,text:p})}let i=(e.criteria??[]).map(String),u=o.criteria??[];if(u.length>0)if(u.some(r=>"op"in r))for(let r of u)r.op==="set"&&s.push({op:"+",field:"criteria",text:r.text}),r.op==="remove"&&s.push({op:"-",field:"criteria",text:r.text});else{let r=u.map(p=>p.text);for(let p of i)r.includes(p)||s.push({op:"-",field:"criteria",text:p});for(let p of r)i.includes(p)||s.push({op:"+",field:"criteria",text:p})}return s}function $(e){let t=e.filter(r=>r.field==="criteria"),s=t.filter(r=>r.op==="+").length,o=t.filter(r=>r.op==="-").length,i=[...new Set(e.filter(r=>r.field!=="criteria").map(r=>r.field))],u=[];return t.length>0&&u.push(`${t.length} criteria changed \xB7 +${s} \u2212${o}`),i.length>0&&u.push(`${i.join("/")} reworded`),u.join(" \xB7 ")||"no field changes"}var z={high:0,med:1,low:2};function B(e,t){return t?e.nameOf.get(t)??`${t.slice(0,19)}\u2026`:"(new)"}function O(e,t){if(!t)return;let s=e.edgesInto(t).filter(o=>o.type===A.BELONGS_TO||o.type===A.SCOPED_TO);if(s.length!==0)return{stale:s.length,direct:s.slice(0,3).map(o=>B(e,o.src))}}function X(e){return G(e).map(t=>({...t.source_id!==void 0?{source_id:t.source_id}:{},anchor:t.anchor,quote:t.quote??""}))}function S(e,t){let s=Y(e),o=[];for(let i of s.updates){let u=t.resolve(i.matches_existing.cid),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{},g=Q(p,i);o.push({key:b("MODIFY",i.matches_existing.cid),kind:"MODIFY",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.title,changeLine:i.change_note??$(g),diff:g,diffSummary:g.length>4?$(g):null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),...i.matches_existing?.reason!==void 0?{tier:i.matches_existing.reason}:{},...O(t,r)!==void 0?{impact:O(t,r)}:{},payload:i})}for(let i of s.adds)o.push({key:b("ADD",i.temp_ref),kind:"ADD",display:"(new)",title:i.title,changeLine:i.summary??i.title,diff:[],diffSummary:null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),payload:i});for(let i of s.archives){let u=t.resolve(i.target),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{};o.push({key:b("ARCHIVE",i.target),kind:"ARCHIVE",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.target,changeLine:i.reason,diff:[],diffSummary:null,...typeof p.risk=="string"?{risk:p.risk}:{},cites:[],reason:i.reason,basis:i.basis,...O(t,r)!==void 0?{impact:O(t,r)}:{}})}return o.sort((i,u)=>(z[i.risk??"low"]??2)-(z[u.risk??"low"]??2))}function j(e,t){return e.filter(s=>!(s.key in t))}async function Z(e){let{contextDir:t,graph:s,card:o,verdict:i,by:u}=e,r=null;if(o.kind!=="ADD"){let n=o.ref?s.resolve(o.ref):null;if(r=n?s.tipOf(n.cid):null,!r||(s.trust.get(r)??null)==="archived")return{ok:!1,refusal:`its target ${o.display} was retired while the review was open \u2014 nothing landed`}}if(i==="reject")return e.signals?.({ref:o.display,verdict:"reject",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"nothing saved \u2014 rejections aren't remembered yet; it may be re-proposed"};if(i==="defer"){let n=de({contextDir:t,card:o,note:e.note,changeBasis:e.changeBasis,tip:r,proposalId:e.proposalId});return n.ok?(e.signals?.({ref:o.display,verdict:"defer",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"gap recorded \u2014 visible in cover gaps until a later verdict resolves it"}):{ok:!1,refusal:n.refusal}}if(e.changeBasis?.to_cid){let n=s.resolve(e.changeBasis.source_id);if(!n)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} no longer resolves \u2014 cannot verify this changeset is current; re-run maintain reconcile`};if(n.cid!==e.changeBasis.to_cid)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} moved again while this review was open \u2014 re-run maintain reconcile to refresh the changeset`}}if(o.kind==="ARCHIVE"){let n=(e.proposal.archived??[]).filter(c=>{let y=s.resolve(c.target);return y!=null&&s.tipOf(y.cid)===r}),l=V({...e.proposal,archived:n},s);if(n.length===0||l.errors.length>0)return{ok:!1,refusal:l.errors.length>0?`${l.errors.map(c=>c.detail).join("; ")} \u2014 nothing landed; the card re-presents`:`its archive op no longer resolves to ${o.display} \u2014 re-run maintain reconcile`};let h;try{h=H({contextDir:t,graph:s,verdicts:new Map([[r,{resolution:"rejected",...o.reason??e.note?{reason:o.reason??e.note}:{}}]]),by:u})}catch(c){if(c instanceof E)return{ok:!1,refusal:"concurrent activity kept moving the store \u2014 try the card again"};throw c}return h.errors?{ok:!1,refusal:h.errors.map(c=>c.detail).join("; ")}:(e.signals?.({ref:o.display,verdict:"archive"}),F({contextDir:t,graph:s,targetTip:r,resolvedBy:r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:"archived"})}let p=o.payload,g=o.kind==="MODIFY"&&r&&p.matches_existing&&r!==p.matches_existing.cid?{...p,matches_existing:{...p.matches_existing,cid:r}}:p,R={version:1,read_basis:s.latestHash,source:e.proposal.source,...e.proposal.sources?{sources:e.proposal.sources}:{},use_cases:[g]},a=await W(J(t,e.sid??`card-${process.pid}`),{verb:"maintain",ucTargets:r?[{ref:r}]:[],newBuCandidates:o.kind==="ADD"?[{tempRef:g.temp_ref,title:g.title,probeText:`${g.title} ${g.summary??""}`.trim()}]:[],sourcePins:[],readBasis:s.latestHash},n=>{let l=M({contextDir:t,graph:n.graph,proposal:R,proposalId:`${e.proposalId}:${o.key}`,verdicts:new Map([[g.temp_ref,{resolution:"approved"}]]),by:u,autoName:!0,allowStaleBasis:!0,eventIds:n.eventIds("maintain",1),...e.sid?{sid:n.sid}:{},probeHits:n.probeHits});return l.errors!==null?{errors:l.errors}:{result:l,record:l.record}});if(!a.ok||!("result"in a))return{ok:!1,refusal:!a.ok&&a.kind==="validation"?a.errors.map(l=>l.detail).join("; "):"concurrent activity kept moving the store \u2014 try the card again"};e.signals?.({ref:o.display,verdict:"approve"});let d=a.result.record?.nodes.find(n=>n.label==="usecase")?.cid,f=o.kind==="MODIFY"?d??r??void 0:d;return o.kind==="MODIFY"&&r&&F({contextDir:t,graph:s,targetTip:r,resolvedBy:d??r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:o.kind==="MODIFY"?"successor":"minted",...f?{offer:{kind:o.kind==="MODIFY"?"evolve":"design",target:f}}:{}}}function de(e){let{card:t,changeBasis:s}=e,o={kind:"reconcile_deferred",derived:!0,text:t.changeLine||t.title,...t.risk?{risk:t.risk}:{},...e.note?{risk_rationale:e.note}:{},...e.tip?{ref:t.display,uc:e.tip}:{},...s?{basis:{source_id:s.source_id,from_cid:s.from_cid??"",to_cid:s.to_cid??""}}:{},...e.proposalId?{proposal_id:e.proposalId}:{},...t.payload?.temp_ref?{temp_ref:t.payload.temp_ref}:{}};return U({contextDir:e.contextDir,content:o,...e.tip?{annotates:e.tip}:{}})}function se(e,t){return v(e,"proposals",t,"verdicts.json")}function C(e,t){try{return JSON.parse(N(se(e,t),"utf8"))}catch{return{verdicts:{}}}}function ee(e,t,s){let o=v(e,"proposals",t);re(o,{recursive:!0});let i=v(o,`.verdicts.${process.pid}.tmp`);oe(i,JSON.stringify(s,null,2)+`
3
3
  `),ie(i,se(e,t))}function T(e,t){try{return JSON.parse(N(v(e,"proposals",t,"proposal.json"),"utf8"))}catch{return null}}function L(e,t){let s=v(e,"sessions");if(!te(s))return null;for(let o of ne(s)){let i;try{i=P(e,o)}catch{continue}if(!i?.reconcile||new Date(i.expires_at).getTime()<=Date.now()||C(e,i.reconcile.proposal_id).resolved)continue;let r=i.change_basis?.source_id??Object.keys(i.read_basis)[0]??"";if(!(t!==void 0&&r!==t))return{sid:i.sid,proposalId:i.reconcile.proposal_id,source:r,...i.change_basis?{changeBasis:{source_id:i.change_basis.source_id,to_cid:i.change_basis.new_head}}:{}}}return null}var fe=80;function pe(e){return{kind:e.kind,ref:e.display,title:e.kind==="ADD"?e.title:`${e.display} \xB7 ${e.title}`,why:e.changeLine,origin:"content-change",...e.tier!==void 0?{tier:e.tier}:{},...e.diffSummary==null&&e.diff.length>0?{diff:e.diff}:{},...e.diffSummary!=null?{diffSummary:e.diffSummary,viewDiff:!0}:{},...e.cites.length>0?{citeLines:e.cites.map(t=>`cite ${t.source_id??"conversation"} ${t.anchor} \u2014 "${t.quote.slice(0,fe)}"`)}:{},...e.impact?{impact:{stale_refs:Array(e.impact.stale).fill("\xB7"),...e.impact.direct.length>0?{direct_refs:e.impact.direct}:{}}}:{}}}function Be(e){let t=e.contextDir,s=e.changeContext?.source_id,o=new Map;e.changeContext&&o.set(e.changeContext.source_id,e.changeContext.old_head);let i=a=>{let d=o.get(a);if(d)return d;try{let f=K(t,a);return f&&o.set(a,f.old_head),f?.old_head}catch{return}},u=v(t,"proposals",".reconcile-steer-carry.json"),r=()=>{try{return JSON.parse(N(u,"utf8"))}catch{return null}},p=(a,d,f)=>{let n=r();if(!n||n.source!==f)return d;let l=C(t,a),h=!1;for(let c of d)(n.keys.includes(c.key)||c.kind==="ADD"&&n.addTitles.includes(c.title.toLowerCase()))&&!(c.key in l.verdicts)&&(l.verdicts[c.key]={verdict:"steer",at:new Date().toISOString()},h=!0);h&&ee(t,a,l);try{le(u)}catch{}return d},g=(a,d)=>{let f=T(t,a);if(!f)return[];let n=p(a,S(f,D(t)),d),l=C(t,a);return j(n,l.verdicts)},R=()=>{let a=v(t,"sessions");if(!te(a))return null;for(let d of ne(a)){let f;try{f=P(t,d)}catch{continue}if(!f||new Date(f.expires_at).getTime()<=Date.now())continue;let n=(f.ingest_schedule??[]).filter(l=>l.status==="skipped"&&(l.note??"").includes("review"));if(n.length>0)return{source:n[0].source_id,count:n.length}}return null};return{pending(){let a=L(t,s);if(a){let f=g(a.proposalId,a.source).length;return f>0?{source:a.source,count:f,kind:"cards"}:null}let d=R();return d?{source:d.source,count:d.count,kind:"needs-run"}:null},loadCards(){let a=L(t,s);if(!a)return[];let d=g(a.proposalId,a.source),f=d.filter(n=>n.kind==="ADD"||n.ref!=null);for(let n of d.filter(l=>l.kind!=="ADD"&&l.ref==null))e.note?.(`dropped: [${n.kind}] ${n.title} \u2014 its target was retired while the review was open; nothing lands`);return f.map(n=>({key:n.key,card:pe(n),viewLines:n.diff}))},noteSteer(){let a=L(t,s);if(!a)return;let d=T(t,a.proposalId);if(!d)return;let f=C(t,a.proposalId),n=S(d,D(t)).filter(c=>c.key in f.verdicts),l={source:a.source,keys:n.map(c=>c.key),addTitles:n.filter(c=>c.kind==="ADD").map(c=>c.title.toLowerCase())},h=`${u}.${process.pid}.tmp`;re(v(t,"proposals"),{recursive:!0}),oe(h,JSON.stringify(l,null,2)+`
4
- `),ie(h,u)},async applyVerdict(a,d,f){let n=L(t,s);if(!n)return{ok:!1,refusal:"the held changeset is gone \u2014 nothing to verdict"};let l=T(t,n.proposalId);if(!l)return{ok:!1,refusal:`proposal ${n.proposalId} is unreadable \u2014 re-run maintain reconcile`};if(a in C(t,n.proposalId).verdicts)return{ok:!1,refusal:"that change was already verdicted (another surface?) \u2014 refresh the review"};let h=D(t),c=S(l,h).find(x=>x.key===a);if(!c)return{ok:!1,refusal:"that change no longer builds a card \u2014 the set may have moved; re-open the review"};let y=i(n.source),I=n.changeBasis?{source_id:n.changeBasis.source_id,...y?{from_cid:y}:{},...n.changeBasis.to_cid?{to_cid:n.changeBasis.to_cid}:{}}:void 0,m=await Z({contextDir:t,graph:h,proposal:l,proposalId:n.proposalId,card:c,verdict:d,...f?{note:f}:{},by:{kind:"human",id:"owner"},sid:n.sid,...I?{changeBasis:I}:{},signals:x=>q(t,x.ref,x.verdict,x.reason)});if(!m.ok)return{ok:!1,refusal:m.refusal};let k=C(t,n.proposalId);return k.verdicts[a]={verdict:d,...f?{note:f}:{},at:new Date().toISOString()},j(S(l,D(t)),k.verdicts).length===0&&(k.resolved=!0),ee(t,n.proposalId,k),{ok:!0,line:`${d==="approve"?c.kind==="ARCHIVE"?"retired":"approved":d==="reject"?"rejected":"deferred"} change \xB7 [${c.kind}] ${c.display}${c.kind==="ADD"?"":` ${c.title}`} (you)`,...m.note?{note:m.note}:{},...m.offer&&m.offer.target?{offer:{kind:m.offer.kind,key:m.offer.target,title:c.kind==="ADD"?c.title:c.display}}:{}}},async startReview(a){let d=e.runPostureChild??(async(l,h)=>{let[{runExtract:c},{runAgent:y},{resolveAgentAuthEnv:I},{preflightTurn:m}]=await Promise.all([import("./run-UETW72YU.js"),import("./bridge-SXYWYZDO.js"),import("./spawner-YQSAPZR4.js"),import("./turn-preflight-JGYT7LXP.js")]),k=await I();return c({mode:"override",posture:"reconcile",source:l,changeContext:h},{contextDir:t,agent:y,preflightTurn:()=>m(k),ask:async _=>_.map(w=>({id:w.id,selected_index:w.recommended_index,free_text:null})),review:async _=>new Map(_.map(w=>[w.temp_ref,{resolution:"skipped"}])),confirmStale:async()=>!0,out:_=>e.note?.(_),progress:()=>{},isTTY:!1,auth:k})}),{buildChangeContext:f}=await import("./reconcile-engine-PRH6YIAZ.js"),n=f(t,a);return n?(o.set(a,n.old_head),d(a,n)):(e.note?.(`no change context for ${a} \u2014 nothing to review`),2)}}}export{Be as makeReconcileDeps,C as readVerdictLedger,pe as toWalkCard};
4
+ `),ie(h,u)},async applyVerdict(a,d,f){let n=L(t,s);if(!n)return{ok:!1,refusal:"the held changeset is gone \u2014 nothing to verdict"};let l=T(t,n.proposalId);if(!l)return{ok:!1,refusal:`proposal ${n.proposalId} is unreadable \u2014 re-run maintain reconcile`};if(a in C(t,n.proposalId).verdicts)return{ok:!1,refusal:"that change was already verdicted (another surface?) \u2014 refresh the review"};let h=D(t),c=S(l,h).find(x=>x.key===a);if(!c)return{ok:!1,refusal:"that change no longer builds a card \u2014 the set may have moved; re-open the review"};let y=i(n.source),I=n.changeBasis?{source_id:n.changeBasis.source_id,...y?{from_cid:y}:{},...n.changeBasis.to_cid?{to_cid:n.changeBasis.to_cid}:{}}:void 0,m=await Z({contextDir:t,graph:h,proposal:l,proposalId:n.proposalId,card:c,verdict:d,...f?{note:f}:{},by:{kind:"human",id:"owner"},sid:n.sid,...I?{changeBasis:I}:{},signals:x=>q(t,x.ref,x.verdict,x.reason)});if(!m.ok)return{ok:!1,refusal:m.refusal};let k=C(t,n.proposalId);return k.verdicts[a]={verdict:d,...f?{note:f}:{},at:new Date().toISOString()},j(S(l,D(t)),k.verdicts).length===0&&(k.resolved=!0),ee(t,n.proposalId,k),{ok:!0,line:`${d==="approve"?c.kind==="ARCHIVE"?"retired":"approved":d==="reject"?"rejected":"deferred"} change \xB7 [${c.kind}] ${c.display}${c.kind==="ADD"?"":` ${c.title}`} (you)`,...m.note?{note:m.note}:{},...m.offer&&m.offer.target?{offer:{kind:m.offer.kind,key:m.offer.target,title:c.kind==="ADD"?c.title:c.display}}:{}}},async startReview(a){let d=e.runPostureChild??(async(l,h)=>{let[{runExtract:c},{runAgent:y},{resolveAgentAuthEnv:I},{preflightTurn:m}]=await Promise.all([import("./run-VTUYLPSG.js"),import("./bridge-E2C5VV3H.js"),import("./spawner-R3XOP3GP.js"),import("./turn-preflight-JGYT7LXP.js")]),k=await I();return c({mode:"override",posture:"reconcile",source:l,changeContext:h},{contextDir:t,agent:y,preflightTurn:()=>m(k),ask:async _=>_.map(w=>({id:w.id,selected_index:w.recommended_index,free_text:null})),review:async _=>new Map(_.map(w=>[w.temp_ref,{resolution:"skipped"}])),confirmStale:async()=>!0,out:_=>e.note?.(_),progress:()=>{},isTTY:!1,auth:k})}),{buildChangeContext:f}=await import("./reconcile-engine-QXUKUKSL.js"),n=f(t,a);return n?(o.set(a,n.old_head),d(a,n)):(e.note?.(`no change context for ${a} \u2014 nothing to review`),2)}}}export{Be as makeReconcileDeps,C as readVerdictLedger,pe as toWalkCard};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-ZXTVP4WX.js";import"./chunk-5YBKKWJA.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import"./chunk-JUJ4SAGH.js";import"./chunk-UJZZDPDY.js";import"./chunk-BZAGVBCX.js";import"./chunk-DNNZ353O.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";export{g as EVOLVABLE,d as RECONCILE_NOTE_CHANGED,c as RECONCILE_SKIPPED_ARMS,j as buildChangeContext,l as buildReconcilePlan,i as capDiff,a as commitHeldRows,k as commitOneHeldRow,e as isLive,h as lineDiff,o as liveReextractSeam,m as liveReingestSeam,n as liveRemoteReingestSeam,f as parentUc,b as rowImpactOf};
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-X6APRDUM.js";import"./chunk-U2CIXGZR.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import"./chunk-BZAGVBCX.js";import"./chunk-JUJ4SAGH.js";import"./chunk-UJZZDPDY.js";import"./chunk-DNNZ353O.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";export{g as EVOLVABLE,d as RECONCILE_NOTE_CHANGED,c as RECONCILE_SKIPPED_ARMS,j as buildChangeContext,l as buildReconcilePlan,i as capDiff,a as commitHeldRows,k as commitOneHeldRow,e as isLive,h as lineDiff,o as liveReextractSeam,m as liveReingestSeam,n as liveRemoteReingestSeam,f as parentUc,b as rowImpactOf};
@@ -1,3 +1,3 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import{a as n}from"./chunk-3MSXQU2C.js";import"./chunk-UR6MHSHU.js";function p(t){let s=t.sessionName!==null,e={type:"recording_state",enabled:!0,session_id:t.sessionId,persist:s};return t.sessionName&&(e.session_name=t.sessionName),t.testPath&&(e.test_path=t.testPath),t.outputPath&&(e.output_path=t.outputPath),e}async function g(t){if(t.isAgent){process.stdout.write(JSON.stringify(p(t))+`
3
- `);return}let s=(await import("./react-QWOAB3TB.js")).default,{render:e,useApp:a}=await import("./build-JIKYOZUH.js"),{useEffect:o}=s,{InfoBox:r}=await import("./InfoBox-QM5YEBMH.js"),u=t.sessionName?[{label:"session",value:t.sessionName},{label:"test",value:n(t.testPath??"")},{label:"output",value:n(t.outputPath??"")}]:[{label:"session",value:"ephemeral"},{label:"note",value:"use /name <name> to persist this session"}];function l(){let{exit:i}=a();return o(()=>{let c=setTimeout(()=>i(),50);return()=>clearTimeout(c)},[i]),s.createElement(r,{title:"Recording",titleColor:"#ff9500",rows:u})}await e(s.createElement(l),{stdout:process.stderr}).waitUntilExit()}export{p as buildRecordingStateEvent,g as printRecordingBanner};
3
+ `);return}let s=(await import("./react-QWOAB3TB.js")).default,{render:e,useApp:a}=await import("./build-JIKYOZUH.js"),{useEffect:o}=s,{InfoBox:r}=await import("./InfoBox-7PAM2FQH.js"),u=t.sessionName?[{label:"session",value:t.sessionName},{label:"test",value:n(t.testPath??"")},{label:"output",value:n(t.outputPath??"")}]:[{label:"session",value:"ephemeral"},{label:"note",value:"use /name <name> to persist this session"}];function l(){let{exit:i}=a();return o(()=>{let c=setTimeout(()=>i(),50);return()=>clearTimeout(c)},[i]),s.createElement(r,{title:"Recording",titleColor:"#ff9500",rows:u})}await e(s.createElement(l),{stdout:process.stderr}).waitUntilExit()}export{p as buildRecordingStateEvent,g as printRecordingBanner};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as a,c as b,d as c,e as d,f as e}from"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{d as discoverAll,a as knownPlatforms,c as providerFor,b as registeredPlatforms,e as resolveTarget};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d}from"./chunk-EKCGZXZE.js";import"./chunk-UR6MHSHU.js";export{a as REPLAY_POLICY,c as adaptiveHealEnabled,b as decideRetry,d as retiredRetryFlagsNotice};
2
+ import{a,b,c,d}from"./chunk-BHSHGWBL.js";import"./chunk-UR6MHSHU.js";export{a as REPLAY_POLICY,c as adaptiveHealEnabled,b as decideRetry,d as retiredRetryFlagsNotice};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk-BG2AZQLI.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-FOP6CJAM.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{d as buildAutoDefaultAnnouncement,f as buildAutoDefaultedEvent,e as buildAutoDefaultedNdjson,c as buildRemediationMessage,b as decideGateAction,a as loadCachedIds,g as requireProjectFolder};
2
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk-H6NHARB4.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-7KAPHA56.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{d as buildAutoDefaultAnnouncement,f as buildAutoDefaultedEvent,e as buildAutoDefaultedNdjson,c as buildRemediationMessage,b as decideGateAction,a as loadCachedIds,g as requireProjectFolder};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d,e,f,g,h,i,j}from"./chunk-GOF5PQ5T.js";import"./chunk-LKUWEQ5M.js";import"./chunk-HE3ZKFRC.js";import"./chunk-CXKWVHZK.js";import"./chunk-XTUSDGAB.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-6S3Z3WPF.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-LTNMOEHT.js";import"./chunk-TAOHYWEO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{j as CHOOSE_MOBILE_KIND_MESSAGE,a as appSuitsTarget,b as deviceFromFlags,f as formatRunningOn,g as missingPieceMessage,c as nameNeedsVersionMessage,d as resolveRunIntent,e as resolveTestmdIntent,i as staleAppMessage,h as staleDeviceMessage};
2
+ import{a,b,c,d,e,f,g,h,i,j}from"./chunk-IE4BCGUE.js";import"./chunk-7RFGO3TH.js";import"./chunk-HPUQJRDX.js";import"./chunk-L7GAZQYL.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7NXHVC7G.js";import"./chunk-TAOHYWEO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{j as CHOOSE_MOBILE_KIND_MESSAGE,a as appSuitsTarget,b as deviceFromFlags,f as formatRunningOn,g as missingPieceMessage,c as nameNeedsVersionMessage,d as resolveRunIntent,e as resolveTestmdIntent,i as staleAppMessage,h as staleDeviceMessage};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-2BIPFAGX.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{a as AuthResolver,b as classifyAuthFailure};
2
+ import{a,b}from"./chunk-FBYB3SRE.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{a as AuthResolver,b as classifyAuthFailure};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a,b}from"./chunk-U27OWZPW.js";import"./chunk-ZKSN2SJ7.js";import"./chunk-N7Z7BQYO.js";import"./chunk-KGKJU27A.js";import"./chunk-G2Q2TP3O.js";import"./chunk-RV7Q4RUV.js";import"./chunk-5G22NOZK.js";import"./chunk-2LXJ2ZM3.js";import"./chunk-BZAGVBCX.js";import"./chunk-BB2W35TW.js";import"./chunk-GX3FPJUG.js";import"./chunk-427OQS2N.js";import"./chunk-JUJ4SAGH.js";import"./chunk-AXTPNZPX.js";import"./chunk-L2TV4G56.js";import"./chunk-IVQX3AKL.js";import"./chunk-R7QAS6LZ.js";import"./chunk-XS2LZFCH.js";import"./chunk-BKHXPBWN.js";import"./chunk-F2CET54H.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-EV64VI66.js";import"./chunk-JDGBRACP.js";import"./chunk-5DT7PIGB.js";import"./chunk-GRDYYYIQ.js";import"./chunk-NP3VGFZM.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-IDX3TOPY.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-5EOX4MEY.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{b as formatVariablesClosing,a as runDesign};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as b,b as c,c as d,d as e,e as f,f as g,g as h}from"./chunk-ZVJGHQNG.js";import"./chunk-ZMNJBUAO.js";import"./chunk-W5TTF7GB.js";import"./chunk-I7TIGB7K.js";import{d as a}from"./chunk-G2Q2TP3O.js";import"./chunk-RV7Q4RUV.js";import"./chunk-5G22NOZK.js";import"./chunk-2LXJ2ZM3.js";import"./chunk-BZAGVBCX.js";import"./chunk-BB2W35TW.js";import"./chunk-GX3FPJUG.js";import"./chunk-427OQS2N.js";import"./chunk-AXTPNZPX.js";import"./chunk-L2TV4G56.js";import"./chunk-IVQX3AKL.js";import"./chunk-R7QAS6LZ.js";import"./chunk-XS2LZFCH.js";import"./chunk-BKHXPBWN.js";import"./chunk-UDFDTFBL.js";import"./chunk-F2CET54H.js";import"./chunk-VDM3TWF6.js";import"./chunk-54JZ6VEW.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-YKTYVJBN.js";import"./chunk-EV64VI66.js";import"./chunk-5DT7PIGB.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-IDX3TOPY.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-5EOX4MEY.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{g as dedupPreFlags,c as deliveredImagesWire,e as displaySourceName,b as extractProtocolCtx,a as resolveAnswers,h as runExtract,d as sessionSourceRef,f as sourceBanner};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as A}from"./chunk-NYQOYOBA.js";import{K as M,L as P,M as K,N as H,O as U}from"./chunk-I5KYZHJ5.js";import{a as _,b as E}from"./chunk-I3OVXNBW.js";import{a as h,b as k}from"./chunk-P3UGM74Z.js";import"./chunk-CPGUTSUD.js";import{r as L}from"./chunk-WHEWZR2C.js";import"./chunk-EKCGZXZE.js";import"./chunk-S3DAAAE5.js";import"./chunk-GOF5PQ5T.js";import"./chunk-XIGTZTFP.js";import"./chunk-M6SFFAAQ.js";import"./chunk-PDXZROJM.js";import"./chunk-5DT7PIGB.js";import"./chunk-TGPI7VDR.js";import"./chunk-QQ5MHSSY.js";import"./chunk-HNNVVK2O.js";import"./chunk-5GUD3CIH.js";import"./chunk-YMLC55J4.js";import"./chunk-H4WIA4IP.js";import"./chunk-EHN5HTUD.js";import"./chunk-IPEA7ZOF.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import{c as S}from"./chunk-WAWMIKSI.js";import"./chunk-VZ7KXRXB.js";import"./chunk-47OUD76M.js";import"./chunk-RJ4YFH7K.js";import"./chunk-P7YZ3PU3.js";import"./chunk-TDPWFYTJ.js";import{a as T}from"./chunk-2ULZVQZV.js";import"./chunk-4PMZ5FCD.js";import"./chunk-2YEHV2CX.js";import"./chunk-2BIPFAGX.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-LKUWEQ5M.js";import"./chunk-HE3ZKFRC.js";import"./chunk-BG2AZQLI.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-CXKWVHZK.js";import"./chunk-XTUSDGAB.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-6S3Z3WPF.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import{n as R,o as x,p as b}from"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-LTNMOEHT.js";import"./chunk-TAOHYWEO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-ESHDTCSZ.js";import"./chunk-B4CYIZP5.js";import{a as C}from"./chunk-FOP6CJAM.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import{a as v}from"./chunk-BUM367KV.js";import"./chunk-WEJA3EVI.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";import{resolve as Y}from"path";import{existsSync as D}from"fs";function O(){return{register:(n,r)=>R(n,r),deregister:n=>x(n),cleanup:(n,r)=>b(n,r),remoteLogger:null}}async function le(n,r){let t=Y(n);if(!D(t))return process.stderr.write(`error: file not found: ${t}
2
+ import{a as A}from"./chunk-4T35SA2O.js";import{K as M,L as P,M as K,N as H,O as U}from"./chunk-5KLDW3ZW.js";import"./chunk-5DT7PIGB.js";import{a as _,b as E}from"./chunk-4ASRA7CD.js";import{a as h,b as k}from"./chunk-XWO5MDEU.js";import"./chunk-OZMYKG6E.js";import"./chunk-WD52ZNQY.js";import"./chunk-BHSHGWBL.js";import"./chunk-S3DAAAE5.js";import"./chunk-IE4BCGUE.js";import"./chunk-4O6XBS5G.js";import"./chunk-PDXZROJM.js";import"./chunk-H6VS5RYO.js";import"./chunk-GRDYYYIQ.js";import"./chunk-SACCB44S.js";import"./chunk-QQ5MHSSY.js";import"./chunk-5GUD3CIH.js";import"./chunk-DYXYNH6X.js";import"./chunk-YMLC55J4.js";import"./chunk-NP3VGFZM.js";import"./chunk-NVGBE2DR.js";import"./chunk-EHN5HTUD.js";import"./chunk-CH273NAE.js";import{c as S}from"./chunk-ZXN67F4U.js";import"./chunk-G52YPXKT.js";import{r as L}from"./chunk-T4OJX2GZ.js";import"./chunk-NBXYL2JT.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-7R5K4IGS.js";import"./chunk-YF26DH4Z.js";import"./chunk-P7YZ3PU3.js";import"./chunk-TDPWFYTJ.js";import{a as T}from"./chunk-APZCLVZD.js";import"./chunk-4PMZ5FCD.js";import"./chunk-2YEHV2CX.js";import"./chunk-FBYB3SRE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-7RFGO3TH.js";import"./chunk-HPUQJRDX.js";import"./chunk-H6NHARB4.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-L7GAZQYL.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import{n as R,o as x,p as b}from"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7NXHVC7G.js";import"./chunk-TAOHYWEO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-3G3LY6BM.js";import"./chunk-GNAPBOAJ.js";import{a as C}from"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import{a as v}from"./chunk-AFNDJK2A.js";import"./chunk-NJJQL54J.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";import{resolve as Y}from"path";import{existsSync as D}from"fs";function O(){return{register:(n,r)=>R(n,r),deregister:n=>x(n),cleanup:(n,r)=>b(n,r),remoteLogger:null}}async function le(n,r){let t=Y(n);if(!D(t))return process.stderr.write(`error: file not found: ${t}
3
3
  `),2;if(r.finalValidation!==void 0&&r.finalValidation!=="on"&&r.finalValidation!=="off")return process.stderr.write(`error: --final-validation must be 'on' or 'off'
4
4
  `),2;if(!t.endsWith("_test.md"))return process.stderr.write(`error: not a *_test.md file: ${t}
5
5
  helpers are import-only \u2014 run a test that @imports it.
@@ -12,6 +12,6 @@ import{a as A}from"./chunk-NYQOYOBA.js";import{K as M,L as P,M as K,N as H,O as
12
12
  \u2022 Run 'kane-cli login --username <user> --access-key <key>'
13
13
  `):e instanceof h&&e.code==="refresh_failed"?process.stderr.write(`error: Token refresh failed. Run 'kane-cli login' to re-authenticate.
14
14
  `):process.stderr.write(`error: auth resolution failed: ${e.message}
15
- `),2}let y=String(p.resolvedCreds?.org_id??"");if(!y)return process.stderr.write("error: TMS did not return an org_id. Run `kane-cli login` again.\n"),2;{let{readMetaIfExists:e,assertOrgMatchOrExit:g}=await import("./testmd-actions-XPYXS36F.js"),d=g(e(t),y);if(d!==null)return d}let w=new S,j=A({isAgent:a,log:(e,g,d,V)=>w.log(e,g,d,V)}),F={path:t,cwd:process.cwd(),opts:r,isAgent:a,disableAskUser:!0,resolved:s,resolvedAuth:p,cliOverrides:i,environment:f,envConfig:N,profile:I,model:$,creds:o,configStore:l,session:w};try{return(await M(F,j,c)).exitCode}catch(e){return process.stderr.write(`error: ${e.message}
15
+ `),2}let y=String(p.resolvedCreds?.org_id??"");if(!y)return process.stderr.write("error: TMS did not return an org_id. Run `kane-cli login` again.\n"),2;{let{readMetaIfExists:e,assertOrgMatchOrExit:g}=await import("./testmd-actions-VOSP7L74.js"),d=g(e(t),y);if(d!==null)return d}let w=new S,j=A({isAgent:a,log:(e,g,d,V)=>w.log(e,g,d,V)}),F={path:t,cwd:process.cwd(),opts:r,isAgent:a,disableAskUser:!0,resolved:s,resolvedAuth:p,cliOverrides:i,environment:f,envConfig:N,profile:I,model:$,creds:o,configStore:l,session:w};try{return(await M(F,j,c)).exitCode}catch(e){return process.stderr.write(`error: ${e.message}
16
16
  `),2}}var m=class extends Error{constructor(t,a){super(t);this.exitCode=a;this.name="CliArgError"}};function G(n){let r={mode:"mode",assertionMode:"assertion_mode",finalValidation:"final_validation",maxSteps:"max_steps",timeout:"timeout",globalContext:"global_context",localContext:"local_context",codeExport:"code_export",codeLanguage:"code_language",headless:"headless",cdpEndpoint:"cdp_endpoint",wsEndpoint:"ws_endpoint"},t=new Set(["max_steps","timeout"]),a={};for(let[c,s]of Object.entries(r)){let i=n[c];if(i===void 0||i==="")continue;let o=i;if(t.has(s)&&(o=Number(i),Number.isNaN(o))){let l="--"+c.replace(/[A-Z]/g,u=>"-"+u.toLowerCase());throw new m(`error: ${l} must be a number
17
17
  `,2)}a[s]=o}return a}export{U as applyCliStepConfig,K as buildStepRunVariables,P as buildTestLevelVariables,G as optsToOverrides,H as replayVariablesForStep,le as runTestMdFile};
@@ -1,3 +1,3 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as p,b as g}from"./chunk-EH3YMGQ7.js";import{b as m}from"./chunk-5Q3W3SX7.js";import"./chunk-FOP6CJAM.js";import{a as d}from"./chunk-RZ4F3BHX.js";import"./chunk-BUM367KV.js";import{a as f,g as a,h as u}from"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";import{mkdirSync as y,writeFileSync as w,readFileSync as S,rmSync as c,cpSync as v,createWriteStream as T,existsSync as b}from"fs";import{join as s}from"path";import{tmpdir as k}from"os";import{spawn as h}from"child_process";import{Readable as I}from"stream";import{pipeline as $}from"stream/promises";function E(t){try{return S(s(t,"VERSION"),"utf-8").trim()||null}catch{return null}}function L(t,r,l){return l?t!==r:t===null||m(t,r)>0}function C(t){let r=a.split("/").pop()??a;return`https://registry.npmjs.org/${a}/-/${r}-${t}.tgz`}var R=5e3,A=6e4;async function x(){let t=new AbortController,r=setTimeout(()=>t.abort(),R);try{let l=await d(p(),{headers:{Accept:"application/json"},signal:t.signal});if(!l.ok)throw new Error(`Controller returned ${l.status} fetching skill version map`);let i=await l.json(),n=g(i,f);if(!n)throw new Error("No compatible skill version found for this kane-cli build");return n}finally{clearTimeout(r)}}async function _(t){let r=C(t),l=new AbortController,i=setTimeout(()=>l.abort(),A);try{let n=await d(r,{headers:{Accept:"application/octet-stream"},signal:l.signal});if(!n.ok||!n.body)throw new Error(`Failed to download skill tarball (${n.status})`);let e=s(k(),`kane-cli-skill-${t}-${process.pid}.tgz`);return await $(I.fromWeb(n.body),T(e)),e}finally{clearTimeout(i)}}function M(t,r){return new Promise((l,i)=>{y(r,{recursive:!0});let n=h("tar",["-xzf",t,"-C",r,"--strip-components=2","package/skills"],{stdio:["ignore","ignore","pipe"]}),e="";n.stderr?.on("data",o=>{e+=o.toString()}),n.on("error",o=>i(o)),n.on("close",o=>{o===0?l():i(new Error(`tar exited ${o}${e?`: ${e.trim()}`:""}`))})})}async function W(t){let r;try{r=t??await x()}catch(e){return{status:"failed",version:t??"unknown",installedTargets:0,error:e instanceof Error?e.message:String(e)}}let l=u.filter(({dir:e})=>L(E(e),r,!!t));if(l.length===0)return{status:"already-installed",version:r,installedTargets:0};let i=null,n=null;try{if(n=await _(r),i=s(k(),`kane-cli-skill-${r}-stage-${process.pid}`),c(i,{recursive:!0,force:!0}),await M(n,i),!b(s(i,"SKILL.md")))throw new Error(`Unexpected skill tarball layout for v${r}: SKILL.md not at package/skills/ root`);let e=0;for(let{dir:o}of l)try{c(o,{recursive:!0,force:!0}),y(o,{recursive:!0}),v(i,o,{recursive:!0,force:!0}),w(s(o,"VERSION"),r+`
2
+ import{a as p,b as g}from"./chunk-3N2YOHD6.js";import{b as m}from"./chunk-UZXCCO7V.js";import"./chunk-7KAPHA56.js";import{a as d}from"./chunk-RZ4F3BHX.js";import"./chunk-AFNDJK2A.js";import{a as f,g as a,h as u}from"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";import{mkdirSync as y,writeFileSync as w,readFileSync as S,rmSync as c,cpSync as v,createWriteStream as T,existsSync as b}from"fs";import{join as s}from"path";import{tmpdir as k}from"os";import{spawn as h}from"child_process";import{Readable as I}from"stream";import{pipeline as $}from"stream/promises";function E(t){try{return S(s(t,"VERSION"),"utf-8").trim()||null}catch{return null}}function L(t,r,l){return l?t!==r:t===null||m(t,r)>0}function C(t){let r=a.split("/").pop()??a;return`https://registry.npmjs.org/${a}/-/${r}-${t}.tgz`}var R=5e3,A=6e4;async function x(){let t=new AbortController,r=setTimeout(()=>t.abort(),R);try{let l=await d(p(),{headers:{Accept:"application/json"},signal:t.signal});if(!l.ok)throw new Error(`Controller returned ${l.status} fetching skill version map`);let i=await l.json(),n=g(i,f);if(!n)throw new Error("No compatible skill version found for this kane-cli build");return n}finally{clearTimeout(r)}}async function _(t){let r=C(t),l=new AbortController,i=setTimeout(()=>l.abort(),A);try{let n=await d(r,{headers:{Accept:"application/octet-stream"},signal:l.signal});if(!n.ok||!n.body)throw new Error(`Failed to download skill tarball (${n.status})`);let e=s(k(),`kane-cli-skill-${t}-${process.pid}.tgz`);return await $(I.fromWeb(n.body),T(e)),e}finally{clearTimeout(i)}}function M(t,r){return new Promise((l,i)=>{y(r,{recursive:!0});let n=h("tar",["-xzf",t,"-C",r,"--strip-components=2","package/skills"],{stdio:["ignore","ignore","pipe"]}),e="";n.stderr?.on("data",o=>{e+=o.toString()}),n.on("error",o=>i(o)),n.on("close",o=>{o===0?l():i(new Error(`tar exited ${o}${e?`: ${e.trim()}`:""}`))})})}async function W(t){let r;try{r=t??await x()}catch(e){return{status:"failed",version:t??"unknown",installedTargets:0,error:e instanceof Error?e.message:String(e)}}let l=u.filter(({dir:e})=>L(E(e),r,!!t));if(l.length===0)return{status:"already-installed",version:r,installedTargets:0};let i=null,n=null;try{if(n=await _(r),i=s(k(),`kane-cli-skill-${r}-stage-${process.pid}`),c(i,{recursive:!0,force:!0}),await M(n,i),!b(s(i,"SKILL.md")))throw new Error(`Unexpected skill tarball layout for v${r}: SKILL.md not at package/skills/ root`);let e=0;for(let{dir:o}of l)try{c(o,{recursive:!0,force:!0}),y(o,{recursive:!0}),v(i,o,{recursive:!0,force:!0}),w(s(o,"VERSION"),r+`
3
3
  `),e++}catch{}return e===0?{status:"failed",version:r,installedTargets:0,error:"Could not write to any agent skill directory"}:{status:"installed",version:r,installedTargets:e}}catch(e){return{status:"failed",version:r,installedTargets:0,error:e instanceof Error?e.message:String(e)}}finally{if(n)try{c(n,{force:!0})}catch{}if(i)try{c(i,{recursive:!0,force:!0})}catch{}}}function D(t){switch(t.status){case"installed":return`Installed kane-cli skill v${t.version} (${t.installedTargets}/${u.length} agent dirs). Restart your AI agent (Claude Code / Codex CLI / Gemini CLI) to load it.`;case"already-installed":return`kane-cli skill v${t.version} already installed.`;case"failed":return`Failed to install kane-cli skill: ${t.error??"unknown error"}`}}export{D as formatInstallResult,W as installSkill,L as targetNeedsInstall};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d,e}from"./chunk-YHL5NA43.js";import"./chunk-NJQNHD5P.js";import"./chunk-UD7KKHPW.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{b as assurancePackageName,d as buildAgentEnv,c as findAssuranceAgent,a as platformPackageName,e as resolveAgentAuthEnv};
2
+ import{a,b,c,d,e}from"./chunk-UDFDTFBL.js";import"./chunk-F2CET54H.js";import"./chunk-UD7KKHPW.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{b as assurancePackageName,d as buildAgentEnv,c as findAssuranceAgent,a as platformPackageName,e as resolveAgentAuthEnv};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{f as a}from"./chunk-CQ3ZQ5UK.js";import"./chunk-3MSXQU2C.js";import"./chunk-COVIEKZN.js";import"./chunk-LLY7TQSI.js";import"./chunk-SA6EDKUF.js";import"./chunk-MMQLVGUJ.js";import"./chunk-5KLDW3ZW.js";import"./chunk-5DT7PIGB.js";import"./chunk-ZVZHE7KH.js";import"./chunk-4ASRA7CD.js";import"./chunk-XWO5MDEU.js";import"./chunk-YTAAF62A.js";import"./chunk-OZMYKG6E.js";import"./chunk-WD52ZNQY.js";import"./chunk-24QPDHRD.js";import"./chunk-43DM2I6Q.js";import"./chunk-QZRHXGNI.js";import"./chunk-BHSHGWBL.js";import"./chunk-S3DAAAE5.js";import"./chunk-IE4BCGUE.js";import"./chunk-4O6XBS5G.js";import"./chunk-PDXZROJM.js";import"./chunk-H6VS5RYO.js";import"./chunk-GRDYYYIQ.js";import"./chunk-VG7BTA5G.js";import"./chunk-SACCB44S.js";import"./chunk-QQ5MHSSY.js";import"./chunk-5GUD3CIH.js";import"./chunk-DYXYNH6X.js";import"./chunk-YMLC55J4.js";import"./chunk-NP3VGFZM.js";import"./chunk-NVGBE2DR.js";import"./chunk-EHN5HTUD.js";import"./chunk-CH273NAE.js";import"./chunk-3OU2F34I.js";import"./chunk-M4WSRYRA.js";import"./chunk-ZXN67F4U.js";import"./chunk-G52YPXKT.js";import"./chunk-T4OJX2GZ.js";import"./chunk-NBXYL2JT.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-NSD2H67E.js";import"./chunk-7R5K4IGS.js";import"./chunk-YF26DH4Z.js";import"./chunk-75HF3GPO.js";import"./chunk-5Y2G4NC7.js";import"./chunk-P7YZ3PU3.js";import"./chunk-TDPWFYTJ.js";import"./chunk-APZCLVZD.js";import"./chunk-4PMZ5FCD.js";import"./chunk-2YEHV2CX.js";import"./chunk-FBYB3SRE.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-7RFGO3TH.js";import"./chunk-HPUQJRDX.js";import"./chunk-I57TM22L.js";import"./chunk-IGW77FMB.js";import"./chunk-YCCUBQY4.js";import"./chunk-5A4QG7ZM.js";import"./chunk-H6NHARB4.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-ZZI4Y3CX.js";import"./chunk-RFHMDQXZ.js";import"./chunk-L7GAZQYL.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7NXHVC7G.js";import"./chunk-TAOHYWEO.js";import"./chunk-4TZSEC2C.js";import"./chunk-HWHLKBUT.js";import"./chunk-3CCD434H.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-3G3LY6BM.js";import"./chunk-GNAPBOAJ.js";import"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import"./chunk-AFNDJK2A.js";import"./chunk-5FYO3PFG.js";import"./chunk-5AHOVOWV.js";import"./chunk-NJJQL54J.js";import{a as o}from"./chunk-DFS4RMVP.js";import{a as t}from"./chunk-HCBYKLMW.js";import{c as n}from"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import{e as r}from"./chunk-UR6MHSHU.js";var e=r(t(),1);async function p(i){let c=i.scenarioLimit!==void 0||i.perScenarioLimit!==void 0?{scenarioLimit:i.scenarioLimit,perScenarioLimit:i.perScenarioLimit}:void 0,{waitUntilExit:m}=n((0,e.jsx)(o,{children:(0,e.jsx)(a,{initialChatMode:"generate",initialObjective:i.objective,initialGenerateLimits:c})}),{exitOnCtrlC:!1});await m()}export{p as runGenerate};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{e as a,f as b,g as c,h as d,i as e,j as f,k as g,l as h,m as i,n as j,o as k,p as l,q as m}from"./chunk-ZVZHE7KH.js";import"./chunk-4ASRA7CD.js";import"./chunk-XWO5MDEU.js";import"./chunk-WD52ZNQY.js";import"./chunk-PDXZROJM.js";import"./chunk-G52YPXKT.js";import"./chunk-T4OJX2GZ.js";import"./chunk-NBXYL2JT.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-APZCLVZD.js";import"./chunk-FBYB3SRE.js";import"./chunk-5A4QG7ZM.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-3CCD434H.js";import"./chunk-3G3LY6BM.js";import"./chunk-GNAPBOAJ.js";import"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-AFNDJK2A.js";import"./chunk-NJJQL54J.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{i as ExportError,c as assertOrgMatchOrExit,j as exportTestmd,b as metaMatchesOrg,a as readMetaIfExists,d as resolveCurrentOrgId,l as resolveSyncAuth,h as runDeleteAction,k as runExportAction,e as runListAction,f as runListTui,g as runStatusAction,m as runSyncAction};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as a,c as b,d as c,e as d,f as e,g as f}from"./chunk-G52YPXKT.js";import"./chunk-T4OJX2GZ.js";import"./chunk-NBXYL2JT.js";import"./chunk-KRL2BDI5.js";import"./chunk-VZ7KXRXB.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as buildBundleZip,c as runBundleSync,d as shouldSyncBundle,e as shouldSyncPersistedBundle,f as syncPersistedBundle,b as syncTestmdBundle};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a}from"./chunk-3G3LY6BM.js";import"./chunk-GNAPBOAJ.js";import"./chunk-7KAPHA56.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as refreshOAuthToken};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as t}from"./chunk-FOP6CJAM.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";async function l(n,o,r){let{ControllerClient:e}=await import("./controller-client-OB4WD2C4.js");await new e(t(n).controllerBaseUrl,{username:o,accessKey:r}).getTmsCredentials()}export{l as validateBasicAuth};
2
+ import{a as t}from"./chunk-7KAPHA56.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";async function l(n,o,r){let{ControllerClient:e}=await import("./controller-client-OB4WD2C4.js");await new e(t(n).controllerBaseUrl,{username:o,accessKey:r}).getTmsCredentials()}export{l as validateBasicAuth};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a,b,c}from"./chunk-H6VS5RYO.js";import"./chunk-GRDYYYIQ.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{b as formatUnresolvedReceipt,a as suggestedVariablesFile,c as unresolvedVariablesEvent};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-PMOUXVUC.js";import"./chunk-I7TIGB7K.js";import"./chunk-C33E5XQM.js";import"./chunk-BB2W35TW.js";import"./chunk-YKTYVJBN.js";import"./chunk-DNNZ353O.js";import"./chunk-NVGBE2DR.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{b as requiresBecause,a as reviewProtocolCtx,c as submitReview};
2
+ import{a,b,c}from"./chunk-AHRL4E3M.js";import"./chunk-I7TIGB7K.js";import"./chunk-2LXJ2ZM3.js";import"./chunk-BB2W35TW.js";import"./chunk-DNNZ353O.js";import"./chunk-YKTYVJBN.js";import"./chunk-NVGBE2DR.js";import"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{b as requiresBecause,a as reviewProtocolCtx,c as submitReview};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c,d}from"./chunk-5Q3W3SX7.js";import"./chunk-RZ4F3BHX.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{d as checkForUpdate,b as compareVersions,c as getSeverity,a as getUpdateCommand};
2
+ import{a,b,c,d}from"./chunk-UZXCCO7V.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{d as checkForUpdate,b as compareVersions,c as getSeverity,a as getUpdateCommand};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{c as ke}from"./chunk-WIAZN7G4.js";import{k as he}from"./chunk-ZXTVP4WX.js";import{a as ne,c as ie,d as ve}from"./chunk-5YBKKWJA.js";import"./chunk-OS4VSIHT.js";import"./chunk-KAZGHWGK.js";import{a as J}from"./chunk-A2SQD2AY.js";import"./chunk-KGKJU27A.js";import"./chunk-JUJ4SAGH.js";import{b as Z,c as re,d as de,e as ue,f as K,h as G,i as me,k as fe,m as pe,n as ge}from"./chunk-5EKTQY2S.js";import{a as ee,b as te}from"./chunk-UJZZDPDY.js";import{a as N}from"./chunk-O5U6EAL3.js";import"./chunk-RKXHVP2Z.js";import"./chunk-BZAGVBCX.js";import"./chunk-EV64VI66.js";import"./chunk-DNNZ353O.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-5Y2G4NC7.js";import{C as V}from"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import{b as le}from"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import{j as ce}from"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import{a as se}from"./chunk-YCCUBQY4.js";import{x as h}from"./chunk-WEJA3EVI.js";import{a as Y}from"./chunk-HCBYKLMW.js";import{a as F,b as x,k as ae}from"./chunk-C44QQJR4.js";import{a as We}from"./chunk-6YGTRKDT.js";import{e as U}from"./chunk-UR6MHSHU.js";var S=U(We(),1);function be(t,g,k){let{ref:D,reason:I,by:T}=k;if(!I||I.trim().length===0)return{record:null,errors:[{code:"REASON_REQUIRED",detail:"archiving a node needs a reason \u2014 it becomes the tombstone's provenance"}]};let C=g.resolve(D);if(!C)return{record:null,errors:[{code:"UNKNOWN_REF",detail:`no node '${D}' in the graph`}]};let l=g.tipOf(C.cid);if(g.superseded.has(l))return{record:null,errors:[{code:"ALREADY_ARCHIVED",detail:`${D} is already superseded at its tip (${l.slice(0,19)}\u2026)`}]};let b=ce(t,{ts:new Date().toISOString(),proposal_id:null,nodes:[],edges:[],review:[],supersessions:[{kind:"node",old:l,new:null,reason:I,by:T}],source_head_moves:{}},{expectPrev:g.latestHash});return le(t),{record:b.record,errors:null}}function we(t){let g=t.by??{kind:"human",id:process.env.USER??"operator"},k=t.mode==="interactive"?"override":t.mode,D=k==="override"?{note:"override \xB7 auto-answers, won't ask"}:{},I=(r,i)=>ee(t.onChild,{verb:"design",subject:r,...D,fixCmd:`kane-cli design tests --use-case ${r}`},i,d=>({ok:d===0,exitCode:d})),T=(r,i,d)=>ee(t.onChild,{verb:"evolve",subject:r,...D,fixCmd:`kane-cli maintain evolve ${i}`},d,a=>({ok:a.outcome==="evolved",exitCode:a.code})),C={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},l={applied:0,committed:0,retired:0,skipped:0,deferred:0,failed:0},b=new Map;for(let r of t.planRows)if(r.held_ref&&t.held){let i=t.held.rows.find(a=>a.temp_ref===r.held_ref);if(!i)continue;let d={kind:i.kind,ref:i.temp_ref,title:i.title,why:i.why,origin:"content-change",...r.impact?{impact:r.impact}:{}};b.set(d.ref,{card:d,source:"held",heldRef:i.temp_ref})}else if(r.kind==="MODIFY"){let i={kind:"MODIFY",ref:r.ref,title:r.ref,why:`${r.reason}: ${r.provenance}`,origin:r.origin??"structural-stale",...r.impact?{impact:r.impact}:{}};b.set(i.ref,{card:i,source:"row",row:r})}else if(r.kind==="ADD"){let i={kind:"ADD",ref:r.ref,title:r.ref,why:r.reason,origin:r.origin??"content-change"};b.set(i.ref,{card:i,source:"row",row:r})}for(let r of t.archive){if(r.kind!=="ARCHIVE")continue;let i={kind:"ARCHIVE",ref:r.ref,title:r.ref,why:r.why,provenance:r.why,...r.impact?{impact:r.impact}:{}};b.set(i.ref,{card:i,source:"archive",row:r})}for(let r of t.reviewFeeder?.()??[]){if(b.has(r.ref))continue;let i={kind:r.kind==="MODIFY_HELD"?"MODIFY":r.kind,ref:r.ref,title:r.title,why:r.why,...r.impact?{impact:r.impact}:{},...r.pair?{pair:r.pair}:{},...r.held?{held:!0}:{},...r.kind==="MODIFY_HELD"?{heldPayload:!0}:{}};b.set(i.ref,{card:i,source:"review",reviewCard:r})}let y=r=>(l.failed++,{outcome:"failed",detail:r});return{cards:()=>[...b.values()].map(r=>r.card),async submit(r,i){let d=b.get(r);if(!d)return y(`no card ${r}`);if(d.source==="review"){if(d.reviewCard.kind==="PAIR"&&i.v==="approve")return y(`${r} is a PAIR card \u2014 approve is not in its grammar (merge / keep both / defer); words ride a defer note`);let{submitReview:s}=await import("./verdicts-KEBSV2NL.js"),w=i.v==="approve"?{v:"approve"}:i.v==="archive"?{v:"archive",because:i.because??""}:i.v==="skip"&&d.reviewCard.kind==="MODIFY_HELD"?{v:"keep_current"}:i.v==="defer"||i.v==="skip"?{v:"defer"}:i.v==="merge"?{v:"merge"}:{v:"keep_both"},v=await s({contextDir:t.contextDir,signals:o=>t.signals({ref:o.ref,verdict:o.verdict,...o.reason?{reason:o.reason}:{}})},d.reviewCard,w,g);return v.outcome==="failed"?(l.failed++,v):v.outcome==="deferred"?(l.deferred++,i.v==="defer"&&i.note?(t.signals({ref:r,verdict:"deferred-with-note",reason:i.note}),{...v,detail:`steering noted: "${i.note}" \u2014 decide ${d.reviewCard.kind==="PAIR"?"merge / keep both":"the verdict"} when it re-offers`}):v):v.outcome==="retired"?(l.retired++,v):v.outcome==="committed"?(l.committed++,v):(l.applied++,v)}if(i.v==="merge"||i.v==="keep_both")return y(`${r} is a ${d.card.kind} card \u2014 ${i.v} applies to review cards only`);if(i.v==="skip")return l.skipped++,t.signals({ref:r,verdict:"gap-dismissed"}),{outcome:"skipped"};if(i.v==="defer")return l.deferred++,i.note?(t.signals({ref:r,verdict:"deferred-with-note",reason:i.note}),{outcome:"deferred",detail:`steering noted: "${i.note}"`}):{outcome:"deferred"};if(i.v==="archive"){if(d.source!=="archive")return y(`${r} is not an ARCHIVE card`);let s=V(t.contextDir),w=s.resolve(d.row.ref);if(w&&s.superseded.has(s.tipOf(w.cid)))return l.skipped++,{outcome:"skipped",detail:"already retired \u2014 nothing to do"};let v=be(t.contextDir,V(t.contextDir),{ref:d.row.ref,reason:`reconcile retire: ${d.row.why}`,by:g});return v.errors?y(v.errors.map(o=>`${o.code}: ${o.detail}`).join("; ")):(l.retired++,t.signals({ref:r,verdict:"gap-resolved-archive",reason:d.row.why}),{outcome:"retired"})}if(d.source==="archive")return y(`${r} takes archive/skip/defer, not approve`);if(d.source==="held"){let s=he(t.contextDir,t.held,d.heldRef,g,i.edits);if(!s.ok)return y(s.message);if(s.kind==="ADD"){let w=await I(s.ref,()=>t.runDesign(s.ref,{yes:!0,mode:k,...i.steering?{because:i.steering}:{}}));return w!==0?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its design run exited ${w} \u2014 finish with kane-cli design tests --use-case ${s.ref}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create",...i.steering?{reason:i.steering}:{}}),{outcome:"applied",detail:s.ref})}if(i.steering){let w=V(t.contextDir),v=ne(w,s.ref);if(!v.ok)return l.committed++,{outcome:"committed",detail:`committed ${s.ref}, but steering could not resolve it (${v.message}) \u2014 steer via kane-cli maintain evolve ${s.ref}`};let o=await T(v.target.display,s.ref,()=>ie(t.contextDir,v.target,{yes:!0,mode:k,because:i.steering},C,t.runDesign,"batch"));if(o.outcome==="no-design"){let c=await I(v.target.seamRef,()=>t.runDesign(v.target.seamRef,{yes:!0,mode:k,because:i.steering}));return c!==0?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its steered design run exited ${c} \u2014 finish with kane-cli design tests --use-case ${v.target.seamRef}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create",reason:i.steering}),{outcome:"applied",detail:s.ref})}return o.outcome==="failed"||o.outcome==="paused"?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but the steering evolve ${o.outcome} (exit ${o.code}) \u2014 finish with kane-cli maintain evolve ${s.ref}`}):o.outcome==="declined"?(l.committed++,{outcome:"committed",detail:`committed ${s.ref} \u2014 the steering evolve was declined; re-run kane-cli maintain evolve ${s.ref}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-evolve",reason:i.steering}),{outcome:"applied",detail:s.ref})}return l.committed++,t.signals({ref:r,verdict:"gap-resolved-evolve"}),{outcome:"committed",detail:s.ref}}let a=V(t.contextDir),u=ne(a,d.row.ref);if(!u.ok)return y(u.message);if(d.card.kind==="ADD"){let s=await I(u.target.seamRef,()=>t.runDesign(u.target.seamRef,{yes:!0,mode:k}));return s!==0?y(`design run exited ${s}`):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create"}),{outcome:"applied"})}let A=await T(u.target.display,d.row.ref,()=>ie(t.contextDir,u.target,{yes:!0,mode:k,...i.steering?{because:i.steering}:{}},C,t.runDesign,"batch"));return A.outcome==="evolved"?(l.applied++,t.signals({ref:r,verdict:"gap-resolved-evolve",...i.steering?{reason:i.steering}:{}}),{outcome:"applied"}):A.outcome==="failed"||A.outcome==="paused"?y(`evolve ${A.outcome} (exit ${A.code})`):(l.skipped++,{outcome:"skipped",detail:A.outcome})},summary:()=>({...l})}}var j=U(Y(),1);function q({mark:t,markColor:g,color:k,indent:D=2,reserve:I=0,children:T}){let{stdout:C}=ae(),l=(C?.columns??80)-I,b=D+t.length+1;return(0,j.jsxs)(F,{children:[(0,j.jsx)(F,{width:b,flexShrink:0,children:(0,j.jsx)(x,{color:g,children:`${" ".repeat(D)}${t}`})}),(0,j.jsx)(F,{width:Math.max(20,l-b),children:(0,j.jsx)(x,{color:k,children:T})})]})}var p=U(Y(),1);function ye(t){return t.landed?"committed":t.outcome}var Ee={applied:{mark:"\u2714",color:"green"},committed:{mark:"\u2714",color:"green"},retired:{mark:"\u2714",color:"green"},skipped:{mark:"\xB7",color:"dim"},deferred:{mark:"\u2013",color:"dim"},failed:{mark:"\u2717",color:"red"}};function Pe(t){return t.v==="archive"?"Retiring\u2026":t.v==="approve"&&t.steering?"Approving with your changes \u2014 committing, then re-designing\u2026":"Applying \u2014 committing\u2026"}function Oe({controller:t,cards:g,note:k,markOutcome:D,routeChat:I,listEvolveTargets:T,barSubject:C,meta:l,resumeCmd:b,activeChild:y,onFinish:r,onCtrlC:i,pauseRef:d}){let[a,u]=(0,S.useState)(g.length>0?{at:"card",idx:0,sel:0,editor:null}:{at:"done-panel",sel:0}),A=(0,S.useRef)(0),s=(0,S.useRef)(a);s.current=a;let w=(0,S.useRef)([]),[,v]=(0,S.useState)(0),o=a.at==="busy"||a.at==="evolving";(0,S.useEffect)(()=>{if(!o)return;let e=setInterval(()=>v(n=>n+1),120);return()=>clearInterval(e)},[o]);let c=()=>{let e=t.summary();return`${e.applied+e.committed} applied \xB7 ${e.retired} retired \xB7 ${e.skipped} skipped \xB7 ${e.deferred} deferred`+(e.failed>0?` \xB7 ${e.failed} failed`:"")},O=()=>({state:"complete",facts:[c()]}),R=()=>({state:"walk-paused",reason:"ctrl+c",facts:[c(),"every verdict so far is committed \u2014 re-run the same reconcile command to continue"],...b?{resume:b}:{}}),$=()=>r(A.current,O()),W=(0,S.useRef)(!1),P=()=>{r(3,R())},E=()=>{if(W.current)return;W.current=!0;let e=s.current;if(e.at==="busy"||e.at==="evolving"){k((0,p.jsx)(x,{color:h.dim,children:"finishing the current item, then pausing\u2026"}));return}if(e.at==="done-panel"||e.at==="picker"||e.at==="why"||e.at==="view"){$();return}P()};d&&(d.current=E);let _=a.at==="card"||a.at==="busy"?g[a.idx]:null,M=()=>[{key:"finish",label:"finish"},...T?[{key:"evolve",label:"evolve another use-case\u2026"}]:[],...w.current.length>0?[{key:"view",label:"view what changed"}]:[]],H=()=>{let e=T?.()??[];if(e.length===0){k((0,p.jsx)(x,{color:h.dim,children:"nothing is stale \u2014 no evolve targets right now"})),u({at:"done-panel",sel:0});return}u({at:"picker",items:e,sel:0})},xe=e=>{let n=e+1;n<g.length?u({at:"card",idx:n,sel:0,editor:null}):u({at:"done-panel",sel:0})},Q=(0,S.useRef)(!1),L=(e,n)=>{if(Q.current)return;Q.current=!0;let m=g[e];u({at:"busy",idx:e,label:Pe(n),startedAt:Date.now()}),t.submit(m.ref,n).catch(f=>({outcome:"failed",detail:f instanceof Error?f.message:String(f)})).then(f=>{let B=Ee[f.outcome]??{mark:"\xB7",color:"dim"},Te=f.outcome!=="failed"&&f.outcome!=="skipped"&&f.outcome!=="deferred"&&m.impact&&"stale_refs"in m.impact&&m.impact.stale_refs.length>0?` \xB7 ${m.impact.stale_refs.length} item(s) now stale`:"",oe=`${f.outcome} [${m.kind}] ${N(m.title)}${f.detail?` \u2014 ${N(f.detail)}`:""}${Te}`;if(w.current.push({mark:B.mark,color:B.color,line:oe}),k((0,p.jsx)(q,{mark:B.mark,markColor:B.color==="green"?h.green:B.color==="red"?h.red:h.dim,color:B.color==="dim"?h.dim:void 0,children:oe})),f.outcome==="failed"&&(A.current=A.current===0?1:A.current),D(m.ref,ye(f)),Q.current=!1,W.current){P();return}xe(e)})},Ce=(e,n)=>{u({at:"evolving",title:e.title,startedAt:Date.now()}),I(`${e.key} ${n}`).catch(m=>`\u2717 evolve failed: ${m instanceof Error?m.message:String(m)}`).then(m=>{let f=m.startsWith("\u2713");if(w.current.push({mark:f?"\u2714":"\u2717",color:f?"green":"red",line:m.replace(/^[✓✗]\s*/,"")}),k((0,p.jsx)(q,{mark:f?"\u2714":"\u2717",markColor:f?h.green:h.red,children:m.replace(/^[✓✗]\s*/,"")})),W.current){$();return}u({at:"done-panel",sel:0})})},Re=(0,S.useMemo)(()=>({isFocused:()=>{let e=s.current;return e.at==="card"&&e.editor===null||e.at==="done-panel"||e.at==="picker"||e.at==="view"},onMove:e=>{u(n=>{if(n.at==="card"){let m=g[n.idx],f=G(m)??K(m).length-1;return{...n,sel:Math.max(0,Math.min(f,n.sel+e))}}return n.at==="done-panel"?{...n,sel:Math.max(0,Math.min(M().length-1,n.sel+e))}:n.at==="picker"?{...n,sel:Math.max(0,Math.min(n.items.length-1,n.sel+e))}:n})},onSelect:()=>{let e=s.current;if(e.at==="card"){let n=g[e.idx],m=G(n);if(m!==null&&e.sel===m){u({...e,editor:"",editorIntent:"steer"});return}let f=K(n)[e.sel];if(f?.v==="archive"&&n.kind==="REVIEW"){u({...e,editor:"",editorIntent:"because"});return}f&&L(e.idx,{v:f.v});return}if(e.at==="done-panel"){let n=M()[e.sel];n?.key==="finish"?$():n?.key==="evolve"?H():n?.key==="view"&&u({at:"view"});return}if(e.at==="picker"){let n=e.items[e.sel];n&&u({at:"why",item:n,text:""});return}},onDigit:e=>{let n=s.current;if(n.at==="card"){let m=g[n.idx],f=K(m)[e-1];if(f?.v==="archive"&&m.kind==="REVIEW"){u({...n,editor:"",editorIntent:"because"});return}f&&L(n.idx,{v:f.v});return}n.at==="done-panel"&&e-1<M().length&&u({...n,sel:e-1}),n.at==="picker"&&e-1<n.items.length&&u({...n,sel:e-1})},onType:e=>{u(n=>n.at!=="card"||G(g[n.idx])===null?n:{...n,editor:(n.editor??"")+e,editorIntent:n.editorIntent??"steer"})},isMulti:()=>!1,onSpace:()=>{},onBack:()=>{let e=s.current;(e.at==="picker"||e.at==="view")&&u({at:"done-panel",sel:0})}}),[g]);(0,S.useEffect)(()=>{a.at==="done"&&$()},[a.at]);let $e=e=>Math.floor((Date.now()-e)/1e3),X=y?.current??null,De=a.at==="card"?{kind:"card",n:a.idx+1,m:g.length}:a.at==="busy"?X?{kind:"child-working",step:re(a.label)}:{kind:"working",step:re(a.label),elapsedS:$e(a.startedAt)}:a.at==="evolving"?{kind:"child-working",step:`evolving ${a.title}`}:{kind:"idle"},Se=a.at==="card"||a.at==="busy"?g.length-a.idx:0,Me=a.at==="done-panel"||a.at==="picker"||a.at==="why"||a.at==="view",Ie=[...a.at==="card"?a.editor!==null?["\u23CE submit","esc back"]:ge(g[a.idx]).keys:a.at==="done-panel"?pe(M(),{escBack:!1}).keys:a.at==="picker"?["\u2191\u2193 select","\u23CE confirm","esc back"]:a.at==="why"?["\u23CE submit","esc back"]:a.at==="view"?["esc back"]:[],"ctrl+c exit"],z=l??{verb:"reconcile",sid:"",env:""},Ae=`view \xB7 this run's changes \xB7 ${w.current.length}`;return(0,p.jsxs)(F,{flexDirection:"column",children:[(0,p.jsx)(ue,{onToggleThinking:()=>{},onCtrlC:()=>{i(),E()},panel:Re}),a.at==="card"&&_?(0,p.jsx)(me,{card:_,position:{n:a.idx+1,of:g.length},sel:a.sel,focused:a.editor===null,editorIntent:a.editorIntent??"steer",freeText:a.editor!==null?{value:a.editor,onChange:e=>u(n=>n.at==="card"?{...n,editor:e}:n),onSubmit:e=>{let n=s.current;if(n.at!=="card")return;let m=e.trim();if(!m){u({...n,editor:null,editorIntent:void 0});return}let f=g[n.idx];n.editorIntent==="because"?L(n.idx,{v:"archive",because:m}):f.kind==="PAIR"?L(n.idx,{v:"defer",note:m}):L(n.idx,{v:"approve",steering:m})},onCancel:()=>u(e=>e.at==="card"?{...e,editor:null,editorIntent:void 0}:e)}:null}):null,a.at==="done-panel"?(0,p.jsx)(Z,{headline:(()=>{let e=t.summary();return`reconcile done \u2014 ${e.applied+e.committed} applied \xB7 ${e.retired} retired \xB7 ${e.skipped} skipped \xB7 ${e.deferred} deferred${e.failed>0?` \xB7 ${e.failed} failed`:""}`})(),rows:M(),sel:a.sel,focused:!0}):null,a.at==="picker"?(0,p.jsx)(Z,{ask:!0,headline:"evolve which use-case?",rows:a.items.map(e=>({key:e.key,label:e.title,detail:e.badge})),sel:a.sel,focused:!0}):null,a.at==="why"?(0,p.jsxs)(F,{flexDirection:"column",borderStyle:"round",borderColor:h.assuranceAccent,paddingX:1,children:[(0,p.jsxs)(F,{children:[(0,p.jsxs)(x,{children:[(0,p.jsx)(x,{color:h.assuranceAccent,children:"\u25B8"})," ",(0,p.jsx)(x,{color:h.dim,children:"\u270E "})]}),(0,p.jsx)(se,{value:a.text,onChange:e=>u(n=>n.at==="why"?{...n,text:e}:n),onSubmit:e=>{let n=s.current;n.at==="why"&&(e.trim()?Ce(n.item,e.trim()):u({at:"picker",items:[n.item],sel:0}))},onCancel:()=>{s.current.at==="why"&&H()},placeholder:`what should change about ${a.item.title}?`})]}),(0,p.jsx)(x,{color:h.muted,children:" \u23CE submit \xB7 esc back"})]}):null,a.at==="view"?(0,p.jsxs)(F,{marginTop:1,marginBottom:1,flexDirection:"column",children:[(0,p.jsx)(x,{bold:!0,color:h.assuranceAccent,children:Ae}),(0,p.jsx)(x,{children:" "}),w.current.map((e,n)=>(0,p.jsx)(q,{mark:e.mark,markColor:e.color==="green"?h.green:e.color==="red"?h.red:h.dim,color:e.color==="dim"?h.dim:void 0,indent:0,reserve:0,children:e.line},`vc-${n}`))]}):null,(0,p.jsx)(de,{status:De,meta:{...z,...C??z.subject?{subject:C??z.subject}:{}},tallies:fe(t.summary(),Se),keys:Ie,child:a.at==="evolving"?{verb:"evolve"}:X?{verb:X.verb}:void 0})]})}async function ut(t){let g={current:null},k=o=>{g.current?.append(o)},D=null,I=async(o,c)=>{let[{runDesign:O},{resolveAgentAuthEnv:R},{runAgent:$},{preflightTurn:W}]=await Promise.all([import("./run-GTBYWSLW.js"),import("./spawner-YQSAPZR4.js"),import("./bridge-SXYWYZDO.js"),import("./turn-preflight-JGYT7LXP.js")]);D??=await R();let P=D;return O({useCase:o,force:!0,mode:c.mode??"override",...c.because?{because:c.because}:{},...c.changeDelta!==void 0?{changeDelta:c.changeDelta}:{},...c.priorDesign!==void 0?{priorDesign:c.priorDesign}:{}},{contextDir:t.dir,agent:$,preflightTurn:()=>W(P),ask:async()=>[],out:()=>{},progress:()=>{},isTTY:!1,auth:P})},T=t.runDesign??I,C={current:null},l="",b=o=>{if(o.kind==="start")C.current={verb:o.verb},l=o.subject,k((0,p.jsxs)(x,{color:h.assuranceAccent,children:[`\u25CF ${te(o.verb).ing} ${N(o.subject)}`,o.note?(0,p.jsx)(x,{color:h.dim,children:` ${o.note}`}):null]}));else if(o.kind==="end"){let c=C.current?.verb??"design";C.current=null,k(o.ok?(0,p.jsx)(x,{color:h.green,children:`\u25CF ${te(c).ed} ${N(l)} \u2014 ${o.durS}s`}):(0,p.jsx)(x,{color:h.red,children:`\u25CF ${c} failed \u2014 ${o.exitCode!=null?`exited ${o.exitCode}`:"error"}${o.fixCmd?` \xB7 ${o.fixCmd}`:""}`}))}},y=we({contextDir:t.dir,held:t.held,archive:t.archive,planRows:t.rows,runDesign:T,mode:"interactive",signals:t.signals,onChild:b,reviewFeeder:()=>{try{return ke({contextDir:t.dir},V(t.dir))}catch{return[]}}}),r=new Set(t.rows.filter(o=>o.applied!==void 0).map(o=>o.held_ref??o.ref)),i=y.cards().filter(o=>!r.has(o.ref)&&!(o.kind==="ARCHIVE"&&t.archiveState?.[o.ref]!==void 0)),d=o=>t.rows.findIndex(c=>(c.held_ref??c.ref)===o),a=(o,c)=>{try{if(i.find($=>$.ref===o)?.kind==="ARCHIVE"){c==="retired"?t.markA?.(o,"retired"):c==="skipped"&&t.markA?.(o,"skipped");return}let R=d(o);if(R<0)return;c==="applied"||c==="committed"?t.mark?.(R,"approved"):c==="skipped"&&t.mark?.(R,"skipped")}catch{}},u=async o=>{let[{openGraph:c},{resolveParentUc:O,evolveOneUc:R}]=await Promise.all([import("./readmodel-TDRFVDVI.js"),import("./evolve-cmd-L3JIBYP5.js")]),[$,...W]=o.split(/\s+/),P=c(t.dir),E=O(P,$);if(!E.ok)return`couldn't resolve '${$}' \u2014 start with a use-case id (uc-\u2026): ${E.message}`;if(W.length===0)return`say what to change: \`${$} <your words>\` \u2014 the words become the redesign's change delta`;let _=W.join(" "),M={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},H=await R(t.dir,E.target,{yes:!0,mode:"override",because:_},M,T,"batch");return H.outcome==="evolved"?(t.signals({ref:E.target.display,verdict:"gap-resolved-evolve",reason:_}),`\u2713 redesigned ${E.target.display} \u2014 "${_}"`):`\u2717 evolve ${H.outcome} for ${E.target.display} (exit ${H.code})`},A=t.listEvolveTargets??(()=>{let o=V(t.dir);return ve(o).targets.map(c=>({key:c.display,title:c.display,badge:"stale"}))});if(t.script){let o=0;for(let c of i){let O=await t.script(c),R=await y.submit(c.ref,O);R.outcome==="failed"&&o===0&&(o=1),a(c.ref,ye(R))}return o}let[{render:s},{ScrollbackProvider:w},{ScrollbackTap:v}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./scrollback-JLPJR25X.js"),import("./ScrollbackTap-Q3IOKNMS.js")]);return new Promise(o=>{let c=!1,O=(_,M)=>{c||(c=!0,(async()=>{process.removeListener("SIGINT",P),await g.current?.flush();try{E.unmount()}catch{}M&&J(M),o(_)})())},R=0,$={current:null},W=()=>{if(R+=1,R>=2){if(c)return;c=!0,process.removeListener("SIGINT",P);try{E.unmount()}catch{}J({state:"interrupted",reason:"ctrl+c \xD72",facts:["forced quit \u2014 every committed verdict is safe in the store"]}),o(130)}},P=()=>{W(),$.current?.()};process.on("SIGINT",P);let E=s((0,p.jsxs)(w,{children:[(0,p.jsx)(v,{into:g}),(0,p.jsx)(Oe,{controller:y,cards:i,note:k,markOutcome:a,routeChat:u,listEvolveTargets:A,barSubject:t.barSubject,meta:t.meta,resumeCmd:t.resumeCmd,activeChild:C,onFinish:O,onCtrlC:W,pauseRef:$})]}),{exitOnCtrlC:!1})})}export{Oe as WalkSessionSurface,ye as outcomeToMark,ut as runWalkSession};
2
+ import{a as J}from"./chunk-A2SQD2AY.js";import{k as he}from"./chunk-X6APRDUM.js";import{a as ne,c as ie,d as ve}from"./chunk-U2CIXGZR.js";import"./chunk-OS4VSIHT.js";import{c as ke}from"./chunk-WIAZN7G4.js";import"./chunk-KAZGHWGK.js";import"./chunk-KGKJU27A.js";import"./chunk-BZAGVBCX.js";import"./chunk-JUJ4SAGH.js";import{b as Z,c as re,d as de,e as ue,f as K,h as G,i as me,k as fe,m as pe,n as ge}from"./chunk-TLFNUXKS.js";import{a as ee,b as te}from"./chunk-UJZZDPDY.js";import{a as N}from"./chunk-O5U6EAL3.js";import"./chunk-RKXHVP2Z.js";import"./chunk-DNNZ353O.js";import"./chunk-EV64VI66.js";import"./chunk-5DT7PIGB.js";import"./chunk-YMLC55J4.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-5Y2G4NC7.js";import{C as V}from"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import{b as le}from"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import{j as ce}from"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import{a as se}from"./chunk-YCCUBQY4.js";import{x as h}from"./chunk-NJJQL54J.js";import{a as Y}from"./chunk-HCBYKLMW.js";import{a as F,b as x,k as ae}from"./chunk-C44QQJR4.js";import{a as We}from"./chunk-6YGTRKDT.js";import{e as U}from"./chunk-UR6MHSHU.js";var S=U(We(),1);function be(t,g,k){let{ref:D,reason:I,by:T}=k;if(!I||I.trim().length===0)return{record:null,errors:[{code:"REASON_REQUIRED",detail:"archiving a node needs a reason \u2014 it becomes the tombstone's provenance"}]};let C=g.resolve(D);if(!C)return{record:null,errors:[{code:"UNKNOWN_REF",detail:`no node '${D}' in the graph`}]};let l=g.tipOf(C.cid);if(g.superseded.has(l))return{record:null,errors:[{code:"ALREADY_ARCHIVED",detail:`${D} is already superseded at its tip (${l.slice(0,19)}\u2026)`}]};let b=ce(t,{ts:new Date().toISOString(),proposal_id:null,nodes:[],edges:[],review:[],supersessions:[{kind:"node",old:l,new:null,reason:I,by:T}],source_head_moves:{}},{expectPrev:g.latestHash});return le(t),{record:b.record,errors:null}}function we(t){let g=t.by??{kind:"human",id:process.env.USER??"operator"},k=t.mode==="interactive"?"override":t.mode,D=k==="override"?{note:"override \xB7 auto-answers, won't ask"}:{},I=(r,i)=>ee(t.onChild,{verb:"design",subject:r,...D,fixCmd:`kane-cli design tests --use-case ${r}`},i,d=>({ok:d===0,exitCode:d})),T=(r,i,d)=>ee(t.onChild,{verb:"evolve",subject:r,...D,fixCmd:`kane-cli maintain evolve ${i}`},d,a=>({ok:a.outcome==="evolved",exitCode:a.code})),C={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},l={applied:0,committed:0,retired:0,skipped:0,deferred:0,failed:0},b=new Map;for(let r of t.planRows)if(r.held_ref&&t.held){let i=t.held.rows.find(a=>a.temp_ref===r.held_ref);if(!i)continue;let d={kind:i.kind,ref:i.temp_ref,title:i.title,why:i.why,origin:"content-change",...r.impact?{impact:r.impact}:{}};b.set(d.ref,{card:d,source:"held",heldRef:i.temp_ref})}else if(r.kind==="MODIFY"){let i={kind:"MODIFY",ref:r.ref,title:r.ref,why:`${r.reason}: ${r.provenance}`,origin:r.origin??"structural-stale",...r.impact?{impact:r.impact}:{}};b.set(i.ref,{card:i,source:"row",row:r})}else if(r.kind==="ADD"){let i={kind:"ADD",ref:r.ref,title:r.ref,why:r.reason,origin:r.origin??"content-change"};b.set(i.ref,{card:i,source:"row",row:r})}for(let r of t.archive){if(r.kind!=="ARCHIVE")continue;let i={kind:"ARCHIVE",ref:r.ref,title:r.ref,why:r.why,provenance:r.why,...r.impact?{impact:r.impact}:{}};b.set(i.ref,{card:i,source:"archive",row:r})}for(let r of t.reviewFeeder?.()??[]){if(b.has(r.ref))continue;let i={kind:r.kind==="MODIFY_HELD"?"MODIFY":r.kind,ref:r.ref,title:r.title,why:r.why,...r.impact?{impact:r.impact}:{},...r.pair?{pair:r.pair}:{},...r.held?{held:!0}:{},...r.kind==="MODIFY_HELD"?{heldPayload:!0}:{}};b.set(i.ref,{card:i,source:"review",reviewCard:r})}let y=r=>(l.failed++,{outcome:"failed",detail:r});return{cards:()=>[...b.values()].map(r=>r.card),async submit(r,i){let d=b.get(r);if(!d)return y(`no card ${r}`);if(d.source==="review"){if(d.reviewCard.kind==="PAIR"&&i.v==="approve")return y(`${r} is a PAIR card \u2014 approve is not in its grammar (merge / keep both / defer); words ride a defer note`);let{submitReview:s}=await import("./verdicts-PRXUKSDV.js"),w=i.v==="approve"?{v:"approve"}:i.v==="archive"?{v:"archive",because:i.because??""}:i.v==="skip"&&d.reviewCard.kind==="MODIFY_HELD"?{v:"keep_current"}:i.v==="defer"||i.v==="skip"?{v:"defer"}:i.v==="merge"?{v:"merge"}:{v:"keep_both"},v=await s({contextDir:t.contextDir,signals:o=>t.signals({ref:o.ref,verdict:o.verdict,...o.reason?{reason:o.reason}:{}})},d.reviewCard,w,g);return v.outcome==="failed"?(l.failed++,v):v.outcome==="deferred"?(l.deferred++,i.v==="defer"&&i.note?(t.signals({ref:r,verdict:"deferred-with-note",reason:i.note}),{...v,detail:`steering noted: "${i.note}" \u2014 decide ${d.reviewCard.kind==="PAIR"?"merge / keep both":"the verdict"} when it re-offers`}):v):v.outcome==="retired"?(l.retired++,v):v.outcome==="committed"?(l.committed++,v):(l.applied++,v)}if(i.v==="merge"||i.v==="keep_both")return y(`${r} is a ${d.card.kind} card \u2014 ${i.v} applies to review cards only`);if(i.v==="skip")return l.skipped++,t.signals({ref:r,verdict:"gap-dismissed"}),{outcome:"skipped"};if(i.v==="defer")return l.deferred++,i.note?(t.signals({ref:r,verdict:"deferred-with-note",reason:i.note}),{outcome:"deferred",detail:`steering noted: "${i.note}"`}):{outcome:"deferred"};if(i.v==="archive"){if(d.source!=="archive")return y(`${r} is not an ARCHIVE card`);let s=V(t.contextDir),w=s.resolve(d.row.ref);if(w&&s.superseded.has(s.tipOf(w.cid)))return l.skipped++,{outcome:"skipped",detail:"already retired \u2014 nothing to do"};let v=be(t.contextDir,V(t.contextDir),{ref:d.row.ref,reason:`reconcile retire: ${d.row.why}`,by:g});return v.errors?y(v.errors.map(o=>`${o.code}: ${o.detail}`).join("; ")):(l.retired++,t.signals({ref:r,verdict:"gap-resolved-archive",reason:d.row.why}),{outcome:"retired"})}if(d.source==="archive")return y(`${r} takes archive/skip/defer, not approve`);if(d.source==="held"){let s=he(t.contextDir,t.held,d.heldRef,g,i.edits);if(!s.ok)return y(s.message);if(s.kind==="ADD"){let w=await I(s.ref,()=>t.runDesign(s.ref,{yes:!0,mode:k,...i.steering?{because:i.steering}:{}}));return w!==0?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its design run exited ${w} \u2014 finish with kane-cli design tests --use-case ${s.ref}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create",...i.steering?{reason:i.steering}:{}}),{outcome:"applied",detail:s.ref})}if(i.steering){let w=V(t.contextDir),v=ne(w,s.ref);if(!v.ok)return l.committed++,{outcome:"committed",detail:`committed ${s.ref}, but steering could not resolve it (${v.message}) \u2014 steer via kane-cli maintain evolve ${s.ref}`};let o=await T(v.target.display,s.ref,()=>ie(t.contextDir,v.target,{yes:!0,mode:k,because:i.steering},C,t.runDesign,"batch"));if(o.outcome==="no-design"){let c=await I(v.target.seamRef,()=>t.runDesign(v.target.seamRef,{yes:!0,mode:k,because:i.steering}));return c!==0?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its steered design run exited ${c} \u2014 finish with kane-cli design tests --use-case ${v.target.seamRef}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create",reason:i.steering}),{outcome:"applied",detail:s.ref})}return o.outcome==="failed"||o.outcome==="paused"?(l.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but the steering evolve ${o.outcome} (exit ${o.code}) \u2014 finish with kane-cli maintain evolve ${s.ref}`}):o.outcome==="declined"?(l.committed++,{outcome:"committed",detail:`committed ${s.ref} \u2014 the steering evolve was declined; re-run kane-cli maintain evolve ${s.ref}`}):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-evolve",reason:i.steering}),{outcome:"applied",detail:s.ref})}return l.committed++,t.signals({ref:r,verdict:"gap-resolved-evolve"}),{outcome:"committed",detail:s.ref}}let a=V(t.contextDir),u=ne(a,d.row.ref);if(!u.ok)return y(u.message);if(d.card.kind==="ADD"){let s=await I(u.target.seamRef,()=>t.runDesign(u.target.seamRef,{yes:!0,mode:k}));return s!==0?y(`design run exited ${s}`):(l.applied++,t.signals({ref:r,verdict:"gap-resolved-create"}),{outcome:"applied"})}let A=await T(u.target.display,d.row.ref,()=>ie(t.contextDir,u.target,{yes:!0,mode:k,...i.steering?{because:i.steering}:{}},C,t.runDesign,"batch"));return A.outcome==="evolved"?(l.applied++,t.signals({ref:r,verdict:"gap-resolved-evolve",...i.steering?{reason:i.steering}:{}}),{outcome:"applied"}):A.outcome==="failed"||A.outcome==="paused"?y(`evolve ${A.outcome} (exit ${A.code})`):(l.skipped++,{outcome:"skipped",detail:A.outcome})},summary:()=>({...l})}}var j=U(Y(),1);function q({mark:t,markColor:g,color:k,indent:D=2,reserve:I=0,children:T}){let{stdout:C}=ae(),l=(C?.columns??80)-I,b=D+t.length+1;return(0,j.jsxs)(F,{children:[(0,j.jsx)(F,{width:b,flexShrink:0,children:(0,j.jsx)(x,{color:g,children:`${" ".repeat(D)}${t}`})}),(0,j.jsx)(F,{width:Math.max(20,l-b),children:(0,j.jsx)(x,{color:k,children:T})})]})}var p=U(Y(),1);function ye(t){return t.landed?"committed":t.outcome}var Ee={applied:{mark:"\u2714",color:"green"},committed:{mark:"\u2714",color:"green"},retired:{mark:"\u2714",color:"green"},skipped:{mark:"\xB7",color:"dim"},deferred:{mark:"\u2013",color:"dim"},failed:{mark:"\u2717",color:"red"}};function Pe(t){return t.v==="archive"?"Retiring\u2026":t.v==="approve"&&t.steering?"Approving with your changes \u2014 committing, then re-designing\u2026":"Applying \u2014 committing\u2026"}function Oe({controller:t,cards:g,note:k,markOutcome:D,routeChat:I,listEvolveTargets:T,barSubject:C,meta:l,resumeCmd:b,activeChild:y,onFinish:r,onCtrlC:i,pauseRef:d}){let[a,u]=(0,S.useState)(g.length>0?{at:"card",idx:0,sel:0,editor:null}:{at:"done-panel",sel:0}),A=(0,S.useRef)(0),s=(0,S.useRef)(a);s.current=a;let w=(0,S.useRef)([]),[,v]=(0,S.useState)(0),o=a.at==="busy"||a.at==="evolving";(0,S.useEffect)(()=>{if(!o)return;let e=setInterval(()=>v(n=>n+1),120);return()=>clearInterval(e)},[o]);let c=()=>{let e=t.summary();return`${e.applied+e.committed} applied \xB7 ${e.retired} retired \xB7 ${e.skipped} skipped \xB7 ${e.deferred} deferred`+(e.failed>0?` \xB7 ${e.failed} failed`:"")},O=()=>({state:"complete",facts:[c()]}),R=()=>({state:"walk-paused",reason:"ctrl+c",facts:[c(),"every verdict so far is committed \u2014 re-run the same reconcile command to continue"],...b?{resume:b}:{}}),$=()=>r(A.current,O()),W=(0,S.useRef)(!1),P=()=>{r(3,R())},E=()=>{if(W.current)return;W.current=!0;let e=s.current;if(e.at==="busy"||e.at==="evolving"){k((0,p.jsx)(x,{color:h.dim,children:"finishing the current item, then pausing\u2026"}));return}if(e.at==="done-panel"||e.at==="picker"||e.at==="why"||e.at==="view"){$();return}P()};d&&(d.current=E);let _=a.at==="card"||a.at==="busy"?g[a.idx]:null,M=()=>[{key:"finish",label:"finish"},...T?[{key:"evolve",label:"evolve another use-case\u2026"}]:[],...w.current.length>0?[{key:"view",label:"view what changed"}]:[]],H=()=>{let e=T?.()??[];if(e.length===0){k((0,p.jsx)(x,{color:h.dim,children:"nothing is stale \u2014 no evolve targets right now"})),u({at:"done-panel",sel:0});return}u({at:"picker",items:e,sel:0})},xe=e=>{let n=e+1;n<g.length?u({at:"card",idx:n,sel:0,editor:null}):u({at:"done-panel",sel:0})},Q=(0,S.useRef)(!1),L=(e,n)=>{if(Q.current)return;Q.current=!0;let m=g[e];u({at:"busy",idx:e,label:Pe(n),startedAt:Date.now()}),t.submit(m.ref,n).catch(f=>({outcome:"failed",detail:f instanceof Error?f.message:String(f)})).then(f=>{let B=Ee[f.outcome]??{mark:"\xB7",color:"dim"},Te=f.outcome!=="failed"&&f.outcome!=="skipped"&&f.outcome!=="deferred"&&m.impact&&"stale_refs"in m.impact&&m.impact.stale_refs.length>0?` \xB7 ${m.impact.stale_refs.length} item(s) now stale`:"",oe=`${f.outcome} [${m.kind}] ${N(m.title)}${f.detail?` \u2014 ${N(f.detail)}`:""}${Te}`;if(w.current.push({mark:B.mark,color:B.color,line:oe}),k((0,p.jsx)(q,{mark:B.mark,markColor:B.color==="green"?h.green:B.color==="red"?h.red:h.dim,color:B.color==="dim"?h.dim:void 0,children:oe})),f.outcome==="failed"&&(A.current=A.current===0?1:A.current),D(m.ref,ye(f)),Q.current=!1,W.current){P();return}xe(e)})},Ce=(e,n)=>{u({at:"evolving",title:e.title,startedAt:Date.now()}),I(`${e.key} ${n}`).catch(m=>`\u2717 evolve failed: ${m instanceof Error?m.message:String(m)}`).then(m=>{let f=m.startsWith("\u2713");if(w.current.push({mark:f?"\u2714":"\u2717",color:f?"green":"red",line:m.replace(/^[✓✗]\s*/,"")}),k((0,p.jsx)(q,{mark:f?"\u2714":"\u2717",markColor:f?h.green:h.red,children:m.replace(/^[✓✗]\s*/,"")})),W.current){$();return}u({at:"done-panel",sel:0})})},Re=(0,S.useMemo)(()=>({isFocused:()=>{let e=s.current;return e.at==="card"&&e.editor===null||e.at==="done-panel"||e.at==="picker"||e.at==="view"},onMove:e=>{u(n=>{if(n.at==="card"){let m=g[n.idx],f=G(m)??K(m).length-1;return{...n,sel:Math.max(0,Math.min(f,n.sel+e))}}return n.at==="done-panel"?{...n,sel:Math.max(0,Math.min(M().length-1,n.sel+e))}:n.at==="picker"?{...n,sel:Math.max(0,Math.min(n.items.length-1,n.sel+e))}:n})},onSelect:()=>{let e=s.current;if(e.at==="card"){let n=g[e.idx],m=G(n);if(m!==null&&e.sel===m){u({...e,editor:"",editorIntent:"steer"});return}let f=K(n)[e.sel];if(f?.v==="archive"&&n.kind==="REVIEW"){u({...e,editor:"",editorIntent:"because"});return}f&&L(e.idx,{v:f.v});return}if(e.at==="done-panel"){let n=M()[e.sel];n?.key==="finish"?$():n?.key==="evolve"?H():n?.key==="view"&&u({at:"view"});return}if(e.at==="picker"){let n=e.items[e.sel];n&&u({at:"why",item:n,text:""});return}},onDigit:e=>{let n=s.current;if(n.at==="card"){let m=g[n.idx],f=K(m)[e-1];if(f?.v==="archive"&&m.kind==="REVIEW"){u({...n,editor:"",editorIntent:"because"});return}f&&L(n.idx,{v:f.v});return}n.at==="done-panel"&&e-1<M().length&&u({...n,sel:e-1}),n.at==="picker"&&e-1<n.items.length&&u({...n,sel:e-1})},onType:e=>{u(n=>n.at!=="card"||G(g[n.idx])===null?n:{...n,editor:(n.editor??"")+e,editorIntent:n.editorIntent??"steer"})},isMulti:()=>!1,onSpace:()=>{},onBack:()=>{let e=s.current;(e.at==="picker"||e.at==="view")&&u({at:"done-panel",sel:0})}}),[g]);(0,S.useEffect)(()=>{a.at==="done"&&$()},[a.at]);let $e=e=>Math.floor((Date.now()-e)/1e3),X=y?.current??null,De=a.at==="card"?{kind:"card",n:a.idx+1,m:g.length}:a.at==="busy"?X?{kind:"child-working",step:re(a.label)}:{kind:"working",step:re(a.label),elapsedS:$e(a.startedAt)}:a.at==="evolving"?{kind:"child-working",step:`evolving ${a.title}`}:{kind:"idle"},Se=a.at==="card"||a.at==="busy"?g.length-a.idx:0,Me=a.at==="done-panel"||a.at==="picker"||a.at==="why"||a.at==="view",Ie=[...a.at==="card"?a.editor!==null?["\u23CE submit","esc back"]:ge(g[a.idx]).keys:a.at==="done-panel"?pe(M(),{escBack:!1}).keys:a.at==="picker"?["\u2191\u2193 select","\u23CE confirm","esc back"]:a.at==="why"?["\u23CE submit","esc back"]:a.at==="view"?["esc back"]:[],"ctrl+c exit"],z=l??{verb:"reconcile",sid:"",env:""},Ae=`view \xB7 this run's changes \xB7 ${w.current.length}`;return(0,p.jsxs)(F,{flexDirection:"column",children:[(0,p.jsx)(ue,{onToggleThinking:()=>{},onCtrlC:()=>{i(),E()},panel:Re}),a.at==="card"&&_?(0,p.jsx)(me,{card:_,position:{n:a.idx+1,of:g.length},sel:a.sel,focused:a.editor===null,editorIntent:a.editorIntent??"steer",freeText:a.editor!==null?{value:a.editor,onChange:e=>u(n=>n.at==="card"?{...n,editor:e}:n),onSubmit:e=>{let n=s.current;if(n.at!=="card")return;let m=e.trim();if(!m){u({...n,editor:null,editorIntent:void 0});return}let f=g[n.idx];n.editorIntent==="because"?L(n.idx,{v:"archive",because:m}):f.kind==="PAIR"?L(n.idx,{v:"defer",note:m}):L(n.idx,{v:"approve",steering:m})},onCancel:()=>u(e=>e.at==="card"?{...e,editor:null,editorIntent:void 0}:e)}:null}):null,a.at==="done-panel"?(0,p.jsx)(Z,{headline:(()=>{let e=t.summary();return`reconcile done \u2014 ${e.applied+e.committed} applied \xB7 ${e.retired} retired \xB7 ${e.skipped} skipped \xB7 ${e.deferred} deferred${e.failed>0?` \xB7 ${e.failed} failed`:""}`})(),rows:M(),sel:a.sel,focused:!0}):null,a.at==="picker"?(0,p.jsx)(Z,{ask:!0,headline:"evolve which use-case?",rows:a.items.map(e=>({key:e.key,label:e.title,detail:e.badge})),sel:a.sel,focused:!0}):null,a.at==="why"?(0,p.jsxs)(F,{flexDirection:"column",borderStyle:"round",borderColor:h.assuranceAccent,paddingX:1,children:[(0,p.jsxs)(F,{children:[(0,p.jsxs)(x,{children:[(0,p.jsx)(x,{color:h.assuranceAccent,children:"\u25B8"})," ",(0,p.jsx)(x,{color:h.dim,children:"\u270E "})]}),(0,p.jsx)(se,{value:a.text,onChange:e=>u(n=>n.at==="why"?{...n,text:e}:n),onSubmit:e=>{let n=s.current;n.at==="why"&&(e.trim()?Ce(n.item,e.trim()):u({at:"picker",items:[n.item],sel:0}))},onCancel:()=>{s.current.at==="why"&&H()},placeholder:`what should change about ${a.item.title}?`})]}),(0,p.jsx)(x,{color:h.muted,children:" \u23CE submit \xB7 esc back"})]}):null,a.at==="view"?(0,p.jsxs)(F,{marginTop:1,marginBottom:1,flexDirection:"column",children:[(0,p.jsx)(x,{bold:!0,color:h.assuranceAccent,children:Ae}),(0,p.jsx)(x,{children:" "}),w.current.map((e,n)=>(0,p.jsx)(q,{mark:e.mark,markColor:e.color==="green"?h.green:e.color==="red"?h.red:h.dim,color:e.color==="dim"?h.dim:void 0,indent:0,reserve:0,children:e.line},`vc-${n}`))]}):null,(0,p.jsx)(de,{status:De,meta:{...z,...C??z.subject?{subject:C??z.subject}:{}},tallies:fe(t.summary(),Se),keys:Ie,child:a.at==="evolving"?{verb:"evolve"}:X?{verb:X.verb}:void 0})]})}async function ut(t){let g={current:null},k=o=>{g.current?.append(o)},D=null,I=async(o,c)=>{let[{runDesign:O},{resolveAgentAuthEnv:R},{runAgent:$},{preflightTurn:W}]=await Promise.all([import("./run-PBS2J4N4.js"),import("./spawner-R3XOP3GP.js"),import("./bridge-E2C5VV3H.js"),import("./turn-preflight-JGYT7LXP.js")]);D??=await R();let P=D;return O({useCase:o,force:!0,mode:c.mode??"override",...c.because?{because:c.because}:{},...c.changeDelta!==void 0?{changeDelta:c.changeDelta}:{},...c.priorDesign!==void 0?{priorDesign:c.priorDesign}:{}},{contextDir:t.dir,agent:$,preflightTurn:()=>W(P),ask:async()=>[],out:()=>{},progress:()=>{},isTTY:!1,auth:P})},T=t.runDesign??I,C={current:null},l="",b=o=>{if(o.kind==="start")C.current={verb:o.verb},l=o.subject,k((0,p.jsxs)(x,{color:h.assuranceAccent,children:[`\u25CF ${te(o.verb).ing} ${N(o.subject)}`,o.note?(0,p.jsx)(x,{color:h.dim,children:` ${o.note}`}):null]}));else if(o.kind==="end"){let c=C.current?.verb??"design";C.current=null,k(o.ok?(0,p.jsx)(x,{color:h.green,children:`\u25CF ${te(c).ed} ${N(l)} \u2014 ${o.durS}s`}):(0,p.jsx)(x,{color:h.red,children:`\u25CF ${c} failed \u2014 ${o.exitCode!=null?`exited ${o.exitCode}`:"error"}${o.fixCmd?` \xB7 ${o.fixCmd}`:""}`}))}},y=we({contextDir:t.dir,held:t.held,archive:t.archive,planRows:t.rows,runDesign:T,mode:"interactive",signals:t.signals,onChild:b,reviewFeeder:()=>{try{return ke({contextDir:t.dir},V(t.dir))}catch{return[]}}}),r=new Set(t.rows.filter(o=>o.applied!==void 0).map(o=>o.held_ref??o.ref)),i=y.cards().filter(o=>!r.has(o.ref)&&!(o.kind==="ARCHIVE"&&t.archiveState?.[o.ref]!==void 0)),d=o=>t.rows.findIndex(c=>(c.held_ref??c.ref)===o),a=(o,c)=>{try{if(i.find($=>$.ref===o)?.kind==="ARCHIVE"){c==="retired"?t.markA?.(o,"retired"):c==="skipped"&&t.markA?.(o,"skipped");return}let R=d(o);if(R<0)return;c==="applied"||c==="committed"?t.mark?.(R,"approved"):c==="skipped"&&t.mark?.(R,"skipped")}catch{}},u=async o=>{let[{openGraph:c},{resolveParentUc:O,evolveOneUc:R}]=await Promise.all([import("./readmodel-TDRFVDVI.js"),import("./evolve-cmd-5ACHYQPE.js")]),[$,...W]=o.split(/\s+/),P=c(t.dir),E=O(P,$);if(!E.ok)return`couldn't resolve '${$}' \u2014 start with a use-case id (uc-\u2026): ${E.message}`;if(W.length===0)return`say what to change: \`${$} <your words>\` \u2014 the words become the redesign's change delta`;let _=W.join(" "),M={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},H=await R(t.dir,E.target,{yes:!0,mode:"override",because:_},M,T,"batch");return H.outcome==="evolved"?(t.signals({ref:E.target.display,verdict:"gap-resolved-evolve",reason:_}),`\u2713 redesigned ${E.target.display} \u2014 "${_}"`):`\u2717 evolve ${H.outcome} for ${E.target.display} (exit ${H.code})`},A=t.listEvolveTargets??(()=>{let o=V(t.dir);return ve(o).targets.map(c=>({key:c.display,title:c.display,badge:"stale"}))});if(t.script){let o=0;for(let c of i){let O=await t.script(c),R=await y.submit(c.ref,O);R.outcome==="failed"&&o===0&&(o=1),a(c.ref,ye(R))}return o}let[{render:s},{ScrollbackProvider:w},{ScrollbackTap:v}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./scrollback-JLPJR25X.js"),import("./ScrollbackTap-Q3IOKNMS.js")]);return new Promise(o=>{let c=!1,O=(_,M)=>{c||(c=!0,(async()=>{process.removeListener("SIGINT",P),await g.current?.flush();try{E.unmount()}catch{}M&&J(M),o(_)})())},R=0,$={current:null},W=()=>{if(R+=1,R>=2){if(c)return;c=!0,process.removeListener("SIGINT",P);try{E.unmount()}catch{}J({state:"interrupted",reason:"ctrl+c \xD72",facts:["forced quit \u2014 every committed verdict is safe in the store"]}),o(130)}},P=()=>{W(),$.current?.()};process.on("SIGINT",P);let E=s((0,p.jsxs)(w,{children:[(0,p.jsx)(v,{into:g}),(0,p.jsx)(Oe,{controller:y,cards:i,note:k,markOutcome:a,routeChat:u,listEvolveTargets:A,barSubject:t.barSubject,meta:t.meta,resumeCmd:t.resumeCmd,activeChild:C,onFinish:O,onCtrlC:W,pauseRef:$})]}),{exitOnCtrlC:!1})})}export{Oe as WalkSessionSurface,ye as outcomeToMark,ut as runWalkSession};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-USUFF3S6.js";import"./chunk-CSCJLGIY.js";import"./chunk-4PMZ5FCD.js";import"./chunk-KBM3XHAM.js";import"./chunk-2YEHV2CX.js";import"./chunk-IDX3TOPY.js";import"./chunk-BKM2LWU2.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-RZ4F3BHX.js";import"./chunk-WEJA3EVI.js";import"./chunk-UR6MHSHU.js";export{a as withTelemetry};
2
+ import{a}from"./chunk-6A47PRDS.js";import"./chunk-2MTAXT2U.js";import"./chunk-4PMZ5FCD.js";import"./chunk-KBM3XHAM.js";import"./chunk-2YEHV2CX.js";import"./chunk-IDX3TOPY.js";import"./chunk-BKM2LWU2.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-RZ4F3BHX.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";export{a as withTelemetry};