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

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 (279) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-LYBNHMVZ.js → chunk-27AJAKX7.js} +3 -3
  3. package/dist/{chunk-KXITGYLF.js → chunk-2QPJ4E4Z.js} +2 -2
  4. package/dist/{chunk-EIPTLPFC.js → chunk-2UMSHYCB.js} +24 -24
  5. package/dist/{chunk-6PPOWY5E.js → chunk-2WUTCPPJ.js} +6 -6
  6. package/dist/{chunk-VNU26RCO.js → chunk-2YSD6E6V.js} +33 -32
  7. package/dist/{chunk-P32RUW3B.js → chunk-3424TLIJ.js} +39 -7
  8. package/dist/{chunk-2MMCFP5C.js → chunk-3ASYYMOX.js} +8 -8
  9. package/dist/{chunk-PKBHS4AA.js → chunk-3EWKO457.js} +48 -17
  10. package/dist/{chunk-J3IOLXWM.js → chunk-3EX5HCZD.js} +5 -5
  11. package/dist/{chunk-BDKC6H5P.js → chunk-3MYBT62N.js} +5 -5
  12. package/dist/{chunk-ZFL7NY4F.js → chunk-3UHV76UD.js} +69 -41
  13. package/dist/{chunk-Q4K5WB2W.js → chunk-3ZA3AK2D.js} +10 -10
  14. package/dist/{chunk-O7FDLW7L.js → chunk-4ETO2FXE.js} +5 -5
  15. package/dist/{chunk-AFWUDXEM.js → chunk-4FLNCK6Q.js} +26 -11
  16. package/dist/{chunk-745DAZ4L.js → chunk-4GAB5ZOZ.js} +901 -332
  17. package/dist/{chunk-3RM4UK6W.js → chunk-4MYHETJ3.js} +18 -18
  18. package/dist/chunk-4R3TO4VL.js +94 -0
  19. package/dist/chunk-5MYE42AP.js +43 -0
  20. package/dist/chunk-5O7U67UA.js +57 -0
  21. package/dist/{chunk-Y2EQNWKV.js → chunk-5OXKCH4Z.js} +31 -31
  22. package/dist/{chunk-O45HFTFS.js → chunk-5VTIWEWP.js} +2 -2
  23. package/dist/{chunk-UNAGJYET.js → chunk-63NFFAGI.js} +12 -12
  24. package/dist/{chunk-6ZJ5A7AF.js → chunk-66AQ2JIU.js} +9 -9
  25. package/dist/chunk-6JVPBGQG.js +50 -0
  26. package/dist/{chunk-VY72R2XZ.js → chunk-6NCPLIIP.js} +124 -2
  27. package/dist/{chunk-D73UEXYW.js → chunk-6NN36LVK.js} +3 -3
  28. package/dist/{chunk-7FTTA3HD.js → chunk-6R5VHR3N.js} +5 -5
  29. package/dist/{chunk-CADWLE2T.js → chunk-6RQOINER.js} +4 -4
  30. package/dist/{chunk-WG5U3F5V.js → chunk-6RYB3EET.js} +12 -12
  31. package/dist/{chunk-RXPJMEOW.js → chunk-6SNTHK43.js} +10 -10
  32. package/dist/{chunk-ZFFYNRIO.js → chunk-6Y4FXOMI.js} +24 -22
  33. package/dist/{chunk-SQV37XO2.js → chunk-6ZFF7XSL.js} +6 -6
  34. package/dist/{chunk-JA5FI3QV.js → chunk-6ZSYLZ7O.js} +3 -3
  35. package/dist/{chunk-JENSEMXF.js → chunk-73CC73I4.js} +1 -1
  36. package/dist/{chunk-2F4CYZKJ.js → chunk-73GFVW2L.js} +5 -5
  37. package/dist/{chunk-M3NANSDZ.js → chunk-73V2OONC.js} +15 -15
  38. package/dist/{chunk-WKUJ3KPV.js → chunk-75OMRKY2.js} +4 -4
  39. package/dist/{chunk-7BR7IPOH.js → chunk-7IFTSAHP.js} +8 -8
  40. package/dist/{chunk-OWNCM4ZN.js → chunk-7K5OH45X.js} +136 -16
  41. package/dist/{chunk-VCTWPLAO.js → chunk-7NQAGYK4.js} +8 -8
  42. package/dist/{chunk-O4GXGGBX.js → chunk-7XWJ6ED2.js} +12 -12
  43. package/dist/{chunk-MFR5OPBD.js → chunk-7XYLNQFO.js} +5 -5
  44. package/dist/{chunk-GCWRWSU7.js → chunk-7YQBDE5W.js} +4 -4
  45. package/dist/{chunk-QKUJMING.js → chunk-A4JXVO5O.js} +5 -5
  46. package/dist/{chunk-LKOR5UET.js → chunk-AFBCNZRZ.js} +24 -24
  47. package/dist/{chunk-BXYMYEJ4.js → chunk-AGOLEMHK.js} +13 -14
  48. package/dist/{chunk-AVTBS4OW.js → chunk-AHFQHPFF.js} +22 -22
  49. package/dist/{chunk-NY2XSR5K.js → chunk-APDN6UOR.js} +116 -18
  50. package/dist/chunk-AQRUQNFB.js +322 -0
  51. package/dist/{chunk-5NMKONLP.js → chunk-AVMWESFZ.js} +3 -2
  52. package/dist/chunk-B4AEL3RF.js +1011 -0
  53. package/dist/{chunk-H7KM7LZE.js → chunk-BAY4K55I.js} +11 -11
  54. package/dist/{chunk-XD75VZIH.js → chunk-BFL4PO64.js} +7 -7
  55. package/dist/{chunk-34S2WGOB.js → chunk-BFMTGNAQ.js} +5 -3
  56. package/dist/{chunk-SLXZOMA6.js → chunk-BP33TBLI.js} +4 -4
  57. package/dist/{chunk-IFKEI4SA.js → chunk-BUUJ7N4O.js} +11 -11
  58. package/dist/{chunk-EGQRREQH.js → chunk-BYBU2EIB.js} +26 -15
  59. package/dist/{chunk-SFUP7TTO.js → chunk-C6ORPLCN.js} +4 -4
  60. package/dist/{chunk-IVBOQAGB.js → chunk-CA3DKO4D.js} +24 -2
  61. package/dist/{chunk-57TDNMI3.js → chunk-CFUDAW3R.js} +15 -15
  62. package/dist/{chunk-FFTRTL6R.js → chunk-CJEBRJBS.js} +4 -4
  63. package/dist/{chunk-EPCJQQWD.js → chunk-CKVBDVIW.js} +4 -4
  64. package/dist/{chunk-FPJPLKDW.js → chunk-CMB7FXHJ.js} +38 -16
  65. package/dist/{chunk-INQHESFB.js → chunk-CQ7RF4QN.js} +4 -4
  66. package/dist/{chunk-63YRMR6J.js → chunk-CS4BMJLL.js} +5 -5
  67. package/dist/{chunk-BPK5P77O.js → chunk-CT6NINGR.js} +3 -3
  68. package/dist/chunk-CXTG6AWM.js +40 -0
  69. package/dist/{chunk-CXJ6FUKN.js → chunk-CZ2ZS7AT.js} +9 -4
  70. package/dist/{chunk-S4PMJU6H.js → chunk-D6BVLTDV.js} +85 -29
  71. package/dist/{chunk-M32BLWDH.js → chunk-DCRYOMTM.js} +12 -12
  72. package/dist/{chunk-REWWDVQB.js → chunk-DHKDH464.js} +4 -4
  73. package/dist/{chunk-2LGRMVCA.js → chunk-DSHRA72L.js} +10 -10
  74. package/dist/{chunk-THDMSZ3R.js → chunk-E3PDCQRH.js} +2765 -665
  75. package/dist/chunk-EHXDB3SA.js +25 -0
  76. package/dist/{chunk-BTGPE6CR.js → chunk-EMVZIOOD.js} +7 -7
  77. package/dist/{chunk-DOBQKHIF.js → chunk-ENH6Z4TY.js} +28 -27
  78. package/dist/{chunk-LGFL54FP.js → chunk-EVTI22PQ.js} +6 -2
  79. package/dist/{chunk-7MJSQTL5.js → chunk-EXJZBL5N.js} +20 -20
  80. package/dist/{chunk-N3XIYPU3.js → chunk-FBCVC2GJ.js} +12 -12
  81. package/dist/{chunk-UWOJLHFT.js → chunk-FJVUHQPS.js} +34 -23
  82. package/dist/{chunk-7IGKHZ4Z.js → chunk-FL344WQD.js} +218 -211
  83. package/dist/{chunk-IH2XURVQ.js → chunk-FMJYKLDY.js} +5 -5
  84. package/dist/chunk-FMR2D3AZ.js +41 -0
  85. package/dist/{chunk-Q2TECDIT.js → chunk-FPBUTZI5.js} +2201 -326
  86. package/dist/{chunk-PJSJPMJI.js → chunk-FQVSLBTV.js} +3 -3
  87. package/dist/{chunk-NXJ5URP6.js → chunk-FRAEQVYN.js} +23 -22
  88. package/dist/{chunk-RLDGWLQ7.js → chunk-FRCOKUU4.js} +7 -7
  89. package/dist/{chunk-DCZWQLYT.js → chunk-FSN6JFXB.js} +18 -15
  90. package/dist/{chunk-W7VWI2YH.js → chunk-FTLYXMHA.js} +5 -5
  91. package/dist/{chunk-7GJS6DNX.js → chunk-FVYZ4Y52.js} +11 -3
  92. package/dist/{chunk-CQDGOPGH.js → chunk-G6EFXTUO.js} +2 -2
  93. package/dist/{chunk-JB5LINEM.js → chunk-G7VBMOZH.js} +3 -3
  94. package/dist/{chunk-7ASNL4Q4.js → chunk-GM4EFHUX.js} +15 -15
  95. package/dist/chunk-GOZLTLRY.js +232 -0
  96. package/dist/chunk-GPNMSX5H.js +36 -0
  97. package/dist/{chunk-BQ4SQQC6.js → chunk-GUGQSIQM.js} +9 -9
  98. package/dist/{chunk-E3ISYXO3.js → chunk-HJQVUOUL.js} +12 -12
  99. package/dist/{chunk-MFHL5URL.js → chunk-HMWJWYE2.js} +16 -16
  100. package/dist/{chunk-YYY3AZFE.js → chunk-HMZ2DRBC.js} +2 -2
  101. package/dist/{chunk-C3RY6KU6.js → chunk-HRS5O7VV.js} +500 -163
  102. package/dist/{chunk-AJQ72EBM.js → chunk-HUGQZQ2K.js} +6 -6
  103. package/dist/{chunk-AJYXNTNZ.js → chunk-ICBGVVRI.js} +10 -10
  104. package/dist/{chunk-J2JAKCIW.js → chunk-IKAW2KJU.js} +17 -17
  105. package/dist/{chunk-OUBGGKDU.js → chunk-IMZFOMVX.js} +1 -1
  106. package/dist/{chunk-LDLL7LB3.js → chunk-ISG547IS.js} +22 -22
  107. package/dist/{chunk-GZY6RUZ6.js → chunk-IYNCSYU4.js} +5 -2
  108. package/dist/{chunk-H5HBGNXU.js → chunk-J25YOUIZ.js} +4 -4
  109. package/dist/chunk-J2CDBSFP.js +69 -0
  110. package/dist/chunk-J2H7YG3K.js +34 -0
  111. package/dist/{chunk-SFSPGFCV.js → chunk-J32IPTVQ.js} +20 -20
  112. package/dist/{chunk-BEVTIBRH.js → chunk-J4CPHJUL.js} +5 -5
  113. package/dist/{chunk-F3P7N7SF.js → chunk-JFFKHIM6.js} +1 -1
  114. package/dist/{chunk-RUGXBPWI.js → chunk-JMEWJPF2.js} +8 -8
  115. package/dist/{chunk-WERM6KPJ.js → chunk-JSP73CDW.js} +9 -4
  116. package/dist/{chunk-66PPNOON.js → chunk-JXAKYP45.js} +26 -25
  117. package/dist/{chunk-7JITZFJC.js → chunk-K4OXYSGS.js} +4 -4
  118. package/dist/{chunk-EHA7RMZ3.js → chunk-K4RNVDR4.js} +4 -4
  119. package/dist/{chunk-R44CYFPV.js → chunk-K757G7AD.js} +12 -12
  120. package/dist/{chunk-FUJM6RTF.js → chunk-KDJ2YKAZ.js} +7 -7
  121. package/dist/{chunk-QAXW2N3B.js → chunk-KT6Q44CA.js} +28 -30
  122. package/dist/{chunk-EBL2R3YG.js → chunk-KTNOBTV5.js} +4 -4
  123. package/dist/chunk-KVVNAUIG.js +66 -0
  124. package/dist/{chunk-X5F3Q5LV.js → chunk-L3RCQWVQ.js} +21 -18
  125. package/dist/{chunk-7IOWA5D5.js → chunk-LHH5KG5A.js} +13 -3
  126. package/dist/{chunk-TNR75OXT.js → chunk-LM45GMMB.js} +11 -8
  127. package/dist/{chunk-FSMSFDLD.js → chunk-LO6Y7OTG.js} +4 -4
  128. package/dist/{chunk-WF7B67YE.js → chunk-LPDTDFKA.js} +10 -10
  129. package/dist/{chunk-SU74NDMQ.js → chunk-LSHSDC6S.js} +17 -17
  130. package/dist/{chunk-LJXMYKZJ.js → chunk-LZVHP7CT.js} +5 -5
  131. package/dist/{chunk-3NWDLGG6.js → chunk-M3EOFSPY.js} +26 -26
  132. package/dist/chunk-MBYYQHPM.js +31 -0
  133. package/dist/{chunk-KQGURXFU.js → chunk-MEJ63LDG.js} +32 -11
  134. package/dist/{chunk-FZOJFH7Q.js → chunk-MH2ZK67S.js} +11 -11
  135. package/dist/{chunk-R7NYHMUU.js → chunk-MLGWSBF4.js} +5108 -3895
  136. package/dist/{chunk-WJF2CS6M.js → chunk-MNIPPBCT.js} +5 -5
  137. package/dist/{chunk-XERYFDB5.js → chunk-MWF4PXQR.js} +32 -31
  138. package/dist/{chunk-BO4KX37X.js → chunk-N2YX6JMY.js} +18 -18
  139. package/dist/{chunk-GUX3PTYM.js → chunk-NAPHHWW2.js} +3 -3
  140. package/dist/{chunk-UUU4CLJG.js → chunk-NC755EKE.js} +5 -1
  141. package/dist/{chunk-WMTRHUI5.js → chunk-NCLZJCXA.js} +21 -21
  142. package/dist/chunk-NKJDO4UC.js +39 -0
  143. package/dist/chunk-NOYOFYAJ.js +59 -0
  144. package/dist/{chunk-ZQ3ON2VQ.js → chunk-NROSSWMS.js} +5 -5
  145. package/dist/{chunk-UWMJKX5U.js → chunk-OBUB3H72.js} +12 -12
  146. package/dist/{chunk-VW62D6QE.js → chunk-OCQWSFJD.js} +7 -7
  147. package/dist/{chunk-UPOY4YSQ.js → chunk-OK6JGLE7.js} +12 -12
  148. package/dist/{chunk-TYQBFTBR.js → chunk-OPWGPQ2N.js} +5 -5
  149. package/dist/{chunk-PPD7HTDP.js → chunk-OSYHGGL3.js} +18 -18
  150. package/dist/chunk-OXXZZ7HQ.js +50 -0
  151. package/dist/{chunk-5BD2KYLE.js → chunk-P22EPEBR.js} +16 -16
  152. package/dist/chunk-P4YUT7W7.js +45 -0
  153. package/dist/chunk-PCCLVIDP.js +217 -0
  154. package/dist/{chunk-CMDXGQTS.js → chunk-PFULMC2D.js} +21 -20
  155. package/dist/chunk-PGAMTKBI.js +16 -0
  156. package/dist/{chunk-6MUGR4LS.js → chunk-PNSSE7JM.js} +93 -18
  157. package/dist/{chunk-HYU5VLGA.js → chunk-POEMZECG.js} +1 -1
  158. package/dist/{chunk-UCROWG2D.js → chunk-POSDBRKV.js} +23 -23
  159. package/dist/{chunk-KDNTAPLX.js → chunk-POSZFDSQ.js} +3 -3
  160. package/dist/{chunk-3NFFJL5D.js → chunk-PQQKZPBU.js} +1 -1
  161. package/dist/{chunk-4EURQWQD.js → chunk-PRMUQUWN.js} +10 -10
  162. package/dist/{chunk-MO6P2JZH.js → chunk-PT4USJNN.js} +7 -7
  163. package/dist/{chunk-BTY3HZBO.js → chunk-PWXB5GBB.js} +16 -16
  164. package/dist/{chunk-S7FCV7S5.js → chunk-PXW2RZGQ.js} +1 -1
  165. package/dist/{chunk-NDCF4R6S.js → chunk-Q367UGYN.js} +3 -3
  166. package/dist/{chunk-IUPG3UKI.js → chunk-QAVRDONY.js} +187 -123
  167. package/dist/{chunk-E6ZIEVOI.js → chunk-QBMLBCQH.js} +12 -12
  168. package/dist/{chunk-VZALIKIF.js → chunk-QLQIFJP3.js} +12 -12
  169. package/dist/{chunk-EMRIQUND.js → chunk-QLWDIKO4.js} +82 -27
  170. package/dist/{chunk-PMUAJGLI.js → chunk-QVVGJVVX.js} +16 -16
  171. package/dist/{chunk-LNBQOP7D.js → chunk-QX4MAMUG.js} +21 -21
  172. package/dist/{chunk-X3WY6MN3.js → chunk-QZWRPQTI.js} +6 -6
  173. package/dist/{chunk-ISUAAMGS.js → chunk-RCG5IAAT.js} +18 -11
  174. package/dist/chunk-RGZFOKVO.js +106 -0
  175. package/dist/{chunk-O5PXQR67.js → chunk-RLZFL76D.js} +4 -4
  176. package/dist/{chunk-UF4AZOZB.js → chunk-RPQITJNX.js} +5 -5
  177. package/dist/{chunk-NR2UJWOC.js → chunk-RQQYEDAC.js} +8 -8
  178. package/dist/chunk-RQSLHZ7T.js +36 -0
  179. package/dist/{chunk-UPS2DGFC.js → chunk-RRQUQAXP.js} +1 -1
  180. package/dist/chunk-RYQ4JCFT.js +65 -0
  181. package/dist/{chunk-JLUCKAEL.js → chunk-S35DIFJH.js} +17 -17
  182. package/dist/{chunk-UGUP3ZM6.js → chunk-S5GSQPIN.js} +9 -9
  183. package/dist/chunk-S5XFO4GY.js +42 -0
  184. package/dist/chunk-S6LW2RRC.js +25 -0
  185. package/dist/{chunk-W62H2XSO.js → chunk-S6W3D5GS.js} +23 -23
  186. package/dist/{chunk-CX4RZ2KS.js → chunk-S7GUZ45I.js} +3 -3
  187. package/dist/{chunk-L27SV425.js → chunk-SCT4CEF7.js} +20 -20
  188. package/dist/{chunk-VTZMAJ3W.js → chunk-SK5RVP7X.js} +8 -8
  189. package/dist/{chunk-JAVI7JSP.js → chunk-SRTUETF5.js} +23 -22
  190. package/dist/{chunk-MZCGSXVR.js → chunk-SVGGMBJI.js} +13 -13
  191. package/dist/{chunk-SDKLKB6I.js → chunk-SWNKO4C4.js} +32 -25
  192. package/dist/chunk-SYP56T2D.js +65 -0
  193. package/dist/{chunk-5SJZW52K.js → chunk-T33TPFGI.js} +22 -22
  194. package/dist/{chunk-ZJXLNDH4.js → chunk-T3FNG2H2.js} +12 -12
  195. package/dist/{chunk-BIGDQDHD.js → chunk-T6MAWL5P.js} +4 -4
  196. package/dist/{chunk-RGERPOIV.js → chunk-T6MX7WXM.js} +14 -11
  197. package/dist/{chunk-QFWA2DPH.js → chunk-T7IIEDA3.js} +5 -5
  198. package/dist/{chunk-Z5IA3WDR.js → chunk-TABH4RBZ.js} +156 -79
  199. package/dist/{chunk-6ZGLAACW.js → chunk-TDSCKP3V.js} +2 -2
  200. package/dist/{chunk-G6X77UJZ.js → chunk-TMFMXQEN.js} +21 -21
  201. package/dist/{chunk-P2V7QW4D.js → chunk-TNCF26JK.js} +11 -11
  202. package/dist/{chunk-2GF7OLF3.js → chunk-TUM52SOE.js} +19 -15
  203. package/dist/{chunk-PBPBMP2B.js → chunk-TV56QLLV.js} +3 -3
  204. package/dist/{chunk-SYV5LHML.js → chunk-TVQSXWWV.js} +33 -33
  205. package/dist/{chunk-VBTP56CE.js → chunk-TXNSQ24G.js} +9 -8
  206. package/dist/{chunk-ZX57KSEQ.js → chunk-UALE35WK.js} +3 -3
  207. package/dist/{chunk-42SIDKEU.js → chunk-UJF7PIMP.js} +26 -26
  208. package/dist/{chunk-ONUPY3H6.js → chunk-UMCDODBX.js} +24 -24
  209. package/dist/{chunk-JJF6HALY.js → chunk-UTPIFH4I.js} +3 -3
  210. package/dist/{chunk-O7XLYEFA.js → chunk-V7PEHQZU.js} +54 -22
  211. package/dist/{chunk-XI2LCCYQ.js → chunk-VJFXQISZ.js} +8 -8
  212. package/dist/{chunk-AFZ3QA6W.js → chunk-VJZI6KFP.js} +22 -22
  213. package/dist/{chunk-Q6DFNVRJ.js → chunk-VK7WYA64.js} +12 -12
  214. package/dist/{chunk-6OJQOPUN.js → chunk-VKTXFFOZ.js} +2 -2
  215. package/dist/{chunk-MG4ZL5RW.js → chunk-VNIN7Q6Q.js} +16 -16
  216. package/dist/{chunk-ZQXZ2SES.js → chunk-VRO7KSGL.js} +21 -21
  217. package/dist/{chunk-OHVTTOPS.js → chunk-W3AZE7LN.js} +3 -3
  218. package/dist/chunk-W4TNCEI4.js +44 -0
  219. package/dist/{chunk-X4CXA2IL.js → chunk-W5VYJWOG.js} +22 -22
  220. package/dist/{chunk-7DOR27HL.js → chunk-WF3RCZNO.js} +6 -6
  221. package/dist/{chunk-LGBMTVNT.js → chunk-WOMQQWTO.js} +5 -5
  222. package/dist/{chunk-2Q56PQPS.js → chunk-WXVTYLVH.js} +2 -2
  223. package/dist/{chunk-UOR2DTHH.js → chunk-WYGTSZHR.js} +16 -14
  224. package/dist/{chunk-IDKCWSM5.js → chunk-WZYM5M4U.js} +388 -104
  225. package/dist/{chunk-U76OWS3Q.js → chunk-X5ZHDSLU.js} +23 -23
  226. package/dist/chunk-X7XVMYIL.js +5 -0
  227. package/dist/{chunk-2IIMFOPM.js → chunk-X7ZKNSK4.js} +18 -18
  228. package/dist/{chunk-UF4GLFBX.js → chunk-XAPXKFIS.js} +22 -22
  229. package/dist/{chunk-LQJPN536.js → chunk-XF6TSZW2.js} +2 -2
  230. package/dist/{chunk-T6DQR5TV.js → chunk-XFDDJQT7.js} +12 -12
  231. package/dist/{chunk-OHNCWBKF.js → chunk-XGO74QWR.js} +4 -4
  232. package/dist/chunk-XLZAAAPX.js +43 -0
  233. package/dist/{chunk-2RLKFUUL.js → chunk-XMUWPA56.js} +23 -23
  234. package/dist/{chunk-JRBFANFE.js → chunk-XNFM6WUK.js} +15 -15
  235. package/dist/{chunk-LO6P2VYG.js → chunk-XOMEQVLK.js} +2 -2
  236. package/dist/{chunk-YHCMZC2J.js → chunk-Y2H7X3VI.js} +7 -7
  237. package/dist/{chunk-ZZK56BLP.js → chunk-Y5IE6YKD.js} +4 -4
  238. package/dist/{chunk-KFAVQZSX.js → chunk-YD3KTW4H.js} +12 -12
  239. package/dist/{chunk-LZ7NUC62.js → chunk-YDCOZOER.js} +18 -18
  240. package/dist/{chunk-LFGTYX5U.js → chunk-YERAAEO4.js} +17 -17
  241. package/dist/{chunk-BHT7QK4G.js → chunk-YHMPDIRG.js} +4 -4
  242. package/dist/{chunk-ZJFRMSJT.js → chunk-Z2D4P3R3.js} +12 -12
  243. package/dist/{chunk-O66DM6DJ.js → chunk-Z3H27OMV.js} +4 -4
  244. package/dist/{chunk-7UOMVMFG.js → chunk-Z3RAFU5B.js} +15 -15
  245. package/dist/{chunk-FFLNS6VP.js → chunk-ZENHDXRZ.js} +21 -17
  246. package/dist/{chunk-23XVSEV5.js → chunk-ZFHFC74B.js} +18 -18
  247. package/dist/{chunk-53T4O55J.js → chunk-ZJGCGKA4.js} +3 -3
  248. package/dist/{chunk-WXFLMQSR.js → chunk-ZLQEQR3D.js} +5 -5
  249. package/dist/{chunk-HNM2YQT2.js → chunk-ZNHQGG7J.js} +7 -7
  250. package/dist/{chunk-2Q5EDGEO.js → chunk-ZNTTW4IT.js} +5 -5
  251. package/dist/{chunk-ZQ7SKESZ.js → chunk-ZR6J4QFQ.js} +7 -7
  252. package/dist/{chunk-PAQ2AS5E.js → chunk-ZSNOILL5.js} +1 -1
  253. package/dist/files.json +563 -511
  254. package/dist/packages/sdk/npm/index.js +1043 -43
  255. package/dist/packages/ui/dist/assets/{elk-api-CIf-0gz5.js → elk-api-DxfAMOJq.js} +2 -2
  256. package/dist/packages/ui/dist/assets/index-Buit9TfP.js +62 -0
  257. package/dist/packages/ui/dist/assets/index-Jyc9dFeZ.css +1 -0
  258. package/dist/packages/ui/dist/index.html +2 -2
  259. package/package.json +4 -4
  260. package/dist/chunk-2SKB4O2E.js +0 -59
  261. package/dist/chunk-4U276ICE.js +0 -39
  262. package/dist/chunk-6H3Z5JHH.js +0 -64
  263. package/dist/chunk-C4R4JLHE.js +0 -40
  264. package/dist/chunk-CBGGOQWU.js +0 -82
  265. package/dist/chunk-DLOBCJL6.js +0 -48
  266. package/dist/chunk-GIW4ZVDB.js +0 -39
  267. package/dist/chunk-IP74LCOQ.js +0 -57
  268. package/dist/chunk-IPHHDDC6.js +0 -45
  269. package/dist/chunk-KJXD4PNL.js +0 -50
  270. package/dist/chunk-KN5BXMWN.js +0 -44
  271. package/dist/chunk-OMI6FPPN.js +0 -43
  272. package/dist/chunk-OTLDSZDV.js +0 -69
  273. package/dist/chunk-PSOFBQWB.js +0 -42
  274. package/dist/chunk-T4YPZIQN.js +0 -36
  275. package/dist/chunk-TUULXQRW.js +0 -420
  276. package/dist/chunk-WNKPRSGI.js +0 -36
  277. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +0 -47
  278. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  279. package/dist/{chunk-24XLDU72.js → chunk-PXMV2LLY.js} +3 -3
package/dist/bin.js CHANGED
@@ -6,7 +6,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
6
6
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-F3P7N7SF.js";
9
+ } from "./chunk-JFFKHIM6.js";
10
10
  import "./chunk-TV45EUGM.js";
11
11
 
12
12
  // packages/cli/dist/bin.js
@@ -25,7 +25,7 @@ else if ((await import("./chunk-QBNWF5ZU.js")).nodeTooOld(process.versions.node)
25
25
  process.exitCode = 1;
26
26
  } else {
27
27
  if (process.env.ATTICUS_MAX_OLD_SPACE) {
28
- const { reExecForMemory } = await import("./chunk-53T4O55J.js");
28
+ const { reExecForMemory } = await import("./chunk-ZJGCGKA4.js");
29
29
  const again = reExecForMemory(process.env, process.execArgv);
30
30
  if (again) {
31
31
  const { spawnSync } = await import("node:child_process");
@@ -33,11 +33,16 @@ else if ((await import("./chunk-QBNWF5ZU.js")).nodeTooOld(process.versions.node)
33
33
  process.exit(r.status ?? 1);
34
34
  }
35
35
  }
36
- const { main } = await import("./chunk-IUPG3UKI.js");
37
- await main(argv, {
38
- out: (line) => process.stdout.write(line + "\n"),
39
- err: (line) => process.stderr.write(line + "\n")
40
- }).then((code) => {
36
+ const { main } = await import("./chunk-QAVRDONY.js");
37
+ await main(
38
+ argv,
39
+ {
40
+ out: (line) => process.stdout.write(line + "\n"),
41
+ err: (line) => process.stderr.write(line + "\n")
42
+ },
43
+ // ADR 0187: a long command keeps what it prints for the app's Console.
44
+ { record: true }
45
+ ).then((code) => {
41
46
  process.exitCode = code;
42
47
  }, (err) => {
43
48
  const message = err instanceof Error ? err.message : String(err);
@@ -7,13 +7,13 @@ import {
7
7
  RuntimeConfigError,
8
8
  RuntimeError,
9
9
  registerModelProvider
10
- } from "./chunk-P32RUW3B.js";
10
+ } from "./chunk-3424TLIJ.js";
11
11
  import {
12
12
  estimateTokens
13
- } from "./chunk-Q2TECDIT.js";
13
+ } from "./chunk-FPBUTZI5.js";
14
14
  import {
15
15
  redactText
16
- } from "./chunk-TUULXQRW.js";
16
+ } from "./chunk-B4AEL3RF.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __require,
@@ -11,10 +11,10 @@ import {
11
11
  eolOf,
12
12
  inEol,
13
13
  orgPackDirOf
14
- } from "./chunk-Q2TECDIT.js";
14
+ } from "./chunk-FPBUTZI5.js";
15
15
  import {
16
16
  writeFileIfUnchanged
17
- } from "./chunk-TUULXQRW.js";
17
+ } from "./chunk-B4AEL3RF.js";
18
18
  import {
19
19
  require_dist
20
20
  } from "./chunk-BQGDB6ZL.js";
@@ -5,44 +5,44 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  estimateOf
8
- } from "./chunk-BDKC6H5P.js";
8
+ } from "./chunk-3MYBT62N.js";
9
9
  import {
10
10
  changeMapBody,
11
11
  changeMapOf
12
- } from "./chunk-IH2XURVQ.js";
13
- import "./chunk-WF7B67YE.js";
14
- import "./chunk-6PPOWY5E.js";
15
- import "./chunk-OHNCWBKF.js";
16
- import "./chunk-BTGPE6CR.js";
12
+ } from "./chunk-FMJYKLDY.js";
13
+ import "./chunk-LPDTDFKA.js";
14
+ import "./chunk-2WUTCPPJ.js";
15
+ import "./chunk-XGO74QWR.js";
16
+ import "./chunk-EMVZIOOD.js";
17
17
  import "./chunk-MUWDB4R4.js";
18
18
  import {
19
19
  knowledgeAppliesMarkdown,
20
20
  readKnowledgeApplies
21
- } from "./chunk-R7NYHMUU.js";
22
- import "./chunk-IVBOQAGB.js";
23
- import "./chunk-ISUAAMGS.js";
21
+ } from "./chunk-MLGWSBF4.js";
22
+ import "./chunk-CA3DKO4D.js";
24
23
  import {
25
24
  readRound,
26
25
  reviewedGates,
27
26
  roundsOf
28
- } from "./chunk-S4PMJU6H.js";
29
- import "./chunk-IDKCWSM5.js";
30
- import "./chunk-UUU4CLJG.js";
31
- import "./chunk-7IGKHZ4Z.js";
32
- import "./chunk-J2JAKCIW.js";
33
- import "./chunk-745DAZ4L.js";
34
- import "./chunk-CXJ6FUKN.js";
35
- import "./chunk-QKUJMING.js";
36
- import "./chunk-6ZGLAACW.js";
37
- import "./chunk-CQDGOPGH.js";
38
- import "./chunk-3NFFJL5D.js";
39
- import "./chunk-PKBHS4AA.js";
40
- import "./chunk-P32RUW3B.js";
27
+ } from "./chunk-D6BVLTDV.js";
28
+ import "./chunk-RCG5IAAT.js";
29
+ import "./chunk-WZYM5M4U.js";
30
+ import "./chunk-NC755EKE.js";
31
+ import "./chunk-FL344WQD.js";
32
+ import "./chunk-IKAW2KJU.js";
33
+ import "./chunk-CZ2ZS7AT.js";
34
+ import "./chunk-4GAB5ZOZ.js";
35
+ import "./chunk-A4JXVO5O.js";
36
+ import "./chunk-TDSCKP3V.js";
37
+ import "./chunk-G6EFXTUO.js";
38
+ import "./chunk-PQQKZPBU.js";
39
+ import "./chunk-3EWKO457.js";
40
+ import "./chunk-3424TLIJ.js";
41
41
  import "./chunk-QA4O2GGC.js";
42
42
  import {
43
43
  redactSecrets
44
- } from "./chunk-Q2TECDIT.js";
45
- import "./chunk-TUULXQRW.js";
44
+ } from "./chunk-FPBUTZI5.js";
45
+ import "./chunk-B4AEL3RF.js";
46
46
  import "./chunk-BQGDB6ZL.js";
47
47
  import "./chunk-TV45EUGM.js";
48
48
 
@@ -5,17 +5,17 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  changeStore
8
- } from "./chunk-IDKCWSM5.js";
8
+ } from "./chunk-WZYM5M4U.js";
9
9
  import {
10
10
  ManualNotifier,
11
11
  fileStepStore
12
- } from "./chunk-7IGKHZ4Z.js";
12
+ } from "./chunk-FL344WQD.js";
13
13
  import {
14
14
  readCatalog
15
- } from "./chunk-J2JAKCIW.js";
15
+ } from "./chunk-IKAW2KJU.js";
16
16
  import {
17
17
  readServiceRequestExports
18
- } from "./chunk-QKUJMING.js";
18
+ } from "./chunk-A4JXVO5O.js";
19
19
  import {
20
20
  Initiative,
21
21
  IsoDate,
@@ -31,11 +31,11 @@ import {
31
31
  serializeRecord,
32
32
  stateDirOf,
33
33
  toCanonicalYaml
34
- } from "./chunk-Q2TECDIT.js";
34
+ } from "./chunk-FPBUTZI5.js";
35
35
  import {
36
36
  SCHEMA_VERSION,
37
37
  renameRetrying
38
- } from "./chunk-TUULXQRW.js";
38
+ } from "./chunk-B4AEL3RF.js";
39
39
  import {
40
40
  require_dist
41
41
  } from "./chunk-BQGDB6ZL.js";
@@ -7,49 +7,50 @@ import {
7
7
  copilotAcpAllowed,
8
8
  copilotAcpByDefault,
9
9
  readWrites
10
- } from "./chunk-6ZJ5A7AF.js";
10
+ } from "./chunk-66AQ2JIU.js";
11
11
  import {
12
12
  mapCommand,
13
13
  mapStateOf
14
- } from "./chunk-X5F3Q5LV.js";
14
+ } from "./chunk-L3RCQWVQ.js";
15
15
  import {
16
16
  factsRepos,
17
17
  verifyCommand
18
- } from "./chunk-RGERPOIV.js";
19
- import "./chunk-OUBGGKDU.js";
18
+ } from "./chunk-T6MX7WXM.js";
19
+ import "./chunk-EHXDB3SA.js";
20
+ import "./chunk-IMZFOMVX.js";
20
21
  import {
21
22
  plannedTopUp,
22
23
  recordRulesNow,
23
24
  ruleSetsOfFiles
24
- } from "./chunk-XI2LCCYQ.js";
25
- import "./chunk-BPK5P77O.js";
25
+ } from "./chunk-VJFXQISZ.js";
26
+ import "./chunk-CT6NINGR.js";
26
27
  import {
27
28
  estateFreshness
28
- } from "./chunk-SQV37XO2.js";
29
+ } from "./chunk-6ZFF7XSL.js";
29
30
  import {
30
31
  onboardingQueue
31
- } from "./chunk-LQJPN536.js";
32
- import "./chunk-EHA7RMZ3.js";
33
- import "./chunk-OWNCM4ZN.js";
34
- import "./chunk-T6DQR5TV.js";
32
+ } from "./chunk-XF6TSZW2.js";
33
+ import "./chunk-K4RNVDR4.js";
34
+ import "./chunk-7K5OH45X.js";
35
+ import "./chunk-XFDDJQT7.js";
36
+ import "./chunk-6R5VHR3N.js";
35
37
  import {
36
38
  rulesLackingAll
37
- } from "./chunk-WXFLMQSR.js";
39
+ } from "./chunk-ZLQEQR3D.js";
38
40
  import {
39
41
  loadReadPlan,
40
42
  partUnaccounted,
41
43
  readPlanProgress
42
- } from "./chunk-TYQBFTBR.js";
44
+ } from "./chunk-OPWGPQ2N.js";
43
45
  import {
44
46
  checkoutOf,
45
47
  conventionsAt,
46
48
  excludesOf,
47
49
  headOf
48
- } from "./chunk-2F4CYZKJ.js";
49
- import "./chunk-LO6P2VYG.js";
50
- import "./chunk-SFUP7TTO.js";
51
- import "./chunk-7FTTA3HD.js";
52
- import "./chunk-ZQ3ON2VQ.js";
50
+ } from "./chunk-73GFVW2L.js";
51
+ import "./chunk-XOMEQVLK.js";
52
+ import "./chunk-C6ORPLCN.js";
53
+ import "./chunk-NROSSWMS.js";
53
54
  import {
54
55
  isMetarepo,
55
56
  notMetarepo
@@ -58,30 +59,30 @@ import {
58
59
  ASSISTANT_FORMATS,
59
60
  assistantTier,
60
61
  readProbes
61
- } from "./chunk-BEVTIBRH.js";
62
+ } from "./chunk-J4CPHJUL.js";
62
63
  import "./chunk-VOGCSYOI.js";
63
64
  import {
64
65
  estateRepos,
65
66
  productionRepos
66
- } from "./chunk-J2JAKCIW.js";
67
- import "./chunk-745DAZ4L.js";
67
+ } from "./chunk-IKAW2KJU.js";
68
68
  import {
69
69
  dirSource,
70
70
  sameCommit,
71
71
  sessionTokensFor
72
- } from "./chunk-CXJ6FUKN.js";
73
- import "./chunk-QKUJMING.js";
74
- import "./chunk-6ZGLAACW.js";
75
- import "./chunk-CQDGOPGH.js";
76
- import "./chunk-3NFFJL5D.js";
77
- import "./chunk-F3P7N7SF.js";
78
- import "./chunk-UPS2DGFC.js";
79
- import "./chunk-PKBHS4AA.js";
72
+ } from "./chunk-CZ2ZS7AT.js";
73
+ import "./chunk-4GAB5ZOZ.js";
74
+ import "./chunk-A4JXVO5O.js";
75
+ import "./chunk-TDSCKP3V.js";
76
+ import "./chunk-G6EFXTUO.js";
77
+ import "./chunk-PQQKZPBU.js";
78
+ import "./chunk-JFFKHIM6.js";
79
+ import "./chunk-RRQUQAXP.js";
80
+ import "./chunk-3EWKO457.js";
80
81
  import {
81
82
  AcpSetupError,
82
83
  AcpSignInError,
83
84
  currentPromptLimit
84
- } from "./chunk-P32RUW3B.js";
85
+ } from "./chunk-3424TLIJ.js";
85
86
  import "./chunk-QA4O2GGC.js";
86
87
  import {
87
88
  factsDirOf,
@@ -91,11 +92,11 @@ import {
91
92
  loadOrgPack,
92
93
  orgPackDirOf,
93
94
  parseFacts
94
- } from "./chunk-Q2TECDIT.js";
95
+ } from "./chunk-FPBUTZI5.js";
95
96
  import {
96
97
  ensureLocalIgnore,
97
98
  writeFileAtomic
98
- } from "./chunk-TUULXQRW.js";
99
+ } from "./chunk-B4AEL3RF.js";
99
100
  import {
100
101
  require_dist
101
102
  } from "./chunk-BQGDB6ZL.js";
@@ -32,10 +32,10 @@ import {
32
32
  stateDirOf,
33
33
  stepModelsOf,
34
34
  tokenUnits
35
- } from "./chunk-Q2TECDIT.js";
35
+ } from "./chunk-FPBUTZI5.js";
36
36
  import {
37
37
  writeFileAtomic
38
- } from "./chunk-TUULXQRW.js";
38
+ } from "./chunk-B4AEL3RF.js";
39
39
  import {
40
40
  require_dist
41
41
  } from "./chunk-BQGDB6ZL.js";
@@ -1810,14 +1810,33 @@ var HandoffRuntime = class _HandoffRuntime {
1810
1810
  ]),
1811
1811
  "---",
1812
1812
  "",
1813
- `When the file is complete, run: atticus handoff done ${run.runId}`,
1813
+ _HandoffRuntime.finishLine(where),
1814
1814
  ""
1815
1815
  ].join("\n");
1816
1816
  }
1817
+ /**
1818
+ * ADR 0189: the prompt's last line asks the assistant to write the file, and nothing else. The
1819
+ * app notices the file once it is complete and checks it, as Done did (Done stays for a person
1820
+ * who wants to check it at once); no line asks the person, or the assistant, to run a command.
1821
+ */
1822
+ static finishLine(where) {
1823
+ return `When ${where} is complete, stop there: Atticus notices the file and checks it. There is nothing to run.`;
1824
+ }
1817
1825
  /** The prompt the person's assistant gets. It ends with the completion command. */
1818
- static promptFor(run, changesRel = "openspec/changes", runsRel = ".runs") {
1826
+ static promptFor(run, changesRel = "openspec/changes", runsRel = ".runs", ending = true) {
1819
1827
  const { agent, pack, outputPath, change } = run.request;
1820
1828
  const where = _HandoffRuntime.outputRel(run, changesRel, runsRel);
1829
+ if (!ending)
1830
+ return [
1831
+ `# ${agent.id}: write ${outputPath} for change ${change}`,
1832
+ "",
1833
+ agent.description,
1834
+ "",
1835
+ `Write the result to ${where}. Change no other files.`,
1836
+ "",
1837
+ pack.prompt.trimEnd(),
1838
+ ""
1839
+ ].join("\n");
1821
1840
  return [
1822
1841
  `# ${agent.id}: write ${outputPath} for change ${change}`,
1823
1842
  "",
@@ -1827,7 +1846,13 @@ var HandoffRuntime = class _HandoffRuntime {
1827
1846
  "",
1828
1847
  pack.prompt.trimEnd(),
1829
1848
  "",
1830
- run.request.selfCheck ? `When the file is complete, run: atticus handoff done ${run.runId}. It checks the file as the stage does: fix each problem it lists in the file and run it again, until it says the file is clean. After ${run.request.selfCheck.limit} checks the file is handed in as it is.` : `When the file is complete, run: atticus handoff done ${run.runId}`,
1849
+ // ADR 0189: an assistant that can run commands may check its file first, as the stage
1850
+ // does; the check only reads the file, so the app's own check is still the one that counts.
1851
+ ...run.request.selfCheck ? [
1852
+ `Before you finish, you may check the file: ${run.request.selfCheck.command} ${where} checks it as the stage does. Fix each problem it lists and check again, until it says the file is clean (at most ${run.request.selfCheck.limit} times).`,
1853
+ ""
1854
+ ] : [],
1855
+ _HandoffRuntime.finishLine(where),
1831
1856
  ""
1832
1857
  ].join("\n");
1833
1858
  }
@@ -3294,7 +3319,7 @@ var HeadlessClaudeCodeRuntime = class _HeadlessClaudeCodeRuntime extends OneShot
3294
3319
  await mkdir6(dir, { recursive: true });
3295
3320
  const promptFile = join6(dir, "prompt.md");
3296
3321
  const self = reviewer ? void 0 : request.selfCheck;
3297
- const handoff = HandoffRuntime.promptFor(run, changesRelOf(this.h.root), runsRelOf(this.h.root)).replace(/\nWhen the file is complete.*\n$/s, "\n") + // W3a: the drafter checks its own file with the stage's checks before it finishes.
3322
+ const handoff = HandoffRuntime.promptFor(run, changesRelOf(this.h.root), runsRelOf(this.h.root), false) + // W3a: the drafter checks its own file with the stage's checks before it finishes.
3298
3323
  (self ? `
3299
3324
  Before you finish, check the file: run ${self.command} ${HandoffRuntime.outputRel(run, changesRelOf(this.h.root), runsRelOf(this.h.root))}. Fix each problem it lists and run it again, until it says the file is clean (at most ${self.limit} times).
3300
3325
  ` : "");
@@ -3391,6 +3416,10 @@ var toolSource;
3391
3416
  function registerToolSource(source) {
3392
3417
  toolSource = source;
3393
3418
  }
3419
+ var modelGuard;
3420
+ function registerModelGuard(g) {
3421
+ modelGuard = g;
3422
+ }
3394
3423
  var acpRunner;
3395
3424
  function registerCopilotAcp(o) {
3396
3425
  acpRunner = o;
@@ -3444,6 +3473,8 @@ async function createRuntime(orgPack, o) {
3444
3473
  const cfg = rt.adapters.model;
3445
3474
  if (!cfg)
3446
3475
  throw new RuntimeConfigError("Model mode needs a model adapter in runtime.yaml (adapters.model with its type and settings). Until one is configured, use hand-off mode.");
3476
+ if (modelGuard && cfg.type !== "mock")
3477
+ await modelGuard({ root: o.root, type: cfg.type, settings: { ...cfg.settings } });
3447
3478
  const make = o.providers?.[cfg.type] ?? await providerFactoryFor(orgPack, cfg.type) ?? (cfg.type === "mock" ? (s) => new MockModelProvider(typeof s.model === "string" ? s.model : "mock-model", o.modelAnswer ?? (() => ""), o.modelScript) : void 0);
3448
3479
  if (!make)
3449
3480
  throw new RuntimeConfigError(`No ${cfg.type} model provider is installed. Add its plugin, or use hand-off mode.`);
@@ -3530,7 +3561,7 @@ async function runtimeForCli(root, o = {}) {
3530
3561
  env,
3531
3562
  onNote: o.onNote ?? sayOnce
3532
3563
  });
3533
- const describe = runtime.kind === "hand-off" ? "AI steps are handed to your assistant: Atticus writes the prompt and waits for atticus handoff done." : mode === "model" ? `AI steps call the ${op.runtime.adapters.model?.type ?? "configured"} model directly.` : mode === "headless-claude-code" ? "AI steps run in headless Claude Code." : mode === "copilot-acp" ? "AI steps run in GitHub Copilot, unattended, one new session each (copilot-acp)." : "AI steps replay recorded answers.";
3564
+ const describe = runtime.kind === "hand-off" ? "AI steps are handed to your assistant: Atticus writes the prompt and checks the answer once your assistant has written it." : mode === "model" ? `AI steps call the ${op.runtime.adapters.model?.type ?? "configured"} model directly.` : mode === "headless-claude-code" ? "AI steps run in headless Claude Code." : mode === "copilot-acp" ? "AI steps run in GitHub Copilot, unattended, one new session each (copilot-acp)." : "AI steps replay recorded answers.";
3534
3565
  return { runtime, mode: runtime.kind === "hand-off" ? "hand-off" : mode, describe };
3535
3566
  }
3536
3567
 
@@ -4237,6 +4268,7 @@ export {
4237
4268
  registeredModelProviders,
4238
4269
  clearModelProviders,
4239
4270
  registerToolSource,
4271
+ registerModelGuard,
4240
4272
  registerCopilotAcp,
4241
4273
  createRuntime,
4242
4274
  runtimeForCli,
@@ -6,15 +6,15 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  acceptOrgPackDraft,
8
8
  draftOrgPack
9
- } from "./chunk-745DAZ4L.js";
10
- import "./chunk-QKUJMING.js";
11
- import "./chunk-6ZGLAACW.js";
12
- import "./chunk-CQDGOPGH.js";
13
- import "./chunk-3NFFJL5D.js";
14
- import "./chunk-P32RUW3B.js";
9
+ } from "./chunk-4GAB5ZOZ.js";
10
+ import "./chunk-A4JXVO5O.js";
11
+ import "./chunk-TDSCKP3V.js";
12
+ import "./chunk-G6EFXTUO.js";
13
+ import "./chunk-PQQKZPBU.js";
14
+ import "./chunk-3424TLIJ.js";
15
15
  import "./chunk-QA4O2GGC.js";
16
- import "./chunk-Q2TECDIT.js";
17
- import "./chunk-TUULXQRW.js";
16
+ import "./chunk-FPBUTZI5.js";
17
+ import "./chunk-B4AEL3RF.js";
18
18
  import "./chunk-BQGDB6ZL.js";
19
19
  import "./chunk-TV45EUGM.js";
20
20
 
@@ -13,10 +13,10 @@ import {
13
13
  orgPackDirOf,
14
14
  runsDirOf,
15
15
  toCanonicalYaml
16
- } from "./chunk-Q2TECDIT.js";
16
+ } from "./chunk-FPBUTZI5.js";
17
17
  import {
18
18
  withSharedFileLock
19
- } from "./chunk-TUULXQRW.js";
19
+ } from "./chunk-B4AEL3RF.js";
20
20
  import {
21
21
  require_dist
22
22
  } from "./chunk-BQGDB6ZL.js";
@@ -175,10 +175,9 @@ async function ensureGitignore(root) {
175
175
  const have = new Set(text.split(/\r?\n/).map(norm));
176
176
  const missing = IGNORED.filter((p) => !have.has(norm(p)));
177
177
  if (missing.length > 0) {
178
- const prefix = text === "" || text.endsWith("\n") ? text : text + "\n";
179
- await writeFile(path, `${prefix}${prefix ? "\n" : ""}# Atticus local state
180
- ${missing.join("\n")}
181
- `, "utf8");
178
+ const eol = text.includes("\r\n") ? "\r\n" : "\n";
179
+ const prefix = text === "" || text.endsWith("\n") ? text : text + eol;
180
+ await writeFile(path, `${prefix}${prefix ? eol : ""}# Atticus local state${eol}${missing.join(eol)}${eol}`, "utf8");
182
181
  }
183
182
  return missing;
184
183
  }
@@ -376,10 +375,11 @@ async function checkoutState(dir, git = createGit()) {
376
375
  import { existsSync as existsSync2 } from "node:fs";
377
376
  import { mkdir as mkdir3, readdir as readdir3, rm as rm2 } from "node:fs/promises";
378
377
  import { basename, dirname as dirname2, join as join4 } from "node:path";
379
- function withBaseClone(dest, id2, work) {
378
+ var BASE_CLONE_WAIT_MS = 30 * 6e4;
379
+ function withBaseCloneLock(dest, id2, work, waitMs = BASE_CLONE_WAIT_MS) {
380
380
  return withSharedFileLock(dest, work, {
381
- staleMs: 30 * 6e4,
382
- waitMs: 30 * 6e4,
381
+ staleMs: BASE_CLONE_WAIT_MS,
382
+ waitMs,
383
383
  what: `git work on the base clone of ${id2}`
384
384
  });
385
385
  }
@@ -411,8 +411,9 @@ async function remoteDefaultBranch(dir, git = createGit()) {
411
411
  return void 0;
412
412
  }
413
413
  }
414
- function createWorkspace(root, git = createGit()) {
414
+ function createWorkspace(root, git = createGit(), opts = {}) {
415
415
  const g = (args, cwd = root) => git(args, cwd);
416
+ const withBaseClone = (dest, id2, work) => withBaseCloneLock(dest, id2, work, opts.lockWaitMs);
416
417
  const head = async (cwd) => (await g(["rev-parse", "HEAD"], cwd)).stdout.trim();
417
418
  const dirty = async (cwd) => (await g(["status", "--porcelain", "--untracked-files=normal"], cwd)).stdout.trim() !== "";
418
419
  const refExists = async (cwd, ref) => {
@@ -594,11 +595,11 @@ function createWorkspace(root, git = createGit()) {
594
595
  }
595
596
  return {
596
597
  root,
597
- async sync(repos, opts = {}) {
598
+ async sync(repos, opts2 = {}) {
598
599
  if (repos.some((r) => !r.archived && !isInPlace(r.url)))
599
600
  await ensureGitignore(root);
600
601
  const out = [];
601
- const local = opts.from ? await localClones(opts.from, git) : void 0;
602
+ const local = opts2.from ? await localClones(opts2.from, git) : void 0;
602
603
  for (const repo of repos)
603
604
  out.push(
604
605
  // Nothing to lock (nor a folder to make) for an archived or in-place repo.
@@ -627,7 +628,7 @@ function createWorkspace(root, git = createGit()) {
627
628
  await writeEditorWorkspaces(root, value);
628
629
  return value;
629
630
  },
630
- async prune(change, opts = {}) {
631
+ async prune(change, opts2 = {}) {
631
632
  const repos = await readChangeRepos(root, change);
632
633
  const removed = [];
633
634
  const kept = [];
@@ -635,12 +636,12 @@ function createWorkspace(root, git = createGit()) {
635
636
  return { removed, kept };
636
637
  const removeOne = async (id2, path, repo) => {
637
638
  try {
638
- if (!opts.force && await dirty(path)) {
639
+ if (!opts2.force && await dirty(path)) {
639
640
  kept.push({ id: id2, reason: "uncommitted changes in the worktree" });
640
641
  return;
641
642
  }
642
643
  const args = ["worktree", "remove"];
643
- if (opts.force)
644
+ if (opts2.force)
644
645
  args.push("--force");
645
646
  await g([...args, "--", path], baseClonePath(root, repo));
646
647
  removed.push(id2);
@@ -651,7 +652,7 @@ function createWorkspace(root, git = createGit()) {
651
652
  const waiting = /* @__PURE__ */ new Set();
652
653
  for (const r of repos.repos) {
653
654
  const done = r.pr?.state === "merged" || r.pr?.state === "closed";
654
- if (!done && !opts.all) {
655
+ if (!done && !opts2.all) {
655
656
  kept.push({ id: r.id, reason: r.pr ? `PR is ${r.pr.state}` : "no PR yet" });
656
657
  waiting.add(r.id);
657
658
  continue;
@@ -774,6 +775,32 @@ async function gitUser(root, o = {}) {
774
775
  };
775
776
  }
776
777
 
778
+ // packages/workspace/dist/repo-ids.js
779
+ function repoIdKey(id2) {
780
+ return id2.toLowerCase().replace(/_/g, "-").replace(/(?:[-.]v?\d+)+$/, "").replace(/-{2,}/g, "-").replace(/^-+|-+$/g, "");
781
+ }
782
+ function cloneUrlKey(url) {
783
+ const u = url.trim();
784
+ if (!u || isInPlace(u) || /^\.\.[\\/]/.test(u))
785
+ return void 0;
786
+ return u.replace(/[/\\]+$/, "").replace(/\.git$/i, "").replace(/^[a-z][a-z0-9+.-]*:\/\//i, "").replace(/^[^@/]+@/, "").replace(/^([^/:]+):(?!\d+\/)/, "$1/").toLowerCase();
787
+ }
788
+ var SAME_ID_WHY = "its id is the same once case, '_' and '-', and a version suffix are set aside";
789
+ function nearRepos(entry, listed) {
790
+ const key = repoIdKey(entry.id);
791
+ const url = entry.url ? cloneUrlKey(entry.url) : void 0;
792
+ const out = [];
793
+ for (const r of listed) {
794
+ if (r.id === entry.id)
795
+ continue;
796
+ if (url && r.url && cloneUrlKey(r.url) === url)
797
+ out.push({ id: r.id, why: "it has the same clone URL" });
798
+ else if (key && repoIdKey(r.id) === key)
799
+ out.push({ id: r.id, why: SAME_ID_WHY });
800
+ }
801
+ return out;
802
+ }
803
+
777
804
  export {
778
805
  GitError,
779
806
  createGit,
@@ -810,5 +837,9 @@ export {
810
837
  remoteDefaultBranch,
811
838
  createWorkspace,
812
839
  toHandle,
813
- gitUser
840
+ gitUser,
841
+ repoIdKey,
842
+ cloneUrlKey,
843
+ SAME_ID_WHY,
844
+ nearRepos
814
845
  };
@@ -7,14 +7,14 @@ import {
7
7
  clientFor,
8
8
  inputsSha256,
9
9
  loadExecutors
10
- } from "./chunk-6OJQOPUN.js";
10
+ } from "./chunk-VKTXFFOZ.js";
11
11
  import {
12
12
  runDialectTests
13
- } from "./chunk-CQDGOPGH.js";
13
+ } from "./chunk-G6EFXTUO.js";
14
14
  import {
15
15
  fsRepo,
16
16
  scanRepo
17
- } from "./chunk-3NFFJL5D.js";
17
+ } from "./chunk-PQQKZPBU.js";
18
18
  import {
19
19
  AI_SCHEMA_VERSION,
20
20
  API_VERSION,
@@ -41,10 +41,10 @@ import {
41
41
  recordPath,
42
42
  recordReferences,
43
43
  serializeRecord
44
- } from "./chunk-Q2TECDIT.js";
44
+ } from "./chunk-FPBUTZI5.js";
45
45
  import {
46
46
  SCHEMA_VERSION
47
- } from "./chunk-TUULXQRW.js";
47
+ } from "./chunk-B4AEL3RF.js";
48
48
  import {
49
49
  require_dist
50
50
  } from "./chunk-BQGDB6ZL.js";
@@ -5,25 +5,25 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  targetFlowsOf
8
- } from "./chunk-IH2XURVQ.js";
8
+ } from "./chunk-FMJYKLDY.js";
9
9
  import {
10
10
  estimateChange,
11
11
  loadRelease,
12
12
  releaseForecast
13
- } from "./chunk-WF7B67YE.js";
13
+ } from "./chunk-LPDTDFKA.js";
14
14
  import {
15
15
  gateStatus,
16
16
  reviewedGates
17
- } from "./chunk-S4PMJU6H.js";
17
+ } from "./chunk-D6BVLTDV.js";
18
18
  import {
19
19
  detectConflicts,
20
20
  outsideSystemsOf
21
- } from "./chunk-IDKCWSM5.js";
21
+ } from "./chunk-WZYM5M4U.js";
22
22
  import {
23
23
  loadEstimates,
24
24
  loadOrgPack,
25
25
  orgPackDirOf
26
- } from "./chunk-Q2TECDIT.js";
26
+ } from "./chunk-FPBUTZI5.js";
27
27
 
28
28
  // packages/cli/dist/change-estimate.js
29
29
  import { relative, sep } from "node:path";