@maycombhq/atticus 2.0.0-beta.2 → 2.0.0-beta.22

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 (284) hide show
  1. package/dist/bin.js +8 -4
  2. package/dist/chunk-23XVSEV5.js +49 -0
  3. package/dist/{chunk-ZDPAS56H.js → chunk-24OXGB3P.js} +8 -2
  4. package/dist/{chunk-7EOBHUMC.js → chunk-24XLDU72.js} +4 -3
  5. package/dist/{chunk-CR3MTH32.js → chunk-2F4CYZKJ.js} +86 -11
  6. package/dist/{chunk-6IU67AEK.js → chunk-2GF7OLF3.js} +23 -15
  7. package/dist/chunk-2IIMFOPM.js +41 -0
  8. package/dist/chunk-2LGRMVCA.js +617 -0
  9. package/dist/{chunk-XPCM366L.js → chunk-2MMCFP5C.js} +10 -8
  10. package/dist/{chunk-JBTK5OP2.js → chunk-2Q56PQPS.js} +6 -4
  11. package/dist/{chunk-Z6LF7HQN.js → chunk-2Q5EDGEO.js} +7 -5
  12. package/dist/{chunk-3USYZGRF.js → chunk-2RLKFUUL.js} +38 -27
  13. package/dist/chunk-2SKB4O2E.js +59 -0
  14. package/dist/{chunk-SP2I63OO.js → chunk-34S2WGOB.js} +87 -4
  15. package/dist/{chunk-GQ4N4WKF.js → chunk-3NFFJL5D.js} +33 -27
  16. package/dist/{chunk-SJRGMG6A.js → chunk-3NWDLGG6.js} +28 -25
  17. package/dist/{chunk-4WBVUHXN.js → chunk-3RM4UK6W.js} +20 -18
  18. package/dist/chunk-42SIDKEU.js +583 -0
  19. package/dist/{chunk-GLUX4EEP.js → chunk-4EURQWQD.js} +20 -15
  20. package/dist/chunk-4U276ICE.js +39 -0
  21. package/dist/{chunk-ZMFPW66A.js → chunk-53T4O55J.js} +4 -3
  22. package/dist/{chunk-6J5OKA4Y.js → chunk-57TDNMI3.js} +17 -15
  23. package/dist/chunk-5BD2KYLE.js +57 -0
  24. package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
  25. package/dist/chunk-5NMKONLP.js +95 -0
  26. package/dist/{chunk-7ZUIMTOU.js → chunk-5SJZW52K.js} +26 -24
  27. package/dist/{chunk-4RS5KZQD.js → chunk-63YRMR6J.js} +6 -5
  28. package/dist/chunk-66PPNOON.js +62 -0
  29. package/dist/chunk-6H3Z5JHH.js +64 -0
  30. package/dist/{chunk-CEXSU4S6.js → chunk-6MUGR4LS.js} +775 -89
  31. package/dist/{chunk-QSXK2RGH.js → chunk-6OJQOPUN.js} +5 -3
  32. package/dist/{chunk-MVZVGYXH.js → chunk-6PPOWY5E.js} +84 -14
  33. package/dist/{chunk-7EKXJZ2Y.js → chunk-6ZGLAACW.js} +299 -38
  34. package/dist/chunk-6ZJ5A7AF.js +222 -0
  35. package/dist/{chunk-L24C55VN.js → chunk-745DAZ4L.js} +142 -30
  36. package/dist/{chunk-Q4D5X7QB.js → chunk-7ASNL4Q4.js} +46 -24
  37. package/dist/chunk-7BR7IPOH.js +35 -0
  38. package/dist/{chunk-7WD63HU2.js → chunk-7DOR27HL.js} +6 -6
  39. package/dist/chunk-7FTTA3HD.js +341 -0
  40. package/dist/{chunk-OLQJTJJU.js → chunk-7GJS6DNX.js} +12 -3
  41. package/dist/{chunk-7JUKDRSZ.js → chunk-7IGKHZ4Z.js} +347 -226
  42. package/dist/{chunk-G2B4ZQGH.js → chunk-7IOWA5D5.js} +11 -6
  43. package/dist/{chunk-EBEW3XXQ.js → chunk-7JITZFJC.js} +7 -5
  44. package/dist/chunk-7MJSQTL5.js +174 -0
  45. package/dist/{chunk-I4JRCD6M.js → chunk-7UOMVMFG.js} +25 -17
  46. package/dist/{chunk-YY6ZQQBP.js → chunk-AFWUDXEM.js} +19 -7
  47. package/dist/chunk-AFZ3QA6W.js +47 -0
  48. package/dist/chunk-AJQ72EBM.js +420 -0
  49. package/dist/chunk-AJYXNTNZ.js +317 -0
  50. package/dist/chunk-AVTBS4OW.js +49 -0
  51. package/dist/{chunk-FHH4I4ZV.js → chunk-BDKC6H5P.js} +12 -6
  52. package/dist/{chunk-IPKHE5D6.js → chunk-BEVTIBRH.js} +1526 -875
  53. package/dist/chunk-BHT7QK4G.js +162 -0
  54. package/dist/{chunk-6JUBZBMW.js → chunk-BIGDQDHD.js} +6 -4
  55. package/dist/{chunk-2BFCZ3RK.js → chunk-BO4KX37X.js} +20 -18
  56. package/dist/chunk-BPK5P77O.js +115 -0
  57. package/dist/chunk-BQ4SQQC6.js +59 -0
  58. package/dist/chunk-BQGDB6ZL.js +7342 -0
  59. package/dist/{chunk-2ANOROX3.js → chunk-BTGPE6CR.js} +11 -9
  60. package/dist/chunk-BTY3HZBO.js +93 -0
  61. package/dist/{chunk-DPZHZQKE.js → chunk-BXYMYEJ4.js} +44 -10
  62. package/dist/{chunk-2RMYG36Q.js → chunk-C3RY6KU6.js} +309 -346
  63. package/dist/chunk-C4R4JLHE.js +40 -0
  64. package/dist/chunk-CADWLE2T.js +18 -0
  65. package/dist/chunk-CBGGOQWU.js +82 -0
  66. package/dist/chunk-CMDXGQTS.js +47 -0
  67. package/dist/{chunk-MC3H7736.js → chunk-CQDGOPGH.js} +58 -18
  68. package/dist/{chunk-HFQCFSJR.js → chunk-CX4RZ2KS.js} +4 -3
  69. package/dist/{chunk-PAMPPUR6.js → chunk-CXJ6FUKN.js} +1852 -207
  70. package/dist/{chunk-ABWHYWNI.js → chunk-D73UEXYW.js} +3 -3
  71. package/dist/chunk-DCZWQLYT.js +1205 -0
  72. package/dist/chunk-DLOBCJL6.js +48 -0
  73. package/dist/{chunk-4BN53TG3.js → chunk-DOBQKHIF.js} +31 -23
  74. package/dist/chunk-E3ISYXO3.js +423 -0
  75. package/dist/{chunk-7SW2QWLU.js → chunk-E6ZIEVOI.js} +16 -13
  76. package/dist/chunk-EBL2R3YG.js +43 -0
  77. package/dist/{chunk-AIOQPLA5.js → chunk-EGQRREQH.js} +41 -15
  78. package/dist/chunk-EHA7RMZ3.js +58 -0
  79. package/dist/{chunk-M766ZJ6W.js → chunk-EIPTLPFC.js} +38 -27
  80. package/dist/chunk-EMRIQUND.js +517 -0
  81. package/dist/{chunk-DFBCSHVT.js → chunk-EPCJQQWD.js} +6 -4
  82. package/dist/{chunk-RZPYKDWS.js → chunk-F3P7N7SF.js} +1 -1
  83. package/dist/{chunk-R77KLRB3.js → chunk-FFLNS6VP.js} +21 -18
  84. package/dist/chunk-FFTRTL6R.js +26 -0
  85. package/dist/{chunk-IHMLFRVV.js → chunk-FPJPLKDW.js} +62 -16
  86. package/dist/{chunk-JCZIKA4C.js → chunk-FSMSFDLD.js} +5 -4
  87. package/dist/{chunk-AVJDSJ2F.js → chunk-FUJM6RTF.js} +8 -7
  88. package/dist/chunk-FZOJFH7Q.js +132 -0
  89. package/dist/{chunk-QRAOANID.js → chunk-G6X77UJZ.js} +23 -21
  90. package/dist/{chunk-3ALD2W2A.js → chunk-GCWRWSU7.js} +10 -4
  91. package/dist/chunk-GIW4ZVDB.js +39 -0
  92. package/dist/{chunk-B2WLAWNJ.js → chunk-GUX3PTYM.js} +3 -3
  93. package/dist/{chunk-DPUYDDQG.js → chunk-GZY6RUZ6.js} +25 -3
  94. package/dist/chunk-H4VO6WG3.js +10 -0
  95. package/dist/{chunk-MMOSZPWJ.js → chunk-H5HBGNXU.js} +5 -4
  96. package/dist/chunk-H7KM7LZE.js +229 -0
  97. package/dist/{chunk-AA6YULYB.js → chunk-HNM2YQT2.js} +7 -7
  98. package/dist/{chunk-3C7EYRFZ.js → chunk-HYU5VLGA.js} +1 -1
  99. package/dist/{chunk-XY3P7JW7.js → chunk-IDKCWSM5.js} +1032 -172
  100. package/dist/chunk-IFKEI4SA.js +237 -0
  101. package/dist/{chunk-F7HYOUFF.js → chunk-IGOE6KPG.js} +67 -22
  102. package/dist/{chunk-TDD55CJH.js → chunk-IH2XURVQ.js} +6 -5
  103. package/dist/chunk-INQHESFB.js +38 -0
  104. package/dist/chunk-IP74LCOQ.js +57 -0
  105. package/dist/chunk-IPHHDDC6.js +45 -0
  106. package/dist/{chunk-T6AIP7H5.js → chunk-ISUAAMGS.js} +110 -153
  107. package/dist/{chunk-A7UPUQFY.js → chunk-IUPG3UKI.js} +624 -319
  108. package/dist/{chunk-L6SGQIR3.js → chunk-IVBOQAGB.js} +7 -3
  109. package/dist/{chunk-27NKUS3X.js → chunk-J2JAKCIW.js} +2205 -796
  110. package/dist/{chunk-V2YTAIQO.js → chunk-J3IOLXWM.js} +24 -7
  111. package/dist/chunk-JA5FI3QV.js +142 -0
  112. package/dist/chunk-JAVI7JSP.js +49 -0
  113. package/dist/{chunk-HLJAXMM4.js → chunk-JB5LINEM.js} +6 -2
  114. package/dist/{chunk-2VHF7OXM.js → chunk-JENSEMXF.js} +1 -1
  115. package/dist/{chunk-6BVONWJ7.js → chunk-JJF6HALY.js} +4 -3
  116. package/dist/chunk-JLUCKAEL.js +38 -0
  117. package/dist/chunk-JRBFANFE.js +221 -0
  118. package/dist/{chunk-R6XF6UR3.js → chunk-KDNTAPLX.js} +4 -4
  119. package/dist/chunk-KFAVQZSX.js +33 -0
  120. package/dist/chunk-KJXD4PNL.js +50 -0
  121. package/dist/chunk-KN5BXMWN.js +44 -0
  122. package/dist/{chunk-PCVDV3UZ.js → chunk-KQGURXFU.js} +9 -7
  123. package/dist/{chunk-WY6PP6AA.js → chunk-KXITGYLF.js} +40 -6
  124. package/dist/{chunk-66YVAGGM.js → chunk-L27SV425.js} +22 -20
  125. package/dist/{chunk-NE2W3OO7.js → chunk-LDLL7LB3.js} +24 -22
  126. package/dist/chunk-LFGTYX5U.js +379 -0
  127. package/dist/{chunk-EYWIDJFU.js → chunk-LGBMTVNT.js} +7 -5
  128. package/dist/{chunk-Q5AMFEWD.js → chunk-LGFL54FP.js} +3 -2
  129. package/dist/{chunk-6TACQN3N.js → chunk-LJXMYKZJ.js} +7 -5
  130. package/dist/{chunk-BKVWTZ6A.js → chunk-LKOR5UET.js} +29 -26
  131. package/dist/chunk-LNBQOP7D.js +294 -0
  132. package/dist/{chunk-O3WI5KWW.js → chunk-LO6P2VYG.js} +2 -2
  133. package/dist/chunk-LQJPN536.js +122 -0
  134. package/dist/{chunk-YEDDOYSC.js → chunk-LYBNHMVZ.js} +29 -5
  135. package/dist/{chunk-A3GY6SOA.js → chunk-LZ7NUC62.js} +20 -18
  136. package/dist/chunk-M32BLWDH.js +37 -0
  137. package/dist/{chunk-VYDBJ73M.js → chunk-M3NANSDZ.js} +17 -15
  138. package/dist/chunk-MFHL5URL.js +31 -0
  139. package/dist/chunk-MFR5OPBD.js +109 -0
  140. package/dist/{chunk-DE76JROX.js → chunk-MG4ZL5RW.js} +32 -20
  141. package/dist/{chunk-N7IXEHK3.js → chunk-MO6P2JZH.js} +10 -8
  142. package/dist/{chunk-65NYPGRC.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/chunk-MZCGSXVR.js +34 -0
  144. package/dist/{chunk-MGYZM27B.js → chunk-N3XIYPU3.js} +51 -23
  145. package/dist/chunk-NDCF4R6S.js +172 -0
  146. package/dist/{chunk-DHPACDG7.js → chunk-NR2UJWOC.js} +10 -8
  147. package/dist/chunk-NXJ5URP6.js +51 -0
  148. package/dist/{chunk-UNM6ZOKP.js → chunk-NY2XSR5K.js} +147 -18
  149. package/dist/{chunk-5GDRCDQB.js → chunk-O45HFTFS.js} +3 -2
  150. package/dist/{chunk-ONLS5QA5.js → chunk-O4GXGGBX.js} +14 -12
  151. package/dist/chunk-O5PXQR67.js +249 -0
  152. package/dist/{chunk-PRPPGYZG.js → chunk-O66DM6DJ.js} +6 -4
  153. package/dist/{chunk-KEM4SDDP.js → chunk-O7FDLW7L.js} +11 -8
  154. package/dist/{chunk-T2UYZSCQ.js → chunk-O7XLYEFA.js} +169 -29
  155. package/dist/{chunk-FITWGOJ2.js → chunk-OHNCWBKF.js} +4 -4
  156. package/dist/{chunk-652QWTLZ.js → chunk-OHVTTOPS.js} +3 -3
  157. package/dist/chunk-OMI6FPPN.js +43 -0
  158. package/dist/chunk-ONUPY3H6.js +53 -0
  159. package/dist/chunk-OTLDSZDV.js +69 -0
  160. package/dist/chunk-OUBGGKDU.js +22 -0
  161. package/dist/chunk-OWNCM4ZN.js +330 -0
  162. package/dist/{chunk-YISXLPHN.js → chunk-P2V7QW4D.js} +235 -35
  163. package/dist/{chunk-CNUKCS2T.js → chunk-P32RUW3B.js} +1632 -93
  164. package/dist/{chunk-BWZ77RQT.js → chunk-PAQ2AS5E.js} +1 -1
  165. package/dist/{chunk-ZMAINWBW.js → chunk-PBPBMP2B.js} +4 -3
  166. package/dist/{chunk-ZVM6AKKM.js → chunk-PJSJPMJI.js} +3 -3
  167. package/dist/{chunk-EFHQ3TWP.js → chunk-PKBHS4AA.js} +233 -56
  168. package/dist/{chunk-GT4I4ZWM.js → chunk-PMUAJGLI.js} +20 -16
  169. package/dist/chunk-PPD7HTDP.js +152 -0
  170. package/dist/chunk-PSOFBQWB.js +42 -0
  171. package/dist/{chunk-S2A7YC3Q.js → chunk-Q2TECDIT.js} +10694 -8896
  172. package/dist/chunk-Q4K5WB2W.js +42 -0
  173. package/dist/{chunk-UGLN7QHV.js → chunk-Q6DFNVRJ.js} +14 -12
  174. package/dist/chunk-QA4O2GGC.js +265 -0
  175. package/dist/chunk-QAXW2N3B.js +1216 -0
  176. package/dist/chunk-QBNWF5ZU.js +19 -0
  177. package/dist/chunk-QFWA2DPH.js +224 -0
  178. package/dist/{chunk-23W7VWKR.js → chunk-QKUJMING.js} +1363 -114
  179. package/dist/{chunk-NXFPS2LR.js → chunk-R44CYFPV.js} +16 -13
  180. package/dist/{chunk-CKSITVS4.js → chunk-R7NYHMUU.js} +2687 -786
  181. package/dist/chunk-REWWDVQB.js +162 -0
  182. package/dist/{chunk-JMSCMUCA.js → chunk-RGERPOIV.js} +145 -21
  183. package/dist/{chunk-6JCPI55B.js → chunk-RLDGWLQ7.js} +49 -7
  184. package/dist/chunk-RUGXBPWI.js +384 -0
  185. package/dist/{chunk-CPA6HPVR.js → chunk-RXPJMEOW.js} +18 -12
  186. package/dist/{chunk-3HI6Z55Y.js → chunk-S4PMJU6H.js} +339 -43
  187. package/dist/chunk-S5LSDXV4.js +40 -0
  188. package/dist/chunk-S7FCV7S5.js +51 -0
  189. package/dist/{chunk-5GGOLAKC.js → chunk-SDKLKB6I.js} +28 -26
  190. package/dist/chunk-SFSPGFCV.js +62 -0
  191. package/dist/{chunk-ZNCEKR4J.js → chunk-SFUP7TTO.js} +12 -8
  192. package/dist/{chunk-64EQYWCA.js → chunk-SLXZOMA6.js} +69 -19
  193. package/dist/chunk-SQV37XO2.js +273 -0
  194. package/dist/{chunk-K65BJIMT.js → chunk-SU74NDMQ.js} +19 -17
  195. package/dist/chunk-SYV5LHML.js +165 -0
  196. package/dist/chunk-T4YPZIQN.js +36 -0
  197. package/dist/chunk-T6DQR5TV.js +323 -0
  198. package/dist/{chunk-JIITQXFB.js → chunk-THDMSZ3R.js} +3075 -802
  199. package/dist/{chunk-JGZCG5VM.js → chunk-TNR75OXT.js} +7 -7
  200. package/dist/{chunk-D3PO4DOZ.js → chunk-TUULXQRW.js} +174 -15
  201. package/dist/chunk-TYQBFTBR.js +516 -0
  202. package/dist/chunk-U76OWS3Q.js +49 -0
  203. package/dist/{chunk-YYQN46FY.js → chunk-UCROWG2D.js} +27 -24
  204. package/dist/{chunk-6M5NK3K3.js → chunk-UF4AZOZB.js} +50 -10
  205. package/dist/chunk-UF4GLFBX.js +345 -0
  206. package/dist/{chunk-OT2O76OS.js → chunk-UGUP3ZM6.js} +240 -39
  207. package/dist/chunk-UNAGJYET.js +45 -0
  208. package/dist/{chunk-5WG5YP4T.js → chunk-UOR2DTHH.js} +16 -14
  209. package/dist/{chunk-S3QNRWYR.js → chunk-UPOY4YSQ.js} +14 -12
  210. package/dist/{chunk-EPTBZ3GP.js → chunk-UPS2DGFC.js} +1 -1
  211. package/dist/{chunk-4AK7IBVP.js → chunk-UUU4CLJG.js} +4 -2
  212. package/dist/{chunk-W3BQAZ3Q.js → chunk-UWMJKX5U.js} +14 -12
  213. package/dist/{chunk-QZSX3F7C.js → chunk-UWOJLHFT.js} +27 -23
  214. package/dist/chunk-VBTP56CE.js +535 -0
  215. package/dist/chunk-VCTWPLAO.js +211 -0
  216. package/dist/chunk-VNU26RCO.js +1215 -0
  217. package/dist/{chunk-CSZ4C5N6.js → chunk-VTZMAJ3W.js} +93 -10
  218. package/dist/{chunk-TXLH6WHQ.js → chunk-VW62D6QE.js} +14 -12
  219. package/dist/{chunk-CAQZUNOH.js → chunk-VY72R2XZ.js} +610 -3
  220. package/dist/{chunk-2DIQQJCB.js → chunk-VZALIKIF.js} +18 -15
  221. package/dist/{chunk-TYAID7B7.js → chunk-W62H2XSO.js} +25 -23
  222. package/dist/{chunk-HVUPKCGJ.js → chunk-W7VWI2YH.js} +9 -6
  223. package/dist/{chunk-TANFV3MZ.js → chunk-WERM6KPJ.js} +7 -4
  224. package/dist/{chunk-BOHJZTEQ.js → chunk-WF7B67YE.js} +208 -87
  225. package/dist/{chunk-7FBGJFEE.js → chunk-WG5U3F5V.js} +14 -12
  226. package/dist/{chunk-4NDAAFQT.js → chunk-WJF2CS6M.js} +8 -5
  227. package/dist/{chunk-XAKWMCXI.js → chunk-WKUJ3KPV.js} +4 -4
  228. package/dist/chunk-WMTRHUI5.js +103 -0
  229. package/dist/chunk-WNKPRSGI.js +36 -0
  230. package/dist/chunk-WXFLMQSR.js +223 -0
  231. package/dist/{chunk-RRTKKSLQ.js → chunk-X3WY6MN3.js} +8 -6
  232. package/dist/{chunk-ZCJDOK2S.js → chunk-X4CXA2IL.js} +47 -23
  233. package/dist/{chunk-UBBC2XSG.js → chunk-X5F3Q5LV.js} +560 -105
  234. package/dist/{chunk-C6EKFH7J.js → chunk-XD75VZIH.js} +9 -7
  235. package/dist/chunk-XERYFDB5.js +297 -0
  236. package/dist/chunk-XI2LCCYQ.js +420 -0
  237. package/dist/chunk-Y2EQNWKV.js +933 -0
  238. package/dist/{chunk-LR3R6Z2A.js → chunk-YHCMZC2J.js} +7 -7
  239. package/dist/chunk-YYY3AZFE.js +122 -0
  240. package/dist/{chunk-GDLULHTC.js → chunk-Z5IA3WDR.js} +19 -31
  241. package/dist/{chunk-T6XQL73F.js → chunk-ZFFYNRIO.js} +63 -23
  242. package/dist/{chunk-EDS2L2LD.js → chunk-ZFL7NY4F.js} +56 -27
  243. package/dist/{chunk-YMZ3TNYB.js → chunk-ZGULQAPZ.js} +7 -4
  244. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  245. package/dist/{chunk-DKJA76CJ.js → chunk-ZJFRMSJT.js} +15 -13
  246. package/dist/chunk-ZJXLNDH4.js +239 -0
  247. package/dist/chunk-ZQ3ON2VQ.js +252 -0
  248. package/dist/{chunk-HITVBIJS.js → chunk-ZQ7SKESZ.js} +150 -415
  249. package/dist/{chunk-6QSERWXH.js → chunk-ZQXZ2SES.js} +24 -21
  250. package/dist/chunk-ZX57KSEQ.js +39 -0
  251. package/dist/{chunk-I3E7CX4H.js → chunk-ZZK56BLP.js} +5 -3
  252. package/dist/files.json +664 -368
  253. package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
  254. package/dist/packages/sdk/npm/index.js +6194 -2542
  255. package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CIf-0gz5.js} +2 -2
  256. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
  257. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
  258. package/dist/packages/ui/dist/index.html +3 -2
  259. package/package.json +5 -5
  260. package/dist/chunk-2BF2EYJV.js +0 -174
  261. package/dist/chunk-42EVSKME.js +0 -37
  262. package/dist/chunk-4BKGMUIK.js +0 -53
  263. package/dist/chunk-5KLGBXG5.js +0 -48
  264. package/dist/chunk-6BNC6EQ4.js +0 -41
  265. package/dist/chunk-6D2CQ5II.js +0 -41
  266. package/dist/chunk-7AVHLZGD.js +0 -45
  267. package/dist/chunk-D46WUV3T.js +0 -33
  268. package/dist/chunk-E36QOJMD.js +0 -47
  269. package/dist/chunk-FQXYPF7E.js +0 -147
  270. package/dist/chunk-GBRFVT63.js +0 -45
  271. package/dist/chunk-ICY36XCH.js +0 -34
  272. package/dist/chunk-J4K3KVLD.js +0 -131
  273. package/dist/chunk-JZU3H6UQ.js +0 -54
  274. package/dist/chunk-NN2ZQEB4.js +0 -38
  275. package/dist/chunk-PCOCACY3.js +0 -385
  276. package/dist/chunk-RTEYOSJY.js +0 -29
  277. package/dist/chunk-RUVFXE2L.js +0 -666
  278. package/dist/chunk-RVH5SUW5.js +0 -69
  279. package/dist/chunk-VN3DP4LQ.js +0 -43
  280. package/dist/chunk-W5BVQF44.js +0 -36
  281. package/dist/chunk-WVPJSRRJ.js +0 -52
  282. package/dist/chunk-XPTOBS2D.js +0 -48
  283. package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
  284. package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  runtimeForCli
8
- } from "./chunk-CNUKCS2T.js";
8
+ } from "./chunk-P32RUW3B.js";
9
9
 
10
10
  // packages/cli/dist/judging.js
11
11
  async function judgingRuntime(root, given) {
@@ -7,9 +7,10 @@ import {
7
7
  ME_FILE,
8
8
  readMe,
9
9
  writeMe
10
- } from "./chunk-JBTK5OP2.js";
11
- import "./chunk-S2A7YC3Q.js";
12
- import "./chunk-D3PO4DOZ.js";
10
+ } from "./chunk-2Q56PQPS.js";
11
+ import "./chunk-Q2TECDIT.js";
12
+ import "./chunk-TUULXQRW.js";
13
+ import "./chunk-BQGDB6ZL.js";
13
14
  import "./chunk-TV45EUGM.js";
14
15
  export {
15
16
  ME_FILE,
@@ -9,7 +9,7 @@ import {
9
9
  namesInCode,
10
10
  openIndex,
11
11
  workspaceRepos
12
- } from "./chunk-T6AIP7H5.js";
12
+ } from "./chunk-ISUAAMGS.js";
13
13
 
14
14
  // packages/cli/dist/code-tools.js
15
15
  var offered = /* @__PURE__ */ new Map();
@@ -21,7 +21,7 @@ function codeToolOptions(root) {
21
21
  codeDir: (r) => offered.get(r) ?? defaultCodeDir(root, r),
22
22
  repos: () => [.../* @__PURE__ */ new Set([...workspaceRepos(root), ...offered.keys()])].sort(),
23
23
  // Loaded on first use: the readers are large, and most commands never outline a file.
24
- outline: async (path, text) => (await import("./chunk-MMOSZPWJ.js")).declarationOutline(path, text)
24
+ outline: async (path, text) => (await import("./chunk-H5HBGNXU.js")).declarationOutline(path, text)
25
25
  };
26
26
  }
27
27
  function metarepoToolBox(root, calls) {
@@ -31,7 +31,7 @@ function metarepoToolBox(root, calls) {
31
31
  });
32
32
  }
33
33
  async function criticCodeSearch(root, names) {
34
- const x = await import("./chunk-MMOSZPWJ.js");
34
+ const x = await import("./chunk-H5HBGNXU.js");
35
35
  const r = await namesInCode(root, names, {
36
36
  ...codeToolOptions(root),
37
37
  outlines: (path) => x.syntaxLanguageOf(path) !== void 0
@@ -11,10 +11,15 @@ import {
11
11
  changeBranch,
12
12
  changesDirOf,
13
13
  orgPackDirOf,
14
- require_dist,
15
14
  runsDirOf,
16
15
  toCanonicalYaml
17
- } from "./chunk-S2A7YC3Q.js";
16
+ } from "./chunk-Q2TECDIT.js";
17
+ import {
18
+ withSharedFileLock
19
+ } from "./chunk-TUULXQRW.js";
20
+ import {
21
+ require_dist
22
+ } from "./chunk-BQGDB6ZL.js";
18
23
  import {
19
24
  __toESM
20
25
  } from "./chunk-TV45EUGM.js";
@@ -40,8 +45,9 @@ function createGit(opts = {}) {
40
45
  GIT_PAGER: "cat",
41
46
  LC_ALL: "C"
42
47
  };
48
+ const pre = process.platform === "win32" ? ["-c", "core.longpaths=true"] : [];
43
49
  return (args, cwd) => new Promise((resolve, reject) => {
44
- execFile("git", args, {
50
+ execFile("git", [...pre, ...args], {
45
51
  cwd,
46
52
  env,
47
53
  timeout: opts.timeoutMs ?? 10 * 6e4,
@@ -70,23 +76,26 @@ var STATUS = {
70
76
  T: "type-changed"
71
77
  };
72
78
  async function changedFiles(dir, from, to, git = createGit({ timeoutMs: 6e4 })) {
73
- const r = await git(["diff", "--name-status", "-M", "-z", "--no-color", "--no-ext-diff", from, to, "--"], dir);
79
+ const r = await git(["diff", "--raw", "--no-abbrev", "-M", "-z", "--no-color", "--no-ext-diff", from, to, "--"], dir);
74
80
  const parts = r.stdout.split("\0");
75
81
  const out = [];
76
82
  for (let i = 0; i < parts.length; ) {
77
- const code = parts[i++] ?? "";
78
- if (!code)
83
+ const head = parts[i++] ?? "";
84
+ if (!head)
79
85
  continue;
80
- const status = STATUS[code[0]];
86
+ const [oldMode, newMode, , , code = ""] = head.replace(/^:/, "").split(" ");
87
+ const gitlink = oldMode === "160000" || newMode === "160000";
88
+ const link = gitlink ? { gitlink: true } : {};
89
+ const status = STATUS[code[0] ?? ""];
81
90
  if (status === "renamed" || status === "copied") {
82
91
  const old = parts[i++] ?? "";
83
92
  const path = parts[i++] ?? "";
84
93
  if (old && path)
85
- out.push({ status, path, from: old });
94
+ out.push({ status, path, from: old, ...link });
86
95
  } else {
87
96
  const path = parts[i++] ?? "";
88
97
  if (path)
89
- out.push({ status: status ?? "modified", path });
98
+ out.push({ status: status ?? "modified", path, ...link });
90
99
  }
91
100
  }
92
101
  return out.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
@@ -97,6 +106,7 @@ async function changesSince(dir, commits, to, git) {
97
106
  const missing = [];
98
107
  for (const c of [...new Set(commits)].filter((x) => !sameCommit(x, to)).sort()) {
99
108
  try {
109
+ await (git ?? createGit({ timeoutMs: 6e4 }))(["merge-base", "--is-ancestor", c, to], dir);
100
110
  changes[c] = await changedFiles(dir, c, to, git);
101
111
  } catch {
102
112
  missing.push(c);
@@ -106,6 +116,7 @@ async function changesSince(dir, commits, to, git) {
106
116
  }
107
117
 
108
118
  // packages/workspace/dist/layout.js
119
+ import { createHash } from "node:crypto";
109
120
  import { readFile, writeFile } from "node:fs/promises";
110
121
  import { join, relative, sep } from "node:path";
111
122
  var WORKSPACE_DIR = "workspace";
@@ -118,10 +129,20 @@ function id(what, value) {
118
129
  function baseClonePath(root, repo) {
119
130
  return join(root, WORKSPACE_DIR, id("repo id", repo));
120
131
  }
121
- var branchSlug = (branch) => branch.replace(/[^A-Za-z0-9.-]+/g, "-");
132
+ var legacyBranchSlug = (branch) => branch.replace(/[^A-Za-z0-9.-]+/g, "-");
133
+ var branchSlug = (branch) => {
134
+ const s = legacyBranchSlug(branch);
135
+ if (!/[A-Z]/.test(s))
136
+ return s;
137
+ const hash = createHash("sha256").update(branch, "utf8").digest("hex").slice(0, 8);
138
+ return `${s.toLowerCase()}-${hash}`;
139
+ };
122
140
  function branchCheckoutPath(root, repo, branch) {
123
141
  return join(root, WORKSPACE_DIR, ".branches", id("repo id", repo), branchSlug(branch));
124
142
  }
143
+ function legacyBranchCheckoutPath(root, repo, branch) {
144
+ return join(root, WORKSPACE_DIR, ".branches", id("repo id", repo), legacyBranchSlug(branch));
145
+ }
125
146
  function changeWorktreesDir(root, change) {
126
147
  return join(root, WORKSPACE_DIR, ".worktrees", id("change id", change));
127
148
  }
@@ -244,7 +265,7 @@ async function writeChangeRepos(root, value) {
244
265
 
245
266
  // packages/workspace/dist/editors.js
246
267
  import { existsSync } from "node:fs";
247
- import { mkdir as mkdir2, rm, writeFile as writeFile3 } from "node:fs/promises";
268
+ import { mkdir as mkdir2, readdir as readdir2, rm, writeFile as writeFile3 } from "node:fs/promises";
248
269
  import { join as join3, relative as relative2, sep as sep2 } from "node:path";
249
270
  var posix = (p) => p.split(sep2).join("/");
250
271
  function xmlEscape(s) {
@@ -329,9 +350,12 @@ async function writeEditorWorkspaces(root, repos) {
329
350
  await writeFile3(vscode, JSON.stringify(vscodeWorkspace(root, repos), null, 2) + "\n", "utf8");
330
351
  const intellij = intellijProjectPath(root, repos.change);
331
352
  const ideaDir = join3(intellij, ".idea");
332
- await rm(ideaDir, { recursive: true, force: true });
333
353
  await mkdir2(ideaDir, { recursive: true });
334
- for (const [name, text] of Object.entries(intellijProject(root, repos))) {
354
+ const files = intellijProject(root, repos);
355
+ for (const name of await readdir2(ideaDir).catch(() => []))
356
+ if (name.endsWith(".iml") && !(name in files))
357
+ await rm(join3(ideaDir, name), { force: true });
358
+ for (const [name, text] of Object.entries(files)) {
335
359
  await writeFile3(join3(ideaDir, name), text, "utf8");
336
360
  }
337
361
  return { vscode, intellij };
@@ -350,10 +374,32 @@ async function checkoutState(dir, git = createGit()) {
350
374
 
351
375
  // packages/workspace/dist/manager.js
352
376
  import { existsSync as existsSync2 } from "node:fs";
353
- import { mkdir as mkdir3, rm as rm2 } from "node:fs/promises";
354
- import { dirname as dirname2 } from "node:path";
377
+ import { mkdir as mkdir3, readdir as readdir3, rm as rm2 } from "node:fs/promises";
378
+ import { basename, dirname as dirname2, join as join4 } from "node:path";
379
+ function withBaseClone(dest, id2, work) {
380
+ return withSharedFileLock(dest, work, {
381
+ staleMs: 30 * 6e4,
382
+ waitMs: 30 * 6e4,
383
+ what: `git work on the base clone of ${id2}`
384
+ });
385
+ }
355
386
  function isInPlace(url) {
356
- return url === "." || url.startsWith("./");
387
+ const u = url.replace(/\\/g, "/");
388
+ return u === "." || u.startsWith("./");
389
+ }
390
+ function inPlacePath(url) {
391
+ if (!isInPlace(url))
392
+ return void 0;
393
+ const segs = url.split(/[\\/]+/).filter((s) => s !== "" && s !== ".");
394
+ if (segs.includes(".."))
395
+ return void 0;
396
+ return segs.length ? segs.join("/") : ".";
397
+ }
398
+ function inPlaceDir(root, url) {
399
+ const p = inPlacePath(url);
400
+ if (p === void 0)
401
+ return void 0;
402
+ return p === "." ? root : join4(root, ...p.split("/"));
357
403
  }
358
404
  async function remoteDefaultBranch(dir, git = createGit()) {
359
405
  if (!existsSync2(dir))
@@ -385,7 +431,44 @@ function createWorkspace(root, git = createGit()) {
385
431
  const b = await remoteDefaultBranch(cwd, git);
386
432
  return b ? { remoteDefault: b } : {};
387
433
  };
388
- async function syncOne(repo) {
434
+ async function copyFrom(repo, from, dest) {
435
+ const branch = repo.defaultBranch;
436
+ const sha = async (ref) => {
437
+ try {
438
+ return (await g(["rev-parse", "--verify", "--quiet", `${ref}^{commit}`], from)).stdout.trim();
439
+ } catch {
440
+ return "";
441
+ }
442
+ };
443
+ const at = await sha(`refs/remotes/origin/${branch}`) || await sha(`refs/heads/${branch}`);
444
+ if (!at)
445
+ return {
446
+ id: repo.id,
447
+ action: "failed",
448
+ reason: `your clone at ${from} has no ${branch} branch; fetch it there, or sync without --from`
449
+ };
450
+ await g([
451
+ "clone",
452
+ "-c",
453
+ "core.longpaths=true",
454
+ "--quiet",
455
+ "--no-tags",
456
+ "--no-checkout",
457
+ "--",
458
+ from,
459
+ dest
460
+ ]);
461
+ await g(["remote", "set-url", "origin", "--", repo.url], dest);
462
+ const refs = (await g(["for-each-ref", "--format=%(refname)", "refs/remotes/origin"], dest)).stdout.split("\n").filter(Boolean);
463
+ for (const r of refs)
464
+ await g(["update-ref", "-d", r], dest);
465
+ await g(["update-ref", `refs/remotes/origin/${branch}`, at], dest);
466
+ if (repo.sparse.length > 0)
467
+ await g(["sparse-checkout", "set", "--", ...repo.sparse], dest);
468
+ await g(["checkout", "--quiet", "-B", branch, at], dest);
469
+ return { id: repo.id, action: "cloned", sha: await head(dest), from };
470
+ }
471
+ async function syncOne(repo, local) {
389
472
  if (repo.archived)
390
473
  return { id: repo.id, action: "skipped", reason: "archived" };
391
474
  if (isInPlace(repo.url))
@@ -396,10 +479,22 @@ function createWorkspace(root, git = createGit()) {
396
479
  };
397
480
  const dest = baseClonePath(root, repo.id);
398
481
  const branch = repo.defaultBranch;
482
+ const made = !existsSync2(dest);
399
483
  try {
400
- if (!existsSync2(dest)) {
484
+ if (made) {
401
485
  await mkdir3(dirname2(dest), { recursive: true });
402
- const args = ["clone", "--no-tags", "--branch", branch, "--filter=blob:none"];
486
+ const from = local && yourClone(local, repo);
487
+ if (from)
488
+ return await copyFrom(repo, from, dest);
489
+ const args = [
490
+ "clone",
491
+ "-c",
492
+ "core.longpaths=true",
493
+ "--no-tags",
494
+ "--branch",
495
+ branch,
496
+ "--filter=blob:none"
497
+ ];
403
498
  if (repo.sparse.length > 0)
404
499
  args.push("--sparse");
405
500
  args.push("--", repo.url, dest);
@@ -432,7 +527,14 @@ function createWorkspace(root, git = createGit()) {
432
527
  ...await remoteDefault(dest)
433
528
  };
434
529
  } catch (err) {
435
- return { id: repo.id, action: "failed", reason: err.message };
530
+ if (made)
531
+ await rm2(dest, { recursive: true, force: true }).catch(() => void 0);
532
+ const msg = err.message;
533
+ return {
534
+ id: repo.id,
535
+ action: "failed",
536
+ reason: /Filename too long/i.test(msg) ? `${msg.trim()} \u2014 a path in the repo is longer than Windows allows: run git config --global core.longpaths true, then sync again` : msg
537
+ };
436
538
  }
437
539
  }
438
540
  async function worktreeFor(change, repo) {
@@ -466,40 +568,53 @@ function createWorkspace(root, git = createGit()) {
466
568
  build: { status: "not-run" }
467
569
  };
468
570
  }
571
+ async function checkoutOne(repo, branch) {
572
+ const base = baseClonePath(root, repo.id);
573
+ if (!existsSync2(base))
574
+ throw new Error(`no base clone for ${repo.id}; run atticus workspace sync first`);
575
+ const ref = `refs/remotes/origin/${branch}`;
576
+ try {
577
+ await g(["fetch", "--no-tags", "origin", `+refs/heads/${branch}:${ref}`], base);
578
+ } catch {
579
+ throw new Error(`${repo.id} has no branch ${branch} on its remote`);
580
+ }
581
+ const dir = branchCheckoutPath(root, repo.id, branch);
582
+ const old = legacyBranchCheckoutPath(root, repo.id, branch);
583
+ if (old !== dir && !existsSync2(dir) && existsSync2(old))
584
+ await g(["worktree", "move", "--", old, dir], base).catch(() => void 0);
585
+ if (!existsSync2(dir)) {
586
+ await mkdir3(dirname2(dir), { recursive: true });
587
+ await g(["worktree", "add", "--detach", "--", dir, ref], base);
588
+ } else {
589
+ if (await dirty(dir))
590
+ throw new Error(`${repo.id}'s checkout of ${branch} has local changes: commit or stash them in ${dir}, then try again`);
591
+ await g(["checkout", "--quiet", "--force", "--detach", ref], dir);
592
+ }
593
+ return { dir, commit: await head(dir) };
594
+ }
469
595
  return {
470
596
  root,
471
- async sync(repos) {
597
+ async sync(repos, opts = {}) {
472
598
  if (repos.some((r) => !r.archived && !isInPlace(r.url)))
473
599
  await ensureGitignore(root);
474
600
  const out = [];
601
+ const local = opts.from ? await localClones(opts.from, git) : void 0;
475
602
  for (const repo of repos)
476
- out.push(await syncOne(repo));
603
+ out.push(
604
+ // Nothing to lock (nor a folder to make) for an archived or in-place repo.
605
+ repo.archived || isInPlace(repo.url) ? await syncOne(repo, local) : await withBaseClone(baseClonePath(root, repo.id), repo.id, () => syncOne(repo, local))
606
+ );
477
607
  return out;
478
608
  },
479
- async checkoutBranch(repo, branch) {
480
- const base = baseClonePath(root, repo.id);
481
- if (!existsSync2(base))
482
- throw new Error(`no base clone for ${repo.id}; run atticus workspace sync first`);
483
- const ref = `refs/remotes/origin/${branch}`;
484
- try {
485
- await g(["fetch", "--no-tags", "origin", `+refs/heads/${branch}:${ref}`], base);
486
- } catch {
487
- throw new Error(`${repo.id} has no branch ${branch} on its remote`);
488
- }
489
- const dir = branchCheckoutPath(root, repo.id, branch);
490
- if (!existsSync2(dir)) {
491
- await mkdir3(dirname2(dir), { recursive: true });
492
- await g(["worktree", "add", "--detach", "--", dir, ref], base);
493
- } else
494
- await g(["checkout", "--quiet", "--force", "--detach", ref], dir);
495
- return { dir, commit: await head(dir) };
609
+ checkoutBranch(repo, branch) {
610
+ return withBaseClone(baseClonePath(root, repo.id), repo.id, () => checkoutOne(repo, branch));
496
611
  },
497
612
  async openChange(change, repos) {
498
613
  await ensureGitignore(root);
499
614
  const existing = await readChangeRepos(root, change);
500
615
  const byId = new Map((existing?.repos ?? []).map((r) => [r.id, r]));
501
616
  for (const repo of repos) {
502
- const fresh = await worktreeFor(change, repo);
617
+ const fresh = await withBaseClone(baseClonePath(root, repo.id), repo.id, () => worktreeFor(change, repo));
503
618
  const prior = byId.get(repo.id);
504
619
  byId.set(repo.id, prior ? { ...fresh, ...prior, worktree: fresh.worktree } : fresh);
505
620
  }
@@ -518,10 +633,27 @@ function createWorkspace(root, git = createGit()) {
518
633
  const kept = [];
519
634
  if (!repos)
520
635
  return { removed, kept };
636
+ const removeOne = async (id2, path, repo) => {
637
+ try {
638
+ if (!opts.force && await dirty(path)) {
639
+ kept.push({ id: id2, reason: "uncommitted changes in the worktree" });
640
+ return;
641
+ }
642
+ const args = ["worktree", "remove"];
643
+ if (opts.force)
644
+ args.push("--force");
645
+ await g([...args, "--", path], baseClonePath(root, repo));
646
+ removed.push(id2);
647
+ } catch (err) {
648
+ kept.push({ id: id2, reason: err instanceof GitError ? err.message : String(err) });
649
+ }
650
+ };
651
+ const waiting = /* @__PURE__ */ new Set();
521
652
  for (const r of repos.repos) {
522
653
  const done = r.pr?.state === "merged" || r.pr?.state === "closed";
523
654
  if (!done && !opts.all) {
524
655
  kept.push({ id: r.id, reason: r.pr ? `PR is ${r.pr.state}` : "no PR yet" });
656
+ waiting.add(r.id);
525
657
  continue;
526
658
  }
527
659
  const path = worktreePath(root, change, r.id);
@@ -529,24 +661,27 @@ function createWorkspace(root, git = createGit()) {
529
661
  removed.push(r.id);
530
662
  continue;
531
663
  }
532
- const base = baseClonePath(root, r.id);
533
- try {
534
- if (!opts.force && await dirty(path)) {
535
- kept.push({ id: r.id, reason: "uncommitted changes in the worktree" });
664
+ await removeOne(r.id, path, r.id);
665
+ }
666
+ const tasksDir = join4(changeWorktreesDir(root, change), ".tasks");
667
+ const subdirs = async (dir) => (await readdir3(dir, { withFileTypes: true }).catch(() => [])).filter((d) => d.isDirectory()).map((d) => d.name).sort();
668
+ const taskRepos = /* @__PURE__ */ new Set();
669
+ for (const task of await subdirs(tasksDir))
670
+ for (const repo of await subdirs(join4(tasksDir, task))) {
671
+ taskRepos.add(repo);
672
+ if (waiting.has(repo))
536
673
  continue;
537
- }
538
- const args = ["worktree", "remove"];
539
- if (opts.force)
540
- args.push("--force");
541
- await g([...args, "--", path], base);
542
- removed.push(r.id);
543
- } catch (err) {
544
- kept.push({ id: r.id, reason: err instanceof GitError ? err.message : String(err) });
674
+ await removeOne(`${repo} task ${task}`, join4(tasksDir, task, repo), repo);
545
675
  }
546
- }
547
- for (const r of repos.repos) {
548
- if (existsSync2(baseClonePath(root, r.id)))
549
- await g(["worktree", "prune"], baseClonePath(root, r.id)).catch(() => void 0);
676
+ for (const id2 of /* @__PURE__ */ new Set([...repos.repos.map((r) => r.id), ...taskRepos])) {
677
+ let base;
678
+ try {
679
+ base = baseClonePath(root, id2);
680
+ } catch {
681
+ continue;
682
+ }
683
+ if (existsSync2(base))
684
+ await g(["worktree", "prune"], base).catch(() => void 0);
550
685
  }
551
686
  if (kept.length === 0) {
552
687
  await removeEditorWorkspaces(root, change);
@@ -556,6 +691,44 @@ function createWorkspace(root, git = createGit()) {
556
691
  }
557
692
  };
558
693
  }
694
+ function remoteKey(url) {
695
+ let u = url.trim().replace(/\\/g, "/");
696
+ const scp = /^[\w.-]+@([^:/]+):(.+)$/.exec(u);
697
+ if (scp)
698
+ u = `${scp[1]}/${scp[2]}`;
699
+ u = u.replace(/^[a-z+]+:\/\//i, "").replace(/^[^@/]+@/, "");
700
+ u = u.replace(/\/{2,}/g, "/").replace(/\/+$/, "").replace(/\.git$/i, "");
701
+ const slash = u.indexOf("/");
702
+ return slash < 0 ? u.toLowerCase() : u.slice(0, slash).toLowerCase() + u.slice(slash);
703
+ }
704
+ async function localClones(dir, g) {
705
+ const found = /* @__PURE__ */ new Map();
706
+ const visit = async (d, depth) => {
707
+ let names;
708
+ try {
709
+ names = await readdir3(d);
710
+ } catch {
711
+ return;
712
+ }
713
+ if (names.includes(".git")) {
714
+ const url = await g(["config", "--get", "remote.origin.url"], d).then((r) => r.stdout.trim(), () => "");
715
+ if (url && !found.has(`url:${remoteKey(url)}`))
716
+ found.set(`url:${remoteKey(url)}`, d);
717
+ if (!found.has(`name:${nameKey(basename(d))}`))
718
+ found.set(`name:${nameKey(basename(d))}`, d);
719
+ return;
720
+ }
721
+ if (depth === 0)
722
+ return;
723
+ for (const n of names)
724
+ if (!n.startsWith(".") && n !== "node_modules")
725
+ await visit(join4(d, n), depth - 1);
726
+ };
727
+ await visit(dir, 2);
728
+ return found;
729
+ }
730
+ var yourClone = (local, repo) => local.get(`url:${remoteKey(repo.url)}`) ?? local.get(`name:${nameKey(repo.id)}`);
731
+ var nameKey = (s) => s.toLowerCase().replace(/[^a-z0-9._-]+/g, "-");
559
732
 
560
733
  // packages/workspace/dist/identity.js
561
734
  import { userInfo } from "node:os";
@@ -609,8 +782,10 @@ export {
609
782
  WORKSPACE_DIR,
610
783
  IGNORED,
611
784
  baseClonePath,
785
+ legacyBranchSlug,
612
786
  branchSlug,
613
787
  branchCheckoutPath,
788
+ legacyBranchCheckoutPath,
614
789
  changeWorktreesDir,
615
790
  worktreePath,
616
791
  changeDir,
@@ -630,6 +805,8 @@ export {
630
805
  removeEditorWorkspaces,
631
806
  checkoutState,
632
807
  isInPlace,
808
+ inPlacePath,
809
+ inPlaceDir,
633
810
  remoteDefaultBranch,
634
811
  createWorkspace,
635
812
  toHandle,
@@ -4,31 +4,35 @@ var require = __atticusCreateRequire(import.meta.url);
4
4
  var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
+ completeCriticBatch,
7
8
  completeCriticLens,
8
9
  critic,
9
10
  criticStats,
10
11
  findingAction,
11
12
  findings,
12
13
  statusLine
13
- } from "./chunk-6M5NK3K3.js";
14
+ } from "./chunk-UF4AZOZB.js";
14
15
  import "./chunk-VOGCSYOI.js";
15
- import "./chunk-3HI6Z55Y.js";
16
- import "./chunk-XY3P7JW7.js";
17
- import "./chunk-4AK7IBVP.js";
18
- import "./chunk-7JUKDRSZ.js";
19
- import "./chunk-27NKUS3X.js";
20
- import "./chunk-L24C55VN.js";
21
- import "./chunk-PAMPPUR6.js";
22
- import "./chunk-23W7VWKR.js";
23
- import "./chunk-7EKXJZ2Y.js";
24
- import "./chunk-MC3H7736.js";
25
- import "./chunk-EFHQ3TWP.js";
26
- import "./chunk-GQ4N4WKF.js";
27
- import "./chunk-CNUKCS2T.js";
28
- import "./chunk-S2A7YC3Q.js";
29
- import "./chunk-D3PO4DOZ.js";
16
+ import "./chunk-S4PMJU6H.js";
17
+ import "./chunk-IDKCWSM5.js";
18
+ import "./chunk-UUU4CLJG.js";
19
+ import "./chunk-7IGKHZ4Z.js";
20
+ import "./chunk-J2JAKCIW.js";
21
+ import "./chunk-745DAZ4L.js";
22
+ import "./chunk-CXJ6FUKN.js";
23
+ import "./chunk-QKUJMING.js";
24
+ import "./chunk-6ZGLAACW.js";
25
+ import "./chunk-CQDGOPGH.js";
26
+ import "./chunk-3NFFJL5D.js";
27
+ import "./chunk-PKBHS4AA.js";
28
+ import "./chunk-P32RUW3B.js";
29
+ import "./chunk-QA4O2GGC.js";
30
+ import "./chunk-Q2TECDIT.js";
31
+ import "./chunk-TUULXQRW.js";
32
+ import "./chunk-BQGDB6ZL.js";
30
33
  import "./chunk-TV45EUGM.js";
31
34
  export {
35
+ completeCriticBatch,
32
36
  completeCriticLens,
33
37
  critic,
34
38
  criticStats,