@testmuai/kane-cli 0.7.0 → 0.7.2

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 (267) hide show
  1. package/dist/ChatSurface-E7QKI4LA.js +8 -0
  2. package/dist/{ChromeProfilePicker-DK2A3NYY.js → ChromeProfilePicker-DGDWGCZD.js} +1 -1
  3. package/dist/{CliFeedbackPrompt-D5QDOBE2.js → CliFeedbackPrompt-SYCZXSME.js} +1 -1
  4. package/dist/{CliUploadProgress-AIZL7N6Z.js → CliUploadProgress-VDEAKXJY.js} +1 -1
  5. package/dist/{ConfigView-SDBCTYUU.js → ConfigView-HPKRQXMC.js} +1 -1
  6. package/dist/EvidenceViewOffer-F5YG54OC.js +2 -0
  7. package/dist/{FolderPicker-IVBHPPMW.js → FolderPicker-4NSDXQY5.js} +1 -1
  8. package/dist/{HelpView-YYYX4RKI.js → HelpView-ON6BFGJM.js} +1 -1
  9. package/dist/{InfoBox-MQV3XBT4.js → InfoBox-B23NZ6IG.js} +1 -1
  10. package/dist/{LinksBox-NCFNBUMW.js → LinksBox-TI26VFFH.js} +1 -1
  11. package/dist/{ProfilesView-6GXF6CP2.js → ProfilesView-CRO5AH3H.js} +1 -1
  12. package/dist/{ProjectPicker-W6XDGNDJ.js → ProjectPicker-3N7LJOXU.js} +1 -1
  13. package/dist/{SaveSessionPrompt-QF3P7ERS.js → SaveSessionPrompt-UTOEC5AW.js} +1 -1
  14. package/dist/SingleShotApp-Y3YDFQSD.js +2 -0
  15. package/dist/{SummaryBox-4SZI4XSO.js → SummaryBox-JK64EKC2.js} +1 -1
  16. package/dist/TestMdRunView-O6JTHV5W.js +2 -0
  17. package/dist/{WhoamiView-N3HAJ3TN.js → WhoamiView-6QSLPNF6.js} +1 -1
  18. package/dist/{auth-RXNBQZI2.js → auth-IKFVW3NX.js} +1 -1
  19. package/dist/bind-KCUSVJXG.js +12 -0
  20. package/dist/bootstrap-NFYYRGGR.js +2 -0
  21. package/dist/bridge-JSKEO4N3.js +2 -0
  22. package/dist/{changelog-MI3IPBJS.js → changelog-AAH2ZBYO.js} +1 -1
  23. package/dist/chat-committer-UUC6JTRJ.js +2 -0
  24. package/dist/chat-controller-T2FAI55V.js +2 -0
  25. package/dist/{chunk-CSGQIY7X.js → chunk-23VPUWBD.js} +3 -3
  26. package/dist/chunk-2UIHS2FH.js +2 -0
  27. package/dist/chunk-2WFZIQ62.js +2 -0
  28. package/dist/chunk-2WRBTLFN.js +13 -0
  29. package/dist/chunk-2YEHV2CX.js +2 -0
  30. package/dist/chunk-3Q6WAK6P.js +2 -0
  31. package/dist/{chunk-EN7NW7DU.js → chunk-4LTXE3IX.js} +1 -1
  32. package/dist/{chunk-NR23HZU4.js → chunk-4NFCAGRK.js} +1 -1
  33. package/dist/chunk-53IBTIL3.js +12 -0
  34. package/dist/{chunk-FCMLIK7P.js → chunk-5DBK6QNS.js} +1 -1
  35. package/dist/chunk-5DT7PIGB.js +5 -0
  36. package/dist/chunk-5FJJJNJK.js +4 -0
  37. package/dist/{chunk-BCH3JCND.js → chunk-5SXMV66P.js} +1 -1
  38. package/dist/{chunk-AV6E6WLY.js → chunk-5WXGMXGA.js} +2 -2
  39. package/dist/chunk-5ZQZOVWY.js +4 -0
  40. package/dist/{chunk-FMR2KPSK.js → chunk-6KPPGMO2.js} +1 -1
  41. package/dist/{chunk-77WMTCUQ.js → chunk-74HTO7K3.js} +1 -1
  42. package/dist/{chunk-FCHTL74E.js → chunk-7KORP5FF.js} +1 -1
  43. package/dist/chunk-7OYZR6JA.js +3 -0
  44. package/dist/chunk-7QJ75SYR.js +8 -0
  45. package/dist/{chunk-T7ZPMTGS.js → chunk-AECMF3T2.js} +1 -1
  46. package/dist/chunk-AFBKGZFG.js +2 -0
  47. package/dist/chunk-AFPHLUQ5.js +6 -0
  48. package/dist/chunk-AJ56AMT6.js +9 -0
  49. package/dist/{chunk-RODHDQU3.js → chunk-APPYQZFK.js} +1 -1
  50. package/dist/{chunk-XLKRV2JH.js → chunk-AXTGYOMK.js} +1 -1
  51. package/dist/{chunk-AYY7RYMK.js → chunk-B5RS2XZU.js} +2 -2
  52. package/dist/chunk-BB2W35TW.js +2 -0
  53. package/dist/chunk-BKHXPBWN.js +2 -0
  54. package/dist/{chunk-KCBS57IF.js → chunk-BXYWX4J3.js} +1 -1
  55. package/dist/chunk-C3T7TKAC.js +349 -0
  56. package/dist/{chunk-IQODWB32.js → chunk-CLGC7VEO.js} +1 -1
  57. package/dist/{chunk-6HYW5RFX.js → chunk-CUM23TLF.js} +1 -1
  58. package/dist/chunk-DBIBROYW.js +5 -0
  59. package/dist/chunk-DBKNJRJG.js +2 -0
  60. package/dist/chunk-DUAXZYAD.js +4 -0
  61. package/dist/chunk-DYW5C6II.js +2 -0
  62. package/dist/chunk-DZPGG4S6.js +7 -0
  63. package/dist/{chunk-GQ3NCBYR.js → chunk-EOLFTMWF.js} +1 -1
  64. package/dist/chunk-F7ISS545.js +2 -0
  65. package/dist/{chunk-CH3VWCRZ.js → chunk-FBHRBFHP.js} +1 -1
  66. package/dist/{chunk-X5P2T7MA.js → chunk-FDIPQRX4.js} +1 -1
  67. package/dist/chunk-GFKCTYCA.js +6 -0
  68. package/dist/{chunk-5WE4DHXL.js → chunk-GYNTNKNB.js} +1 -1
  69. package/dist/{chunk-RQYS3KGU.js → chunk-H32GM5G4.js} +1 -1
  70. package/dist/{chunk-4BAMZSFU.js → chunk-HYSFJSIG.js} +1 -1
  71. package/dist/chunk-I7TIGB7K.js +2 -0
  72. package/dist/chunk-IDX3TOPY.js +6 -0
  73. package/dist/{chunk-CVOGP253.js → chunk-IMR64OCZ.js} +1 -1
  74. package/dist/{chunk-3RZ63RBO.js → chunk-IOD3HQVW.js} +1 -1
  75. package/dist/{chunk-QBCS57EO.js → chunk-J5FBU425.js} +40 -40
  76. package/dist/chunk-JKM2PUHI.js +4 -0
  77. package/dist/{chunk-HOOXUO3X.js → chunk-JPWLGHPM.js} +1 -1
  78. package/dist/chunk-JZ26R6UL.js +2 -0
  79. package/dist/chunk-KBM3XHAM.js +2 -0
  80. package/dist/chunk-KCCSWEGA.js +4 -0
  81. package/dist/{chunk-J3EMJ7US.js → chunk-KQZA2QSC.js} +1 -1
  82. package/dist/{chunk-MV4UYTZT.js → chunk-KWIK22R6.js} +1 -1
  83. package/dist/chunk-L2TV4G56.js +4 -0
  84. package/dist/{chunk-VYMCE7UR.js → chunk-M6FKJKC6.js} +2 -2
  85. package/dist/{chunk-5YHVK2EO.js → chunk-MK7JUOYV.js} +1 -1
  86. package/dist/chunk-N2P4MI32.js +2 -0
  87. package/dist/{chunk-A2IQRVPR.js → chunk-O75ZHGJG.js} +1 -1
  88. package/dist/chunk-OR6MCL6Z.js +2 -0
  89. package/dist/chunk-ORQNKZ2Z.js +5 -0
  90. package/dist/{chunk-GRB66C5S.js → chunk-OS4VSIHT.js} +1 -1
  91. package/dist/{chunk-E5PWL3BG.js → chunk-OUJQVBUT.js} +3 -3
  92. package/dist/{chunk-SBZWFULF.js → chunk-PLOWZLG5.js} +1 -1
  93. package/dist/chunk-QIGPXYMF.js +19 -0
  94. package/dist/chunk-QOFZSHSC.js +47 -0
  95. package/dist/{chunk-2XMJ6YAE.js → chunk-R5T4RLF5.js} +1 -1
  96. package/dist/chunk-R7QAS6LZ.js +4 -0
  97. package/dist/{chunk-YHQFYZJ5.js → chunk-RDNFVZEB.js} +1 -1
  98. package/dist/{chunk-67SSEGDO.js → chunk-SFII7HPP.js} +1 -1
  99. package/dist/{chunk-4SJC64KQ.js → chunk-SL6PCVM2.js} +1 -1
  100. package/dist/{chunk-QQUZF2DZ.js → chunk-STVP2XHO.js} +1 -1
  101. package/dist/chunk-TH47OOBV.js +4 -0
  102. package/dist/chunk-TRJUD3XJ.js +5 -0
  103. package/dist/{chunk-XIXR63FI.js → chunk-UC7MNPIN.js} +1 -1
  104. package/dist/chunk-UD7KKHPW.js +5 -0
  105. package/dist/chunk-VAYBKR76.js +4 -0
  106. package/dist/chunk-VFII6C46.js +2 -0
  107. package/dist/chunk-VGFTNLQQ.js +2 -0
  108. package/dist/{chunk-AIMINJVP.js → chunk-VHZ4S57N.js} +1 -1
  109. package/dist/chunk-VLWMMOMF.js +6 -0
  110. package/dist/chunk-VMM4LC4V.js +10 -0
  111. package/dist/{chunk-DFDDUMG5.js → chunk-VOOPWFHW.js} +1 -1
  112. package/dist/{chunk-4GLYNAK7.js → chunk-VRLUNZAK.js} +1 -1
  113. package/dist/chunk-VRVFPMCR.js +2 -0
  114. package/dist/{chunk-WREVEATJ.js → chunk-VT54ARGE.js} +1 -1
  115. package/dist/{chunk-LGVHW4ZA.js → chunk-VWKVUOXU.js} +1 -1
  116. package/dist/chunk-W4B5LOEX.js +4 -0
  117. package/dist/{chunk-K7USHLVZ.js → chunk-W5TTF7GB.js} +3 -3
  118. package/dist/chunk-WXHQYYD5.js +2 -0
  119. package/dist/{chunk-44IWSV6L.js → chunk-XUS4WKDS.js} +1 -1
  120. package/dist/chunk-XWKUZJCP.js +2 -0
  121. package/dist/chunk-YTHQNN2L.js +3 -0
  122. package/dist/{chunk-K4VIM4RM.js → chunk-ZBOWFJB2.js} +2 -2
  123. package/dist/chunk-ZMNJBUAO.js +2 -0
  124. package/dist/{chunk-MTHCUBDF.js → chunk-ZRASQ63J.js} +1 -1
  125. package/dist/{chunk-B4LLKQTK.js → chunk-ZUGCHQFC.js} +1 -1
  126. package/dist/committer-SWEWEYNX.js +2 -0
  127. package/dist/{config-5GOFF5F4.js → config-CWZV6XPT.js} +1 -1
  128. package/dist/cover-cmd-NWIRJY5Z.js +3 -0
  129. package/dist/{credentials-GXDXVMXW.js → credentials-YHTJGKEO.js} +1 -1
  130. package/dist/descriptor-OEUZZCOK.js +2 -0
  131. package/dist/design-committer-VYT6NU3T.js +2 -0
  132. package/dist/dispatch-WVNXB7AD.js +2 -0
  133. package/dist/docx-convert-CHLJUTFH.js +2 -0
  134. package/dist/dossier-KTLTGT2X.js +3 -0
  135. package/dist/evidence-IVDNXWPL.js +2 -0
  136. package/dist/evolve-cmd-XBX4SX5H.js +2 -0
  137. package/dist/{exit-manager-MXUD7GQ7.js → exit-manager-XZL4KIJU.js} +1 -1
  138. package/dist/explain-UAAQWHYR.js +2 -0
  139. package/dist/{explain-cmd-NWIYH5MI.js → explain-cmd-75MCF2ZV.js} +1 -1
  140. package/dist/{explain-cmd-DBUTPZHA.js → explain-cmd-IZEHWZV5.js} +1 -1
  141. package/dist/extract-bind-5OWELRME.js +10 -0
  142. package/dist/extract-cmd-ZRYMJ6IC.js +5 -0
  143. package/dist/feeder-C3TOJPKK.js +2 -0
  144. package/dist/gaps-cmd-XBRXKXDL.js +3 -0
  145. package/dist/{gate-B6C6KLFA.js → gate-54BRAE7N.js} +1 -1
  146. package/dist/{generate-headless-LZ4HRSQ4.js → generate-headless-D6BISWDC.js} +2 -2
  147. package/dist/{headless-io-PWW6YKH2.js → headless-io-66RG5NN5.js} +1 -1
  148. package/dist/identity-ADZ4PAJF.js +2 -0
  149. package/dist/index.js +61 -62
  150. package/dist/ingest-EX72IEQT.js +2 -0
  151. package/dist/ingest-cmd-YTGOICTC.js +2 -0
  152. package/dist/interactive-bind-XSRD36MO.js +25 -0
  153. package/dist/lifecycle-cmd-EQSFAZG6.js +2 -0
  154. package/dist/list-cmd-IRJSUCM5.js +3 -0
  155. package/dist/{list-commands-WIVODSEL.js → list-commands-RCYHJ5Y3.js} +1 -1
  156. package/dist/locks-cmd-CSVSWY2Y.js +2 -0
  157. package/dist/logical-ids-TEBCQJGO.js +2 -0
  158. package/dist/login-flow-PYAPYCPY.js +2 -0
  159. package/dist/maintenance-cmd-MVFA6H74.js +2 -0
  160. package/dist/next-TRSKMBO5.js +2 -0
  161. package/dist/paths-JCYX6UWL.js +2 -0
  162. package/dist/pdf-convert-OZIRUADA.js +2 -0
  163. package/dist/{persist-recorded-session-J6Z2SCTT.js → persist-recorded-session-DTYCLXTQ.js} +1 -1
  164. package/dist/phase-seed-DIRETNU6.js +2 -0
  165. package/dist/pipeline-MXFOD6ES.js +2 -0
  166. package/dist/readmodel-XOYGGQ3S.js +2 -0
  167. package/dist/reconcile-cmd-EG6BOU3A.js +2 -0
  168. package/dist/reconcile-deps-HTT6IPHT.js +4 -0
  169. package/dist/reconcile-engine-JQNXALNY.js +2 -0
  170. package/dist/{recording-banner-IRFMIZSJ.js → recording-banner-76GCIPUN.js} +1 -1
  171. package/dist/records-IOZTZUZV.js +2 -0
  172. package/dist/{require-project-folder-XSBJGIVF.js → require-project-folder-ACRDP5ZB.js} +1 -1
  173. package/dist/{resolver-IDCGRPFJ.js → resolver-SRPCFW7P.js} +1 -1
  174. package/dist/revert-NQ7GEVSE.js +2 -0
  175. package/dist/review-cmd-L3V5UP5T.js +4 -0
  176. package/dist/run-GMZCDRDD.js +2 -0
  177. package/dist/run-TFRWPGXP.js +2 -0
  178. package/dist/run-channel-RGH4WIQX.js +2 -0
  179. package/dist/{run-test-md-QCERS7FQ.js → run-test-md-KEHSRMCM.js} +2 -2
  180. package/dist/sessions-GIEXOCE4.js +2 -0
  181. package/dist/sessions-cmd-ZVYGSRJ3.js +25 -0
  182. package/dist/{skill-installer-WAVEVCSG.js → skill-installer-HBN3A35K.js} +1 -1
  183. package/dist/spawner-GC5CFAJ7.js +2 -0
  184. package/dist/structured-answers-A43Q25CZ.js +5 -0
  185. package/dist/tcg-generate-V7YFNC5O.js +2 -0
  186. package/dist/testmd-actions-MNDOO76O.js +2 -0
  187. package/dist/token-refresh-3UYMCYG3.js +2 -0
  188. package/dist/trust-gate-EX7R2P4Y.js +2 -0
  189. package/dist/{validate-basic-IJKKRQRU.js → validate-basic-ZGWPBYB6.js} +1 -1
  190. package/dist/verdicts-SCETLY5J.js +2 -0
  191. package/dist/{version-check-O5GYZYTP.js → version-check-CJWKDAXV.js} +1 -1
  192. package/dist/{view-cmd-GQBFCPDL.js → view-cmd-SOVM64L2.js} +1 -1
  193. package/dist/walk-session-YUYRULPY.js +2 -0
  194. package/dist/with-telemetry-E7QWPGL6.js +2 -0
  195. package/package.json +6 -6
  196. package/dist/ChatSurface-PMEOJBZG.js +0 -8
  197. package/dist/EvidenceViewOffer-EOKJE2B6.js +0 -2
  198. package/dist/SingleShotApp-T673X7BS.js +0 -2
  199. package/dist/TestMdRunView-SNYEO6CS.js +0 -2
  200. package/dist/bind-NSGW5BBZ.js +0 -6
  201. package/dist/bootstrap-RPT3JOGD.js +0 -2
  202. package/dist/bridge-BTSWCJ3B.js +0 -2
  203. package/dist/chat-committer-OS7ULZMH.js +0 -2
  204. package/dist/chat-controller-QLORQWJZ.js +0 -2
  205. package/dist/chunk-3C5GMAM4.js +0 -2
  206. package/dist/chunk-3CJIMPQK.js +0 -14
  207. package/dist/chunk-4XSW6WZD.js +0 -5
  208. package/dist/chunk-5YPBPZUR.js +0 -2
  209. package/dist/chunk-6W6AIDLJ.js +0 -4
  210. package/dist/chunk-7E24OCGX.js +0 -2
  211. package/dist/chunk-7YPK6EDR.js +0 -4
  212. package/dist/chunk-DGIPQINV.js +0 -12
  213. package/dist/chunk-EV3EHXEI.js +0 -4
  214. package/dist/chunk-F7WKDMX7.js +0 -47
  215. package/dist/chunk-FHKDTM5L.js +0 -6
  216. package/dist/chunk-FPFOW6BS.js +0 -2
  217. package/dist/chunk-FRBYGSGJ.js +0 -4
  218. package/dist/chunk-GG43HSU2.js +0 -3
  219. package/dist/chunk-J2KSZUOO.js +0 -4
  220. package/dist/chunk-J44RN3FB.js +0 -2
  221. package/dist/chunk-JSF5JYZC.js +0 -9
  222. package/dist/chunk-KHQHVSZ6.js +0 -5
  223. package/dist/chunk-MAO5BAQI.js +0 -347
  224. package/dist/chunk-N4LMQR7C.js +0 -6
  225. package/dist/chunk-QM4S2APK.js +0 -2
  226. package/dist/chunk-RCTM7NGT.js +0 -2
  227. package/dist/chunk-RN4OSVTG.js +0 -6
  228. package/dist/chunk-UXPQRALY.js +0 -13
  229. package/dist/chunk-V3UE6RJP.js +0 -2
  230. package/dist/chunk-VJFFMOUA.js +0 -2
  231. package/dist/chunk-VOHQA2SP.js +0 -2
  232. package/dist/chunk-WTXHOWUP.js +0 -3
  233. package/dist/chunk-Y5RNCJAN.js +0 -19
  234. package/dist/chunk-Z2JSEL3I.js +0 -4
  235. package/dist/cover-cmd-SV3I23UM.js +0 -2
  236. package/dist/descriptor-KXDJ4XYD.js +0 -2
  237. package/dist/docx-convert-ZBVQO2LG.js +0 -2
  238. package/dist/dossier-KJSJPWOW.js +0 -3
  239. package/dist/evidence-VDNZ3K23.js +0 -2
  240. package/dist/evolve-cmd-BLSVVW4I.js +0 -2
  241. package/dist/explain-EBVIUS2X.js +0 -2
  242. package/dist/extract-bind-3SWPBZX6.js +0 -8
  243. package/dist/extract-cmd-HEX7F4IS.js +0 -6
  244. package/dist/gaps-cmd-CKCHH3HQ.js +0 -2
  245. package/dist/ingest-FIIO67ZN.js +0 -2
  246. package/dist/ingest-cmd-KRPZVB7W.js +0 -7
  247. package/dist/interactive-bind-PTAZVCE7.js +0 -10
  248. package/dist/lifecycle-cmd-32LG364Q.js +0 -2
  249. package/dist/list-cmd-UTZ2PQUK.js +0 -3
  250. package/dist/logical-ids-I7B3VJEH.js +0 -2
  251. package/dist/login-flow-GX7CTVWN.js +0 -2
  252. package/dist/maintenance-cmd-BZAGSYGI.js +0 -2
  253. package/dist/pdf-convert-S7VYE6AV.js +0 -2
  254. package/dist/pipeline-HT7FCEXA.js +0 -2
  255. package/dist/readmodel-S5RAQH3F.js +0 -2
  256. package/dist/reconcile-cmd-2VHBKFA5.js +0 -2
  257. package/dist/revert-RQJE56HF.js +0 -2
  258. package/dist/review-cmd-7LXGYHHQ.js +0 -4
  259. package/dist/run-4LTYFTF2.js +0 -2
  260. package/dist/run-YGJZ2SXX.js +0 -2
  261. package/dist/sessions-cmd-DTQYDZNT.js +0 -23
  262. package/dist/spawner-YNYB4Z7K.js +0 -2
  263. package/dist/tcg-generate-D35EMRMQ.js +0 -2
  264. package/dist/testmd-actions-NB5Z6QJ3.js +0 -2
  265. package/dist/token-refresh-OY3WLAKD.js +0 -2
  266. package/dist/walk-session-OPAEV4WR.js +0 -2
  267. /package/dist/{chunk-BC7UVJJB.js → chunk-CH273NAE.js} +0 -0
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as R}from"./chunk-4GLYNAK7.js";import{y as r}from"./chunk-B4LLKQTK.js";import{a as Y}from"./chunk-HCBYKLMW.js";import{a,b as i,i as X}from"./chunk-C44QQJR4.js";import{a as G}from"./chunk-6YGTRKDT.js";import{e as P}from"./chunk-UR6MHSHU.js";var u=P(G(),1);var e=P(Y(),1),f=5;function K(t,I){if(!I)return t;let c=I.toLowerCase();return t.filter(B=>B.label.toLowerCase().includes(c))}function J(t){let{title:I,items:c,loading:B=!1,loadingText:F,error:L=null,itemNoun:T="items",onSelect:H,onCancel:E,defaultActiveId:w,onTab:y,extraHint:N}=t,[x,d]=(0,u.useState)(0),[S,g]=(0,u.useState)(0),[s,A]=(0,u.useState)(""),[C,h]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(c.length===0)return;if(t.preserveSelectionById&&C!==null){let n=c.findIndex(o=>o.id===C);if(n>=0){g(Math.floor(n/f)),d(n%f);return}}let l=w?c.findIndex(n=>n.id===w):c.findIndex(n=>n.isActive);l>=0?(g(Math.floor(l/f)),d(l%f),t.preserveSelectionById&&h(c[l].id)):t.preserveSelectionById&&(g(0),d(0),h(c[0]?.id??null))},[c,w,t.preserveSelectionById,C]),(0,u.useEffect)(()=>{if(!t.onSearch)return;let l=setTimeout(()=>t.onSearch(s),t.searchDebounceMs??250);return()=>clearTimeout(l)},[s,t.onSearch,t.searchDebounceMs]);let m=t.onSearch?c:K(c,s),M=S*f,p=Math.min(M+f,m.length),D=Math.ceil(m.length/f),O=p-M,v=m.slice(M,p);return X((l,n)=>{if(L){n.escape&&E();return}if(n.escape){s?(A(""),d(0),g(0)):E();return}if(n.tab&&y){y();return}if(n.upArrow){if(x>0){let o=x-1;d(o),t.preserveSelectionById&&h(v[o]?.id??null)}else if(S>0){let o=S-1,b=f-1;g(o),d(b),t.preserveSelectionById&&h(m[o*f+b]?.id??null)}return}if(n.downArrow){if(x<O-1){let o=x+1;d(o),t.preserveSelectionById&&h(v[o]?.id??null)}else if(S<D-1){let o=S+1,b=0;g(o),d(b),t.preserveSelectionById&&h(m[o*f+b]?.id??null)}return}if(n.return&&v[x]){H(v[x]);return}if(n.backspace||n.delete){A(o=>o.slice(0,-1)),d(0),g(0);return}l&&!n.ctrl&&!n.meta&&(A(o=>o+l),d(0),g(0))},{isActive:!B}),B?(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.orange,paddingX:2,paddingY:1,children:[(0,e.jsx)(i,{color:r.orange,bold:!0,children:I}),(0,e.jsx)(a,{marginTop:1,children:(0,e.jsx)(i,{color:r.secondary,children:F??`Loading ${T}\u2026`})})]}):L?(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.red,paddingX:2,paddingY:1,children:[(0,e.jsx)(i,{color:r.red,bold:!0,children:I}),(0,e.jsx)(a,{marginTop:1,children:(0,e.jsx)(i,{color:r.red,children:L})}),(0,e.jsx)(R,{bindings:[]})]}):(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.orange,paddingX:2,paddingY:1,children:[(0,e.jsxs)(a,{children:[(0,e.jsx)(i,{color:r.orange,bold:!0,children:I}),(0,e.jsxs)(i,{color:r.dim,children:[" (",m.length,!t.onSearch&&s?`/${c.length}`:""," ",T,t.loadingMore?" \xB7 loading more":"",")"]})]}),(0,e.jsxs)(a,{marginTop:1,children:[(0,e.jsx)(i,{color:r.secondary,children:s?"filter: ":""}),s?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i,{children:s}),(0,e.jsx)(i,{inverse:!0,children:" "})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(i,{color:r.dim,children:["Search ",T,"\u2026"]}),(0,e.jsx)(i,{inverse:!0,children:" "})]})]}),(0,e.jsx)(a,{flexDirection:"column",marginTop:1,children:t.searching?(0,e.jsxs)(i,{color:r.secondary,children:["Searching ",T,"\u2026"]}):m.length===0?(0,e.jsxs)(i,{color:r.dim,children:["No ",T,' match "',s,'"']}):v.map((l,n)=>{let o=n===x,b=o?"\u276F ":" ",$=l.isActive?r.green:o?r.orange:void 0;return(0,e.jsxs)(i,{color:$,children:[b,l.label,l.isActive?" \u25CF selected":""]},l.id)})}),!t.searching&&D>1&&(0,e.jsx)(a,{marginTop:1,children:(0,e.jsxs)(i,{color:r.dim,children:["Page ",S+1,"/",D]})}),t.footer&&(0,e.jsx)(a,{marginTop:1,flexDirection:"column",children:t.footer}),(0,e.jsx)(R,{bindings:[{keys:"\u2191\u2193",label:"navigate"},{keys:"type",label:"to search"},{keys:"\u21B5",label:"select"},...y&&N?[{keys:"tab",label:N}]:[]],escBackLabel:s?"clear":"back to chat"})]})}export{J as a};
2
+ import{a as R}from"./chunk-VRLUNZAK.js";import{y as r}from"./chunk-ZUGCHQFC.js";import{a as Y}from"./chunk-HCBYKLMW.js";import{a,b as i,i as X}from"./chunk-C44QQJR4.js";import{a as G}from"./chunk-6YGTRKDT.js";import{e as P}from"./chunk-UR6MHSHU.js";var u=P(G(),1);var e=P(Y(),1),f=5;function K(t,I){if(!I)return t;let c=I.toLowerCase();return t.filter(B=>B.label.toLowerCase().includes(c))}function J(t){let{title:I,items:c,loading:B=!1,loadingText:F,error:L=null,itemNoun:T="items",onSelect:H,onCancel:E,defaultActiveId:w,onTab:y,extraHint:N}=t,[x,d]=(0,u.useState)(0),[S,g]=(0,u.useState)(0),[s,A]=(0,u.useState)(""),[C,h]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(c.length===0)return;if(t.preserveSelectionById&&C!==null){let n=c.findIndex(o=>o.id===C);if(n>=0){g(Math.floor(n/f)),d(n%f);return}}let l=w?c.findIndex(n=>n.id===w):c.findIndex(n=>n.isActive);l>=0?(g(Math.floor(l/f)),d(l%f),t.preserveSelectionById&&h(c[l].id)):t.preserveSelectionById&&(g(0),d(0),h(c[0]?.id??null))},[c,w,t.preserveSelectionById,C]),(0,u.useEffect)(()=>{if(!t.onSearch)return;let l=setTimeout(()=>t.onSearch(s),t.searchDebounceMs??250);return()=>clearTimeout(l)},[s,t.onSearch,t.searchDebounceMs]);let m=t.onSearch?c:K(c,s),M=S*f,p=Math.min(M+f,m.length),D=Math.ceil(m.length/f),O=p-M,v=m.slice(M,p);return X((l,n)=>{if(L){n.escape&&E();return}if(n.escape){s?(A(""),d(0),g(0)):E();return}if(n.tab&&y){y();return}if(n.upArrow){if(x>0){let o=x-1;d(o),t.preserveSelectionById&&h(v[o]?.id??null)}else if(S>0){let o=S-1,b=f-1;g(o),d(b),t.preserveSelectionById&&h(m[o*f+b]?.id??null)}return}if(n.downArrow){if(x<O-1){let o=x+1;d(o),t.preserveSelectionById&&h(v[o]?.id??null)}else if(S<D-1){let o=S+1,b=0;g(o),d(b),t.preserveSelectionById&&h(m[o*f+b]?.id??null)}return}if(n.return&&v[x]){H(v[x]);return}if(n.backspace||n.delete){A(o=>o.slice(0,-1)),d(0),g(0);return}l&&!n.ctrl&&!n.meta&&(A(o=>o+l),d(0),g(0))},{isActive:!B}),B?(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.orange,paddingX:2,paddingY:1,children:[(0,e.jsx)(i,{color:r.orange,bold:!0,children:I}),(0,e.jsx)(a,{marginTop:1,children:(0,e.jsx)(i,{color:r.secondary,children:F??`Loading ${T}\u2026`})})]}):L?(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.red,paddingX:2,paddingY:1,children:[(0,e.jsx)(i,{color:r.red,bold:!0,children:I}),(0,e.jsx)(a,{marginTop:1,children:(0,e.jsx)(i,{color:r.red,children:L})}),(0,e.jsx)(R,{bindings:[]})]}):(0,e.jsxs)(a,{flexDirection:"column",borderStyle:"round",borderColor:r.orange,paddingX:2,paddingY:1,children:[(0,e.jsxs)(a,{children:[(0,e.jsx)(i,{color:r.orange,bold:!0,children:I}),(0,e.jsxs)(i,{color:r.dim,children:[" (",m.length,!t.onSearch&&s?`/${c.length}`:""," ",T,t.loadingMore?" \xB7 loading more":"",")"]})]}),(0,e.jsxs)(a,{marginTop:1,children:[(0,e.jsx)(i,{color:r.secondary,children:s?"filter: ":""}),s?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i,{children:s}),(0,e.jsx)(i,{inverse:!0,children:" "})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(i,{color:r.dim,children:["Search ",T,"\u2026"]}),(0,e.jsx)(i,{inverse:!0,children:" "})]})]}),(0,e.jsx)(a,{flexDirection:"column",marginTop:1,children:t.searching?(0,e.jsxs)(i,{color:r.secondary,children:["Searching ",T,"\u2026"]}):m.length===0?(0,e.jsxs)(i,{color:r.dim,children:["No ",T,' match "',s,'"']}):v.map((l,n)=>{let o=n===x,b=o?"\u276F ":" ",$=l.isActive?r.green:o?r.orange:void 0;return(0,e.jsxs)(i,{color:$,children:[b,l.label,l.isActive?" \u25CF selected":""]},l.id)})}),!t.searching&&D>1&&(0,e.jsx)(a,{marginTop:1,children:(0,e.jsxs)(i,{color:r.dim,children:["Page ",S+1,"/",D]})}),t.footer&&(0,e.jsx)(a,{marginTop:1,flexDirection:"column",children:t.footer}),(0,e.jsx)(R,{bindings:[{keys:"\u2191\u2193",label:"navigate"},{keys:"type",label:"to search"},{keys:"\u21B5",label:"select"},...y&&N?[{keys:"tab",label:N}]:[]],escBackLabel:s?"clear":"back to chat"})]})}export{J as a};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as A}from"./chunk-YCCUBQY4.js";import{a as _}from"./chunk-RQYS3KGU.js";import{a as k}from"./chunk-2WVKOZ6W.js";import{a as B}from"./chunk-A2IQRVPR.js";import{a as R}from"./chunk-4GLYNAK7.js";import{y as c}from"./chunk-B4LLKQTK.js";import{a as P}from"./chunk-HCBYKLMW.js";import{a as u,b as l}from"./chunk-C44QQJR4.js";import{a as J}from"./chunk-6YGTRKDT.js";import{e as L}from"./chunk-UR6MHSHU.js";var t=L(J(),1);var e=L(P(),1);function X(n,i,y,m){return{id:n,label:`${i} (${n}) \xB7 ${y} tests`,isActive:n===m}}function W({resolver:n,projectId:i,currentFolderId:y,env:m,onSelect:x,onCancel:w}){let[I,M]=(0,t.useState)([]),[$,d]=(0,t.useState)(!0),[O,g]=(0,t.useState)(!1),[U,N]=(0,t.useState)(null),[p,b]=(0,t.useState)("list"),[S,v]=(0,t.useState)(""),[E,f]=(0,t.useState)(null),h=(0,t.useRef)(!1);(0,t.useEffect)(()=>{if(!n){N("Login first to browse folders"),d(!1);return}let o=new AbortController;return d(!0),g(!0),(async()=>{try{let r=n.cached??await n.resolve();if(!r){N("Login first to browse folders"),d(!1),g(!1);return}let a=B(m),T=new k(a.tmsBaseUrl,r.username,r.access_key),F=(async function*(){if(o.signal.aborted)return;let s=await T.listFolders(i);yield{page:1,folders:s,totalLoaded:s.length,done:!0}})();for await(let s of F){if(d(!1),s.totalLoaded===0){h.current=!0,b("naming"),g(!1);return}M(s.folders.map(C=>X(C.id,C.name,C.test_cases_count,y))),s.done&&g(!1)}}catch(r){if(r?.name==="AbortError")return;N(r instanceof Error?r.message:String(r)),d(!1),g(!1)}})(),()=>o.abort()},[n,i,y,m]);let D=(0,t.useCallback)(o=>{let r=o.trim();if(!r){f("Name cannot be empty");return}if(!i){f("No project selected \u2014 pick a project first");return}f(null),b("creating"),(async()=>{try{if(!n)throw new Error("Not authenticated");let a=n.cached??await n.resolve();if(!a)throw new Error("Not authenticated");let T=B(m),s=await new k(T.tmsBaseUrl,a.username,a.access_key).createFolder(i,r);x(s.id,s.name)}catch(a){f(a instanceof Error?a.message:String(a)),b("naming")}})()},[n,i,m,x]),H=(0,t.useCallback)(()=>{v(""),f(null),h.current?w():b("list")},[w]);return p==="naming"||p==="creating"?(0,e.jsxs)(u,{flexDirection:"column",borderStyle:"round",borderColor:c.orange,paddingX:2,paddingY:1,children:[(0,e.jsx)(l,{color:c.orange,bold:!0,children:"Create new folder"}),h.current&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.dim,children:"No folders yet \u2014 let's create one."})}),(0,e.jsxs)(u,{marginTop:1,children:[(0,e.jsx)(l,{color:c.dim,children:"Name: "}),p==="naming"?(0,e.jsx)(A,{value:S,onChange:o=>{v(o),E&&f(null)},onSubmit:D,onCancel:H}):(0,e.jsx)(l,{children:S})]}),E&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.red,children:E})}),p==="creating"&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.dim,children:"Creating..."})}),p==="naming"&&(0,e.jsx)(R,{bindings:[{keys:"\u21B5",label:"create"}],escBackLabel:h.current?"cancel":"back"})]}):(0,e.jsx)(_,{title:"Folders",items:I,loading:$,loadingMore:O,preserveSelectionById:!0,error:U,itemNoun:"folders",onTab:()=>{h.current=!1,b("naming")},extraHint:"tab to create new",onSelect:o=>{let r=o.label.split(" (")[0];x(o.id,r)},onCancel:w})}export{X as a,W as b};
2
+ import{a as A}from"./chunk-YCCUBQY4.js";import{a as _}from"./chunk-H32GM5G4.js";import{a as k}from"./chunk-2WVKOZ6W.js";import{a as B}from"./chunk-O75ZHGJG.js";import{a as R}from"./chunk-VRLUNZAK.js";import{y as c}from"./chunk-ZUGCHQFC.js";import{a as P}from"./chunk-HCBYKLMW.js";import{a as u,b as l}from"./chunk-C44QQJR4.js";import{a as J}from"./chunk-6YGTRKDT.js";import{e as L}from"./chunk-UR6MHSHU.js";var t=L(J(),1);var e=L(P(),1);function X(n,i,y,m){return{id:n,label:`${i} (${n}) \xB7 ${y} tests`,isActive:n===m}}function W({resolver:n,projectId:i,currentFolderId:y,env:m,onSelect:x,onCancel:w}){let[I,M]=(0,t.useState)([]),[$,d]=(0,t.useState)(!0),[O,g]=(0,t.useState)(!1),[U,N]=(0,t.useState)(null),[p,b]=(0,t.useState)("list"),[S,v]=(0,t.useState)(""),[E,f]=(0,t.useState)(null),h=(0,t.useRef)(!1);(0,t.useEffect)(()=>{if(!n){N("Login first to browse folders"),d(!1);return}let o=new AbortController;return d(!0),g(!0),(async()=>{try{let r=n.cached??await n.resolve();if(!r){N("Login first to browse folders"),d(!1),g(!1);return}let a=B(m),T=new k(a.tmsBaseUrl,r.username,r.access_key),F=(async function*(){if(o.signal.aborted)return;let s=await T.listFolders(i);yield{page:1,folders:s,totalLoaded:s.length,done:!0}})();for await(let s of F){if(d(!1),s.totalLoaded===0){h.current=!0,b("naming"),g(!1);return}M(s.folders.map(C=>X(C.id,C.name,C.test_cases_count,y))),s.done&&g(!1)}}catch(r){if(r?.name==="AbortError")return;N(r instanceof Error?r.message:String(r)),d(!1),g(!1)}})(),()=>o.abort()},[n,i,y,m]);let D=(0,t.useCallback)(o=>{let r=o.trim();if(!r){f("Name cannot be empty");return}if(!i){f("No project selected \u2014 pick a project first");return}f(null),b("creating"),(async()=>{try{if(!n)throw new Error("Not authenticated");let a=n.cached??await n.resolve();if(!a)throw new Error("Not authenticated");let T=B(m),s=await new k(T.tmsBaseUrl,a.username,a.access_key).createFolder(i,r);x(s.id,s.name)}catch(a){f(a instanceof Error?a.message:String(a)),b("naming")}})()},[n,i,m,x]),H=(0,t.useCallback)(()=>{v(""),f(null),h.current?w():b("list")},[w]);return p==="naming"||p==="creating"?(0,e.jsxs)(u,{flexDirection:"column",borderStyle:"round",borderColor:c.orange,paddingX:2,paddingY:1,children:[(0,e.jsx)(l,{color:c.orange,bold:!0,children:"Create new folder"}),h.current&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.dim,children:"No folders yet \u2014 let's create one."})}),(0,e.jsxs)(u,{marginTop:1,children:[(0,e.jsx)(l,{color:c.dim,children:"Name: "}),p==="naming"?(0,e.jsx)(A,{value:S,onChange:o=>{v(o),E&&f(null)},onSubmit:D,onCancel:H}):(0,e.jsx)(l,{children:S})]}),E&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.red,children:E})}),p==="creating"&&(0,e.jsx)(u,{marginTop:1,children:(0,e.jsx)(l,{color:c.dim,children:"Creating..."})}),p==="naming"&&(0,e.jsx)(R,{bindings:[{keys:"\u21B5",label:"create"}],escBackLabel:h.current?"cancel":"back"})]}):(0,e.jsx)(_,{title:"Folders",items:I,loading:$,loadingMore:O,preserveSelectionById:!0,error:U,itemNoun:"folders",onTab:()=>{h.current=!1,b("naming")},extraHint:"tab to create new",onSelect:o=>{let r=o.label.split(" (")[0];x(o.id,r)},onCancel:w})}export{X as a,W as b};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{c as v}from"./chunk-UD7KKHPW.js";var E=.8,y="usecase-dedup";function w(n,r){let i=Math.min(n.length,r.length),u=0,s=0,c=0;for(let e=0;e<i;e++)u+=n[e]*r[e],s+=n[e]*n[e],c+=r[e]*r[e];return s===0||c===0?0:u/(Math.sqrt(s)*Math.sqrt(c))}function C(n,r,i){return i*n+(1-i)*r}var D=.7;function A(n){return new Set(n.toLowerCase().replace(/[^\p{L}\p{N}]+/gu," ").split(" ").filter(Boolean))}function R(n,...r){let i=A(n);if(i.size===0)return 0;let u=n.trim().toLowerCase(),s=0;for(let c of r){let e=A(c);if(e.size===0)continue;let p=0;for(let b of i)e.has(b)&&p++;let m=i.size+e.size-p,d=m===0?0:p/m;u&&c.toLowerCase().includes(u)&&(d=Math.max(d,.9)),s=Math.max(s,d)}return s}var S=n=>String(n.title??"");function _(n){return n.byLabel("usecase").filter(r=>!n.superseded.has(r.cid)).map(r=>({cid:r.cid,text:S(r.content)}))}function L(n,r){let i=r.threshold??E,u=new Map,s=null;return{async batchSimilar(c,e){let p=c.latestHash;if(e.length===0)return{hits:[],degraded:!1,probeBasis:p};let m=_(c),d=[];try{s=(await r.resolveAlias(y)).alias;let f=new Map,g=[];for(let t of m){let a=r.readVector?.(s,t.cid)??null;a!==null?f.set(t.cid,a):g.push(t)}let o=[...e.map(t=>t.probeText),...g.map(t=>t.text)],{vectors:P}=await r.embed(y,o);e.forEach((t,a)=>u.set(t.tempRef,Float32Array.from(P[a]))),g.forEach((t,a)=>{let l=Float32Array.from(P[e.length+a]);f.set(t.cid,l),r.writeVector?.(s,t.cid,l)});for(let t of e){let a=u.get(t.tempRef);for(let l of m){let x=f.get(l.cid);if(x===void 0)continue;let h=C(w(a,x),R(t.probeText,l.text),D);h>=i&&d.push({tempRef:t.tempRef,candidateCid:l.cid,score:h,scorer:"embedding"})}}return{hits:d,degraded:!1,probeBasis:p}}catch(b){v(JSON.stringify({event:"dedup_probe_degraded",contextDir:n,candidates:e.length,reason:String(b?.message??b).slice(0,160),ts:new Date().toISOString()}),"DEDUP_PROBE_DEGRADED");for(let f of e)for(let g of m){let o=R(f.probeText,g.text);o>=i&&d.push({tempRef:f.tempRef,candidateCid:g.cid,score:o,scorer:"lexical_fallback"})}return{hits:d,degraded:!0,probeBasis:p}}},recheckLocal(c,e,p,m){let d=[],b=[],f=new Set;for(let g of m)for(let o of g.nodes){if(o.label!=="usecase"||f.has(o.cid)||(f.add(o.cid),c.superseded.has(o.cid)||!c.hasNode(o.cid)))continue;let P=S(o.content),t=s!==null?r.readVector?.(s,o.cid)??null:null,a=t!==null;for(let l of e){let x=u.get(l.tempRef),h;t!==null&&x!==void 0?h=C(w(x,t),R(l.probeText,P),D):(h=R(l.probeText,P),a=a&&!1),h>=i&&d.push({tempRef:l.tempRef,candidateCid:o.cid,score:h,scorer:t!==null&&x!==void 0?"embedding":"lexical_fallback"})}a||b.push(o.cid)}return{hits:d,uncachedNewNodes:b}}}}export{L as a};
@@ -0,0 +1,6 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{existsSync as f,fsyncSync as X,mkdirSync as z,readFileSync as S,readdirSync as N,renameSync as E,rmSync as m,writeFileSync as H,openSync as K,closeSync as j}from"fs";import{randomBytes as Q}from"crypto";import{join as y}from"path";var u=class extends Error{constructor(t,r){super(`${t}: ${r}`);this.code=t}},q=1440*60*1e3,F=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,v=n=>y(n,"sessions"),O=(n,e)=>y(v(n),e),l=(n,e)=>y(O(n,e),"state.json"),h=(n,e)=>y(O(n,e),".lock"),w=n=>(n?.now??(()=>new Date))();function M(n){if(!Number.isInteger(n)||n<=0)return!1;try{return process.kill(n,0),!0}catch(e){return e.code==="EPERM"}}function b(n,e){let t=`${n}.tmp-${process.pid}`,r=K(t,"w");try{H(r,e,{mode:384}),X(r)}finally{j(r)}E(t,n)}function k(n,e,t,r=0){if(r>20)throw new u("SESSION_LOCKED",`${e}: lock contention did not settle`);let o=h(n,e),s=Q(8).toString("hex"),c=JSON.stringify({pid:process.pid,ts:t.toISOString(),nonce:s})+`
3
+ `;try{let i=K(o,"wx",384);return H(i,c),j(i),s}catch(i){if(i.code!=="EEXIST")throw i;let p=!1,a;try{let d=JSON.parse(S(o,"utf8")),_=t.getTime()-new Date(d.ts).getTime();p=!M(d.pid)||_>=q,a=d.nonce}catch{p=!0}if(!p)throw new u("SESSION_LOCKED",`${e} is held by another live process`);let g=`${o}.break-${s}`;try{E(o,g);let d;try{d=JSON.parse(S(g,"utf8"))}catch{d=null}if(d===null||d.nonce===a)m(g,{force:!0});else try{E(g,o)}catch{m(g,{force:!0})}}catch(d){if(d.code!=="ENOENT")throw d}return k(n,e,t,r+1)}}function G(n,e,t,r,o){let s=()=>{try{if(JSON.parse(S(h(n,e),"utf8")).nonce!==r)throw new u("SESSION_LOCK_LOST",`${e} lock was taken over`)}catch(i){throw i instanceof u?i:new u("SESSION_LOCK_LOST",`${e} lock file unreadable/gone`)}},c=()=>b(l(n,e),JSON.stringify(t)+`
4
+ `);return{get state(){return t},isApplied:i=>t.applied_events.includes(i),markApplied(i){s(),t={...t,applied_events:[...new Set([...t.applied_events,...i])].sort()},c()},reconcileSave(i){s(),t={...t,applied_events:[...new Set([...t.applied_events,...i.appliedEvents])].sort(),held_receipts:i.heldReceipts,pending:i.pending},c()},save(i){s();let{agent_state:p,pending:a,assumed:g,read_basis:d,corpus_cursor:_,expires_at:I,force:x,conv_source:R,held_receipts:T,force_scope:D,user_session_id:J,checkpoint:L,target_pins:$,ingest_registry:A,ingest_schedule:P,reconcile:C}=i;t={...t,...p!==void 0?{agent_state:p}:{},...a!==void 0?{pending:a}:{},...g!==void 0?{assumed:g}:{},...d!==void 0?{read_basis:d}:{},..._!==void 0?{corpus_cursor:_}:{},...I!==void 0?{expires_at:I}:{},...x!==void 0?{force:x}:{},...R!==void 0?{conv_source:R}:{},...T!==void 0?{held_receipts:T}:{},...D!==void 0?{force_scope:D}:{},...J!==void 0?{user_session_id:J}:{},...L!==void 0?{checkpoint:L}:{},...$!==void 0?{target_pins:$}:{},...A!==void 0?{ingest_registry:A}:{},...P!==void 0?{ingest_schedule:P}:{},...C!==void 0?{reconcile:C}:{}},c()},complete(){s(),m(O(n,e),{recursive:!0,force:!0})},release(){try{s(),m(h(n,e),{force:!0})}catch(i){if(i instanceof u||i.code==="ENOENT")return;throw i}}}}function W(n,e,t){if(!F.test(e.sid))throw new u("SESSION_MISSING",`bad sid ${JSON.stringify(e.sid)}`);let r=w(t);if(f(l(n,e.sid)))throw new u("SESSION_LOCKED",`${e.sid} already exists \u2014 resume it`);z(O(n,e.sid),{recursive:!0,mode:448});let o=k(n,e.sid,r),s={schema:1,applied_events:[],...e};return b(l(n,e.sid),JSON.stringify(s)+`
5
+ `),G(n,e.sid,s,o,t)}function Y(n,e,t){if(!F.test(e)||!f(l(n,e)))throw new u("SESSION_MISSING",`no session ${e}`);let r=w(t),o=k(n,e,r),s=JSON.parse(S(l(n,e),"utf8"));if(new Date(s.expires_at).getTime()<=r.getTime())throw m(h(n,e),{force:!0}),new u("SESSION_EXPIRED",`${e} expired at ${s.expires_at}`);let c={...s,expires_at:new Date(r.getTime()+q).toISOString()};return b(l(n,e),JSON.stringify(c)+`
6
+ `),G(n,e,c,o,t)}function Z(n,e){try{let t=y(n,"proposals",e,"verdicts.json");return JSON.parse(S(t,"utf8")).resolved===!0}catch{return!1}}function ee(n,e){let t=l(n,e);return f(t)?JSON.parse(S(t,"utf8")):null}function ne(n){let e=v(n);if(!f(e))return[];let t=[];for(let r of N(e)){let o=l(n,r);if(f(o))try{let s=JSON.parse(S(o,"utf8"));t.push({sid:s.sid,mode:s.mode,created_at:s.created_at,expires_at:s.expires_at,pendingCount:s.pending.questions.length+s.pending.proposals.length,verb:s.verb,use_case:s.use_case})}catch{t.push({sid:r,mode:"?",created_at:"",expires_at:"",pendingCount:0,corrupt:!0})}}return t.sort((r,o)=>r.created_at<o.created_at?-1:1)}function te(n,e,t){let r=v(n);if(!f(r))return{holders:[],corrupt:0};let o=w(t),s=[],c=0;for(let i of N(r)){let p=l(n,i);if(f(p))try{let a=JSON.parse(S(p,"utf8"));if(new Date(a.expires_at).getTime()<=o.getTime())continue;let g=a.pending.proposals.some(_=>(_.content?._held?.source_id??null)===e),d=a.reconcile!=null&&e in a.read_basis&&!Z(n,a.reconcile.proposal_id);(g||d)&&s.push(a.sid)}catch{c+=1}}return{holders:s,corrupt:c}}function se(n,e){let t=w(e),r=[],o=[],s=v(n);if(!f(s))return{removed:r,skipped:o};for(let c of N(s)){if(e?.sid&&c!==e.sid)continue;let i=!1,p=!1;try{let a=JSON.parse(S(l(n,c),"utf8"));i=new Date(a.expires_at).getTime()<=t.getTime()}catch{p=!0}if(e?.sid||e?.all||i||p&&e?.all){try{let a=JSON.parse(S(h(n,c),"utf8"));if(M(a.pid)&&a.pid!==process.pid){o.push({sid:c,reason:`in use by live pid ${a.pid}`});continue}}catch{}m(O(n,c),{recursive:!0,force:!0}),r.push(c)}}return{removed:r,skipped:o}}export{u as a,W as b,Y as c,Z as d,ee as e,ne as f,te as g,se as h};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as t}from"./chunk-427OQS2N.js";import{a,b as s,c as n}from"./chunk-5YPBPZUR.js";function y(o="extract"){let i=new Set(t(o)),c=Object.fromEntries(Object.keys(s).map(r=>{let e=s[r];return[r,{hashed:[...e.hashed],unhashed:[...e.unhashed??[]],required:[...e.required],enums:Object.fromEntries(Object.entries(e.enums).map(([p,g])=>[p,[...g]])),mintable:i.has(r)}]})),d=Object.fromEntries(Object.keys(n).map(r=>{let e=n[r];return[r,{src:[...e.src],dst:[...e.dst],salient:[...e.salient],props:[...e.props],cardinality:e.cardinality,acyclic:e.acyclic,direction:"dependent->dependency"}]}));return{schema_version:a,nodes:c,edges:d,mint_gate:t(o),blob_fingerprint:{algo:"sha256",domain:"assurance.blob\0",prefix:"sha256:"}}}export{y as a};
2
+ import{a as t}from"./chunk-427OQS2N.js";import{a,b as s,c as n}from"./chunk-WXHQYYD5.js";function y(o="extract"){let i=new Set(t(o)),c=Object.fromEntries(Object.keys(s).map(r=>{let e=s[r];return[r,{hashed:[...e.hashed],unhashed:[...e.unhashed??[]],required:[...e.required],enums:Object.fromEntries(Object.entries(e.enums).map(([p,g])=>[p,[...g]])),mintable:i.has(r)}]})),d=Object.fromEntries(Object.keys(n).map(r=>{let e=n[r];return[r,{src:[...e.src],dst:[...e.dst],salient:[...e.salient],props:[...e.props],cardinality:e.cardinality,acyclic:e.acyclic,direction:"dependent->dependency"}]}));return{schema_version:a,nodes:c,edges:d,mint_gate:t(o),blob_fingerprint:{algo:"sha256",domain:"assurance.blob\0",prefix:"sha256:"}}}export{y as a};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{e as M,f as R,h as j,i as y}from"./chunk-ZPDM6FO7.js";import{j as k}from"./chunk-6W6AIDLJ.js";import{existsSync as A,mkdirSync as W,readdirSync as B,readFileSync as N,renameSync as E,writeFileSync as G}from"fs";import{join as p}from"path";var P=/^@import\s+(\S+)\s*$/;function O(e,n){let s=e.resolve(n),l=s?String(e.getNode(s.tip)?.content.title??""):"";return l&&k(l,()=>!1)||n}function D(e){return p(e,".testmuai","tests")}function L(e){let n=new Map;if(!A(e))return n;for(let s of B(e)){if(!s.endsWith("_test.md"))continue;let l=p(e,s);try{let r=y(N(l,"utf8"))?.id;r&&n.set(r,[...n.get(r)??[],l])}catch{}}return n}function q(e,n){let s=`${e}.tmp-mint`;G(s,n),E(s,e)}function U(e){let{graph:n,cids:s,cwd:l}=e,r=D(l),w=[],d=[],m=L(r),$=new Set,b=(t,f)=>{let c=m.get(t);if(c&&c.length>1)return d.push({id:t,reason:`two files claim assurance.id ${t}: ${c.join(" \xB7 ")} \u2014 resolve the duplicate first`}),null;if($.has(t))return I(t);if(f.includes(t))return I(t)??`${O(n,t)}_test.md`;let S=n.resolve(t),v=S?n.getNode(S.tip):void 0,x=v?.content.test_md_blob,F=v?.content.definitionId;if(!x||!F)return d.push({id:t,reason:`${t} has no test definition in the graph`}),null;let h=x.split(`
2
+ import{e as M,f as R,h as j,i as y}from"./chunk-ZPDM6FO7.js";import{v as k}from"./chunk-TH47OOBV.js";import{existsSync as A,mkdirSync as W,readdirSync as B,readFileSync as N,renameSync as E,writeFileSync as G}from"fs";import{join as p}from"path";var P=/^@import\s+(\S+)\s*$/;function O(e,n){let s=e.resolve(n),l=s?String(e.getNode(s.tip)?.content.title??""):"";return l&&k(l,()=>!1)||n}function D(e){return p(e,".testmuai","tests")}function L(e){let n=new Map;if(!A(e))return n;for(let s of B(e)){if(!s.endsWith("_test.md"))continue;let l=p(e,s);try{let r=y(N(l,"utf8"))?.id;r&&n.set(r,[...n.get(r)??[],l])}catch{}}return n}function q(e,n){let s=`${e}.tmp-mint`;G(s,n),E(s,e)}function U(e){let{graph:n,cids:s,cwd:l}=e,r=D(l),w=[],d=[],m=L(r),$=new Set,b=(t,f)=>{let c=m.get(t);if(c&&c.length>1)return d.push({id:t,reason:`two files claim assurance.id ${t}: ${c.join(" \xB7 ")} \u2014 resolve the duplicate first`}),null;if($.has(t))return I(t);if(f.includes(t))return I(t)??`${O(n,t)}_test.md`;let S=n.resolve(t),v=S?n.getNode(S.tip):void 0,x=v?.content.test_md_blob,F=v?.content.definitionId;if(!x||!F)return d.push({id:t,reason:`${t} has no test definition in the graph`}),null;let h=x.split(`
3
3
  `).map(o=>{let i=P.exec(o.trim());if(!i)return o;let u=i[1];if(!n.resolve(u))return o;let _=b(u,[...f,t]);if(!_)throw new g(`dependency ${u} could not be minted/located`);return`@import ./${_}`}).join(`
4
4
  `),T=`---
5
5
  assurance: