@maycombhq/atticus 2.0.0-beta.21 → 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 (280) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-TJH2EUAZ.js → chunk-23XVSEV5.js} +20 -18
  3. package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
  4. package/dist/{chunk-DCWN3HFV.js → chunk-24XLDU72.js} +4 -3
  5. package/dist/{chunk-Q46QDDMF.js → chunk-2F4CYZKJ.js} +14 -9
  6. package/dist/{chunk-75ASLHBT.js → chunk-2GF7OLF3.js} +17 -15
  7. package/dist/chunk-2IIMFOPM.js +41 -0
  8. package/dist/{chunk-JRVNXLZP.js → chunk-2LGRMVCA.js} +14 -12
  9. package/dist/{chunk-62DLJSLV.js → chunk-2MMCFP5C.js} +10 -8
  10. package/dist/{chunk-UF4UHCIG.js → chunk-2Q56PQPS.js} +6 -4
  11. package/dist/{chunk-5TDRBOAV.js → chunk-2Q5EDGEO.js} +7 -5
  12. package/dist/{chunk-NYOABJNK.js → chunk-2RLKFUUL.js} +26 -24
  13. package/dist/chunk-2SKB4O2E.js +59 -0
  14. package/dist/{chunk-GCS3FZOB.js → chunk-34S2WGOB.js} +13 -4
  15. package/dist/{chunk-7AB6OWTV.js → chunk-3NFFJL5D.js} +31 -25
  16. package/dist/{chunk-GC2VK3JT.js → chunk-3NWDLGG6.js} +28 -25
  17. package/dist/{chunk-FLVZFTLQ.js → chunk-3RM4UK6W.js} +20 -18
  18. package/dist/{chunk-CNU5Q2D5.js → chunk-42SIDKEU.js} +37 -29
  19. package/dist/{chunk-K6JB6XTX.js → chunk-4EURQWQD.js} +20 -15
  20. package/dist/{chunk-OMPENNWY.js → chunk-4U276ICE.js} +1 -1
  21. package/dist/{chunk-JAABT3DA.js → chunk-53T4O55J.js} +4 -3
  22. package/dist/{chunk-YTTNTQOX.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-KYZMRSPS.js → chunk-5NMKONLP.js} +5 -3
  26. package/dist/{chunk-5CMPVC3N.js → chunk-5SJZW52K.js} +25 -23
  27. package/dist/{chunk-YAH5IQAL.js → chunk-63YRMR6J.js} +6 -5
  28. package/dist/{chunk-GUYL7RMK.js → chunk-66PPNOON.js} +27 -25
  29. package/dist/chunk-6H3Z5JHH.js +64 -0
  30. package/dist/{chunk-Y6K3CJBU.js → chunk-6MUGR4LS.js} +75 -27
  31. package/dist/{chunk-DDJPM5YX.js → chunk-6OJQOPUN.js} +5 -3
  32. package/dist/{chunk-2V2ZPQQU.js → chunk-6PPOWY5E.js} +9 -7
  33. package/dist/{chunk-YO2PKTXT.js → chunk-6ZGLAACW.js} +5 -3
  34. package/dist/{chunk-LIJJCBQI.js → chunk-6ZJ5A7AF.js} +15 -16
  35. package/dist/{chunk-64AADMTW.js → chunk-745DAZ4L.js} +50 -12
  36. package/dist/{chunk-VYOCPTUB.js → chunk-7ASNL4Q4.js} +17 -15
  37. package/dist/{chunk-XEQCQO66.js → chunk-7BR7IPOH.js} +10 -8
  38. package/dist/{chunk-X2CUXTWU.js → chunk-7DOR27HL.js} +6 -6
  39. package/dist/{chunk-G6IQYM25.js → chunk-7FTTA3HD.js} +8 -6
  40. package/dist/{chunk-FAJDKNSD.js → chunk-7GJS6DNX.js} +8 -3
  41. package/dist/{chunk-4KNOJC6J.js → chunk-7IGKHZ4Z.js} +55 -13
  42. package/dist/{chunk-3WON4G3M.js → chunk-7IOWA5D5.js} +11 -6
  43. package/dist/{chunk-PNQLCRSS.js → chunk-7JITZFJC.js} +7 -5
  44. package/dist/{chunk-2D7PWSOK.js → chunk-7MJSQTL5.js} +22 -20
  45. package/dist/{chunk-AE4P57KK.js → chunk-7UOMVMFG.js} +17 -15
  46. package/dist/{chunk-GK4PYVEC.js → chunk-AFWUDXEM.js} +10 -8
  47. package/dist/chunk-AFZ3QA6W.js +47 -0
  48. package/dist/{chunk-7FUIVIBG.js → chunk-AJQ72EBM.js} +13 -8
  49. package/dist/{chunk-QOOEYDNJ.js → chunk-AJYXNTNZ.js} +6 -6
  50. package/dist/chunk-AVTBS4OW.js +49 -0
  51. package/dist/{chunk-WFU77T3A.js → chunk-BDKC6H5P.js} +5 -5
  52. package/dist/{chunk-3AQ2R5NL.js → chunk-BEVTIBRH.js} +9 -7
  53. package/dist/{chunk-J5AAZ6OJ.js → chunk-BHT7QK4G.js} +5 -4
  54. package/dist/{chunk-UFE36WJH.js → chunk-BIGDQDHD.js} +6 -4
  55. package/dist/{chunk-WNTIOBOG.js → chunk-BO4KX37X.js} +20 -18
  56. package/dist/{chunk-455SYIIE.js → chunk-BPK5P77O.js} +5 -3
  57. package/dist/{chunk-OZJ3JLYI.js → chunk-BQ4SQQC6.js} +10 -9
  58. package/dist/chunk-BQGDB6ZL.js +7342 -0
  59. package/dist/{chunk-EZIN5E5B.js → chunk-BTGPE6CR.js} +11 -9
  60. package/dist/{chunk-265LWMOA.js → chunk-BTY3HZBO.js} +18 -16
  61. package/dist/{chunk-TW3KOSQK.js → chunk-BXYMYEJ4.js} +7 -6
  62. package/dist/{chunk-HK3VOHIE.js → chunk-C3RY6KU6.js} +119 -18
  63. package/dist/chunk-C4R4JLHE.js +40 -0
  64. package/dist/{chunk-Z3QFH7YG.js → chunk-CADWLE2T.js} +5 -4
  65. package/dist/{chunk-J2O4LFVI.js → chunk-CBGGOQWU.js} +6 -4
  66. package/dist/chunk-CMDXGQTS.js +47 -0
  67. package/dist/{chunk-TWQRPM76.js → chunk-CQDGOPGH.js} +23 -16
  68. package/dist/{chunk-5PV7S2ZP.js → chunk-CX4RZ2KS.js} +4 -3
  69. package/dist/{chunk-JYMIB5XY.js → chunk-CXJ6FUKN.js} +164 -44
  70. package/dist/{chunk-D57MFJPP.js → chunk-D73UEXYW.js} +3 -3
  71. package/dist/{chunk-UYLBRRFK.js → chunk-DCZWQLYT.js} +125 -26
  72. package/dist/chunk-DLOBCJL6.js +48 -0
  73. package/dist/{chunk-IFHDV6KQ.js → chunk-DOBQKHIF.js} +23 -23
  74. package/dist/{chunk-QJCJOMW3.js → chunk-E3ISYXO3.js} +19 -21
  75. package/dist/{chunk-VAMHOHUU.js → chunk-E6ZIEVOI.js} +16 -13
  76. package/dist/{chunk-EFCQSMXB.js → chunk-EBL2R3YG.js} +10 -4
  77. package/dist/{chunk-HGHRSF3E.js → chunk-EGQRREQH.js} +25 -17
  78. package/dist/{chunk-3J5I7ZOU.js → chunk-EHA7RMZ3.js} +4 -4
  79. package/dist/{chunk-7CZHUZBL.js → chunk-EIPTLPFC.js} +38 -27
  80. package/dist/{chunk-UZACEG2C.js → chunk-EMRIQUND.js} +17 -15
  81. package/dist/{chunk-RALY3E5U.js → chunk-EPCJQQWD.js} +6 -4
  82. package/dist/{chunk-VUVGX5L2.js → chunk-F3P7N7SF.js} +1 -1
  83. package/dist/{chunk-RA33EYS4.js → chunk-FFLNS6VP.js} +19 -17
  84. package/dist/{chunk-OPQZISG3.js → chunk-FFTRTL6R.js} +5 -4
  85. package/dist/{chunk-DUPZPDCJ.js → chunk-FPJPLKDW.js} +18 -14
  86. package/dist/{chunk-2HH3UCZM.js → chunk-FSMSFDLD.js} +5 -4
  87. package/dist/{chunk-AHW3RY3X.js → chunk-FUJM6RTF.js} +8 -7
  88. package/dist/{chunk-2UCRFXFZ.js → chunk-FZOJFH7Q.js} +13 -11
  89. package/dist/{chunk-BVWWPBKD.js → chunk-G6X77UJZ.js} +20 -18
  90. package/dist/{chunk-BPPU3PW7.js → chunk-GCWRWSU7.js} +10 -4
  91. package/dist/chunk-GIW4ZVDB.js +39 -0
  92. package/dist/{chunk-FY3QIRTL.js → chunk-GUX3PTYM.js} +3 -3
  93. package/dist/{chunk-BA2HUMDN.js → chunk-GZY6RUZ6.js} +2 -2
  94. package/dist/chunk-H4VO6WG3.js +10 -0
  95. package/dist/{chunk-UEVZZZU2.js → chunk-H5HBGNXU.js} +5 -4
  96. package/dist/{chunk-GS76RXQE.js → chunk-H7KM7LZE.js} +15 -12
  97. package/dist/{chunk-I2A3Z5AK.js → chunk-HNM2YQT2.js} +4 -4
  98. package/dist/{chunk-3UTYPHN3.js → chunk-HYU5VLGA.js} +1 -1
  99. package/dist/{chunk-HSZMPH5T.js → chunk-IDKCWSM5.js} +225 -50
  100. package/dist/{chunk-BXZ4PKIT.js → chunk-IFKEI4SA.js} +15 -11
  101. package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
  102. package/dist/{chunk-GNWAOVFQ.js → chunk-IH2XURVQ.js} +5 -5
  103. package/dist/{chunk-YIGBJNH4.js → chunk-INQHESFB.js} +5 -4
  104. package/dist/chunk-IP74LCOQ.js +57 -0
  105. package/dist/chunk-IPHHDDC6.js +45 -0
  106. package/dist/{chunk-5WERBKLE.js → chunk-ISUAAMGS.js} +42 -221
  107. package/dist/{chunk-7FHNFCHK.js → chunk-IUPG3UKI.js} +154 -368
  108. package/dist/{chunk-HWD4JPU7.js → chunk-IVBOQAGB.js} +4 -2
  109. package/dist/{chunk-4SLBCEPD.js → chunk-J2JAKCIW.js} +88 -57
  110. package/dist/{chunk-G5YJBNDZ.js → chunk-J3IOLXWM.js} +8 -6
  111. package/dist/{chunk-FQ6WH6PB.js → chunk-JA5FI3QV.js} +6 -4
  112. package/dist/chunk-JAVI7JSP.js +49 -0
  113. package/dist/{chunk-ZFQMMU5Y.js → chunk-JB5LINEM.js} +6 -2
  114. package/dist/{chunk-LQH4P45K.js → chunk-JENSEMXF.js} +1 -1
  115. package/dist/{chunk-M6D2U3YM.js → chunk-JJF6HALY.js} +4 -3
  116. package/dist/chunk-JLUCKAEL.js +38 -0
  117. package/dist/{chunk-M4H2UG4R.js → chunk-JRBFANFE.js} +19 -16
  118. package/dist/{chunk-YZDZOEV4.js → chunk-KDNTAPLX.js} +3 -3
  119. package/dist/{chunk-IFFRGC3N.js → chunk-KFAVQZSX.js} +14 -12
  120. package/dist/chunk-KJXD4PNL.js +50 -0
  121. package/dist/chunk-KN5BXMWN.js +44 -0
  122. package/dist/{chunk-HXXP2NTE.js → chunk-KQGURXFU.js} +9 -7
  123. package/dist/{chunk-PQH56YF6.js → chunk-KXITGYLF.js} +6 -4
  124. package/dist/{chunk-MMZUN7ZO.js → chunk-L27SV425.js} +22 -20
  125. package/dist/{chunk-XQ3YZ4QW.js → chunk-LDLL7LB3.js} +24 -22
  126. package/dist/{chunk-6DQYZU2W.js → chunk-LFGTYX5U.js} +15 -15
  127. package/dist/{chunk-4D62IZII.js → chunk-LGBMTVNT.js} +7 -5
  128. package/dist/{chunk-YKTE2RU3.js → chunk-LGFL54FP.js} +3 -2
  129. package/dist/{chunk-GDZB57IU.js → chunk-LJXMYKZJ.js} +7 -5
  130. package/dist/{chunk-YJ3TBOTK.js → chunk-LKOR5UET.js} +29 -26
  131. package/dist/{chunk-WIWTJMMR.js → chunk-LNBQOP7D.js} +23 -21
  132. package/dist/{chunk-TGVVUKTG.js → chunk-LO6P2VYG.js} +2 -2
  133. package/dist/{chunk-HE3HRDNZ.js → chunk-LQJPN536.js} +2 -2
  134. package/dist/{chunk-PRW3HXM3.js → chunk-LYBNHMVZ.js} +29 -5
  135. package/dist/{chunk-75ZOZFGH.js → chunk-LZ7NUC62.js} +20 -18
  136. package/dist/chunk-M32BLWDH.js +37 -0
  137. package/dist/{chunk-QKMRFNMA.js → chunk-M3NANSDZ.js} +17 -15
  138. package/dist/chunk-MFHL5URL.js +31 -0
  139. package/dist/{chunk-TYD6I4CZ.js → chunk-MFR5OPBD.js} +6 -6
  140. package/dist/{chunk-LIRVU3HW.js → chunk-MG4ZL5RW.js} +32 -20
  141. package/dist/{chunk-ICHDSWEY.js → chunk-MO6P2JZH.js} +10 -8
  142. package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/{chunk-E57AOFYN.js → chunk-MZCGSXVR.js} +15 -13
  144. package/dist/{chunk-77O633L5.js → chunk-N3XIYPU3.js} +14 -12
  145. package/dist/{chunk-CG6CULP6.js → chunk-NDCF4R6S.js} +7 -5
  146. package/dist/{chunk-JS6WMC3J.js → chunk-NR2UJWOC.js} +10 -8
  147. package/dist/chunk-NXJ5URP6.js +51 -0
  148. package/dist/{chunk-NTAVOWYD.js → chunk-NY2XSR5K.js} +20 -18
  149. package/dist/{chunk-PUEWDYGP.js → chunk-O45HFTFS.js} +3 -2
  150. package/dist/{chunk-URIKUID7.js → chunk-O4GXGGBX.js} +14 -12
  151. package/dist/{chunk-C7CEK3KW.js → chunk-O5PXQR67.js} +7 -5
  152. package/dist/{chunk-E2VXBSIR.js → chunk-O66DM6DJ.js} +6 -4
  153. package/dist/{chunk-P2VBXX7N.js → chunk-O7FDLW7L.js} +11 -9
  154. package/dist/{chunk-COYN3UAN.js → chunk-O7XLYEFA.js} +59 -22
  155. package/dist/{chunk-5QUOPNLN.js → chunk-OHNCWBKF.js} +4 -4
  156. package/dist/{chunk-AZDITBCT.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-L4CESDPB.js → chunk-OUBGGKDU.js} +1 -1
  161. package/dist/{chunk-4FOAYLI4.js → chunk-OWNCM4ZN.js} +9 -7
  162. package/dist/{chunk-4B6BT75O.js → chunk-P2V7QW4D.js} +81 -24
  163. package/dist/{chunk-QHJJMZLX.js → chunk-P32RUW3B.js} +167 -92
  164. package/dist/{chunk-F6H2RJ3N.js → chunk-PAQ2AS5E.js} +1 -1
  165. package/dist/{chunk-ZLS6PU2O.js → chunk-PBPBMP2B.js} +4 -3
  166. package/dist/{chunk-ZOSD4FXV.js → chunk-PJSJPMJI.js} +3 -3
  167. package/dist/{chunk-XOL3GFW2.js → chunk-PKBHS4AA.js} +68 -31
  168. package/dist/{chunk-ZZFHLRQW.js → chunk-PMUAJGLI.js} +18 -16
  169. package/dist/{chunk-SH27FYPF.js → chunk-PPD7HTDP.js} +20 -18
  170. package/dist/chunk-PSOFBQWB.js +42 -0
  171. package/dist/{chunk-PAINMSID.js → chunk-Q2TECDIT.js} +987 -7619
  172. package/dist/{chunk-LU4MQVAL.js → chunk-Q4K5WB2W.js} +11 -10
  173. package/dist/{chunk-ECLXZWAG.js → chunk-Q6DFNVRJ.js} +14 -12
  174. package/dist/chunk-QA4O2GGC.js +265 -0
  175. package/dist/{chunk-4WXRPQDE.js → chunk-QAXW2N3B.js} +182 -33
  176. package/dist/{chunk-WCEF7H6L.js → chunk-QFWA2DPH.js} +8 -5
  177. package/dist/{chunk-CPK7QSBG.js → chunk-QKUJMING.js} +8 -6
  178. package/dist/{chunk-LEBR5NHW.js → chunk-R44CYFPV.js} +18 -15
  179. package/dist/{chunk-BEPCKDCP.js → chunk-R7NYHMUU.js} +153 -84
  180. package/dist/{chunk-G6X4YL4D.js → chunk-REWWDVQB.js} +5 -4
  181. package/dist/{chunk-LN77DXBM.js → chunk-RGERPOIV.js} +10 -10
  182. package/dist/{chunk-UDXWIPCB.js → chunk-RLDGWLQ7.js} +9 -7
  183. package/dist/chunk-RUGXBPWI.js +384 -0
  184. package/dist/{chunk-FYBF5MB2.js → chunk-RXPJMEOW.js} +13 -11
  185. package/dist/{chunk-K332XW7K.js → chunk-S4PMJU6H.js} +20 -9
  186. package/dist/{chunk-THN26IEF.js → chunk-S7FCV7S5.js} +4 -1
  187. package/dist/{chunk-OV57AHCG.js → chunk-SDKLKB6I.js} +26 -24
  188. package/dist/{chunk-O4IKAIZ2.js → chunk-SFSPGFCV.js} +28 -22
  189. package/dist/{chunk-TQ4TG57V.js → chunk-SFUP7TTO.js} +4 -4
  190. package/dist/{chunk-YBOVNMHC.js → chunk-SLXZOMA6.js} +29 -16
  191. package/dist/{chunk-LWDNKE4X.js → chunk-SQV37XO2.js} +6 -6
  192. package/dist/{chunk-67BP7HXL.js → chunk-SU74NDMQ.js} +19 -17
  193. package/dist/{chunk-JKIGL3XQ.js → chunk-SYV5LHML.js} +36 -33
  194. package/dist/chunk-T4YPZIQN.js +36 -0
  195. package/dist/{chunk-GX74YWR7.js → chunk-T6DQR5TV.js} +16 -14
  196. package/dist/{chunk-LNWEWYCM.js → chunk-THDMSZ3R.js} +345 -253
  197. package/dist/{chunk-NCB6656Z.js → chunk-TNR75OXT.js} +7 -7
  198. package/dist/{chunk-ODMBPDDV.js → chunk-TUULXQRW.js} +124 -2
  199. package/dist/{chunk-MD7KUEJ3.js → chunk-TYQBFTBR.js} +9 -7
  200. package/dist/chunk-U76OWS3Q.js +49 -0
  201. package/dist/{chunk-GSGIZ2OO.js → chunk-UCROWG2D.js} +27 -24
  202. package/dist/{chunk-PTQ3ZALZ.js → chunk-UF4AZOZB.js} +14 -12
  203. package/dist/{chunk-QE527XRY.js → chunk-UF4GLFBX.js} +26 -23
  204. package/dist/{chunk-YWAKDNMH.js → chunk-UGUP3ZM6.js} +70 -19
  205. package/dist/{chunk-3G6S7LAA.js → chunk-UNAGJYET.js} +14 -12
  206. package/dist/{chunk-EDZ45WIR.js → chunk-UOR2DTHH.js} +16 -14
  207. package/dist/{chunk-42EPP7OB.js → chunk-UPOY4YSQ.js} +14 -12
  208. package/dist/{chunk-API5TOUB.js → chunk-UPS2DGFC.js} +1 -1
  209. package/dist/{chunk-D2WSW4GU.js → chunk-UUU4CLJG.js} +4 -2
  210. package/dist/{chunk-ZKYRDV7A.js → chunk-UWMJKX5U.js} +14 -12
  211. package/dist/{chunk-HS4BGB4G.js → chunk-UWOJLHFT.js} +25 -23
  212. package/dist/{chunk-OKUB6RJA.js → chunk-VBTP56CE.js} +8 -6
  213. package/dist/{chunk-3SSTNB4E.js → chunk-VCTWPLAO.js} +34 -14
  214. package/dist/{chunk-YF5DZCPN.js → chunk-VNU26RCO.js} +37 -34
  215. package/dist/{chunk-AOCWFA7T.js → chunk-VTZMAJ3W.js} +8 -8
  216. package/dist/{chunk-ZQLRCA2V.js → chunk-VW62D6QE.js} +10 -8
  217. package/dist/{chunk-WAZEXEJH.js → chunk-VY72R2XZ.js} +45 -2
  218. package/dist/{chunk-WEOMJHPV.js → chunk-VZALIKIF.js} +18 -15
  219. package/dist/{chunk-TSM6T6GQ.js → chunk-W62H2XSO.js} +25 -23
  220. package/dist/{chunk-BC6KKZ67.js → chunk-W7VWI2YH.js} +9 -6
  221. package/dist/{chunk-LO3BLMVG.js → chunk-WERM6KPJ.js} +7 -4
  222. package/dist/{chunk-36RY7ZXM.js → chunk-WF7B67YE.js} +88 -26
  223. package/dist/{chunk-TQTRWENN.js → chunk-WG5U3F5V.js} +14 -12
  224. package/dist/{chunk-NRQ65LTQ.js → chunk-WJF2CS6M.js} +6 -5
  225. package/dist/{chunk-FVMPFCDS.js → chunk-WKUJ3KPV.js} +4 -4
  226. package/dist/{chunk-BA3U7ALS.js → chunk-WMTRHUI5.js} +26 -22
  227. package/dist/chunk-WNKPRSGI.js +36 -0
  228. package/dist/{chunk-GIFMBCTW.js → chunk-WXFLMQSR.js} +10 -8
  229. package/dist/{chunk-JYTIHTIK.js → chunk-X3WY6MN3.js} +4 -4
  230. package/dist/{chunk-S2RY3BOD.js → chunk-X4CXA2IL.js} +31 -21
  231. package/dist/{chunk-26Z7OGQW.js → chunk-X5F3Q5LV.js} +60 -30
  232. package/dist/{chunk-4CLK2RJO.js → chunk-XD75VZIH.js} +6 -4
  233. package/dist/{chunk-KDAHXQIE.js → chunk-XERYFDB5.js} +37 -34
  234. package/dist/{chunk-U3NBK4EU.js → chunk-XI2LCCYQ.js} +8 -8
  235. package/dist/{chunk-MZGRDONP.js → chunk-Y2EQNWKV.js} +55 -38
  236. package/dist/{chunk-A2G72UI4.js → chunk-YHCMZC2J.js} +7 -7
  237. package/dist/{chunk-4TKVU2I2.js → chunk-YYY3AZFE.js} +2 -2
  238. package/dist/{chunk-2HTEMYTB.js → chunk-Z5IA3WDR.js} +17 -15
  239. package/dist/{chunk-FRHD22WM.js → chunk-ZFFYNRIO.js} +25 -23
  240. package/dist/{chunk-6EXDI5GI.js → chunk-ZFL7NY4F.js} +43 -40
  241. package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
  242. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  243. package/dist/{chunk-CNPY4NTZ.js → chunk-ZJFRMSJT.js} +15 -13
  244. package/dist/{chunk-Q26LDIUV.js → chunk-ZJXLNDH4.js} +18 -15
  245. package/dist/{chunk-LPV6T362.js → chunk-ZQ3ON2VQ.js} +8 -6
  246. package/dist/{chunk-ZX7235KR.js → chunk-ZQ7SKESZ.js} +44 -383
  247. package/dist/{chunk-7QPCGTPS.js → chunk-ZQXZ2SES.js} +24 -21
  248. package/dist/{chunk-4CYTJ5TZ.js → chunk-ZX57KSEQ.js} +4 -3
  249. package/dist/{chunk-37WE3LS2.js → chunk-ZZK56BLP.js} +5 -3
  250. package/dist/files.json +533 -509
  251. package/dist/packages/sdk/npm/index.js +448 -67
  252. package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.js → elk-api-CIf-0gz5.js} +2 -2
  253. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
  254. package/dist/packages/ui/dist/index.html +2 -1
  255. package/package.json +4 -4
  256. package/dist/chunk-26WBY34Y.js +0 -37
  257. package/dist/chunk-3TD6S4TC.js +0 -49
  258. package/dist/chunk-5G7ILBUG.js +0 -66
  259. package/dist/chunk-6FNAKCET.js +0 -38
  260. package/dist/chunk-AM6FP6JW.js +0 -43
  261. package/dist/chunk-CFH3QH26.js +0 -29
  262. package/dist/chunk-CLD4RVTA.js +0 -45
  263. package/dist/chunk-D5KV5PSK.js +0 -45
  264. package/dist/chunk-D5MASS4I.js +0 -48
  265. package/dist/chunk-DN4A2Q2O.js +0 -57
  266. package/dist/chunk-FGAGWYZB.js +0 -47
  267. package/dist/chunk-JITJP64K.js +0 -34
  268. package/dist/chunk-JRXHON4E.js +0 -41
  269. package/dist/chunk-JU4QNJSR.js +0 -62
  270. package/dist/chunk-N3RUGTGV.js +0 -39
  271. package/dist/chunk-PKJAV25S.js +0 -43
  272. package/dist/chunk-PRTBPXYA.js +0 -50
  273. package/dist/chunk-PRZ7KMWL.js +0 -42
  274. package/dist/chunk-QSIDVFB7.js +0 -45
  275. package/dist/chunk-SB5GRUFM.js +0 -54
  276. package/dist/chunk-T74WQQGS.js +0 -40
  277. package/dist/chunk-X7EMBM5X.js +0 -34
  278. package/dist/chunk-Z6VLC5X4.js +0 -36
  279. package/dist/chunk-ZPDDEVQX.js +0 -47
  280. package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +0 -47
@@ -7,29 +7,31 @@ import {
7
7
  ConformError,
8
8
  conformChange,
9
9
  conformanceOf
10
- } from "./chunk-Y6K3CJBU.js";
11
- import "./chunk-EZIN5E5B.js";
12
- import "./chunk-3LZ6P5EP.js";
13
- import "./chunk-YWAKDNMH.js";
14
- import "./chunk-3AQ2R5NL.js";
15
- import "./chunk-BEPCKDCP.js";
16
- import "./chunk-HWD4JPU7.js";
17
- import "./chunk-5WERBKLE.js";
18
- import "./chunk-K332XW7K.js";
19
- import "./chunk-HSZMPH5T.js";
20
- import "./chunk-D2WSW4GU.js";
21
- import "./chunk-4KNOJC6J.js";
22
- import "./chunk-4SLBCEPD.js";
23
- import "./chunk-64AADMTW.js";
24
- import "./chunk-JYMIB5XY.js";
25
- import "./chunk-CPK7QSBG.js";
26
- import "./chunk-YO2PKTXT.js";
27
- import "./chunk-TWQRPM76.js";
28
- import "./chunk-XOL3GFW2.js";
29
- import "./chunk-QHJJMZLX.js";
30
- import "./chunk-7AB6OWTV.js";
31
- import "./chunk-PAINMSID.js";
32
- import "./chunk-ODMBPDDV.js";
10
+ } from "./chunk-6MUGR4LS.js";
11
+ import "./chunk-BTGPE6CR.js";
12
+ import "./chunk-MUWDB4R4.js";
13
+ import "./chunk-UGUP3ZM6.js";
14
+ import "./chunk-R7NYHMUU.js";
15
+ import "./chunk-IVBOQAGB.js";
16
+ import "./chunk-ISUAAMGS.js";
17
+ import "./chunk-BEVTIBRH.js";
18
+ import "./chunk-S4PMJU6H.js";
19
+ import "./chunk-IDKCWSM5.js";
20
+ import "./chunk-UUU4CLJG.js";
21
+ import "./chunk-7IGKHZ4Z.js";
22
+ import "./chunk-J2JAKCIW.js";
23
+ import "./chunk-745DAZ4L.js";
24
+ import "./chunk-CXJ6FUKN.js";
25
+ import "./chunk-QKUJMING.js";
26
+ import "./chunk-6ZGLAACW.js";
27
+ import "./chunk-CQDGOPGH.js";
28
+ import "./chunk-3NFFJL5D.js";
29
+ import "./chunk-PKBHS4AA.js";
30
+ import "./chunk-P32RUW3B.js";
31
+ import "./chunk-QA4O2GGC.js";
32
+ import "./chunk-Q2TECDIT.js";
33
+ import "./chunk-TUULXQRW.js";
34
+ import "./chunk-BQGDB6ZL.js";
33
35
  import "./chunk-TV45EUGM.js";
34
36
 
35
37
  // packages/cli/dist/change-conform.js
@@ -9,12 +9,13 @@ import {
9
9
  todoList,
10
10
  todoRun,
11
11
  todoShow
12
- } from "./chunk-ZFQMMU5Y.js";
13
- import "./chunk-DDJPM5YX.js";
12
+ } from "./chunk-JB5LINEM.js";
13
+ import "./chunk-6OJQOPUN.js";
14
14
  import "./chunk-VOGCSYOI.js";
15
- import "./chunk-4KNOJC6J.js";
16
- import "./chunk-PAINMSID.js";
17
- import "./chunk-ODMBPDDV.js";
15
+ import "./chunk-7IGKHZ4Z.js";
16
+ import "./chunk-Q2TECDIT.js";
17
+ import "./chunk-TUULXQRW.js";
18
+ import "./chunk-BQGDB6ZL.js";
18
19
  import "./chunk-TV45EUGM.js";
19
20
  export {
20
21
  executorsCheck,
@@ -17,31 +17,33 @@ import {
17
17
  rulesTryCommand,
18
18
  scopeFile,
19
19
  tryDiff
20
- } from "./chunk-JRVNXLZP.js";
21
- import "./chunk-LIJJCBQI.js";
22
- import "./chunk-26Z7OGQW.js";
23
- import "./chunk-OKUB6RJA.js";
24
- import "./chunk-THN26IEF.js";
25
- import "./chunk-L4CESDPB.js";
26
- import "./chunk-455SYIIE.js";
27
- import "./chunk-3J5I7ZOU.js";
28
- import "./chunk-GIFMBCTW.js";
29
- import "./chunk-MD7KUEJ3.js";
30
- import "./chunk-Q46QDDMF.js";
31
- import "./chunk-TGVVUKTG.js";
32
- import "./chunk-3AQ2R5NL.js";
33
- import "./chunk-4SLBCEPD.js";
34
- import "./chunk-64AADMTW.js";
35
- import "./chunk-JYMIB5XY.js";
36
- import "./chunk-CPK7QSBG.js";
37
- import "./chunk-YO2PKTXT.js";
38
- import "./chunk-TWQRPM76.js";
39
- import "./chunk-VUVGX5L2.js";
40
- import "./chunk-XOL3GFW2.js";
41
- import "./chunk-QHJJMZLX.js";
42
- import "./chunk-7AB6OWTV.js";
43
- import "./chunk-PAINMSID.js";
44
- import "./chunk-ODMBPDDV.js";
20
+ } from "./chunk-2LGRMVCA.js";
21
+ import "./chunk-6ZJ5A7AF.js";
22
+ import "./chunk-X5F3Q5LV.js";
23
+ import "./chunk-VBTP56CE.js";
24
+ import "./chunk-S7FCV7S5.js";
25
+ import "./chunk-OUBGGKDU.js";
26
+ import "./chunk-BPK5P77O.js";
27
+ import "./chunk-EHA7RMZ3.js";
28
+ import "./chunk-WXFLMQSR.js";
29
+ import "./chunk-TYQBFTBR.js";
30
+ import "./chunk-2F4CYZKJ.js";
31
+ import "./chunk-LO6P2VYG.js";
32
+ import "./chunk-BEVTIBRH.js";
33
+ import "./chunk-J2JAKCIW.js";
34
+ import "./chunk-745DAZ4L.js";
35
+ import "./chunk-CXJ6FUKN.js";
36
+ import "./chunk-QKUJMING.js";
37
+ import "./chunk-6ZGLAACW.js";
38
+ import "./chunk-CQDGOPGH.js";
39
+ import "./chunk-3NFFJL5D.js";
40
+ import "./chunk-F3P7N7SF.js";
41
+ import "./chunk-PKBHS4AA.js";
42
+ import "./chunk-P32RUW3B.js";
43
+ import "./chunk-QA4O2GGC.js";
44
+ import "./chunk-Q2TECDIT.js";
45
+ import "./chunk-TUULXQRW.js";
46
+ import "./chunk-BQGDB6ZL.js";
45
47
  import "./chunk-TV45EUGM.js";
46
48
  export {
47
49
  READS_AS_RULE,
@@ -0,0 +1,64 @@
1
+ import { createRequire as __atticusCreateRequire } from "node:module";
2
+ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
3
+ var require = __atticusCreateRequire(import.meta.url);
4
+ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
+ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
+ import {
7
+ MatchAnswer,
8
+ checkMatchAnswer,
9
+ connectMatchCommand,
10
+ matchBrief,
11
+ matchDone,
12
+ matchFilesOf,
13
+ matchLines,
14
+ quotesOf,
15
+ readMatch,
16
+ runMatch
17
+ } from "./chunk-E3ISYXO3.js";
18
+ import "./chunk-2LGRMVCA.js";
19
+ import "./chunk-VCTWPLAO.js";
20
+ import "./chunk-C3RY6KU6.js";
21
+ import "./chunk-6ZJ5A7AF.js";
22
+ import "./chunk-X5F3Q5LV.js";
23
+ import "./chunk-VBTP56CE.js";
24
+ import "./chunk-S7FCV7S5.js";
25
+ import "./chunk-OUBGGKDU.js";
26
+ import "./chunk-BPK5P77O.js";
27
+ import "./chunk-EHA7RMZ3.js";
28
+ import "./chunk-WXFLMQSR.js";
29
+ import "./chunk-TYQBFTBR.js";
30
+ import "./chunk-2F4CYZKJ.js";
31
+ import "./chunk-LO6P2VYG.js";
32
+ import "./chunk-ISUAAMGS.js";
33
+ import "./chunk-BEVTIBRH.js";
34
+ import "./chunk-S4PMJU6H.js";
35
+ import "./chunk-IDKCWSM5.js";
36
+ import "./chunk-UUU4CLJG.js";
37
+ import "./chunk-7IGKHZ4Z.js";
38
+ import "./chunk-J2JAKCIW.js";
39
+ import "./chunk-745DAZ4L.js";
40
+ import "./chunk-CXJ6FUKN.js";
41
+ import "./chunk-QKUJMING.js";
42
+ import "./chunk-6ZGLAACW.js";
43
+ import "./chunk-CQDGOPGH.js";
44
+ import "./chunk-3NFFJL5D.js";
45
+ import "./chunk-F3P7N7SF.js";
46
+ import "./chunk-PKBHS4AA.js";
47
+ import "./chunk-P32RUW3B.js";
48
+ import "./chunk-QA4O2GGC.js";
49
+ import "./chunk-Q2TECDIT.js";
50
+ import "./chunk-TUULXQRW.js";
51
+ import "./chunk-BQGDB6ZL.js";
52
+ import "./chunk-TV45EUGM.js";
53
+ export {
54
+ MatchAnswer,
55
+ checkMatchAnswer,
56
+ connectMatchCommand,
57
+ matchBrief,
58
+ matchDone,
59
+ matchFilesOf,
60
+ matchLines,
61
+ quotesOf,
62
+ readMatch,
63
+ runMatch
64
+ };
@@ -6,7 +6,7 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  slug,
8
8
  writeGateRound
9
- } from "./chunk-EZIN5E5B.js";
9
+ } from "./chunk-BTGPE6CR.js";
10
10
  import {
11
11
  catchUpChangeBranch,
12
12
  changeWorktree,
@@ -14,11 +14,9 @@ import {
14
14
  loadTask,
15
15
  openTaskWorktree,
16
16
  readChangeTasks,
17
- setTaskDone
18
- } from "./chunk-YWAKDNMH.js";
19
- import {
20
- buildEngineFor
21
- } from "./chunk-3AQ2R5NL.js";
17
+ setTaskDone,
18
+ taskBranchOwnCommits
19
+ } from "./chunk-UGUP3ZM6.js";
22
20
  import {
23
21
  conform,
24
22
  readConformDeltas,
@@ -26,38 +24,42 @@ import {
26
24
  renderTaskContext,
27
25
  taskContext,
28
26
  withBuildLine
29
- } from "./chunk-BEPCKDCP.js";
27
+ } from "./chunk-R7NYHMUU.js";
28
+ import {
29
+ buildEngineFor
30
+ } from "./chunk-BEVTIBRH.js";
30
31
  import {
31
32
  readChangeFiles,
32
33
  readRound,
33
34
  readStoryIndex,
34
35
  roundsOf,
35
36
  writeQuarantineItems
36
- } from "./chunk-K332XW7K.js";
37
+ } from "./chunk-S4PMJU6H.js";
37
38
  import {
38
39
  changeFolder,
39
40
  changeStore
40
- } from "./chunk-HSZMPH5T.js";
41
+ } from "./chunk-IDKCWSM5.js";
41
42
  import {
43
+ AdapterError,
42
44
  createAdapters,
43
45
  fileStepStore,
44
46
  requireApproval
45
- } from "./chunk-4KNOJC6J.js";
47
+ } from "./chunk-7IGKHZ4Z.js";
46
48
  import {
47
49
  scanEstate
48
- } from "./chunk-4SLBCEPD.js";
50
+ } from "./chunk-J2JAKCIW.js";
49
51
  import {
50
52
  baseClonePath,
51
53
  createGit,
52
54
  toRepoRelative
53
- } from "./chunk-XOL3GFW2.js";
55
+ } from "./chunk-PKBHS4AA.js";
54
56
  import {
55
57
  HandoffRuntime,
56
58
  buildContextPack,
57
59
  createRuntime,
58
60
  quarantineItems,
59
61
  toRunSummary
60
- } from "./chunk-QHJJMZLX.js";
62
+ } from "./chunk-P32RUW3B.js";
61
63
  import {
62
64
  AgentDefinition,
63
65
  ChecklistPack,
@@ -71,18 +73,20 @@ import {
71
73
  changesRelOf,
72
74
  external_exports,
73
75
  readRepoSpec,
74
- require_dist,
75
76
  runsDirOf,
76
77
  runsRelOf,
77
78
  stateDirOf,
78
79
  taskBranch,
79
80
  toCanonicalYaml
80
- } from "./chunk-PAINMSID.js";
81
+ } from "./chunk-Q2TECDIT.js";
81
82
  import {
82
83
  LockHeldError,
83
84
  acquireLock,
84
85
  writeFileAtomic
85
- } from "./chunk-ODMBPDDV.js";
86
+ } from "./chunk-TUULXQRW.js";
87
+ import {
88
+ require_dist
89
+ } from "./chunk-BQGDB6ZL.js";
86
90
  import {
87
91
  __toESM
88
92
  } from "./chunk-TV45EUGM.js";
@@ -564,7 +568,9 @@ ${s.body.trim()}`,
564
568
  id: "task-context",
565
569
  kind: "artifact",
566
570
  origin: `atticus task context ${t.change.id} ${t.task.id}`,
567
- text: renderTaskContext(context).replace(/\r\n/g, "\n"),
571
+ // The pack wraps and screens the whole file as one source, so its parts aren't fenced
572
+ // again inside it (review round 47).
573
+ text: renderTaskContext(context, { fence: false }).replace(/\r\n/g, "\n"),
568
574
  classification: "internal",
569
575
  priority: 35
570
576
  });
@@ -1112,6 +1118,12 @@ async function commit(c, runId) {
1112
1118
  await c.git(["add", "-A", "--", "."], c.worktree);
1113
1119
  const staged = (await c.git(["diff", "--cached", "--name-only"], c.worktree)).stdout.trim();
1114
1120
  if (!staged) {
1121
+ const own = await ownTaskCommit(c);
1122
+ if (own) {
1123
+ c.record.commit = own;
1124
+ c.record.notes.push(`Nothing new to commit: ${c.record.branch} already has this task's commit ${own.slice(0, 12)}, ahead of ${changeBranch(c.t.change.id)}, so it is the one built and raised.`);
1125
+ return true;
1126
+ }
1115
1127
  c.record.state = "needs-person";
1116
1128
  c.record.notes.push(`The AI's answer changed nothing in ${c.record.branch}, so there is nothing to commit: run the task again, or do it by hand in ${c.record.worktree}.`);
1117
1129
  return false;
@@ -1130,9 +1142,20 @@ Requested-By: ${c.record.by}`
1130
1142
  c.record.commit = (await c.git(["rev-parse", "HEAD"], c.worktree)).stdout.trim();
1131
1143
  return true;
1132
1144
  }
1145
+ async function ownTaskCommit(c) {
1146
+ const base = changeBranch(c.t.change.id);
1147
+ const log = await c.git(["log", "--format=%B%x00", `refs/heads/${base}..HEAD`], c.worktree).catch(() => ({ stdout: "" }));
1148
+ const mine = log.stdout.split("\0").some((m) => {
1149
+ const lines = m.split("\n").map((l) => l.trim());
1150
+ return lines.includes(`Atticus-Change: ${c.t.change.id}`) && lines.includes(`Atticus-Task: ${c.t.task.id}`);
1151
+ });
1152
+ if (!mine)
1153
+ return void 0;
1154
+ return (await c.git(["rev-parse", "HEAD"], c.worktree)).stdout.trim() || void 0;
1155
+ }
1133
1156
  async function openPr(c) {
1134
1157
  if (c.record.state !== "built") {
1135
- c.record.notes.push(c.record.state === "unverified" ? "No PR: a pull request needs a passing build, and this repo has no build command." : "No PR: the build doesn't pass.");
1158
+ c.record.notes.push(c.record.state === "unverified" ? `No PR: a pull request needs a passing build, and ${c.t.repo.id} has no build command: set a build command for ${c.t.repo.id} (build: under its entry in repos.manifest.yaml), then run task ${c.t.task.id} again.` : "No PR: the build doesn't pass.");
1136
1159
  if (c.record.state === "unverified")
1137
1160
  c.record.state = "needs-person";
1138
1161
  return;
@@ -1182,6 +1205,15 @@ async function openPr(c) {
1182
1205
  } catch (e) {
1183
1206
  if (e instanceof TaskRunError)
1184
1207
  throw e;
1208
+ if (e instanceof AdapterError && e.code === "conflict") {
1209
+ const open = (await c.gitHost.listPullRequests(c.t.repo.id, { head: c.record.branch }).catch(() => [])).filter((p) => p.base === base && (p.state === "open" || p.state === "draft")).at(0);
1210
+ if (open) {
1211
+ c.record.pr = { number: open.number, url: open.url };
1212
+ c.record.state = "pr-open";
1213
+ c.record.notes.push(`PR #${open.number} from ${c.record.branch} into ${base} was already open on the Git host; recorded it (${open.url}).`);
1214
+ return;
1215
+ }
1216
+ }
1185
1217
  c.record.notes.push(`${PR_NOT_RAISED} ${(e instanceof Error ? e.message : String(e)).replace(/\.?$/, ".")} The build still passes: fix that and raise the task's PR again (Raise the task's PR on the Task board), or push ${c.record.branch} and open its PR into ${base} yourself.`);
1186
1218
  }
1187
1219
  }
@@ -1251,7 +1283,7 @@ async function ownTaskPr(host, r, held) {
1251
1283
  return own;
1252
1284
  throw new TaskRunError("refused", `PR #${held.number} on the Git host is from ${pr.head}, not ${r.branch}, and no PR from ${r.branch} was found`);
1253
1285
  }
1254
- async function refuseIfHeld(root, t, host) {
1286
+ async function refuseIfHeld(root, t, host, git) {
1255
1287
  const before = await readTaskRun(root, t.change.id, t.task.id);
1256
1288
  if (before?.state === "pr-open") {
1257
1289
  let state;
@@ -1265,14 +1297,23 @@ async function refuseIfHeld(root, t, host) {
1265
1297
  } catch (e) {
1266
1298
  why = e instanceof Error ? e.message : String(e);
1267
1299
  }
1268
- if (before.pr && (state === "merged" || state === "closed"))
1269
- return [`Its earlier PR ${before.pr.url} is ${state}.`];
1300
+ if (before.pr && (state === "merged" || state === "closed")) {
1301
+ const own = await taskBranchOwnCommits(root, t.change.id, t.task.id, t.repo.id, git);
1302
+ if (own > 0) {
1303
+ const branch = taskBranch(t.change.id, t.task.id);
1304
+ const from = changeBranch(t.change.id);
1305
+ const clone = baseClonePath(root, t.repo.id);
1306
+ const carried = state === "closed" ? "the commits that PR carried" : "commits the change branch hasn't (a squash or rebase merge took them in another form)";
1307
+ throw new TaskRunError("refused", `Task ${t.task.id}'s earlier PR ${before.pr.url} is ${state}, and its branch ${branch} still has ${carried} (${own} not in ${from}): running the task again would raise them again. Atticus doesn't delete or rewrite them. To start the task afresh, remove its worktree and branch here (git -C ${clone} worktree remove ${join5(root, before.worktree)}, then git -C ${clone} branch -D ${branch}) and delete ${branch} on the Git host, then run the task again; or ask whoever looks after the workspace for a fresh start.`);
1308
+ }
1309
+ return { notes: [`Its earlier PR ${before.pr.url} is ${state}.`], settled: true };
1310
+ }
1270
1311
  throw new TaskRunError("refused", `Task ${t.task.id}'s PR is open (${before.pr?.url ?? "see its run"}): running the task again would start over beside it. Merge or close the PR first, then run the task again.${why ? ` (Atticus couldn't ask the Git host whether it still is: ${why}.)` : ""}`);
1271
1312
  }
1272
1313
  const open = ["prepared", "waiting", "produced", "failed"];
1273
1314
  if (before?.state === "waiting" && before.waiting && open.includes(await handoffRunState(root, t.change.id, before.waiting) ?? ""))
1274
1315
  throw new TaskRunError("refused", `Task ${t.task.id} already waits on your assistant (run ${before.waiting}, in ${before.worktree}): finish it with Done on its run page (Model runs) or atticus handoff done ${before.waiting}, or Cancel it there and run the task again.`);
1275
- return [];
1316
+ return { notes: [] };
1276
1317
  }
1277
1318
  async function taskPrState(root, changeId, taskId, o = {}) {
1278
1319
  const r = await readTaskRun(root, changeId, taskId).catch(() => void 0);
@@ -1347,7 +1388,7 @@ function gitHostConnected(root, t, given) {
1347
1388
  async function previewTaskRun(root, changeId, taskId, o = {}) {
1348
1389
  const t = await loadTask(root, changeId, taskId);
1349
1390
  const level = levelOf(t, o.level);
1350
- await refuseIfHeld(root, t, () => o.gitHost ?? gitHostOf(root, t));
1391
+ await refuseIfHeld(root, t, () => o.gitHost ?? gitHostOf(root, t), createGit());
1351
1392
  return {
1352
1393
  change: t.change.id,
1353
1394
  task: t.task.id,
@@ -1413,7 +1454,7 @@ async function runTaskHeld(root, changeId, taskId, o) {
1413
1454
  let t = await loadTask(root, changeId, taskId);
1414
1455
  const rt = t.ctx.orgPack.runtime;
1415
1456
  const level = levelOf(t, o.level);
1416
- const earlier = await refuseIfHeld(root, t, () => o.gitHost ?? gitHostOf(root, t));
1457
+ const earlier = await refuseIfHeld(root, t, () => o.gitHost ?? gitHostOf(root, t), git);
1417
1458
  if (level === "pr") {
1418
1459
  try {
1419
1460
  requireApproval("git-host", o.approval);
@@ -1424,9 +1465,9 @@ async function runTaskHeld(root, changeId, taskId, o) {
1424
1465
  const engine = buildEngineFor(t.ctx.orgPack, t.repo.id);
1425
1466
  const changeDir = await changeWorktree(root, t.change.id, t.repo.id);
1426
1467
  const handed = engine === "speckit" ? `specs/${t.task.id}/plan.md` : `.atticus/tasks/${t.task.id}.md`;
1427
- const notes = [...earlier];
1468
+ const notes = [...earlier.notes];
1428
1469
  try {
1429
- const caught = await catchUpChangeBranch(root, t.change.id, t.task.id, t.repo.id, changeDir, git);
1470
+ const caught = await catchUpChangeBranch(root, t.change.id, t.task.id, t.repo.id, changeDir, git, earlier.settled ? { settled: true } : {});
1430
1471
  if (caught)
1431
1472
  notes.push(caught);
1432
1473
  } catch (e) {
@@ -1439,7 +1480,14 @@ async function runTaskHeld(root, changeId, taskId, o) {
1439
1480
  notes.push(`Handed the task down first (${h.feature} in ${h.repo}${h.commit ? `, commit ${h.commit.slice(0, 12)}` : ""}).`);
1440
1481
  t = await loadTask(root, changeId, taskId);
1441
1482
  }
1442
- const wt = await openTaskWorktree(root, t.change.id, t.task.id, t.repo.id, git);
1483
+ let wt;
1484
+ try {
1485
+ wt = await openTaskWorktree(root, t.change.id, t.task.id, t.repo.id, git, earlier.settled ? { fresh: true } : {});
1486
+ } catch (e) {
1487
+ if (e instanceof Error && e.name === "SpecKitError")
1488
+ throw new TaskRunError("refused", e.message);
1489
+ throw e;
1490
+ }
1443
1491
  const runtime = o.runtime ?? await createRuntime(t.ctx.orgPack, {
1444
1492
  root,
1445
1493
  ...o.mode ? { mode: o.mode } : {},
@@ -7,7 +7,7 @@ import {
7
7
  checkResult,
8
8
  fileStepStore,
9
9
  recordStep
10
- } from "./chunk-4KNOJC6J.js";
10
+ } from "./chunk-7IGKHZ4Z.js";
11
11
  import {
12
12
  ExecutorsFile,
13
13
  IdempotencyAnswer,
@@ -18,9 +18,11 @@ import {
18
18
  external_exports,
19
19
  loadOrgPack,
20
20
  orgPackDirOf,
21
- require_dist,
22
21
  secretKeys
23
- } from "./chunk-PAINMSID.js";
22
+ } from "./chunk-Q2TECDIT.js";
23
+ import {
24
+ require_dist
25
+ } from "./chunk-BQGDB6ZL.js";
24
26
  import {
25
27
  __toESM
26
28
  } from "./chunk-TV45EUGM.js";
@@ -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-HSZMPH5T.js";
8
+ } from "./chunk-IDKCWSM5.js";
9
9
  import {
10
10
  ManualNotifier,
11
11
  fileStepStore
12
- } from "./chunk-4KNOJC6J.js";
12
+ } from "./chunk-7IGKHZ4Z.js";
13
13
  import {
14
14
  readCatalog
15
- } from "./chunk-4SLBCEPD.js";
15
+ } from "./chunk-J2JAKCIW.js";
16
16
  import {
17
17
  readServiceRequestExports
18
- } from "./chunk-CPK7QSBG.js";
18
+ } from "./chunk-QKUJMING.js";
19
19
  import {
20
20
  Initiative,
21
21
  IsoDate,
@@ -28,15 +28,17 @@ import {
28
28
  orgPackDirOf,
29
29
  parseRecord,
30
30
  recordPath,
31
- require_dist,
32
31
  serializeRecord,
33
32
  stateDirOf,
34
33
  toCanonicalYaml
35
- } from "./chunk-PAINMSID.js";
34
+ } from "./chunk-Q2TECDIT.js";
36
35
  import {
37
36
  SCHEMA_VERSION,
38
37
  renameRetrying
39
- } from "./chunk-ODMBPDDV.js";
38
+ } from "./chunk-TUULXQRW.js";
39
+ import {
40
+ require_dist
41
+ } from "./chunk-BQGDB6ZL.js";
40
42
  import {
41
43
  __toESM
42
44
  } from "./chunk-TV45EUGM.js";
@@ -5,14 +5,16 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  parseXml
8
- } from "./chunk-TWQRPM76.js";
8
+ } from "./chunk-CQDGOPGH.js";
9
9
  import {
10
10
  JOINED_BY_PERSON,
11
11
  ZipError,
12
12
  peekZip,
13
- readZip,
13
+ readZip
14
+ } from "./chunk-Q2TECDIT.js";
15
+ import {
14
16
  require_dist
15
- } from "./chunk-PAINMSID.js";
17
+ } from "./chunk-BQGDB6ZL.js";
16
18
  import {
17
19
  __toESM
18
20
  } from "./chunk-TV45EUGM.js";
@@ -5,24 +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
  repoReaderAgent
8
- } from "./chunk-26Z7OGQW.js";
8
+ } from "./chunk-X5F3Q5LV.js";
9
9
  import {
10
10
  ASSISTANT_FORMATS,
11
11
  FINISH,
12
12
  GUARD,
13
13
  metarepoCommands
14
- } from "./chunk-3AQ2R5NL.js";
14
+ } from "./chunk-BEVTIBRH.js";
15
15
  import {
16
16
  VERSION
17
- } from "./chunk-VUVGX5L2.js";
17
+ } from "./chunk-F3P7N7SF.js";
18
18
  import {
19
19
  AcpSignInError,
20
20
  atticusExec,
21
+ claimRunDir,
21
22
  keepAcpRun,
22
23
  makeRunId,
23
24
  readRootsOf,
24
25
  runAcpSession
25
- } from "./chunk-QHJJMZLX.js";
26
+ } from "./chunk-P32RUW3B.js";
26
27
  import {
27
28
  copilotAcpOf,
28
29
  factsDirOf,
@@ -31,7 +32,7 @@ import {
31
32
  proposalsDirOf,
32
33
  proposalsRelOf,
33
34
  runsDirOf
34
- } from "./chunk-PAINMSID.js";
35
+ } from "./chunk-Q2TECDIT.js";
35
36
 
36
37
  // packages/cli/dist/copilot-acp-steps.js
37
38
  import { readFile } from "node:fs/promises";
@@ -79,7 +80,7 @@ async function acpStepRunner(root, o = {}) {
79
80
  const exec = o.exec ?? atticusExec(process.argv[1] ?? "atticus");
80
81
  return async (s) => {
81
82
  const started = o.now?.() ?? /* @__PURE__ */ new Date();
82
- const runId = makeRunId(started);
83
+ const runId = await claimRunDir(join(runsDirOf(root), s.change), () => makeRunId(started));
83
84
  const prompt = UNATTENDED + await expandSlashLine(root, s.line, { unattended: true });
84
85
  let result;
85
86
  let error;
@@ -124,15 +125,9 @@ async function acpStepRunner(root, o = {}) {
124
125
  var readWrites = (root) => [factsDirOf(root)];
125
126
  async function startProposeHandoff(root, o = {}) {
126
127
  const line = `/atticus-propose${o.id ? ` ${o.id}` : ""}`;
127
- const { finishDecideRun, openDecideRun, PROPOSE_CHANGE, sha256, startDecideRun } = await import("./chunk-EFCQSMXB.js");
128
- const { proposalsSnapshot } = await import("./chunk-LU4MQVAL.js");
129
- const was = await openDecideRun(root, PROPOSE_CHANGE);
130
- if (was)
131
- await finishDecideRun(root, was, {
132
- state: "failed",
133
- errors: ["A new hand-off of /atticus-propose was started: its Done reads these proposals."],
134
- ...o.now ? { now: o.now } : {}
135
- });
128
+ const { cancelOpenDecideRuns, PROPOSE_CHANGE, sha256, startDecideRun } = await import("./chunk-EBL2R3YG.js");
129
+ const { proposalsSnapshot } = await import("./chunk-Q4K5WB2W.js");
130
+ await cancelOpenDecideRuns(root, PROPOSE_CHANGE, "A new hand-off of /atticus-propose was started: its Done reads these proposals.", o.now ? { now: o.now } : {});
136
131
  const before = Object.fromEntries([...await proposalsSnapshot(root)].map(([id, text]) => [id, sha256(text)]));
137
132
  const prompt = await expandSlashLine(root, line);
138
133
  const run = await startDecideRun(root, {
@@ -175,8 +170,12 @@ async function questionsProposeCommand(root, o, io, check) {
175
170
  return 2;
176
171
  }
177
172
  const run = o.runner ?? await acpStepRunner(root, { op });
173
+ {
174
+ const { cancelOpenDecideRuns, PROPOSE_CHANGE } = await import("./chunk-EBL2R3YG.js");
175
+ await cancelOpenDecideRuns(root, PROPOSE_CHANGE, "A Copilot session was started for /atticus-propose: Atticus reads its proposals itself.", o.now ? { now: o.now } : {});
176
+ }
178
177
  io.out(`Proposing answers in a new Copilot session: ${line}`);
179
- const { decideAnswers, proposalsSnapshot } = await import("./chunk-LU4MQVAL.js");
178
+ const { decideAnswers, proposalsSnapshot } = await import("./chunk-Q4K5WB2W.js");
180
179
  const before = await proposalsSnapshot(root);
181
180
  let runId;
182
181
  try {