@testmuai/kane-cli 0.8.7 → 0.8.9

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 (236) hide show
  1. package/bin/kane-cli.cjs +5 -1
  2. package/dist/{ChatSurface-3PEXML4X.js → ChatSurface-HXCRGPSE.js} +1 -1
  3. package/dist/{ChromeProfilePicker-E3CZ52RH.js → ChromeProfilePicker-PJS4NGEC.js} +1 -1
  4. package/dist/{CliFeedbackPrompt-BEVZRLQA.js → CliFeedbackPrompt-Q56VKWKM.js} +1 -1
  5. package/dist/{CliUploadProgress-V2FLLVR6.js → CliUploadProgress-TMVTKNOT.js} +1 -1
  6. package/dist/{ConfigView-ZOGKVFQT.js → ConfigView-Y7ZVYT2C.js} +1 -1
  7. package/dist/EvidenceViewOffer-XV3WF2EC.js +2 -0
  8. package/dist/FolderPicker-UGHFCPUL.js +2 -0
  9. package/dist/{InfoBox-4TNE7QMG.js → InfoBox-IDJYGPXF.js} +1 -1
  10. package/dist/{LinksBox-TXO5X5UD.js → LinksBox-5XNJ3UJJ.js} +1 -1
  11. package/dist/{ProfilesView-S4YPEZEF.js → ProfilesView-U73QBC5W.js} +1 -1
  12. package/dist/{ProjectPicker-LWFX2QT2.js → ProjectPicker-KCE2VZCO.js} +1 -1
  13. package/dist/{SaveSessionPrompt-MJTCIQIZ.js → SaveSessionPrompt-3FHLIRLS.js} +1 -1
  14. package/dist/SingleShotApp-ECA24PKW.js +2 -0
  15. package/dist/{SummaryBox-UIVK3QDR.js → SummaryBox-GKHU4C4H.js} +1 -1
  16. package/dist/TestMdRunView-KLMMXQCN.js +2 -0
  17. package/dist/{TestrunEvidenceTable-GYGVNCYW.js → TestrunEvidenceTable-INNZCGTM.js} +1 -1
  18. package/dist/{WhoamiView-NRGMMLL4.js → WhoamiView-PSL7PUVT.js} +1 -1
  19. package/dist/{app-download-HTQOD3YF.js → app-download-MBUJGT3R.js} +1 -1
  20. package/dist/{auth-5URO2XJU.js → auth-TYG473Z4.js} +1 -1
  21. package/dist/{binary-2U4YTTFS.js → binary-QQXWA35Q.js} +1 -1
  22. package/dist/{bind-NO4TMSHJ.js → bind-WJ5UEMMZ.js} +3 -3
  23. package/dist/{bootstrap-UOEW3VZM.js → bootstrap-MYG4TJVF.js} +1 -1
  24. package/dist/bridge-S3WZ4TH2.js +2 -0
  25. package/dist/{changelog-7BPYLUDK.js → changelog-N4L5ZUGF.js} +1 -1
  26. package/dist/{chat-committer-GUK6IBCL.js → chat-committer-K3NOTLOU.js} +1 -1
  27. package/dist/chat-controller-YJCNU76T.js +2 -0
  28. package/dist/{chunk-DJC6MLO4.js → chunk-22HCCSL7.js} +1 -1
  29. package/dist/{chunk-Z7HUW3L4.js → chunk-27P7PJAL.js} +1 -1
  30. package/dist/{chunk-K7VX6YIT.js → chunk-2DKJZPIH.js} +1 -1
  31. package/dist/{chunk-IQBKCLLR.js → chunk-34VSIQNO.js} +1 -1
  32. package/dist/{chunk-VMRP44MN.js → chunk-367NASYK.js} +1 -1
  33. package/dist/chunk-4PMZ5FCD.js +2 -0
  34. package/dist/{chunk-C4OVX65Q.js → chunk-54JZ6VEW.js} +1 -1
  35. package/dist/{chunk-GAO6ZMCT.js → chunk-5G22NOZK.js} +1 -1
  36. package/dist/{chunk-ILKSL4PI.js → chunk-6FCPS2VT.js} +1 -1
  37. package/dist/{chunk-76ILJPZF.js → chunk-6MJGCETZ.js} +1 -1
  38. package/dist/{chunk-T4LAHU57.js → chunk-6S426ODE.js} +3 -3
  39. package/dist/{chunk-LRZXVDPY.js → chunk-6UNXON3J.js} +1 -1
  40. package/dist/{chunk-7VAE7WXF.js → chunk-6ZNRPDLP.js} +2 -2
  41. package/dist/{chunk-YDEK2FJQ.js → chunk-7RAIRUXO.js} +1 -1
  42. package/dist/{chunk-YKYZKBMH.js → chunk-AARF24Z3.js} +17 -17
  43. package/dist/chunk-AKX4VRRR.js +2 -0
  44. package/dist/{chunk-VHA7UNDW.js → chunk-AOB2ZX45.js} +1 -1
  45. package/dist/{chunk-GJ6RJVXH.js → chunk-AROBXG66.js} +1 -1
  46. package/dist/{chunk-3BY7MX3D.js → chunk-BOZODWIZ.js} +1 -1
  47. package/dist/{chunk-GYTZLUFV.js → chunk-BVON52QL.js} +1 -1
  48. package/dist/{chunk-3IM5QGVV.js → chunk-CCEXSCTN.js} +1 -1
  49. package/dist/{chunk-E5C3HUIY.js → chunk-CJD3EEPT.js} +1 -1
  50. package/dist/{chunk-IJABR5SX.js → chunk-COJGXGKZ.js} +1 -1
  51. package/dist/chunk-D5MK4WTK.js +26 -0
  52. package/dist/{chunk-72J4V3DA.js → chunk-DGNVKMGN.js} +1 -1
  53. package/dist/{chunk-QQ67Z4IW.js → chunk-DKUD2D5Y.js} +1 -1
  54. package/dist/{chunk-HHQ67JCU.js → chunk-DUEROGOF.js} +1 -1
  55. package/dist/{chunk-N2N5T5JN.js → chunk-DWHXXPDX.js} +1 -1
  56. package/dist/{chunk-HEWWWMUN.js → chunk-EEFZXZTZ.js} +1 -1
  57. package/dist/{chunk-F43KOMVB.js → chunk-EV64VI66.js} +1 -1
  58. package/dist/{chunk-TKQSIKMR.js → chunk-F5BI3ALG.js} +1 -1
  59. package/dist/{chunk-BISBPWN3.js → chunk-FC6DEFUP.js} +1 -1
  60. package/dist/{chunk-E6AF53HZ.js → chunk-FT23VFSR.js} +48 -47
  61. package/dist/{chunk-7CU5EBC6.js → chunk-GWSGTZMK.js} +1 -1
  62. package/dist/{chunk-IMR64OCZ.js → chunk-GX3FPJUG.js} +1 -1
  63. package/dist/chunk-H4WIA4IP.js +26 -0
  64. package/dist/{chunk-ZFRWVWUR.js → chunk-H5TNYYZW.js} +1 -1
  65. package/dist/{chunk-HAGJA7KG.js → chunk-H6KL3FSB.js} +1 -1
  66. package/dist/{chunk-QZB7CBRO.js → chunk-HKCZ67AT.js} +1 -1
  67. package/dist/{chunk-NM6PEYED.js → chunk-HPBI3P6I.js} +3 -3
  68. package/dist/{chunk-UOLERTKE.js → chunk-IANCFSSL.js} +1 -1
  69. package/dist/{chunk-C5ZIKKIB.js → chunk-IBPF5IM5.js} +1 -1
  70. package/dist/{chunk-SZTUZZEA.js → chunk-IDQBMC3B.js} +1 -1
  71. package/dist/{chunk-46HYKID6.js → chunk-IJYV3KKD.js} +2 -2
  72. package/dist/chunk-IPEA7ZOF.js +8 -0
  73. package/dist/{chunk-R2JRQD4I.js → chunk-IPZFZUJX.js} +1 -1
  74. package/dist/{chunk-WNHLKDOT.js → chunk-IVQX3AKL.js} +1 -1
  75. package/dist/{chunk-5ZV64NAG.js → chunk-IWVA37B6.js} +1 -1
  76. package/dist/{chunk-P4JUY54O.js → chunk-JPZHCB4Z.js} +1 -1
  77. package/dist/{chunk-B2KXIFZD.js → chunk-JQW2QFSX.js} +1 -1
  78. package/dist/{chunk-JZ26R6UL.js → chunk-JUJ4SAGH.js} +1 -1
  79. package/dist/chunk-KAZGHWGK.js +5 -0
  80. package/dist/{chunk-Q4CTSXDM.js → chunk-KGKJU27A.js} +1 -1
  81. package/dist/{chunk-OADHU5HL.js → chunk-KKBID6TD.js} +1 -1
  82. package/dist/{chunk-LOMPRMG3.js → chunk-LRHSWJDR.js} +1 -1
  83. package/dist/{chunk-UFYIQ4E3.js → chunk-M7D7EHNN.js} +1 -1
  84. package/dist/{chunk-2RO2BWCZ.js → chunk-ME3DGP7G.js} +2 -2
  85. package/dist/{chunk-EU5ZH334.js → chunk-MJHLQKQC.js} +1 -1
  86. package/dist/chunk-N7Z7BQYO.js +3 -0
  87. package/dist/{chunk-X7R2JWOJ.js → chunk-NTEI2O3O.js} +1 -1
  88. package/dist/{chunk-U35Y7SGB.js → chunk-NVNPXOOC.js} +1 -1
  89. package/dist/{chunk-DSNB7EI6.js → chunk-O3RRCPIU.js} +1 -1
  90. package/dist/{chunk-SWXEBLKX.js → chunk-O5U6EAL3.js} +1 -1
  91. package/dist/{chunk-HL4UXOHV.js → chunk-OEH4LU5L.js} +1 -1
  92. package/dist/{chunk-XAQ3Y63J.js → chunk-OLKHUNSQ.js} +18 -18
  93. package/dist/{chunk-TMFFHGCT.js → chunk-OME5EJ5X.js} +4 -4
  94. package/dist/{chunk-ZH2ROVHE.js → chunk-OR6M5HCV.js} +2 -2
  95. package/dist/{chunk-BPHQNTUD.js → chunk-P2VERPOP.js} +1 -1
  96. package/dist/{chunk-DMOZM22N.js → chunk-PH4RABYU.js} +1 -1
  97. package/dist/{chunk-A66ZGHO2.js → chunk-QDE2BBAK.js} +1 -1
  98. package/dist/chunk-QHUNFH5P.js +363 -0
  99. package/dist/{chunk-5DBK6QNS.js → chunk-QQ5MHSSY.js} +1 -1
  100. package/dist/{chunk-VOXDZS4N.js → chunk-QS3DXKZN.js} +2 -2
  101. package/dist/{chunk-YGVY63PE.js → chunk-R5PIIYN2.js} +1 -1
  102. package/dist/{chunk-6AUSG5SB.js → chunk-R7GMVPAF.js} +1 -1
  103. package/dist/chunk-RSSOJ3L2.js +21 -0
  104. package/dist/{chunk-T3DVIDBA.js → chunk-SJBIXLL3.js} +1 -1
  105. package/dist/{chunk-F7RR24BL.js → chunk-SV5ZTCQA.js} +1 -1
  106. package/dist/{chunk-IRPAWAK7.js → chunk-TJLGHGUO.js} +3 -3
  107. package/dist/{chunk-AUERMBX5.js → chunk-TJR4R45C.js} +1 -1
  108. package/dist/{chunk-MROHDW4W.js → chunk-TN4SXGAP.js} +1 -1
  109. package/dist/{chunk-YYSWJU6H.js → chunk-UEIQTXB6.js} +1 -1
  110. package/dist/{chunk-CUM23TLF.js → chunk-UH2ZTX4E.js} +1 -1
  111. package/dist/{chunk-3YKNJIVB.js → chunk-VDKGMVXZ.js} +1 -1
  112. package/dist/{chunk-6YVVTYVO.js → chunk-VQFJM7VP.js} +7 -7
  113. package/dist/{chunk-4EFDEDTL.js → chunk-VSEWQEM5.js} +1 -1
  114. package/dist/{chunk-AJXOJF2X.js → chunk-W3Z7AZNT.js} +1 -1
  115. package/dist/{chunk-C765HUXU.js → chunk-W5BTYVZD.js} +1 -1
  116. package/dist/{chunk-YC6HYBLN.js → chunk-WH5RVDD6.js} +2 -2
  117. package/dist/chunk-WHEWZR2C.js +15 -0
  118. package/dist/{chunk-DTBKKC2R.js → chunk-WHMMOMUY.js} +1 -1
  119. package/dist/{chunk-Z3EEMIVV.js → chunk-WIAZN7G4.js} +1 -1
  120. package/dist/{chunk-HLXOYLZV.js → chunk-XMTSHHYQ.js} +1 -1
  121. package/dist/{chunk-OHD4CZXT.js → chunk-XPFFH2PC.js} +1 -1
  122. package/dist/{chunk-XWKUZJCP.js → chunk-YMLC55J4.js} +1 -1
  123. package/dist/{chunk-NQFAZM2D.js → chunk-Z2DT2QMX.js} +1 -1
  124. package/dist/{chunk-HO3T5LJH.js → chunk-ZAKX5BN6.js} +1 -1
  125. package/dist/{chunk-B27X3C2E.js → chunk-ZBJAYCPS.js} +1 -1
  126. package/dist/chunk-ZDAO5D6D.js +16 -0
  127. package/dist/{chunk-44PZPNXJ.js → chunk-ZHB7V3NY.js} +1 -1
  128. package/dist/{committer-JC6BIBNR.js → committer-C6UCDYMC.js} +1 -1
  129. package/dist/{config-XNDP425N.js → config-ZDGCZZT3.js} +1 -1
  130. package/dist/{cover-cmd-HREOYWWD.js → cover-cmd-5LPHIOSI.js} +1 -1
  131. package/dist/{credentials-ZTBWB3LK.js → credentials-YEWA7HXA.js} +1 -1
  132. package/dist/{deps-bundle-OHCYH5KL.js → deps-bundle-JQUW73W5.js} +1 -1
  133. package/dist/{deps-resolve-K2NX2W3K.js → deps-resolve-RXF3JWAP.js} +1 -1
  134. package/dist/descriptor-PWUUNYV7.js +2 -0
  135. package/dist/design-committer-UPC6NZUF.js +2 -0
  136. package/dist/dispatch-TRYJZWJE.js +2 -0
  137. package/dist/{doctor-XXOGVMAI.js → doctor-F7R4WUSI.js} +1 -1
  138. package/dist/{dossier-2M62K2PA.js → dossier-Y6TJWFZU.js} +1 -1
  139. package/dist/evidence-F3CQJQIB.js +2 -0
  140. package/dist/{evolve-cmd-WQB7E2B5.js → evolve-cmd-ICTXNYU4.js} +1 -1
  141. package/dist/exit-manager-ZLDO54S4.js +2 -0
  142. package/dist/{explain-AOZNHWMB.js → explain-3HAZY7Q6.js} +1 -1
  143. package/dist/{explain-cmd-7VTWRROR.js → explain-cmd-RMJPXD4U.js} +1 -1
  144. package/dist/{explain-cmd-2SCD5T6U.js → explain-cmd-XCRO4AS6.js} +1 -1
  145. package/dist/{extract-bind-3YXY7ZU2.js → extract-bind-PH3VB7PY.js} +3 -3
  146. package/dist/{extract-cmd-WGXEJ54C.js → extract-cmd-HSESPCTL.js} +2 -2
  147. package/dist/{feeder-GVZSWX6Q.js → feeder-IOR3XRNF.js} +1 -1
  148. package/dist/gaps-cmd-JIUM5YDY.js +3 -0
  149. package/dist/{gate-54BRAE7N.js → gate-E3BLIUEA.js} +1 -1
  150. package/dist/{generate-headless-PCNAJ2LS.js → generate-headless-Z5YF7UHX.js} +2 -2
  151. package/dist/index.js +91 -91
  152. package/dist/ingest-TTUQ7UDK.js +2 -0
  153. package/dist/ingest-cmd-SNPNVPIO.js +2 -0
  154. package/dist/install-VBUDO2YW.js +2 -0
  155. package/dist/{interactive-bind-ZFMG2JIX.js → interactive-bind-HZG2KCTX.js} +4 -4
  156. package/dist/{lifecycle-cmd-5FRGYY3M.js → lifecycle-cmd-KSMETBPP.js} +1 -1
  157. package/dist/{list-cmd-DD4WYJSH.js → list-cmd-V3HJ5K4O.js} +1 -1
  158. package/dist/{list-commands-64THS67Y.js → list-commands-BHQHPHOH.js} +1 -1
  159. package/dist/{logical-ids-U2OUMYCP.js → logical-ids-MLXAH45L.js} +1 -1
  160. package/dist/login-flow-TWGSFMWW.js +2 -0
  161. package/dist/{maintenance-cmd-7V44VGL4.js → maintenance-cmd-VFYGKY3X.js} +1 -1
  162. package/dist/{mobile-prompts-RITBS32L.js → mobile-prompts-ELBW35KK.js} +1 -1
  163. package/dist/persist-recorded-session-DXUJXHC5.js +3 -0
  164. package/dist/{phase-seed-ATH337WF.js → phase-seed-BMOSAA74.js} +1 -1
  165. package/dist/pipeline-ULKJX3FG.js +2 -0
  166. package/dist/prepare-target-M656XQLU.js +2 -0
  167. package/dist/readmodel-TDRFVDVI.js +2 -0
  168. package/dist/reconcile-cmd-DBOUGUEB.js +2 -0
  169. package/dist/{reconcile-deps-XEUZHUQX.js → reconcile-deps-RX66LB4B.js} +2 -2
  170. package/dist/reconcile-engine-OEDO57U7.js +2 -0
  171. package/dist/{recording-banner-NLS7K2RV.js → recording-banner-COX2HBLL.js} +1 -1
  172. package/dist/{records-XWF6KDQH.js → records-JLS63SDI.js} +1 -1
  173. package/dist/registry-PAVGNBIB.js +2 -0
  174. package/dist/{require-project-folder-V4F74R4A.js → require-project-folder-XFUJYJEA.js} +1 -1
  175. package/dist/resolve-run-intent-24D3BV2J.js +2 -0
  176. package/dist/{resolver-7EAM4A6O.js → resolver-ITA6TGPJ.js} +1 -1
  177. package/dist/{revert-2UCOMQ4J.js → revert-PRR3D4XM.js} +1 -1
  178. package/dist/{review-cmd-VN6VGUWJ.js → review-cmd-SAGIKWEW.js} +1 -1
  179. package/dist/run-IHELHWA2.js +2 -0
  180. package/dist/run-OTSAYPBQ.js +2 -0
  181. package/dist/{run-test-md-CPGKD3DD.js → run-test-md-U5PSCPZU.js} +2 -2
  182. package/dist/{sessions-cmd-ME7NM6ES.js → sessions-cmd-VDQGRBEM.js} +1 -1
  183. package/dist/{skill-installer-WEV2M32J.js → skill-installer-STKFBIY4.js} +1 -1
  184. package/dist/{spawner-GG6YQB4A.js → spawner-R76ROCR2.js} +1 -1
  185. package/dist/{structured-answers-2WOTULBQ.js → structured-answers-YAVW65G4.js} +1 -1
  186. package/dist/tcg-generate-VJARWDD4.js +2 -0
  187. package/dist/testmd-actions-PXGLZV5L.js +2 -0
  188. package/dist/token-refresh-ZFT457VI.js +2 -0
  189. package/dist/{validate-basic-QJL4DCKY.js → validate-basic-BPJVV64Y.js} +1 -1
  190. package/dist/verdicts-56ZZN3E4.js +2 -0
  191. package/dist/{version-check-KONSQ4M3.js → version-check-PWHLDMPD.js} +1 -1
  192. package/dist/{view-cmd-ZSMU4I4J.js → view-cmd-SXXNDZIC.js} +1 -1
  193. package/dist/{walk-session-X2N4XHLU.js → walk-session-OMUB7DPJ.js} +1 -1
  194. package/dist/with-telemetry-WI5FZFEK.js +2 -0
  195. package/package.json +11 -14
  196. package/dist/EvidenceViewOffer-KWX27WNZ.js +0 -2
  197. package/dist/FolderPicker-EIKQSSF6.js +0 -2
  198. package/dist/SingleShotApp-5LCIH6DQ.js +0 -2
  199. package/dist/TestMdRunView-RE5GX5QX.js +0 -2
  200. package/dist/bridge-P2EBLXPY.js +0 -2
  201. package/dist/chat-controller-6GUUMUVP.js +0 -2
  202. package/dist/chunk-56PAQAX5.js +0 -19
  203. package/dist/chunk-7EFG27IZ.js +0 -355
  204. package/dist/chunk-E5Q5CDOX.js +0 -2
  205. package/dist/chunk-FVKLNQ4T.js +0 -26
  206. package/dist/chunk-GDB2V6QA.js +0 -21
  207. package/dist/chunk-LWZ7EIXX.js +0 -2
  208. package/dist/chunk-Q3S5EKX5.js +0 -21
  209. package/dist/chunk-UASEGQ7B.js +0 -11
  210. package/dist/chunk-WXHQYYD5.js +0 -2
  211. package/dist/chunk-YC2TFACE.js +0 -5
  212. package/dist/descriptor-OEUZZCOK.js +0 -2
  213. package/dist/design-committer-IIHKNEYF.js +0 -2
  214. package/dist/dispatch-JZWIFKRB.js +0 -2
  215. package/dist/evidence-FN2SQB6Z.js +0 -2
  216. package/dist/exit-manager-3FVBTNYR.js +0 -2
  217. package/dist/gaps-cmd-MFZ52DC7.js +0 -3
  218. package/dist/ingest-TTSDUMH5.js +0 -2
  219. package/dist/ingest-cmd-D2MD6EAK.js +0 -2
  220. package/dist/install-RHINEFR5.js +0 -2
  221. package/dist/login-flow-B5J6JXQN.js +0 -2
  222. package/dist/persist-recorded-session-Z5SCYWXR.js +0 -3
  223. package/dist/pipeline-HMFLLUZJ.js +0 -2
  224. package/dist/prepare-target-HOEFIKXN.js +0 -2
  225. package/dist/readmodel-UZETCXV6.js +0 -2
  226. package/dist/reconcile-cmd-Q7CBNPRX.js +0 -2
  227. package/dist/reconcile-engine-ES2INERY.js +0 -2
  228. package/dist/registry-E5RSXYQJ.js +0 -2
  229. package/dist/resolve-run-intent-WSOCGJUN.js +0 -2
  230. package/dist/run-45ODACZR.js +0 -2
  231. package/dist/run-ZYARNPAS.js +0 -2
  232. package/dist/tcg-generate-DASCY23M.js +0 -2
  233. package/dist/testmd-actions-X6HEL5NH.js +0 -2
  234. package/dist/token-refresh-ZTQFC3Q3.js +0 -2
  235. package/dist/verdicts-CRNN765C.js +0 -2
  236. package/dist/with-telemetry-Y6MVROKX.js +0 -2
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{f as a}from"./chunk-AARF24Z3.js";import"./chunk-3MSXQU2C.js";import"./chunk-IANCFSSL.js";import"./chunk-27P7PJAL.js";import"./chunk-JPZHCB4Z.js";import"./chunk-2DKJZPIH.js";import"./chunk-FT23VFSR.js";import"./chunk-D5MK4WTK.js";import"./chunk-TJLGHGUO.js";import"./chunk-VDKGMVXZ.js";import"./chunk-P2VERPOP.js";import"./chunk-HPBI3P6I.js";import"./chunk-WHEWZR2C.js";import"./chunk-W5BTYVZD.js";import"./chunk-UEIQTXB6.js";import"./chunk-EKCGZXZE.js";import"./chunk-S3DAAAE5.js";import"./chunk-BOZODWIZ.js";import"./chunk-7UCICMK7.js";import"./chunk-2YQ6TW77.js";import"./chunk-5DT7PIGB.js";import"./chunk-M7D7EHNN.js";import"./chunk-OLKHUNSQ.js";import"./chunk-QQ5MHSSY.js";import"./chunk-Z2DT2QMX.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"./chunk-COJGXGKZ.js";import"./chunk-H5TNYYZW.js";import"./chunk-DKUD2D5Y.js";import"./chunk-VZ7KXRXB.js";import"./chunk-367NASYK.js";import"./chunk-BVON52QL.js";import"./chunk-CCEXSCTN.js";import"./chunk-P7YZ3PU3.js";import"./chunk-TDPWFYTJ.js";import"./chunk-NTEI2O3O.js";import"./chunk-GWSGTZMK.js";import"./chunk-AROBXG66.js";import"./chunk-5Y2G4NC7.js";import"./chunk-4PMZ5FCD.js";import"./chunk-2YEHV2CX.js";import"./chunk-IBPF5IM5.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-MJHLQKQC.js";import"./chunk-DUEROGOF.js";import"./chunk-TJR4R45C.js";import"./chunk-R7GMVPAF.js";import"./chunk-YCCUBQY4.js";import"./chunk-CJD3EEPT.js";import"./chunk-QS3DXKZN.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-SV5ZTCQA.js";import"./chunk-RFHMDQXZ.js";import"./chunk-NVNPXOOC.js";import"./chunk-R5PIIYN2.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-OR6M5HCV.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-F5BI3ALG.js";import"./chunk-TAOHYWEO.js";import"./chunk-AOB2ZX45.js";import"./chunk-22HCCSL7.js";import"./chunk-7RAIRUXO.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-6UNXON3J.js";import"./chunk-IPZFZUJX.js";import"./chunk-H6KL3FSB.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import"./chunk-6MJGCETZ.js";import"./chunk-HKCZ67AT.js";import"./chunk-SJBIXLL3.js";import"./chunk-DWHXXPDX.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-D5MK4WTK.js";import"./chunk-TJLGHGUO.js";import"./chunk-VDKGMVXZ.js";import"./chunk-WHEWZR2C.js";import"./chunk-2YQ6TW77.js";import"./chunk-IPEA7ZOF.js";import"./chunk-VZ7KXRXB.js";import"./chunk-NTEI2O3O.js";import"./chunk-IBPF5IM5.js";import"./chunk-CJD3EEPT.js";import"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-7RAIRUXO.js";import"./chunk-6UNXON3J.js";import"./chunk-IPZFZUJX.js";import"./chunk-H6KL3FSB.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-6MJGCETZ.js";import"./chunk-DWHXXPDX.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{a}from"./chunk-6UNXON3J.js";import"./chunk-IPZFZUJX.js";import"./chunk-H6KL3FSB.js";import"./chunk-RZ4F3BHX.js";import"./chunk-DWHXXPDX.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-HAGJA7KG.js";import"./chunk-N2N5T5JN.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-H6KL3FSB.js";import"./chunk-DWHXXPDX.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-DGNVKMGN.js";import"./chunk-I7TIGB7K.js";import"./chunk-KKBID6TD.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-DWHXXPDX.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-DSNB7EI6.js";import"./chunk-RZ4F3BHX.js";import"./chunk-N2N5T5JN.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-O3RRCPIU.js";import"./chunk-RZ4F3BHX.js";import"./chunk-DWHXXPDX.js";import"./chunk-UR6MHSHU.js";export{d as checkForUpdate,b as compareVersions,c as getSeverity,a as getUpdateCommand};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{b as T}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import"./chunk-CH273NAE.js";import{C as V}from"./chunk-AJXOJF2X.js";import"./chunk-B2KXIFZD.js";import"./chunk-ILKSL4PI.js";import"./chunk-CUM23TLF.js";import{e as I}from"./chunk-HLXOYLZV.js";import"./chunk-DBIBROYW.js";import{d as f,e as x}from"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";import{writeFileSync as ce,mkdirSync as pe}from"fs";import{tmpdir as ue}from"os";import{dirname as fe,join as ge}from"path";var F={DERIVES:"derivation",automates:"linkage",exercises:"mesh",verifies:"mesh",depends_on:"crosslink",reuses:"crosslink",belongs_to:"containment",scoped_to:"containment",annotates:"annotation"},re=(t,r)=>t===f.SOURCE?String(r.source_id??""):t===f.AC?String(r.text??""):t===f.STYLENOTE?String(r.statement??r.text??""):t===f.GAP?String(r.text??r.question??""):String(r.title??"");function H(t){let r=[];for(let[o,p]of t.nodeLabel){let g=t.getNode(o)?.content??{};r.push({cid:o,label:p,slug:p===f.SOURCE?String(g.source_id??""):t.displayNameOf?.(o)??t.nameOf.get(o)??o.slice(0,19),trust:t.trust.get(o)??"derived",fresh:t.stale(o),title:re(p,g),content:g,superseded:t.superseded.has(o)})}let e=new Map;for(let[o]of t.nodeLabel)for(let p of t.edgesFrom(o)){let g=`${p.type}|${p.src}|${p.dst}`,v=typeof p.props?.anchor=="string"?p.props.anchor:void 0,w=e.get(g);w?(w.count++,v&&w.anchors.push(v)):e.set(g,{key:g,type:p.type,family:F[p.type]??"mesh",src:p.src,dst:p.dst,count:1,anchors:v?[v]:[],container:F[p.type]==="containment"})}let s=[...e.values()],i={},l={trusted:0,derived:0,archived:0},d={fresh:0,stale:0,orphaned:0,superseded:0},a=0;for(let o of r)o.superseded||(a++,i[o.label]=(i[o.label]??0)+1,o.label!==f.SOURCE&&l[o.trust]++,d[o.fresh]++);return{nodes:r,edges:s,summary:{nodes:a,edges:s.reduce((o,p)=>o+p.count,0),byLabel:i,trust:l,fresh:d,usecases:i[f.USECASE]??0,designed:0}}}var P=/^([a-z]+)-(\d+)$/,E=(t,r)=>{let e=P.exec(t),s=P.exec(r);return e&&s&&e[1]===s[1]?Number(e[2])-Number(s[2]):t<r?-1:t>r?1:0};function se(t,r,e){let s=new Set,i=d=>{let a=e.nodeLabel.get(d);if(a===f.USECASE)s.add(d);else if(a===f.SCENARIO)for(let o of e.edgesFrom(d))o.type===x.BELONGS_TO&&s.add(o.dst)},l=e.edgesFrom(t);if(r===f.SCENARIO)for(let d of l)d.type===x.BELONGS_TO&&s.add(d.dst);if(r===f.AC)for(let d of l)d.type===x.SCOPED_TO&&i(d.dst);if(r===f.TEST)for(let d of l)d.type===x.AUTOMATES&&i(d.dst);return s}function G(t,r){let e=new Map,s=t.nodes.filter(a=>a.label===f.USECASE).map(a=>a.cid),i=s.map(a=>({ucCid:a,slug:r.nameOf.get(a)??a.slice(0,19),designed:r.designOf.has(a),nodeCids:[a]})).sort((a,o)=>E(a.slug,o.slug)),l={ucCid:"__shared__",slug:"cross-cutting",designed:!1,nodeCids:[]},d=new Map(i.map(a=>[a.ucCid,a]));for(let a of s)e.set(a,a);for(let a of t.nodes){if(a.label===f.SOURCE||a.label===f.USECASE)continue;let o=se(a.cid,a.label,r);if(o.size===1){let p=[...o][0];e.set(a.cid,p),d.get(p).nodeCids.push(a.cid)}else e.set(a.cid,"__shared__"),l.nodeCids.push(a.cid)}return{laneOf:e,lanes:[...i,l]}}var N={source:0,usecase:1,scenario:2,ac:3,test:4,stylenote:5,gap:5},ie=6,z=260,R=64,B=28;function U(t,r,e){let{lanes:s}=r,i=new Map(t.nodes.map(n=>[n.cid,n])),l=new Map,d=[],a=[],o=n=>{let m=n.map(h=>l.get(h)).filter(h=>h!==void 0);return m.length?m.reduce((h,S)=>h+S,0)/m.length:Number.MAX_SAFE_INTEGER},p=s.filter(n=>n.ucCid!=="__shared__"||n.nodeCids.length>0),g=t.nodes.filter(n=>n.label===f.SOURCE).sort((n,m)=>E(n.slug,m.slug)),v=0;for(let n of p){let m=n.nodeCids.map(c=>i.get(c)).filter(Boolean),h=c=>m.filter(u=>u.label===c),S=h(f.USECASE).sort((c,u)=>E(c.slug,u.slug));S.forEach((c,u)=>l.set(c.cid,u));let D=h(f.SCENARIO).sort((c,u)=>E(c.slug,u.slug));D.forEach((c,u)=>l.set(c.cid,u));let M=h(f.AC).sort((c,u)=>{let _=o(e.edgesInto(c.cid).filter(b=>b.type===x.EXERCISES).map(b=>b.src)),O=o(e.edgesInto(u.cid).filter(b=>b.type===x.EXERCISES).map(b=>b.src));return _-O||E(c.slug,u.slug)});M.forEach((c,u)=>l.set(c.cid,u));let j=h(f.TEST).sort((c,u)=>{let _=o(e.edgesFrom(c.cid).filter(b=>b.type===x.VERIFIES).map(b=>b.dst)),O=o(e.edgesFrom(u.cid).filter(b=>b.type===x.VERIFIES).map(b=>b.dst));return _-O||E(c.slug,u.slug)});j.forEach((c,u)=>l.set(c.cid,u));let q=m.filter(c=>N[c.label]===void 0||N[c.label]>=5).sort((c,u)=>E(c.slug,u.slug));q.forEach((c,u)=>l.set(c.cid,u));let A=Math.max(1,S.length,D.length,M.length,j.length,q.length)*R+B;for(let c of m){let u=N[c.label]??4,_=l.get(c.cid)??0;d.push({...c,lane:n.ucCid,col:u,x:u*z,y:v+B/2+_*R})}a.push({...n,y0:v,y1:v+A}),v+=A}let w=Math.max(v,R);g.forEach((n,m)=>d.push({...n,lane:"__spine__",col:0,x:0,y:w/(g.length+1)*(m+1)}));let L=ie*z;return{nodes:d,lanes:a,width:L,height:w}}function ae(t){return t.design_of?"design":t.review.length>0?"review":t.nodes.some(r=>r.label==="source")?"ingest":t.nodes.length>0?"extract":"other"}function $(t){let r=new Map,e=new Map,s=[];for(let i of t){for(let n of i.nodes)r.has(n.cid)||r.set(n.cid,i.seq);let l=new Map(e);for(let n of i.nodes)n.content?.derived===!0&&!e.has(n.cid)&&e.set(n.cid,"derived");for(let n of i.review)n.resolution==="approved"||n.resolution==="edited"?e.set(n.id,"trusted"):n.resolution==="rejected"?e.set(n.id,"archived"):n.resolution==="reset"&&e.set(n.id,"derived");let d=n=>{let m=0;for(let[h,S]of e)S===n&&l.get(h)!==n&&m++;return m},a=0;for(let[n,m]of e){let h=l.get(n);m==="derived"&&(h==="trusted"||h==="archived")&&a++}let o={trusted:d("trusted"),archived:d("archived"),reset:a},p=ae(i),g=i.nodes.map(n=>n.cid),v=i.edges.map(n=>`${n.type}|${n.src}|${n.dst}`),w=i.review.map(n=>n.id),L=p==="review"?"review \xB7 +"+o.trusted+" trusted"+(o.archived?", +"+o.archived+" archived":""):p+" \xB7 +"+g.length+" nodes";s.push({seq:i.seq,ts:i.ts,kind:p,label:L,mintedNodeCids:g,mintedEdgeKeys:v,reviewedNodeCids:w,trustDelta:o})}return{commits:s,bornSeq:r}}function Y(t,r,e){let s=[];for(let i of t){i.nodes.some(l=>l.cid===r)&&s.push({seq:i.seq,ts:i.ts,kind:"minted",detail:"minted here"});for(let l of i.review)l.id===r&&s.push({seq:i.seq,ts:i.ts,kind:"review",detail:l.resolution+(l.reason?": "+l.reason:"")})}return e.length&&s.push({seq:0,ts:"",kind:"derived_from",detail:"source lines "+e.join(", ")}),s}var oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function k(t){return String(t).replace(/[&<>"']/g,r=>oe[r])}var W=t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"),de=new RegExp("[\u2028\u2029]","g");function X(t){return t.replace(/[<>&]/g,W).replace(de,W)}var K=t=>t.replace("sha256:","").slice(0,12);function J(t){if(!t||typeof t!="object")return"";let r=String(t.operator??""),e=t.operand!=null?String(t.operand):"",s=t.unit!=null?" "+String(t.unit):"",i=t.baseline!=null?String(t.baseline):"",l=t.within&&typeof t.within=="object"?t.within:null,d;switch(r){case"exists":d="exists: "+e;break;case"forall":d="for all "+e;break;case"contains":d="contains "+e;break;case"gte":d=">= "+e+s;break;case"lte":d="<= "+e+s;break;case"equals":d="= "+e+s+(i?" (was "+i+")":"");break;case"changed-by":d="changed by "+e+s;break;default:d=(r+" "+e+s).trim()}if(l){let a=l.threshold!=null?String(l.threshold):"",o=l.unit!=null?String(l.unit):"";(a||o)&&(d+=" within "+a+o)}return d.trim()}var C=t=>t==null||t===""?"":`<span class="chip">${k(t)}</span>`,y=(t,r)=>r==null||r===""?"":`<div class="kv"><span class="k">${k(t)}</span><span class="v">${k(r)}</span></div>`,le=t=>Array.isArray(t)&&t.length?`<ul class="crit">${t.map(r=>`<li>${k(r)}</li>`).join("")}</ul>`:"";function Q(t,r){let e=r??{};switch(t){case"usecase":return[y("description",e.description),y("value",e.value),[C(e.risk?"risk: "+e.risk:""),...Array.isArray(e.actors)?e.actors.map(s=>C(s)):[]].join(""),le(e.criteria)].join("");case"scenario":return[y("intent",e.intent),[C(e.case_type)].join(""),e.parameters&&typeof e.parameters=="object"?Object.entries(e.parameters).map(([s,i])=>y(s,i)).join(""):"",y("techniques",e.technique_notes)].join("");case"ac":return[y("",e.text),[C(e.kind),C(e.risk?"risk: "+e.risk:"")].join(""),(()=>{let s=J(e.expected_answer);return s?`<div class="pred">${k(s)}</div>`:""})()].join("");case"test":{let s=J(e.check),i=e.test_md_blob!=null?`<pre class="md">${k(String(e.test_md_blob))}</pre>`:"";return[s?`<div class="pred">${k(s)}</div>`:"",y("definitionId",e.definitionId),i].join("")}case"source":return[y("source_id",e.source_id),y("blob",e.blob)].join("");case"stylenote":return[e.statement?`<div class="pred">${k(e.statement)}</div>`:"",[C(e.learned_from_kind?"learned from: "+e.learned_from_kind:"")].join(""),y("",e.text),Array.isArray(e.tags)?e.tags.map(s=>C(s)).join(""):""].join("");case"gap":return[y("",e.text??e.question),[C(e.kind),C(e.risk?"risk: "+e.risk:"")].join(""),y("why",e.risk_rationale),y("ref",e.ref)].join("");default:return""}}function Z(t,r,e,s){let i=H(t),l=G(i,t),d=U(i,l,t),{commits:a}=$(r);i.summary.designed=l.lanes.filter(n=>n.designed&&n.ucCid!=="__shared__").length;let o={},p={};for(let n of i.nodes){o[n.cid]=Q(n.label,n.content);let m=t.edgesInto(n.cid).filter(h=>h.type===x.DERIVES&&typeof h.props?.anchor=="string").map(h=>h.props.anchor);p[n.cid]=Y(r,n.cid,m)}let g=d.nodes.map(n=>({cid:n.cid,slug:n.slug,label:n.label,trust:n.trust,fresh:n.fresh,title:n.title,superseded:n.superseded,lane:n.lane,col:n.col,x:n.x,y:n.y})),v=d.lanes.map(n=>({ucCid:n.ucCid,slug:n.slug,designed:n.designed,y0:n.y0,y1:n.y1})),L=i.nodes.some(n=>n.label===f.SOURCE)?{}:void 0;return{meta:{fromSeq:r[0]?.seq??0,tipHash:e[e.length-1]??null,storePath:s,schema:"assurance/context@1",asOf:r[r.length-1]?.ts??null},summary:i.summary,lanes:v,nodes:g,edges:i.edges,commits:a,lineage:p,contentHtml:o,width:d.width,height:d.height,source:L}}var ee="__PAYLOAD__",te=`<!doctype html>
2
+ import{b as T}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import"./chunk-CH273NAE.js";import{C as V}from"./chunk-W3Z7AZNT.js";import"./chunk-JQW2QFSX.js";import"./chunk-6FCPS2VT.js";import"./chunk-UH2ZTX4E.js";import{e as I}from"./chunk-XMTSHHYQ.js";import"./chunk-DBIBROYW.js";import{d as f,e as x}from"./chunk-AKX4VRRR.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";import{writeFileSync as ce,mkdirSync as pe}from"fs";import{tmpdir as ue}from"os";import{dirname as fe,join as ge}from"path";var F={DERIVES:"derivation",automates:"linkage",exercises:"mesh",verifies:"mesh",depends_on:"crosslink",reuses:"crosslink",belongs_to:"containment",scoped_to:"containment",annotates:"annotation"},re=(t,r)=>t===f.SOURCE?String(r.source_id??""):t===f.AC?String(r.text??""):t===f.STYLENOTE?String(r.statement??r.text??""):t===f.GAP?String(r.text??r.question??""):String(r.title??"");function H(t){let r=[];for(let[o,p]of t.nodeLabel){let g=t.getNode(o)?.content??{};r.push({cid:o,label:p,slug:p===f.SOURCE?String(g.source_id??""):t.displayNameOf?.(o)??t.nameOf.get(o)??o.slice(0,19),trust:t.trust.get(o)??"derived",fresh:t.stale(o),title:re(p,g),content:g,superseded:t.superseded.has(o)})}let e=new Map;for(let[o]of t.nodeLabel)for(let p of t.edgesFrom(o)){let g=`${p.type}|${p.src}|${p.dst}`,v=typeof p.props?.anchor=="string"?p.props.anchor:void 0,w=e.get(g);w?(w.count++,v&&w.anchors.push(v)):e.set(g,{key:g,type:p.type,family:F[p.type]??"mesh",src:p.src,dst:p.dst,count:1,anchors:v?[v]:[],container:F[p.type]==="containment"})}let s=[...e.values()],i={},l={trusted:0,derived:0,archived:0},d={fresh:0,stale:0,orphaned:0,superseded:0},a=0;for(let o of r)o.superseded||(a++,i[o.label]=(i[o.label]??0)+1,o.label!==f.SOURCE&&l[o.trust]++,d[o.fresh]++);return{nodes:r,edges:s,summary:{nodes:a,edges:s.reduce((o,p)=>o+p.count,0),byLabel:i,trust:l,fresh:d,usecases:i[f.USECASE]??0,designed:0}}}var P=/^([a-z]+)-(\d+)$/,E=(t,r)=>{let e=P.exec(t),s=P.exec(r);return e&&s&&e[1]===s[1]?Number(e[2])-Number(s[2]):t<r?-1:t>r?1:0};function se(t,r,e){let s=new Set,i=d=>{let a=e.nodeLabel.get(d);if(a===f.USECASE)s.add(d);else if(a===f.SCENARIO)for(let o of e.edgesFrom(d))o.type===x.BELONGS_TO&&s.add(o.dst)},l=e.edgesFrom(t);if(r===f.SCENARIO)for(let d of l)d.type===x.BELONGS_TO&&s.add(d.dst);if(r===f.AC)for(let d of l)d.type===x.SCOPED_TO&&i(d.dst);if(r===f.TEST)for(let d of l)d.type===x.AUTOMATES&&i(d.dst);return s}function G(t,r){let e=new Map,s=t.nodes.filter(a=>a.label===f.USECASE).map(a=>a.cid),i=s.map(a=>({ucCid:a,slug:r.nameOf.get(a)??a.slice(0,19),designed:r.designOf.has(a),nodeCids:[a]})).sort((a,o)=>E(a.slug,o.slug)),l={ucCid:"__shared__",slug:"cross-cutting",designed:!1,nodeCids:[]},d=new Map(i.map(a=>[a.ucCid,a]));for(let a of s)e.set(a,a);for(let a of t.nodes){if(a.label===f.SOURCE||a.label===f.USECASE)continue;let o=se(a.cid,a.label,r);if(o.size===1){let p=[...o][0];e.set(a.cid,p),d.get(p).nodeCids.push(a.cid)}else e.set(a.cid,"__shared__"),l.nodeCids.push(a.cid)}return{laneOf:e,lanes:[...i,l]}}var N={source:0,usecase:1,scenario:2,ac:3,test:4,stylenote:5,gap:5},ie=6,z=260,R=64,B=28;function U(t,r,e){let{lanes:s}=r,i=new Map(t.nodes.map(n=>[n.cid,n])),l=new Map,d=[],a=[],o=n=>{let m=n.map(h=>l.get(h)).filter(h=>h!==void 0);return m.length?m.reduce((h,S)=>h+S,0)/m.length:Number.MAX_SAFE_INTEGER},p=s.filter(n=>n.ucCid!=="__shared__"||n.nodeCids.length>0),g=t.nodes.filter(n=>n.label===f.SOURCE).sort((n,m)=>E(n.slug,m.slug)),v=0;for(let n of p){let m=n.nodeCids.map(c=>i.get(c)).filter(Boolean),h=c=>m.filter(u=>u.label===c),S=h(f.USECASE).sort((c,u)=>E(c.slug,u.slug));S.forEach((c,u)=>l.set(c.cid,u));let D=h(f.SCENARIO).sort((c,u)=>E(c.slug,u.slug));D.forEach((c,u)=>l.set(c.cid,u));let M=h(f.AC).sort((c,u)=>{let _=o(e.edgesInto(c.cid).filter(b=>b.type===x.EXERCISES).map(b=>b.src)),O=o(e.edgesInto(u.cid).filter(b=>b.type===x.EXERCISES).map(b=>b.src));return _-O||E(c.slug,u.slug)});M.forEach((c,u)=>l.set(c.cid,u));let j=h(f.TEST).sort((c,u)=>{let _=o(e.edgesFrom(c.cid).filter(b=>b.type===x.VERIFIES).map(b=>b.dst)),O=o(e.edgesFrom(u.cid).filter(b=>b.type===x.VERIFIES).map(b=>b.dst));return _-O||E(c.slug,u.slug)});j.forEach((c,u)=>l.set(c.cid,u));let q=m.filter(c=>N[c.label]===void 0||N[c.label]>=5).sort((c,u)=>E(c.slug,u.slug));q.forEach((c,u)=>l.set(c.cid,u));let A=Math.max(1,S.length,D.length,M.length,j.length,q.length)*R+B;for(let c of m){let u=N[c.label]??4,_=l.get(c.cid)??0;d.push({...c,lane:n.ucCid,col:u,x:u*z,y:v+B/2+_*R})}a.push({...n,y0:v,y1:v+A}),v+=A}let w=Math.max(v,R);g.forEach((n,m)=>d.push({...n,lane:"__spine__",col:0,x:0,y:w/(g.length+1)*(m+1)}));let L=ie*z;return{nodes:d,lanes:a,width:L,height:w}}function ae(t){return t.design_of?"design":t.review.length>0?"review":t.nodes.some(r=>r.label==="source")?"ingest":t.nodes.length>0?"extract":"other"}function $(t){let r=new Map,e=new Map,s=[];for(let i of t){for(let n of i.nodes)r.has(n.cid)||r.set(n.cid,i.seq);let l=new Map(e);for(let n of i.nodes)n.content?.derived===!0&&!e.has(n.cid)&&e.set(n.cid,"derived");for(let n of i.review)n.resolution==="approved"||n.resolution==="edited"?e.set(n.id,"trusted"):n.resolution==="rejected"?e.set(n.id,"archived"):n.resolution==="reset"&&e.set(n.id,"derived");let d=n=>{let m=0;for(let[h,S]of e)S===n&&l.get(h)!==n&&m++;return m},a=0;for(let[n,m]of e){let h=l.get(n);m==="derived"&&(h==="trusted"||h==="archived")&&a++}let o={trusted:d("trusted"),archived:d("archived"),reset:a},p=ae(i),g=i.nodes.map(n=>n.cid),v=i.edges.map(n=>`${n.type}|${n.src}|${n.dst}`),w=i.review.map(n=>n.id),L=p==="review"?"review \xB7 +"+o.trusted+" trusted"+(o.archived?", +"+o.archived+" archived":""):p+" \xB7 +"+g.length+" nodes";s.push({seq:i.seq,ts:i.ts,kind:p,label:L,mintedNodeCids:g,mintedEdgeKeys:v,reviewedNodeCids:w,trustDelta:o})}return{commits:s,bornSeq:r}}function Y(t,r,e){let s=[];for(let i of t){i.nodes.some(l=>l.cid===r)&&s.push({seq:i.seq,ts:i.ts,kind:"minted",detail:"minted here"});for(let l of i.review)l.id===r&&s.push({seq:i.seq,ts:i.ts,kind:"review",detail:l.resolution+(l.reason?": "+l.reason:"")})}return e.length&&s.push({seq:0,ts:"",kind:"derived_from",detail:"source lines "+e.join(", ")}),s}var oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function k(t){return String(t).replace(/[&<>"']/g,r=>oe[r])}var W=t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"),de=new RegExp("[\u2028\u2029]","g");function X(t){return t.replace(/[<>&]/g,W).replace(de,W)}var K=t=>t.replace("sha256:","").slice(0,12);function J(t){if(!t||typeof t!="object")return"";let r=String(t.operator??""),e=t.operand!=null?String(t.operand):"",s=t.unit!=null?" "+String(t.unit):"",i=t.baseline!=null?String(t.baseline):"",l=t.within&&typeof t.within=="object"?t.within:null,d;switch(r){case"exists":d="exists: "+e;break;case"forall":d="for all "+e;break;case"contains":d="contains "+e;break;case"gte":d=">= "+e+s;break;case"lte":d="<= "+e+s;break;case"equals":d="= "+e+s+(i?" (was "+i+")":"");break;case"changed-by":d="changed by "+e+s;break;default:d=(r+" "+e+s).trim()}if(l){let a=l.threshold!=null?String(l.threshold):"",o=l.unit!=null?String(l.unit):"";(a||o)&&(d+=" within "+a+o)}return d.trim()}var C=t=>t==null||t===""?"":`<span class="chip">${k(t)}</span>`,y=(t,r)=>r==null||r===""?"":`<div class="kv"><span class="k">${k(t)}</span><span class="v">${k(r)}</span></div>`,le=t=>Array.isArray(t)&&t.length?`<ul class="crit">${t.map(r=>`<li>${k(r)}</li>`).join("")}</ul>`:"";function Q(t,r){let e=r??{};switch(t){case"usecase":return[y("description",e.description),y("value",e.value),[C(e.risk?"risk: "+e.risk:""),...Array.isArray(e.actors)?e.actors.map(s=>C(s)):[]].join(""),le(e.criteria)].join("");case"scenario":return[y("intent",e.intent),[C(e.case_type)].join(""),e.parameters&&typeof e.parameters=="object"?Object.entries(e.parameters).map(([s,i])=>y(s,i)).join(""):"",y("techniques",e.technique_notes)].join("");case"ac":return[y("",e.text),[C(e.kind),C(e.risk?"risk: "+e.risk:"")].join(""),(()=>{let s=J(e.expected_answer);return s?`<div class="pred">${k(s)}</div>`:""})()].join("");case"test":{let s=J(e.check),i=e.test_md_blob!=null?`<pre class="md">${k(String(e.test_md_blob))}</pre>`:"";return[s?`<div class="pred">${k(s)}</div>`:"",y("definitionId",e.definitionId),i].join("")}case"source":return[y("source_id",e.source_id),y("blob",e.blob)].join("");case"stylenote":return[e.statement?`<div class="pred">${k(e.statement)}</div>`:"",[C(e.learned_from_kind?"learned from: "+e.learned_from_kind:"")].join(""),y("",e.text),Array.isArray(e.tags)?e.tags.map(s=>C(s)).join(""):""].join("");case"gap":return[y("",e.text??e.question),[C(e.kind),C(e.risk?"risk: "+e.risk:"")].join(""),y("why",e.risk_rationale),y("ref",e.ref)].join("");default:return""}}function Z(t,r,e,s){let i=H(t),l=G(i,t),d=U(i,l,t),{commits:a}=$(r);i.summary.designed=l.lanes.filter(n=>n.designed&&n.ucCid!=="__shared__").length;let o={},p={};for(let n of i.nodes){o[n.cid]=Q(n.label,n.content);let m=t.edgesInto(n.cid).filter(h=>h.type===x.DERIVES&&typeof h.props?.anchor=="string").map(h=>h.props.anchor);p[n.cid]=Y(r,n.cid,m)}let g=d.nodes.map(n=>({cid:n.cid,slug:n.slug,label:n.label,trust:n.trust,fresh:n.fresh,title:n.title,superseded:n.superseded,lane:n.lane,col:n.col,x:n.x,y:n.y})),v=d.lanes.map(n=>({ucCid:n.ucCid,slug:n.slug,designed:n.designed,y0:n.y0,y1:n.y1})),L=i.nodes.some(n=>n.label===f.SOURCE)?{}:void 0;return{meta:{fromSeq:r[0]?.seq??0,tipHash:e[e.length-1]??null,storePath:s,schema:"assurance/context@1",asOf:r[r.length-1]?.ts??null},summary:i.summary,lanes:v,nodes:g,edges:i.edges,commits:a,lineage:p,contentHtml:o,width:d.width,height:d.height,source:L}}var ee="__PAYLOAD__",te=`<!doctype html>
3
3
  <html lang="en">
4
4
  <head>
5
5
  <meta charset="utf-8">
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{c as ke}from"./chunk-Z3EEMIVV.js";import{k as he}from"./chunk-7VAE7WXF.js";import{a as ne,c as ie,d as ve}from"./chunk-LOMPRMG3.js";import"./chunk-OS4VSIHT.js";import"./chunk-YC2TFACE.js";import{a as J}from"./chunk-A2SQD2AY.js";import"./chunk-Q4CTSXDM.js";import"./chunk-JZ26R6UL.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-DMOZM22N.js";import{a as ee,b as te}from"./chunk-UJZZDPDY.js";import{a as N}from"./chunk-SWXEBLKX.js";import"./chunk-RKXHVP2Z.js";import"./chunk-BZAGVBCX.js";import"./chunk-F43KOMVB.js";import"./chunk-DNNZ353O.js";import"./chunk-5DT7PIGB.js";import"./chunk-XWKUZJCP.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-5Y2G4NC7.js";import{C as V}from"./chunk-AJXOJF2X.js";import"./chunk-B2KXIFZD.js";import{b as le}from"./chunk-ILKSL4PI.js";import"./chunk-CUM23TLF.js";import{j as ce}from"./chunk-HLXOYLZV.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import{a as se}from"./chunk-YCCUBQY4.js";import{x as h}from"./chunk-N2N5T5JN.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-CRNN765C.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-ZYARNPAS.js"),import("./spawner-GG6YQB4A.js"),import("./bridge-P2EBLXPY.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-UZETCXV6.js"),import("./evolve-cmd-WQB7E2B5.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{c as ke}from"./chunk-WIAZN7G4.js";import{k as he}from"./chunk-6ZNRPDLP.js";import{a as ne,c as ie,d as ve}from"./chunk-LRHSWJDR.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-PH4RABYU.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-DWHXXPDX.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-56ZZN3E4.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-OTSAYPBQ.js"),import("./spawner-R76ROCR2.js"),import("./bridge-S3WZ4TH2.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-ICTXNYU4.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};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a}from"./chunk-XPFFH2PC.js";import"./chunk-VSEWQEM5.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-DWHXXPDX.js";import"./chunk-UR6MHSHU.js";export{a as withTelemetry};
package/package.json CHANGED
@@ -1,12 +1,9 @@
1
1
  {
2
2
  "name": "@testmuai/kane-cli",
3
- "version": "0.8.7",
3
+ "version": "0.8.9",
4
4
  "description": "KaneAI Terminal UI — browser automation testing agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
- "engines": {
8
- "node": ">=20"
9
- },
10
7
  "bin": {
11
8
  "kane-cli": "./bin/kane-cli.cjs"
12
9
  },
@@ -35,16 +32,16 @@
35
32
  "ws": "^8.20.0"
36
33
  },
37
34
  "optionalDependencies": {
38
- "@testmuai/kane-cli-assurance-darwin-arm64": "0.8.7",
39
- "@testmuai/kane-cli-assurance-darwin-x64": "0.8.7",
40
- "@testmuai/kane-cli-assurance-linux-arm64": "0.8.7",
41
- "@testmuai/kane-cli-assurance-linux-x64": "0.8.7",
42
- "@testmuai/kane-cli-assurance-win-x64": "0.8.7",
43
- "@testmuai/kane-cli-darwin-arm64": "0.8.7",
44
- "@testmuai/kane-cli-darwin-x64": "0.8.7",
45
- "@testmuai/kane-cli-linux-x64": "0.8.7",
46
- "@testmuai/kane-cli-linux-arm64": "0.8.7",
47
- "@testmuai/kane-cli-win-x64": "0.8.7",
35
+ "@testmuai/kane-cli-assurance-darwin-arm64": "0.8.9",
36
+ "@testmuai/kane-cli-assurance-darwin-x64": "0.8.9",
37
+ "@testmuai/kane-cli-assurance-linux-arm64": "0.8.9",
38
+ "@testmuai/kane-cli-assurance-linux-x64": "0.8.9",
39
+ "@testmuai/kane-cli-assurance-win-x64": "0.8.9",
40
+ "@testmuai/kane-cli-darwin-arm64": "0.8.9",
41
+ "@testmuai/kane-cli-darwin-x64": "0.8.9",
42
+ "@testmuai/kane-cli-linux-x64": "0.8.9",
43
+ "@testmuai/kane-cli-linux-arm64": "0.8.9",
44
+ "@testmuai/kane-cli-win-x64": "0.8.9",
48
45
  "@testmuai/kane-cli-node-darwin-arm64": "24.18.0",
49
46
  "@testmuai/kane-cli-node-darwin-x64": "24.18.0",
50
47
  "@testmuai/kane-cli-node-linux-x64": "24.18.0",
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-UFYIQ4E3.js";import"./chunk-XAQ3Y63J.js";import"./chunk-5DBK6QNS.js";import"./chunk-NQFAZM2D.js";import"./chunk-5GUD3CIH.js";import"./chunk-XWKUZJCP.js";import"./chunk-GDB2V6QA.js";import"./chunk-EHN5HTUD.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-VZ7KXRXB.js";import"./chunk-P7YZ3PU3.js";import"./chunk-AJXOJF2X.js";import"./chunk-B2KXIFZD.js";import"./chunk-ILKSL4PI.js";import"./chunk-CUM23TLF.js";import"./chunk-HLXOYLZV.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-HHQ67JCU.js";import"./chunk-RFHMDQXZ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-ZH2ROVHE.js";import"./chunk-MSGW4JDG.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-4JOD47QI.js";import"./chunk-HAGJA7KG.js";import"./chunk-RZ4F3BHX.js";import"./chunk-N2N5T5JN.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as EvidenceViewOffer};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-6AUSG5SB.js";import"./chunk-YCCUBQY4.js";import"./chunk-E5C3HUIY.js";import"./chunk-BPMSNGXQ.js";import"./chunk-YDEK2FJQ.js";import"./chunk-HAGJA7KG.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-N2N5T5JN.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{b as FolderPicker,a as formatFolderLine};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-HL4UXOHV.js";import"./chunk-IJABR5SX.js";import"./chunk-ZFRWVWUR.js";import"./chunk-QQ67Z4IW.js";import"./chunk-VZ7KXRXB.js";import"./chunk-TDPWFYTJ.js";import"./chunk-X7R2JWOJ.js";import"./chunk-C5ZIKKIB.js";import"./chunk-AUERMBX5.js";import"./chunk-6AUSG5SB.js";import"./chunk-YCCUBQY4.js";import"./chunk-E5C3HUIY.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-TZXXJWHA.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-TKQSIKMR.js";import"./chunk-TAOHYWEO.js";import"./chunk-YDEK2FJQ.js";import"./chunk-Z7S3IWUX.js";import"./chunk-R2JRQD4I.js";import"./chunk-HAGJA7KG.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-76ILJPZF.js";import"./chunk-N2N5T5JN.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as SingleShotApp};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{g as a}from"./chunk-VMRP44MN.js";import"./chunk-GYTZLUFV.js";import"./chunk-3IM5QGVV.js";import"./chunk-P7YZ3PU3.js";import"./chunk-TDPWFYTJ.js";import"./chunk-X7R2JWOJ.js";import"./chunk-GJ6RJVXH.js";import"./chunk-5Y2G4NC7.js";import"./chunk-YGVY63PE.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-ZH2ROVHE.js";import"./chunk-MSGW4JDG.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-HAGJA7KG.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-QZB7CBRO.js";import"./chunk-T3DVIDBA.js";import"./chunk-N2N5T5JN.js";import"./chunk-DFS4RMVP.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{a as TestMdRunView};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-SZTUZZEA.js";import"./chunk-44PZPNXJ.js";import"./chunk-YC6HYBLN.js";import"./chunk-UD7KKHPW.js";import"./chunk-N2N5T5JN.js";import"./chunk-UR6MHSHU.js";export{a as runAgent};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-5ZV64NAG.js";import"./chunk-AXTPNZPX.js";import"./chunk-L2TV4G56.js";import"./chunk-WNHLKDOT.js";import"./chunk-NVGBE2DR.js";import"./chunk-CUM23TLF.js";import"./chunk-HLXOYLZV.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";export{c as makeChatController,b as questionStub,a as recommendationPicks};
@@ -1,19 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{c as g}from"./chunk-5EOX4MEY.js";var y={ASR_CMD_START:"info",ASR_CMD_END:"info",ASR_AGENT_SPAWN:"info",ASR_WORK_ITEM_START:"info",ASR_WORK_ITEM_END:"info",ASR_PROPOSAL:"info",ASR_VALIDATE_FAILED:"warn",ASR_COMMIT:"info",ASR_SESSION_PAUSED:"info",ASR_SESSION_RESUMED:"info",ASR_SESSION_COMPLETE:"info",ASR_AGENT_EXIT:"warn",ASR_RECONCILE_PLAN:"info",ASR_RECONCILE_ROW_END:"info",ASR_HIGH_RISK_CI:"warn",ASR_INGEST:"info",ASR_EMBED_DEGRADED:"warn",ASR_CONTEXT_CLONED:"warn",ASR_ERROR:"error",ASR_CRASH:"error",ASR_FSCK_REPORT:"warn"},O={ASR_CMD_START:["source_count","resumed","applied_plan"],ASR_CMD_END:["exit_code","duration_ms","credits_total","work_items_total","work_items_failed"],ASR_AGENT_SPAWN:["tier","duration_ms"],ASR_WORK_ITEM_START:["work_item_index","work_item_count","source_kind"],ASR_WORK_ITEM_END:["work_item_index","work_item_count","outcome","duration_ms","error_domain","error_code"],ASR_PROPOSAL:["item_count","turn_index"],ASR_VALIDATE_FAILED:["error_code","count","turn_index"],ASR_COMMIT:["trusted","derived","archived","items","items_dropped","record_seq"],ASR_SESSION_PAUSED:["pending_questions","pending_proposals"],ASR_SESSION_RESUMED:["resume_count","expired_session_id"],ASR_SESSION_COMPLETE:["duration_ms","credits_total"],ASR_AGENT_EXIT:["exit_code","signal"],ASR_RECONCILE_PLAN:["row_count","add_count","modify_count","archive_count"],ASR_RECONCILE_ROW_END:["row_index","kind","outcome","duration_ms"],ASR_HIGH_RISK_CI:["count"],ASR_INGEST:["work_item_index","work_item_count","format","bytes","media_facts"],ASR_EMBED_DEGRADED:["held"],ASR_CONTEXT_CLONED:[],ASR_ERROR:["error_domain","error_code","exit_code","turn_index"],ASR_CRASH:["error_domain","error_code","error_name"],ASR_FSCK_REPORT:["issue_count","records","pending","codes","issues","issues_truncated"]},b=[[/^(auth_expired|401|preflight_auth|AUTH)/i,"auth"],[/^(credit_denied|402|CREDIT)/i,"credit"],[/^(stream_drop|read_timeout|connect_failed|dns|E(CONN|AI_AGAIN|TIMEDOUT)|network)/i,"network"],[/^(frame_parse|post_terminal_data|eof_without_terminal|turn_id_mismatch|binding_mismatch|schema_invalid|frame_too_large|protocol)/i,"protocol"],[/^(provider_error|http_5\d\d|turn_exhausted|adapter_integrity)/i,"provider"],[/^(STALE_BASIS|R\d+|validation|criteria)/i,"validation"],[/^(CHAIN_ERROR|DERIVED_(MISSING|DRIFT)|NODE_FILE_(MISSING|MISMATCH|CORRUPT)|CARDINALITY_VIOLATION|SUPERSEDE_(UNKNOWN_(OLD|NEW|ECID)|CYCLE)|DOUBLE_SUPERSEDE|NAME_UNKNOWN_TARGET|EDGE_CYCLE|UNKNOWN_(LABEL|FIELD|EDGE_TYPE|EDGE_PROP)|BAD_(CHECK|ENUM)|MISSING_(FIELD|SALIENT)|ILLEGAL_EDGE)$/,"graph"],[/^(BLOB_MISSING|SOURCE_UNKNOWN|SESSION_(LOCKED|EXPIRED|MISSING|LOCK_LOST)|NO_STORE|fsck|store)/i,"store"],[/^(usage|EX2|SOURCE_WITH_RESUME|HIGH_RISK_CI|bad_flag|no_tty)/i,"usage"],[/^exit_\d+_unattributed$/,"unattributed"],[/^agent_(crash|exit)/i,"agent_crash"]];function h(e){let t=(e||"unknown").slice(0,64);for(let[n,r]of b)if(n.test(t))return{error_domain:r,error_code:t};return{error_domain:"cli_crash",error_code:t}}import{randomBytes as C}from"crypto";var v=/^(uc|sc|ac|t|gap|sty)-\d+$/,k="0123456789abcdefghijklmnopqrstuvwxyz";function $(e){let t="",n=C(e);for(let r=0;r<e;r++)t+=k[n[r]%36];return t}function J(e=new Date){let t=(r,o)=>String(r).padStart(o,"0");return`as-${`${e.getUTCFullYear()}${t(e.getUTCMonth()+1,2)}${t(e.getUTCDate(),2)}T${t(e.getUTCHours(),2)}${t(e.getUTCMinutes(),2)}`}-${$(8)}`}var L=-1,f=0;function Z(e=new Date){let t=e.getTime(),n=C(10);t===L?f=f+1&4095:(L=t,f=(n[0]<<8|n[1])&4095);let r=Buffer.alloc(16);r.writeUIntBE(t,0,6),r[6]=112|f>>8,r[7]=f&255,r[8]=128|n[2]&63,n.copy(r,9,3,10);let o=r.toString("hex");return`${o.slice(0,8)}-${o.slice(8,12)}-${o.slice(12,16)}-${o.slice(16,20)}-${o.slice(20)}`}var G=64,P=128,U=/^[A-Za-z0-9._:@\/-]+$/,F={codes:512},K={ASR_FSCK_REPORT:["issues"]},W=20480,H=0;function B(e,t){if(typeof t=="number"&&Number.isFinite(t)||typeof t=="boolean")return t;if(typeof t!="string")return;let n=e.endsWith("_id")||e==="signal"?P:F[e]??G;if(!(t.length===0||t.length>n)&&U.test(t))return t}function M(e,t,n={}){let r=O[t],o={};for(let i of r){let s=n[i];if(s==null)continue;if(K[t]?.includes(i)){if(typeof s!="string"||s.length===0)continue;let d=s.replace(/[\u0000-\u001F\u007F]/g,"");if(Buffer.byteLength(d,"utf8")>W)continue;o[i]=d;continue}if(i==="items"){let d=Array.isArray(s)?s.filter(N=>typeof N=="string"):[],u=d.filter(N=>v.test(N));u.length>0&&(o.items=u.slice(0,50).join(","));let S=d.length-u.length;S>0&&(o.items_dropped=S);continue}let a=B(i,s);a!==void 0&&(o[i]=a)}if(typeof n.error_code=="string"&&r.includes("error_code")){let{error_domain:i,error_code:s}=h(n.error_code);o.error_code=s,r.includes("error_domain")&&(o.error_domain=i)}return{level:y[t],event:t,message:t,session_id:e.session_id,operation_id:e.operation_id,...e.parent_operation_id?{parent_operation_id:e.parent_operation_id}:{},...e.agent_session_id?{agent_session_id:e.agent_session_id}:{},context_lineage_id:e.context_lineage_id??null,context_instance_id:e.context_instance_id??null,verb:e.verb,mode:e.mode,component:"kane-cli",seq:H++,event_time:new Date().toISOString(),context:o}}import _ from"fs";import X from"path";var V=500,j=7;function w(e){if(e.length!==0)try{let t=g();_.mkdirSync(X.dirname(t),{recursive:!0});let n=e.map(r=>JSON.stringify(r)).join(`
3
- `)+`
4
- `;_.appendFileSync(t,n,{flag:"a",mode:384}),q()}catch{}}async function se(e){let t=g(),n=`${t}.claim-${process.pid}`,r;try{_.renameSync(t,n),r=_.readFileSync(n,"utf8")}catch{return}let o=[];for(let i of r.split(`
5
- `))if(i.trim())try{o.push(JSON.parse(i))}catch{}try{(o.length===0?!0:await e(o))?_.unlinkSync(n):(_.appendFileSync(t,r,{flag:"a",mode:384}),_.unlinkSync(n))}catch{try{_.appendFileSync(t,r,{flag:"a",mode:384}),_.unlinkSync(n)}catch{}}}function q(e=V,t=j){try{let n=g(),o=_.readFileSync(n,"utf8").split(`
6
- `).filter(d=>d.trim()),i=Date.now()-t*24*3600*1e3,a=o.filter(d=>{try{let u=JSON.parse(d),S=Date.parse(u.event_time??u.timestamp??"");return Number.isNaN(S)||S>=i}catch{return!1}}).slice(-e);a.length!==o.length&&_.writeFileSync(n,a.length?a.join(`
7
- `)+`
8
- `:"",{mode:384})}catch{}}var E=null;function de(e){E=e}function le(){return E}var T=()=>!!process.env.KANE_DEV_MODE,c=[],A=!1,D=null,R=null,I=null,l=null,p=[];function Ee(e){if(l=e,e&&p.length>0){let t=p;p=[];for(let n of t)try{e.log(n.level,n.event,n.message,n.context)}catch{}}}function ue(e,t,n,r){if(l){try{l.log(e,t,n,r)}catch{}return}p.push({level:e,event:t,message:n,context:r})}function Se(){return l}function fe(){return A}function pe(e,t){c=c.filter(n=>n.name!==e),c.push({name:e,fn:t})}function Re(e){c=c.filter(t=>t.name!==e)}function ge(e,t){let n=c.find(o=>o.name===e);if(!n)return;c=c.filter(o=>o.name!==e);let r=!0;try{n.fn()}catch(o){r=!1,process.stderr.write(`[exit-manager] cleanup(${e}) failed: ${o instanceof Error?o.message:String(o)}
9
- `)}t&&r&&T()&&process.stderr.write(`[exit-manager] cleanup(${e}): ${t}
10
- `)}function m(e,t,n=!1,r){if(A){process.exit(D??e);return}if(A=!0,D=e,n&&l)try{l.log("error","CRASH",t),l.shutdownSync()}catch{}if(n&&E&&e!==130&&e!==143)try{let s=/Uncaught exception:\s*([A-Za-z0-9_$]+)/.exec(t)?.[1]??"crash";w([M(E,"ASR_CRASH",{error_code:"cli_crash",error_name:s})])}catch{}let o=[...c].reverse(),i=[];for(let s of o)try{s.fn(),i.push(s.name)}catch(a){process.stderr.write(`[exit-manager] cleanup(${s.name}) failed: ${a instanceof Error?a.message:String(a)}
11
- `)}if(c=[],T()&&(process.stderr.write(`[exit-manager] shutdown(${e}): ${t}
12
- `),i.length>0&&process.stderr.write(`[exit-manager] cleaned up: ${i.join(", ")}
13
- `)),n){if(I)try{I()}catch{}e===130||e===143||(process.stderr.write(`
14
- kane-cli crashed: ${t}
15
- `+(i.length>0?`Resources cleaned up (${i.join(", ")}).
16
- `:"")),E&&process.stderr.write(`session: ${E.session_id} \u2014 share this id with support
17
- `),r&&T()?process.stderr.write(`${r}
18
- `):process.stderr.write(`(re-run with KANE_DEV_MODE=1 for the full stack)
19
- `)),process.exit(e);return}if(R&&!n){R();return}process.exit(e)}function me(e){R=e}function Ae(){R=null}function Ie(e){I=e}var x=!1;function Ne(){x||(x=!0,process.on("SIGINT",()=>{m(130,"Received SIGINT",!0)}),process.on("SIGTERM",()=>{m(143,"Received SIGTERM",!0)}),process.on("uncaughtException",e=>{m(1,`Uncaught exception: ${e.name}: ${e.message}`,!0,e.stack)}),process.on("unhandledRejection",e=>{m(1,`Unhandled rejection: ${String(e)}`,!0,e instanceof Error?e.stack:void 0)}))}function Te(){c=[],A=!1,D=null,R=null,I=null,l=null,p=[],x=!1,E=null}export{y as a,J as b,Z as c,M as d,w as e,se as f,de as g,le as h,Ee as i,ue as j,Se as k,fe as l,pe as m,Re as n,ge as o,m as p,me as q,Ae as r,Ie as s,Ne as t,Te as u};