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

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 (289) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-J2JAKCIW.js → chunk-25CUJJTP.js} +511 -291
  3. package/dist/chunk-26AB2WNW.js +62 -0
  4. package/dist/{chunk-VBTP56CE.js → chunk-2ITYURTR.js} +9 -8
  5. package/dist/{chunk-6ZJ5A7AF.js → chunk-2JHE75RW.js} +13 -11
  6. package/dist/{chunk-QFWA2DPH.js → chunk-37UTWGU4.js} +8 -6
  7. package/dist/{chunk-VW62D6QE.js → chunk-3BEGKSDW.js} +14 -12
  8. package/dist/{chunk-3RM4UK6W.js → chunk-3FGQFDS4.js} +20 -18
  9. package/dist/{chunk-23XVSEV5.js → chunk-3NS4RS3C.js} +20 -18
  10. package/dist/{chunk-FSMSFDLD.js → chunk-3TGX4SJ3.js} +10 -7
  11. package/dist/{chunk-7JITZFJC.js → chunk-3UMKLB6P.js} +7 -5
  12. package/dist/chunk-3VS7RNEB.js +96 -0
  13. package/dist/{chunk-AJYXNTNZ.js → chunk-3XCCT2GR.js} +167 -42
  14. package/dist/{chunk-XERYFDB5.js → chunk-3XZRYQWU.js} +38 -34
  15. package/dist/{chunk-FUJM6RTF.js → chunk-432FGEVB.js} +9 -7
  16. package/dist/{chunk-SFUP7TTO.js → chunk-44QUCNPH.js} +7 -5
  17. package/dist/{chunk-O5PXQR67.js → chunk-4CS3PMIM.js} +15 -13
  18. package/dist/{chunk-RGERPOIV.js → chunk-4DCIUKIE.js} +22 -12
  19. package/dist/{chunk-RLDGWLQ7.js → chunk-4DX4DIND.js} +9 -7
  20. package/dist/chunk-4MNMOUU7.js +108 -0
  21. package/dist/{chunk-SLXZOMA6.js → chunk-4RKIOUPA.js} +9 -7
  22. package/dist/{chunk-AJQ72EBM.js → chunk-532HDXMM.js} +9 -7
  23. package/dist/{chunk-CADWLE2T.js → chunk-5EIKOU7L.js} +6 -4
  24. package/dist/{chunk-CQDGOPGH.js → chunk-5FPAKAGE.js} +7 -5
  25. package/dist/{chunk-IVBOQAGB.js → chunk-5FUFVNXB.js} +27 -3
  26. package/dist/{chunk-UUU4CLJG.js → chunk-5MKV4TV6.js} +5 -1
  27. package/dist/{chunk-ZQXZ2SES.js → chunk-5ORLKITZ.js} +23 -21
  28. package/dist/{chunk-OHVTTOPS.js → chunk-5PSKLTBR.js} +3 -3
  29. package/dist/{chunk-RUGXBPWI.js → chunk-5QF5W5P2.js} +10 -10
  30. package/dist/{chunk-BPK5P77O.js → chunk-5Z7L2TSR.js} +3 -3
  31. package/dist/{chunk-L27SV425.js → chunk-66DWUSNY.js} +22 -20
  32. package/dist/{chunk-JAVI7JSP.js → chunk-6FIYEB7M.js} +25 -22
  33. package/dist/{chunk-VY72R2XZ.js → chunk-6OZAQPU5.js} +532 -358
  34. package/dist/{chunk-AFWUDXEM.js → chunk-6TNQO76I.js} +34 -17
  35. package/dist/{chunk-WF7B67YE.js → chunk-6UTD5RQH.js} +18 -16
  36. package/dist/{chunk-HNM2YQT2.js → chunk-775FMPUB.js} +7 -7
  37. package/dist/{chunk-7ASNL4Q4.js → chunk-77AZRGWE.js} +19 -16
  38. package/dist/{chunk-WKUJ3KPV.js → chunk-7HWCEDPX.js} +7 -5
  39. package/dist/{chunk-G6X77UJZ.js → chunk-7U46TCRZ.js} +25 -22
  40. package/dist/{chunk-O45HFTFS.js → chunk-A3NUZJFI.js} +4 -2
  41. package/dist/{chunk-UPOY4YSQ.js → chunk-A4VDFIMR.js} +14 -12
  42. package/dist/{chunk-EMRIQUND.js → chunk-A53IYUCR.js} +87 -29
  43. package/dist/{chunk-S4PMJU6H.js → chunk-A6ZG3UOS.js} +108 -50
  44. package/dist/{chunk-PMUAJGLI.js → chunk-AAY6VPPO.js} +18 -16
  45. package/dist/{chunk-MG4ZL5RW.js → chunk-ABDE5IRC.js} +18 -16
  46. package/dist/{chunk-T6DQR5TV.js → chunk-AM7PYKVP.js} +15 -13
  47. package/dist/{chunk-SFSPGFCV.js → chunk-ANUMIPF6.js} +22 -20
  48. package/dist/{chunk-VTZMAJ3W.js → chunk-ASFRT33J.js} +11 -9
  49. package/dist/{chunk-7FTTA3HD.js → chunk-AWDCVZYO.js} +9 -7
  50. package/dist/{chunk-KFAVQZSX.js → chunk-B63NWU3P.js} +14 -12
  51. package/dist/{chunk-YYY3AZFE.js → chunk-BBZ6UKN3.js} +16 -5
  52. package/dist/{chunk-Q4K5WB2W.js → chunk-BFQ5IKQA.js} +12 -10
  53. package/dist/{chunk-ZFL7NY4F.js → chunk-BLVFHN3C.js} +73 -42
  54. package/dist/{chunk-MO6P2JZH.js → chunk-BQXAHIZ6.js} +10 -8
  55. package/dist/{chunk-Y2EQNWKV.js → chunk-BTS56NV7.js} +91 -41
  56. package/dist/{chunk-UGUP3ZM6.js → chunk-BWYW533C.js} +18 -16
  57. package/dist/{chunk-O7FDLW7L.js → chunk-BYKWWSXL.js} +14 -12
  58. package/dist/chunk-C7BB6IQT.js +147 -0
  59. package/dist/{chunk-JLUCKAEL.js → chunk-CCQWQFOT.js} +19 -17
  60. package/dist/{chunk-SYV5LHML.js → chunk-CCQZN6W3.js} +35 -33
  61. package/dist/{chunk-UCROWG2D.js → chunk-CFSBBLDD.js} +28 -25
  62. package/dist/{chunk-EIPTLPFC.js → chunk-CFSHLQPK.js} +26 -24
  63. package/dist/{chunk-2IIMFOPM.js → chunk-CI4D6VSU.js} +20 -18
  64. package/dist/{chunk-66PPNOON.js → chunk-CKRPMRFQ.js} +28 -25
  65. package/dist/{chunk-IUPG3UKI.js → chunk-CNF2EZ6S.js} +191 -125
  66. package/dist/chunk-CTJHEG6A.js +97 -0
  67. package/dist/{chunk-DOBQKHIF.js → chunk-CU7ZK7KP.js} +30 -29
  68. package/dist/{chunk-745DAZ4L.js → chunk-CZ75S2EZ.js} +886 -313
  69. package/dist/{chunk-LGFL54FP.js → chunk-D5CJEKZI.js} +11 -4
  70. package/dist/{chunk-PBPBMP2B.js → chunk-D5ZC7IMC.js} +5 -3
  71. package/dist/{chunk-LZ7NUC62.js → chunk-D63NU53X.js} +20 -18
  72. package/dist/{chunk-BO4KX37X.js → chunk-DCQSPSXU.js} +28 -23
  73. package/dist/{chunk-WXFLMQSR.js → chunk-DCRZ3OQ7.js} +8 -6
  74. package/dist/chunk-DD2AXECF.js +41 -0
  75. package/dist/{chunk-4EURQWQD.js → chunk-DF6DPCW2.js} +16 -14
  76. package/dist/{chunk-53T4O55J.js → chunk-DH3EQMIA.js} +5 -3
  77. package/dist/{chunk-ZX57KSEQ.js → chunk-DIXA74N7.js} +5 -3
  78. package/dist/{chunk-6ZGLAACW.js → chunk-DIYNRYXW.js} +2 -2
  79. package/dist/chunk-DYDNW4O6.js +52 -0
  80. package/dist/{chunk-P2V7QW4D.js → chunk-E7YDJH6B.js} +16 -14
  81. package/dist/chunk-EEKQI3U4.js +45 -0
  82. package/dist/{chunk-GZY6RUZ6.js → chunk-EHF2MBGR.js} +9 -4
  83. package/dist/chunk-EHXDB3SA.js +25 -0
  84. package/dist/{chunk-PJSJPMJI.js → chunk-ENZ3PI7L.js} +3 -3
  85. package/dist/{chunk-E3ISYXO3.js → chunk-EPQQ2XVM.js} +16 -14
  86. package/dist/{chunk-7IGKHZ4Z.js → chunk-ESJALLOK.js} +222 -213
  87. package/dist/chunk-ETQSQ2EC.js +33 -0
  88. package/dist/{chunk-MFR5OPBD.js → chunk-EUMXLSW5.js} +14 -6
  89. package/dist/{chunk-BTY3HZBO.js → chunk-F63F4NKT.js} +18 -16
  90. package/dist/{chunk-ZFFYNRIO.js → chunk-FDL2JOLB.js} +26 -22
  91. package/dist/{chunk-5SJZW52K.js → chunk-FFDVAV56.js} +24 -22
  92. package/dist/chunk-FFYOZ7PF.js +27 -0
  93. package/dist/{chunk-RXPJMEOW.js → chunk-FGW5TLGM.js} +24 -19
  94. package/dist/{chunk-UPS2DGFC.js → chunk-FL53R4SW.js} +1 -1
  95. package/dist/chunk-FYWLB7PO.js +38 -0
  96. package/dist/{chunk-FFLNS6VP.js → chunk-G3W7GNEP.js} +24 -18
  97. package/dist/chunk-G3ZFEHCX.js +925 -0
  98. package/dist/{chunk-YHCMZC2J.js → chunk-G67GOK4S.js} +10 -8
  99. package/dist/{chunk-2F4CYZKJ.js → chunk-GCMDDVIE.js} +14 -9
  100. package/dist/{chunk-QKUJMING.js → chunk-GFYVVTKH.js} +10 -8
  101. package/dist/chunk-GJVCBTSO.js +20722 -0
  102. package/dist/{chunk-VCTWPLAO.js → chunk-GKZDHXC2.js} +8 -8
  103. package/dist/{chunk-5BD2KYLE.js → chunk-GQFUEUC7.js} +18 -16
  104. package/dist/chunk-GQPP4P2E.js +33 -0
  105. package/dist/{chunk-42SIDKEU.js → chunk-GS7N3RFG.js} +51 -32
  106. package/dist/{chunk-LJXMYKZJ.js → chunk-GXQYEIYM.js} +7 -5
  107. package/dist/{chunk-VNU26RCO.js → chunk-H5EQOSTC.js} +43 -33
  108. package/dist/{chunk-W7VWI2YH.js → chunk-H7KERB6Q.js} +7 -5
  109. package/dist/{chunk-OUBGGKDU.js → chunk-HGDBM3A5.js} +5 -3
  110. package/dist/{chunk-JENSEMXF.js → chunk-HI7ADE4E.js} +1 -1
  111. package/dist/{chunk-CXJ6FUKN.js → chunk-HNPKCRCE.js} +1010 -330
  112. package/dist/{chunk-FPJPLKDW.js → chunk-HRHXTLUM.js} +40 -16
  113. package/dist/{chunk-57TDNMI3.js → chunk-HRYI22QU.js} +17 -15
  114. package/dist/{chunk-LO6P2VYG.js → chunk-HWNFFCGB.js} +5 -3
  115. package/dist/{chunk-XI2LCCYQ.js → chunk-HXFZX2BI.js} +12 -8
  116. package/dist/{chunk-H7KM7LZE.js → chunk-HYHV2P3G.js} +16 -13
  117. package/dist/{chunk-X3WY6MN3.js → chunk-IB66ZLDN.js} +10 -8
  118. package/dist/{chunk-3NFFJL5D.js → chunk-IJQHBK76.js} +1 -1
  119. package/dist/{chunk-LQJPN536.js → chunk-IK6LHW3E.js} +6 -4
  120. package/dist/{chunk-DCZWQLYT.js → chunk-IOHRX4KF.js} +26 -21
  121. package/dist/{chunk-2GF7OLF3.js → chunk-IRXZKKCG.js} +21 -15
  122. package/dist/{chunk-Z5IA3WDR.js → chunk-IUBBEU6O.js} +160 -81
  123. package/dist/{chunk-W62H2XSO.js → chunk-IWPO5AUT.js} +29 -26
  124. package/dist/{chunk-BEVTIBRH.js → chunk-J4K4C4T5.js} +31 -15
  125. package/dist/{chunk-WERM6KPJ.js → chunk-JCEYOSST.js} +14 -6
  126. package/dist/{chunk-HYU5VLGA.js → chunk-JCG2EBNB.js} +1 -1
  127. package/dist/{chunk-UNAGJYET.js → chunk-JFBVIMGY.js} +14 -12
  128. package/dist/chunk-JJ4SCGRJ.js +43 -0
  129. package/dist/{chunk-2Q5EDGEO.js → chunk-JLYH2QOE.js} +7 -5
  130. package/dist/{chunk-X4CXA2IL.js → chunk-JMH6TCZJ.js} +23 -21
  131. package/dist/{chunk-6PPOWY5E.js → chunk-JUHZBZPZ.js} +17 -13
  132. package/dist/{chunk-GUX3PTYM.js → chunk-JVMNEI7B.js} +3 -3
  133. package/dist/chunk-JYJMIAFS.js +44 -0
  134. package/dist/{chunk-34S2WGOB.js → chunk-KIY2WCN7.js} +7 -3
  135. package/dist/chunk-KVVNAUIG.js +66 -0
  136. package/dist/{chunk-M32BLWDH.js → chunk-KYO5HT4G.js} +14 -12
  137. package/dist/chunk-L27KUL5B.js +38 -0
  138. package/dist/chunk-L3PIN47C.js +18 -0
  139. package/dist/{chunk-IH2XURVQ.js → chunk-L6Z6TMIK.js} +5 -5
  140. package/dist/{chunk-E6ZIEVOI.js → chunk-LAGZBQHK.js} +16 -13
  141. package/dist/chunk-LBG4GMOR.js +68 -0
  142. package/dist/{chunk-UF4GLFBX.js → chunk-LDKP7OWQ.js} +33 -24
  143. package/dist/{chunk-ZQ7SKESZ.js → chunk-LELM7X5H.js} +13 -11
  144. package/dist/{chunk-INQHESFB.js → chunk-LIB6AUZS.js} +6 -4
  145. package/dist/{chunk-H5HBGNXU.js → chunk-LIQWFDOZ.js} +6 -4
  146. package/dist/{chunk-TYQBFTBR.js → chunk-LKUTBQ2Y.js} +8 -6
  147. package/dist/{chunk-7BR7IPOH.js → chunk-LOCJHNZI.js} +10 -8
  148. package/dist/{chunk-SQV37XO2.js → chunk-LTIXFLYE.js} +6 -6
  149. package/dist/{chunk-3NWDLGG6.js → chunk-M3RWF7MC.js} +33 -29
  150. package/dist/chunk-MA6UK7GX.js +42 -0
  151. package/dist/{chunk-ISUAAMGS.js → chunk-MCE74XMF.js} +25 -16
  152. package/dist/{chunk-EGQRREQH.js → chunk-MDTAZ6NE.js} +37 -24
  153. package/dist/{chunk-ZZK56BLP.js → chunk-MMOMKHAX.js} +6 -4
  154. package/dist/{chunk-P32RUW3B.js → chunk-MOWUP33K.js} +49 -15
  155. package/dist/{chunk-UOR2DTHH.js → chunk-MPATOMY5.js} +18 -14
  156. package/dist/{chunk-LNBQOP7D.js → chunk-MQFSEGTU.js} +23 -21
  157. package/dist/{chunk-2Q56PQPS.js → chunk-MT3FNSXO.js} +4 -4
  158. package/dist/{chunk-FZOJFH7Q.js → chunk-MUY5MAGM.js} +15 -12
  159. package/dist/{chunk-7DOR27HL.js → chunk-MVXMISNA.js} +9 -7
  160. package/dist/{chunk-CX4RZ2KS.js → chunk-MWN7CBVL.js} +5 -3
  161. package/dist/{chunk-BXYMYEJ4.js → chunk-MZWM73S2.js} +18 -17
  162. package/dist/chunk-NBZ7RKX3.js +46 -0
  163. package/dist/{chunk-EPCJQQWD.js → chunk-NC56V6KQ.js} +6 -4
  164. package/dist/{chunk-7UOMVMFG.js → chunk-NN6AXKFX.js} +17 -15
  165. package/dist/{chunk-BIGDQDHD.js → chunk-NOU5IBLM.js} +6 -4
  166. package/dist/{chunk-LFGTYX5U.js → chunk-NQDHRT2H.js} +20 -18
  167. package/dist/{chunk-KDNTAPLX.js → chunk-NTEPBOAF.js} +6 -4
  168. package/dist/{chunk-LYBNHMVZ.js → chunk-NTOPAOBY.js} +3 -3
  169. package/dist/{chunk-R44CYFPV.js → chunk-NX5IPHI3.js} +19 -16
  170. package/dist/{chunk-GCWRWSU7.js → chunk-O4ZWZZZT.js} +6 -4
  171. package/dist/chunk-OCU5S2XG.js +36 -0
  172. package/dist/{chunk-SU74NDMQ.js → chunk-OKSRK2LJ.js} +19 -17
  173. package/dist/{chunk-XD75VZIH.js → chunk-OSWOIFRQ.js} +9 -7
  174. package/dist/{chunk-PKBHS4AA.js → chunk-OSZTENIA.js} +54 -21
  175. package/dist/{chunk-NDCF4R6S.js → chunk-OTUBMKSG.js} +10 -8
  176. package/dist/{chunk-THDMSZ3R.js → chunk-OYKNPZCV.js} +2837 -693
  177. package/dist/{chunk-ZQ3ON2VQ.js → chunk-OYTSRNSZ.js} +8 -6
  178. package/dist/chunk-OYZ64UMQ.js +67 -0
  179. package/dist/{chunk-UF4AZOZB.js → chunk-PB3NCPRF.js} +10 -8
  180. package/dist/chunk-PIPJZIJE.js +47 -0
  181. package/dist/{chunk-2RLKFUUL.js → chunk-PIPYJTIL.js} +27 -24
  182. package/dist/{chunk-MZCGSXVR.js → chunk-PUMNCWHJ.js} +15 -13
  183. package/dist/{chunk-X5F3Q5LV.js → chunk-PZBNDFZ7.js} +35 -25
  184. package/dist/chunk-Q2ULHBCJ.js +59 -0
  185. package/dist/{chunk-ZJFRMSJT.js → chunk-Q5QSWV2R.js} +14 -12
  186. package/dist/{chunk-Q2TECDIT.js → chunk-QFDPX6C4.js} +2886 -20703
  187. package/dist/{chunk-WG5U3F5V.js → chunk-QGBS4GMS.js} +14 -12
  188. package/dist/{chunk-BTGPE6CR.js → chunk-QIDSEHJA.js} +17 -15
  189. package/dist/{chunk-Q6DFNVRJ.js → chunk-QJ3AYXVO.js} +14 -12
  190. package/dist/{chunk-EBL2R3YG.js → chunk-QK6CGRKK.js} +6 -4
  191. package/dist/{chunk-S7FCV7S5.js → chunk-QOC3Q4UU.js} +1 -1
  192. package/dist/{chunk-JJF6HALY.js → chunk-QPLNB2BM.js} +5 -3
  193. package/dist/chunk-QVF4KYIO.js +71 -0
  194. package/dist/{chunk-6OJQOPUN.js → chunk-QXXEO4TF.js} +5 -3
  195. package/dist/{chunk-F3P7N7SF.js → chunk-QYFNVQLK.js} +1 -1
  196. package/dist/{chunk-6MUGR4LS.js → chunk-R6CJOMPC.js} +106 -29
  197. package/dist/{chunk-BDKC6H5P.js → chunk-ROWZYQOI.js} +9 -7
  198. package/dist/{chunk-2MMCFP5C.js → chunk-RQAMZVWW.js} +10 -8
  199. package/dist/chunk-RQSUFGU2.js +55 -0
  200. package/dist/{chunk-SDKLKB6I.js → chunk-RRKM3GJA.js} +38 -28
  201. package/dist/{chunk-OHNCWBKF.js → chunk-RSHVSXPJ.js} +7 -5
  202. package/dist/chunk-RSKMV3VC.js +22 -0
  203. package/dist/{chunk-U76OWS3Q.js → chunk-RU5W7JJQ.js} +25 -23
  204. package/dist/{chunk-63YRMR6J.js → chunk-RYY554OA.js} +7 -5
  205. package/dist/{chunk-5NMKONLP.js → chunk-SGYQORAD.js} +7 -3
  206. package/dist/{chunk-JA5FI3QV.js → chunk-SLGUSFOD.js} +3 -3
  207. package/dist/{chunk-M3NANSDZ.js → chunk-SUAHNYNQ.js} +17 -15
  208. package/dist/{chunk-QAXW2N3B.js → chunk-SUYC5NP6.js} +34 -34
  209. package/dist/{chunk-FFTRTL6R.js → chunk-SWSGRRNO.js} +6 -4
  210. package/dist/{chunk-UWOJLHFT.js → chunk-SYLXQNPC.js} +38 -24
  211. package/dist/chunk-T24TBI7F.js +54 -0
  212. package/dist/chunk-T2HXLDY3.js +55 -0
  213. package/dist/{chunk-O4GXGGBX.js → chunk-T5NH5L7A.js} +16 -13
  214. package/dist/{chunk-KXITGYLF.js → chunk-TAR6T2RE.js} +4 -2
  215. package/dist/chunk-TBQHBOFF.js +324 -0
  216. package/dist/{chunk-LKOR5UET.js → chunk-TKE6ZJMM.js} +26 -24
  217. package/dist/chunk-TKEXS74L.js +52 -0
  218. package/dist/{chunk-J3IOLXWM.js → chunk-TXYMNKGM.js} +16 -14
  219. package/dist/{chunk-IDKCWSM5.js → chunk-U2JTTRKS.js} +401 -115
  220. package/dist/{chunk-TNR75OXT.js → chunk-U37ZOYJJ.js} +11 -8
  221. package/dist/{chunk-7MJSQTL5.js → chunk-U57VLY6X.js} +23 -21
  222. package/dist/{chunk-BHT7QK4G.js → chunk-U66RQUFC.js} +6 -4
  223. package/dist/chunk-UCFNHK5L.js +50 -0
  224. package/dist/{chunk-IFKEI4SA.js → chunk-UI6KNLSO.js} +31 -11
  225. package/dist/{chunk-7GJS6DNX.js → chunk-UKRJ2ISN.js} +13 -3
  226. package/dist/chunk-UWJOM457.js +232 -0
  227. package/dist/{chunk-D73UEXYW.js → chunk-UXO25YBN.js} +3 -3
  228. package/dist/chunk-VE2T5URA.js +51 -0
  229. package/dist/{chunk-C3RY6KU6.js → chunk-W4EG25TI.js} +513 -172
  230. package/dist/{chunk-O66DM6DJ.js → chunk-WAAPMZWO.js} +6 -4
  231. package/dist/{chunk-R7NYHMUU.js → chunk-WECCLSYY.js} +4884 -3669
  232. package/dist/chunk-WQDJGNJQ.js +45 -0
  233. package/dist/{chunk-UWMJKX5U.js → chunk-WWSCJBF6.js} +14 -12
  234. package/dist/{chunk-N3XIYPU3.js → chunk-X7HFXXTZ.js} +16 -13
  235. package/dist/chunk-X7XVMYIL.js +5 -0
  236. package/dist/{chunk-NR2UJWOC.js → chunk-XERIHPBF.js} +12 -9
  237. package/dist/{chunk-JRBFANFE.js → chunk-XKNISZ6N.js} +21 -18
  238. package/dist/{chunk-PPD7HTDP.js → chunk-XNH5ZWIA.js} +20 -18
  239. package/dist/{chunk-7IOWA5D5.js → chunk-XNW3EDCY.js} +13 -3
  240. package/dist/{chunk-2LGRMVCA.js → chunk-XPXOKHNZ.js} +13 -11
  241. package/dist/{chunk-ZJXLNDH4.js → chunk-XXRBAJ36.js} +14 -12
  242. package/dist/{chunk-EHA7RMZ3.js → chunk-YA2IJJ6N.js} +8 -6
  243. package/dist/{chunk-LGBMTVNT.js → chunk-YB5AKYVQ.js} +7 -5
  244. package/dist/{chunk-JB5LINEM.js → chunk-YDDLVBQ4.js} +3 -3
  245. package/dist/{chunk-PAQ2AS5E.js → chunk-YF6N45QN.js} +1 -1
  246. package/dist/{chunk-WMTRHUI5.js → chunk-YHWX5LPT.js} +23 -21
  247. package/dist/{chunk-KQGURXFU.js → chunk-YLZNTVZR.js} +36 -13
  248. package/dist/{chunk-NY2XSR5K.js → chunk-YUJTOALL.js} +118 -18
  249. package/dist/{chunk-VZALIKIF.js → chunk-Z5YDTIWQ.js} +19 -16
  250. package/dist/{chunk-LDLL7LB3.js → chunk-ZCU2UY47.js} +24 -22
  251. package/dist/{chunk-OWNCM4ZN.js → chunk-ZIAYNHHE.js} +197 -17
  252. package/dist/{chunk-WJF2CS6M.js → chunk-ZJ2W2RDE.js} +7 -5
  253. package/dist/{chunk-REWWDVQB.js → chunk-ZRQHSMPK.js} +6 -4
  254. package/dist/{chunk-O7XLYEFA.js → chunk-ZSD75FYI.js} +57 -23
  255. package/dist/chunk-ZSNNF26J.js +220 -0
  256. package/dist/{chunk-BQ4SQQC6.js → chunk-ZX6RAGE6.js} +11 -9
  257. package/dist/files.json +583 -515
  258. package/dist/packages/sdk/npm/index.js +6428 -4882
  259. package/dist/packages/ui/dist/assets/{elk-api-CIf-0gz5.js → elk-api--rH6Kdl4.js} +2 -2
  260. package/dist/packages/ui/dist/assets/index-Bf2immpE.css +1 -0
  261. package/dist/packages/ui/dist/assets/index-CH4nGIW3.js +62 -0
  262. package/dist/packages/ui/dist/index.html +2 -2
  263. package/package.json +6 -6
  264. package/dist/chunk-2SKB4O2E.js +0 -59
  265. package/dist/chunk-4U276ICE.js +0 -39
  266. package/dist/chunk-6H3Z5JHH.js +0 -64
  267. package/dist/chunk-AFZ3QA6W.js +0 -47
  268. package/dist/chunk-AVTBS4OW.js +0 -49
  269. package/dist/chunk-C4R4JLHE.js +0 -40
  270. package/dist/chunk-CBGGOQWU.js +0 -82
  271. package/dist/chunk-CMDXGQTS.js +0 -47
  272. package/dist/chunk-DLOBCJL6.js +0 -48
  273. package/dist/chunk-GIW4ZVDB.js +0 -39
  274. package/dist/chunk-IP74LCOQ.js +0 -57
  275. package/dist/chunk-IPHHDDC6.js +0 -45
  276. package/dist/chunk-KJXD4PNL.js +0 -50
  277. package/dist/chunk-KN5BXMWN.js +0 -44
  278. package/dist/chunk-MFHL5URL.js +0 -31
  279. package/dist/chunk-NXJ5URP6.js +0 -51
  280. package/dist/chunk-OMI6FPPN.js +0 -43
  281. package/dist/chunk-ONUPY3H6.js +0 -53
  282. package/dist/chunk-OTLDSZDV.js +0 -69
  283. package/dist/chunk-PSOFBQWB.js +0 -42
  284. package/dist/chunk-T4YPZIQN.js +0 -36
  285. package/dist/chunk-TUULXQRW.js +0 -420
  286. package/dist/chunk-WNKPRSGI.js +0 -36
  287. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +0 -47
  288. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  289. package/dist/{chunk-24XLDU72.js → chunk-PXMV2LLY.js} +3 -3
@@ -6,33 +6,35 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  renderTaskContext,
8
8
  taskContext
9
- } from "./chunk-R7NYHMUU.js";
10
- import "./chunk-IVBOQAGB.js";
11
- import "./chunk-ISUAAMGS.js";
12
- import "./chunk-S4PMJU6H.js";
9
+ } from "./chunk-WECCLSYY.js";
10
+ import "./chunk-5FUFVNXB.js";
11
+ import "./chunk-A6ZG3UOS.js";
13
12
  import {
14
13
  changeFolder,
15
14
  changeStore
16
- } from "./chunk-IDKCWSM5.js";
17
- import "./chunk-UUU4CLJG.js";
18
- import "./chunk-7IGKHZ4Z.js";
19
- import "./chunk-J2JAKCIW.js";
20
- import "./chunk-745DAZ4L.js";
21
- import "./chunk-CXJ6FUKN.js";
15
+ } from "./chunk-U2JTTRKS.js";
16
+ import "./chunk-5MKV4TV6.js";
17
+ import "./chunk-ESJALLOK.js";
18
+ import "./chunk-MCE74XMF.js";
19
+ import "./chunk-25CUJJTP.js";
20
+ import "./chunk-HNPKCRCE.js";
21
+ import "./chunk-CZ75S2EZ.js";
22
22
  import {
23
23
  attachToChange
24
- } from "./chunk-QKUJMING.js";
25
- import "./chunk-6ZGLAACW.js";
26
- import "./chunk-CQDGOPGH.js";
27
- import "./chunk-3NFFJL5D.js";
28
- import "./chunk-PKBHS4AA.js";
29
- import "./chunk-P32RUW3B.js";
24
+ } from "./chunk-GFYVVTKH.js";
25
+ import "./chunk-DIYNRYXW.js";
26
+ import "./chunk-5FPAKAGE.js";
27
+ import "./chunk-IJQHBK76.js";
28
+ import "./chunk-MOWUP33K.js";
30
29
  import "./chunk-QA4O2GGC.js";
30
+ import "./chunk-OSZTENIA.js";
31
31
  import {
32
32
  changesRelOf,
33
33
  inputsDirOf
34
- } from "./chunk-Q2TECDIT.js";
35
- import "./chunk-TUULXQRW.js";
34
+ } from "./chunk-GJVCBTSO.js";
35
+ import "./chunk-G3ZFEHCX.js";
36
+ import "./chunk-QFDPX6C4.js";
37
+ import "./chunk-CTJHEG6A.js";
36
38
  import "./chunk-BQGDB6ZL.js";
37
39
  import "./chunk-TV45EUGM.js";
38
40
 
@@ -92,7 +94,7 @@ async function promoteChangeInput(root, change, file) {
92
94
  } catch {
93
95
  throw new AttachError("not-found", `inputs/${name} isn't attached to ${c.id}: atticus change attach ${c.id} adds it.`);
94
96
  }
95
- const { addToInbox } = await import("./chunk-UWMJKX5U.js");
97
+ const { addToInbox } = await import("./chunk-WWSCJBF6.js");
96
98
  const r = await addToInbox(root, [{ name, bytes }]);
97
99
  const added = r.added[0];
98
100
  if (!added)
@@ -109,11 +111,11 @@ function attachedLine(rel, a) {
109
111
  async function changeAttachCli(root, change, paths, o, io) {
110
112
  if (change && o.prototype) {
111
113
  if (paths.length) {
112
- const { PROTOTYPE_CLI_WORDS } = await import("./chunk-7ASNL4Q4.js");
114
+ const { PROTOTYPE_CLI_WORDS } = await import("./chunk-77AZRGWE.js");
113
115
  io.err(PROTOTYPE_CLI_WORDS.usage(change, o.prototype));
114
116
  return 2;
115
117
  }
116
- const { attachPrototype } = await import("./chunk-7ASNL4Q4.js");
118
+ const { attachPrototype } = await import("./chunk-77AZRGWE.js");
117
119
  return attachPrototype(root, change, o.prototype, { by: o.by, ...o.json ? { json: true } : {}, ...o.now ? { now: o.now } : {} }, io);
118
120
  }
119
121
  if (change && o.like) {
@@ -121,7 +123,7 @@ async function changeAttachCli(root, change, paths, o, io) {
121
123
  io.err("--like names an archived change, attached on its own: atticus change attach add-refund-window --like raise-transfer-limit");
122
124
  return 2;
123
125
  }
124
- const { attachPastChange, findPastChange } = await import("./chunk-W7VWI2YH.js");
126
+ const { attachPastChange, findPastChange } = await import("./chunk-H7KERB6Q.js");
125
127
  const folder = await findPastChange(root, o.like);
126
128
  if (!folder) {
127
129
  io.err(`There is no archived change ${o.like}: atticus change similar "<what it is about>" lists them.`);
@@ -5,19 +5,27 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  contractCheckOf
8
- } from "./chunk-T6DQR5TV.js";
8
+ } from "./chunk-AM7PYKVP.js";
9
+ import {
10
+ HttpError,
11
+ badRequest,
12
+ conflict,
13
+ notFound
14
+ } from "./chunk-W4EG25TI.js";
9
15
  import {
10
16
  readCatalog
11
- } from "./chunk-J2JAKCIW.js";
17
+ } from "./chunk-25CUJJTP.js";
12
18
  import {
13
19
  frameworkFacts,
14
20
  frameworkGaps
15
- } from "./chunk-CXJ6FUKN.js";
21
+ } from "./chunk-HNPKCRCE.js";
16
22
  import {
17
23
  baseClonePath,
18
24
  loadRepos
19
- } from "./chunk-PKBHS4AA.js";
25
+ } from "./chunk-OSZTENIA.js";
20
26
  import {
27
+ QuestionError,
28
+ api_exports,
21
29
  auditItemHolds,
22
30
  auditPrecision,
23
31
  catalogDirOf,
@@ -29,7 +37,13 @@ import {
29
37
  listQuestions,
30
38
  parseAuditFile,
31
39
  parseFacts
32
- } from "./chunk-Q2TECDIT.js";
40
+ } from "./chunk-GJVCBTSO.js";
41
+ import {
42
+ FileChangedError
43
+ } from "./chunk-G3ZFEHCX.js";
44
+ import {
45
+ keptParse
46
+ } from "./chunk-CTJHEG6A.js";
33
47
  import {
34
48
  require_dist
35
49
  } from "./chunk-BQGDB6ZL.js";
@@ -37,9 +51,62 @@ import {
37
51
  __toESM
38
52
  } from "./chunk-TV45EUGM.js";
39
53
 
54
+ // packages/cli/dist/watched-memo.js
55
+ import { stat } from "node:fs/promises";
56
+ import { resolve } from "node:path";
57
+ var MAX_AGE_MS = 6e4;
58
+ var watched;
59
+ var generation = 0;
60
+ var kept = /* @__PURE__ */ new Map();
61
+ async function stampOfFiles(paths) {
62
+ const parts = await Promise.all(paths.map((p) => stat(p).then((s) => `${s.size}:${s.mtimeMs}`, () => "-")));
63
+ return parts.join("|");
64
+ }
65
+ function keepAnswersWhileWatched(root, following) {
66
+ const me = { root: resolve(root), following };
67
+ watched = me;
68
+ kept.clear();
69
+ return () => {
70
+ if (watched === me)
71
+ watched = void 0;
72
+ kept.clear();
73
+ };
74
+ }
75
+ function answersMayHaveChanged() {
76
+ generation++;
77
+ kept.clear();
78
+ }
79
+ var misses = [];
80
+ var miss = (key, why) => {
81
+ if (misses.length < 200)
82
+ misses.push(`${key}: ${why}`);
83
+ };
84
+ async function keptAnswer(root, key, work, stamp) {
85
+ if (!watched || watched.root !== resolve(root) || !watched.following()) {
86
+ miss(key, !watched ? "no server follows the files" : watched.root !== resolve(root) ? `another root (${watched.root} is followed)` : "the server follows no folder");
87
+ return work();
88
+ }
89
+ const at = generation;
90
+ const s = stamp ? await stamp() : "";
91
+ const hit = kept.get(key);
92
+ if (hit && hit.generation === generation && hit.stamp === s && Date.now() - hit.at < MAX_AGE_MS)
93
+ return hit.value;
94
+ miss(key, !hit ? "not asked before" : hit.generation !== generation ? "a change was heard" : hit.stamp !== s ? "a checkout moved" : "kept a minute already");
95
+ if (at !== generation)
96
+ return work();
97
+ const value = work();
98
+ const entry = { generation, at: Date.now(), value, stamp: s };
99
+ kept.set(key, entry);
100
+ value.catch(() => {
101
+ if (kept.get(key) === entry)
102
+ kept.delete(key);
103
+ });
104
+ return value;
105
+ }
106
+
40
107
  // packages/cli/dist/ui-api-trust.js
41
108
  var import_yaml = __toESM(require_dist(), 1);
42
- import { readdir, readFile, stat } from "node:fs/promises";
109
+ import { readdir, readFile, stat as stat2 } from "node:fs/promises";
43
110
  import { join, relative, sep } from "node:path";
44
111
  function rejectedLines(text2) {
45
112
  const out = [];
@@ -71,6 +138,15 @@ var FACT_BY = /* @__PURE__ */ new Set(["assistant", "reader", "person"]);
71
138
  var UNKNOWN_SHOWN = 50;
72
139
  var firstLine = (e) => String(e.message ?? e).split("\n")[0];
73
140
  var text = (p) => readFile(p, "utf8").catch(() => void 0);
141
+ function secretsOf(raw) {
142
+ if (!Array.isArray(raw))
143
+ return {};
144
+ const secrets = raw.flatMap((x) => {
145
+ const s = x;
146
+ return s && typeof s.file === "string" && typeof s.key === "string" && Number.isInteger(s.line) ? [{ file: s.file, line: s.line, key: s.key }] : [];
147
+ });
148
+ return secrets.length ? { secrets } : {};
149
+ }
74
150
  function reportOf(raw) {
75
151
  const r = raw;
76
152
  if (!r || typeof r.accepted !== "number" || typeof r.rejected !== "number")
@@ -88,6 +164,7 @@ function reportOf(raw) {
88
164
  excluded: list(r.coverage?.excluded).length
89
165
  },
90
166
  unknownFiles: unknown.slice(0, UNKNOWN_SHOWN),
167
+ ...secretsOf(r.secrets),
91
168
  ...typeof r.commit === "string" && SHA.test(r.commit) ? { commit: r.commit } : {}
92
169
  };
93
170
  }
@@ -170,21 +247,22 @@ async function trustView(root) {
170
247
  const repos = [];
171
248
  for (const repo of ids) {
172
249
  const factsPath = join(dir, `${repo}.jsonl`);
173
- const raw = await text(factsPath);
250
+ const read = await keptParse(factsPath, "facts", (t) => t.trim() ? parseFacts(t) : null).catch(() => void 0);
251
+ const factsPresent = read !== void 0;
174
252
  const facts = {
175
253
  path: rel(factsPath),
176
- present: raw !== void 0,
254
+ present: factsPresent,
177
255
  count: 0,
178
256
  unverified: 0
179
257
  };
180
258
  let frameworks;
181
259
  let terms;
182
- let kept = [];
260
+ let kept2 = [];
183
261
  const lists = { rejected: [], excluded: [], asked: [], unverified: [] };
184
- if (raw !== void 0 && raw.trim()) {
185
- const parsed = parseFacts(raw);
262
+ if (read) {
263
+ const parsed = read;
186
264
  if (parsed.ok) {
187
- kept = parsed.facts;
265
+ kept2 = parsed.facts;
188
266
  facts.count = parsed.facts.length;
189
267
  const unchecked = parsed.facts.filter((f) => f.verified === "none");
190
268
  facts.unverified = unchecked.length;
@@ -258,7 +336,7 @@ async function trustView(root) {
258
336
  if (!a.ok)
259
337
  problems.push({ file: rel(auditPath), message: `isn't an audit file: ${a.issues[0]}` });
260
338
  else {
261
- const byId = new Map(kept.map((f) => [f.id, f]));
339
+ const byId = new Map(kept2.map((f) => [f.id, f]));
262
340
  const p = auditPrecision(a.file.items, (i) => auditItemHolds(i, byId));
263
341
  audit = {
264
342
  path: rel(auditPath),
@@ -277,7 +355,7 @@ async function trustView(root) {
277
355
  checkoutDir = void 0;
278
356
  }
279
357
  const head = checkoutDir ? await headFromFiles(checkoutDir) : void 0;
280
- const present = checkoutDir ? await stat(join(checkoutDir, ".git")).then(() => true, () => false) : false;
358
+ const present = checkoutDir ? await stat2(join(checkoutDir, ".git")).then(() => true, () => false) : false;
281
359
  const checkout = {
282
360
  path: checkoutDir ? rel(checkoutDir) : `workspace/${repo}`,
283
361
  present,
@@ -305,11 +383,78 @@ async function trustView(root) {
305
383
  });
306
384
  }
307
385
  const contracts = await contractCheckOf(root).then((c) => c.result.counts.compared ? c.result.counts : void 0, () => void 0);
308
- return { factsDir: factsRel, repos, problems, ...contracts ? { contracts } : {} };
386
+ const { answerBoxesOf } = await import("./chunk-C7BB6IQT.js");
387
+ const answerBoxes = await answerBoxesOf(root).catch(() => []);
388
+ return {
389
+ factsDir: factsRel,
390
+ repos,
391
+ problems,
392
+ ...contracts ? { contracts } : {},
393
+ ...answerBoxes.length ? { answerBoxes } : {}
394
+ };
395
+ }
396
+ async function checkoutsStamp(root) {
397
+ const dirs = isAdopted(root) ? [root] : (await loadRepos(root).catch(() => [])).flatMap((r) => {
398
+ try {
399
+ return [baseClonePath(root, r.id)];
400
+ } catch {
401
+ return [];
402
+ }
403
+ });
404
+ const files = await Promise.all(dirs.map(async (d) => {
405
+ const git = join(d, ".git");
406
+ const head = await readFile(join(git, "HEAD"), "utf8").catch(() => "");
407
+ const branch = /^ref: (refs\/\S+)/.exec(head)?.[1];
408
+ const remotes = await readdir(join(git, "refs", "remotes")).catch(() => []);
409
+ const worktrees = await readdir(join(git, "worktrees")).catch(() => []);
410
+ const branches = await Promise.all([
411
+ join(git, "refs", "heads", "task"),
412
+ join(git, "refs", "heads", "change"),
413
+ ...remotes.flatMap((r) => [
414
+ join(git, "refs", "remotes", r, "task"),
415
+ join(git, "refs", "remotes", r, "change")
416
+ ])
417
+ ].map(refFiles));
418
+ return [
419
+ join(git, "HEAD"),
420
+ join(git, "packed-refs"),
421
+ join(git, "logs", "HEAD"),
422
+ ...branch ? [join(git, ...branch.split("/"))] : [],
423
+ ...branches.flat(),
424
+ ...worktrees.sort().flatMap((w) => [
425
+ join(git, "worktrees", w, "HEAD"),
426
+ join(git, "worktrees", w, "logs", "HEAD")
427
+ ])
428
+ ];
429
+ }));
430
+ const heads = await Promise.all(dirs.map((d) => readFile(join(d, ".git", "HEAD"), "utf8").catch(() => "-")));
431
+ const all = files.flat();
432
+ const names = all.map((f) => relative(root, f)).join(",");
433
+ return `${heads.join("|")}#${names}#${await stampOfFiles(all)}`;
434
+ }
435
+ async function refFiles(dir) {
436
+ const out = [];
437
+ const walk = async (d, depth) => {
438
+ if (depth > 8)
439
+ return;
440
+ const es = await readdir(d, { withFileTypes: true }).catch(() => []);
441
+ for (const e of es) {
442
+ const p = join(d, e.name);
443
+ if (e.isDirectory())
444
+ await walk(p, depth + 1);
445
+ else if (e.isFile() && !e.name.endsWith(".lock"))
446
+ out.push(p);
447
+ }
448
+ };
449
+ await walk(dir, 0);
450
+ return out.sort();
309
451
  }
310
452
  function uiTrustRoutes(r, ctx) {
311
- return r.add("GET", "/api/trust", async () => ({ status: 200, body: await trustView(ctx.root) })).add("GET", "/api/trust/fresh", async () => {
312
- const { estateFreshness } = await import("./chunk-AFZ3QA6W.js");
453
+ return r.add("GET", "/api/trust", async () => ({
454
+ status: 200,
455
+ body: await keptAnswer(ctx.root, "trust", () => trustView(ctx.root), () => checkoutsStamp(ctx.root))
456
+ })).add("POST", "/api/trust/answer-boxes/ignore", ({ body }) => answerBoxRoute(ctx, body, false)).add("POST", "/api/trust/answer-boxes/rename", ({ body }) => answerBoxRoute(ctx, body, true)).add("GET", "/api/trust/fresh", async () => {
457
+ const { estateFreshness } = await import("./chunk-T2HXLDY3.js");
313
458
  const v = await estateFreshness(ctx.root);
314
459
  const body = {
315
460
  ...v,
@@ -323,8 +468,43 @@ function uiTrustRoutes(r, ctx) {
323
468
  return { status: 200, body };
324
469
  });
325
470
  }
471
+ async function answerBoxRoute(ctx, body, rename) {
472
+ const b = api_exports.AnswerBoxRequest.safeParse(body ?? {});
473
+ if (!b.success || rename && !b.data.name)
474
+ throw badRequest(rename ? "Say which box and its real name: { id, name, preview }." : "Say which box: { id, preview }.");
475
+ const { AnswerBoxError, ignoreAnswerBox, renameAnswerBox } = await import("./chunk-C7BB6IQT.js");
476
+ const o = {
477
+ by: ctx.user,
478
+ at: (/* @__PURE__ */ new Date()).toISOString(),
479
+ ...b.data.preview ? { preview: true } : {}
480
+ };
481
+ try {
482
+ const r = rename ? await renameAnswerBox(ctx.root, b.data.id, b.data.name, o) : await ignoreAnswerBox(ctx.root, b.data.id, o);
483
+ if (r.written) {
484
+ for (const a of r.answers)
485
+ ctx.events.publish({ type: "file.changed", path: `questions/${a.id}.yaml` });
486
+ if (r.profile)
487
+ ctx.events.publish({ type: "file.changed", path: r.profile.path });
488
+ }
489
+ return { status: 200, body: r };
490
+ } catch (e) {
491
+ if (e instanceof AnswerBoxError)
492
+ throw e.code === "not-found" ? notFound(e.message) : badRequest(e.message);
493
+ if (e instanceof FileChangedError)
494
+ throw conflict(e.message);
495
+ if (e instanceof QuestionError)
496
+ throw new HttpError(422, "Atticus can't do that", e.message);
497
+ if (e instanceof Error && / would not be valid: /.test(e.message))
498
+ throw new HttpError(422, "Atticus can't do that", e.message.split("\n")[0]);
499
+ throw e;
500
+ }
501
+ }
326
502
 
327
503
  export {
504
+ keepAnswersWhileWatched,
505
+ answersMayHaveChanged,
506
+ keptAnswer,
328
507
  catalogSources,
508
+ checkoutsStamp,
329
509
  uiTrustRoutes
330
510
  };
@@ -45,16 +45,18 @@ import {
45
45
  utf8,
46
46
  visioIngestor,
47
47
  xlsxIngestor
48
- } from "./chunk-6ZGLAACW.js";
49
- import "./chunk-CQDGOPGH.js";
50
- import "./chunk-3NFFJL5D.js";
48
+ } from "./chunk-DIYNRYXW.js";
49
+ import "./chunk-5FPAKAGE.js";
50
+ import "./chunk-IJQHBK76.js";
51
51
  import {
52
52
  ZIP_LIMITS,
53
53
  ZipError,
54
54
  peekZip,
55
55
  readZip
56
- } from "./chunk-Q2TECDIT.js";
57
- import "./chunk-TUULXQRW.js";
56
+ } from "./chunk-GJVCBTSO.js";
57
+ import "./chunk-G3ZFEHCX.js";
58
+ import "./chunk-QFDPX6C4.js";
59
+ import "./chunk-CTJHEG6A.js";
58
60
  import "./chunk-BQGDB6ZL.js";
59
61
  import "./chunk-TV45EUGM.js";
60
62
  export {
@@ -78,10 +78,12 @@ import {
78
78
  writeAssistantFiles,
79
79
  writeProbe,
80
80
  zeroInstallCommands
81
- } from "./chunk-BEVTIBRH.js";
82
- import "./chunk-PKBHS4AA.js";
83
- import "./chunk-Q2TECDIT.js";
84
- import "./chunk-TUULXQRW.js";
81
+ } from "./chunk-J4K4C4T5.js";
82
+ import "./chunk-OSZTENIA.js";
83
+ import "./chunk-GJVCBTSO.js";
84
+ import "./chunk-G3ZFEHCX.js";
85
+ import "./chunk-QFDPX6C4.js";
86
+ import "./chunk-CTJHEG6A.js";
85
87
  import "./chunk-BQGDB6ZL.js";
86
88
  import "./chunk-TV45EUGM.js";
87
89
  export {
@@ -5,18 +5,18 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  storeChangeRows
8
- } from "./chunk-JENSEMXF.js";
9
- import {
10
- metarepoOpenSpec
11
- } from "./chunk-R7NYHMUU.js";
8
+ } from "./chunk-HI7ADE4E.js";
12
9
  import {
13
10
  table
14
11
  } from "./chunk-VOGCSYOI.js";
12
+ import {
13
+ metarepoOpenSpec
14
+ } from "./chunk-WECCLSYY.js";
15
15
  import {
16
16
  gateStatus,
17
17
  ownerWaitsLine,
18
18
  reviewedGates
19
- } from "./chunk-S4PMJU6H.js";
19
+ } from "./chunk-A6ZG3UOS.js";
20
20
  import {
21
21
  ChangeError,
22
22
  RELEASE_PR_STATES,
@@ -37,26 +37,28 @@ import {
37
37
  returnToPo,
38
38
  syncHandoff,
39
39
  syncReleasePrs
40
- } from "./chunk-IDKCWSM5.js";
40
+ } from "./chunk-U2JTTRKS.js";
41
41
  import {
42
42
  MockGitHost,
43
43
  createAdapters,
44
44
  fileStepStore
45
- } from "./chunk-7IGKHZ4Z.js";
45
+ } from "./chunk-ESJALLOK.js";
46
46
  import {
47
47
  baseClonePath,
48
48
  createWorkspace,
49
49
  isInPlace,
50
50
  loadRepos,
51
51
  readChangeRepos
52
- } from "./chunk-PKBHS4AA.js";
52
+ } from "./chunk-OSZTENIA.js";
53
53
  import {
54
54
  changeBranch,
55
55
  changesRelOf,
56
56
  handoffBranch,
57
- loadOrgPack,
58
57
  orgPackDirOf
59
- } from "./chunk-Q2TECDIT.js";
58
+ } from "./chunk-GJVCBTSO.js";
59
+ import {
60
+ loadOrgPack
61
+ } from "./chunk-QFDPX6C4.js";
60
62
 
61
63
  // packages/cli/dist/change-commands.js
62
64
  import { existsSync } from "node:fs";
@@ -80,11 +82,37 @@ async function syncAfterManualStep(root, s, by, io, deps = {}) {
80
82
  if (s.state === "open")
81
83
  return false;
82
84
  const pr = await handoffPrStep(root, s);
83
- if (!pr)
85
+ if (pr) {
86
+ await changeSync(root, s.change, { by, ...pr.repo ? { repo: pr.repo } : {} }, io, deps);
87
+ return true;
88
+ }
89
+ const head = await prStepHead(root, s);
90
+ if (!head || !s.change)
84
91
  return false;
85
- await changeSync(root, s.change, { by, ...pr.repo ? { repo: pr.repo } : {} }, io, deps);
92
+ if (head === changeBranch(s.change)) {
93
+ await changeSync(root, s.change, { by }, io, deps);
94
+ return true;
95
+ }
96
+ const task = head.startsWith(`task/${s.change}/`) ? head.split("/").at(-1) : void 0;
97
+ if (!task)
98
+ return false;
99
+ const { settleTaskPr } = await import("./chunk-FDL2JOLB.js");
100
+ const settled = await settleTaskPr(root, s.change, task, {
101
+ ...deps.gitHost ? { gitHost: deps.gitHost } : {},
102
+ ...deps.now ? { now: () => new Date(deps.now) } : {}
103
+ }).catch(() => ({}));
104
+ if (settled.state !== "merged")
105
+ return false;
106
+ io.out(`Task ${task}'s PR is merged into ${changeBranch(s.change)}${settled.ticked ? `; ticked ${task} in tasks.md` : ""}.`);
86
107
  return true;
87
108
  }
109
+ async function prStepHead(root, s) {
110
+ if (s.system !== "git-host" || !s.change)
111
+ return void 0;
112
+ const open = s.action === "open-pull-request" ? s : (await fileStepStore(root).list({ change: s.change, system: "git-host" })).find((x) => x.action === "open-pull-request" && s.dependsOn.includes(x.id));
113
+ const head = open?.inputs.head;
114
+ return typeof head === "string" ? head : void 0;
115
+ }
88
116
  function printReasons(io, reasons) {
89
117
  for (const r of reasons)
90
118
  io.err(` - ${r.message}`);
@@ -129,7 +157,10 @@ function handoffPublisherFor(deps, io, gitHost) {
129
157
  try {
130
158
  return await git.publish(input);
131
159
  } catch (e) {
132
- io?.out(`The branch ${input.branch} wasn't pushed (${e.message.split("\n")[0]}): push it yourself before you open the PR.`);
160
+ io?.out(
161
+ // App-only audit: the branch is kept here (the publisher makes it before the push).
162
+ `The branch ${input.branch} wasn't pushed (${e.message.split("\n")[0]}): it is kept here with the hand-off's files. Push again on the change page once that is fixed, or push it yourself (git push origin ${input.branch}) before you open the PR.`
163
+ );
133
164
  return { commit: "" };
134
165
  }
135
166
  }
@@ -171,7 +202,7 @@ async function changeNew(root, o, io, deps = {}) {
171
202
  }
172
203
  let like;
173
204
  if (o.like) {
174
- const { findPastChange } = await import("./chunk-W7VWI2YH.js");
205
+ const { findPastChange } = await import("./chunk-H7KERB6Q.js");
175
206
  like = await findPastChange(root, o.like);
176
207
  if (!like) {
177
208
  io.err(`There is no archived change ${o.like}: atticus change similar "<what it is about>" lists them.`);
@@ -180,7 +211,7 @@ async function changeNew(root, o, io, deps = {}) {
180
211
  }
181
212
  let impact;
182
213
  if (o.impact) {
183
- const { loadVendorImpact } = await import("./chunk-N3XIYPU3.js");
214
+ const { loadVendorImpact } = await import("./chunk-X7HFXXTZ.js");
184
215
  const got = await loadVendorImpact(root, o.impact, io);
185
216
  if ("error" in got) {
186
217
  io.err(got.error);
@@ -210,16 +241,16 @@ async function changeNew(root, o, io, deps = {}) {
210
241
  });
211
242
  io.out(`Created ${c.id} (${c.type}, from the ${c.template} template). It is in ${c.state}.`);
212
243
  if (impact) {
213
- const { attachToChange } = await import("./chunk-RLDGWLQ7.js");
214
- const { changeFolder } = await import("./chunk-FPJPLKDW.js");
215
- const { impactDocument, IMPACT_WORDS } = await import("./chunk-N3XIYPU3.js");
244
+ const { attachToChange } = await import("./chunk-4DX4DIND.js");
245
+ const { changeFolder } = await import("./chunk-HRHXTLUM.js");
246
+ const { impactDocument, IMPACT_WORDS } = await import("./chunk-X7HFXXTZ.js");
216
247
  const doc = impactDocument(impact);
217
248
  const attached = await attachToChange(changeFolder(root, c.id), [{ name: doc.name, bytes: new TextEncoder().encode(doc.text) }], { by: o.by, at: deps.now ?? (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "Z") });
218
249
  const path = attached.added[0]?.path ?? `inputs/${doc.name}`;
219
250
  io.out(IMPACT_WORDS.started(impact.name, impact.impact.newer.version ?? impact.impact.newer.id, impact.impact, path));
220
251
  }
221
252
  if (like) {
222
- const { attachPastChange } = await import("./chunk-W7VWI2YH.js");
253
+ const { attachPastChange } = await import("./chunk-H7KERB6Q.js");
223
254
  const name = await attachPastChange(root, c.id, like, o.by, deps.now ? new Date(deps.now) : /* @__PURE__ */ new Date());
224
255
  io.out(`It starts from ${like}: attached as inputs/${name}, which its steps read as an example.`);
225
256
  }
@@ -290,7 +321,7 @@ async function usedUpGates(root, id) {
290
321
  for (const g of await reviewedGates(root, id).catch(() => [])) {
291
322
  const s = await gateStatus(root, id, g).catch(() => void 0);
292
323
  if (s && (s.humanDecides || s.checkRound || ownerWaitsLine(s, id)))
293
- out.push((await import("./chunk-PMUAJGLI.js")).statusLine(s, id));
324
+ out.push((await import("./chunk-AAY6VPPO.js")).statusLine(s, id));
294
325
  }
295
326
  return out;
296
327
  }
@@ -318,11 +349,14 @@ async function changeHandoff(root, id, o, io, deps = {}) {
318
349
  ...o.base ? { base: o.base } : {},
319
350
  publisher: handoffPublisherFor(deps, io, gitHost),
320
351
  // WP7.4: the PR reviews itself: the change as a picture, its estimate, its open findings.
321
- review: await (await import("./chunk-EIPTLPFC.js")).handoffReview(root, id),
352
+ review: await (await import("./chunk-CFSHLQPK.js")).handoffReview(root, id),
322
353
  ...metarepoOpenSpec(root) ? { openspec: metarepoOpenSpec(root) } : {}
323
354
  });
324
355
  io.out(h.pr.url.startsWith("manual:") ? `Hand-off raised as a step for you (Home \u203A Manual steps): open its PR on the Git host from ${h.branch}, then record its link.` : `Hand-off PR #${h.pr.number} (${h.branch}) is open: ${h.pr.url}`);
325
- io.out(`Reviewers: ${h.reviewers.length ? h.reviewers.map((r) => `@${r}`).join(", ") : "none named"}.`);
356
+ io.out(`Reviewers: ${h.reviewers.length ? h.reviewers.map((r) => `@${r}`).join(", ") : "none named: name the next role under Owners on the change's page"}.`);
357
+ const { notifyHandoffReviewers } = await import("./chunk-ZSNNF26J.js");
358
+ for (const line of await notifyHandoffReviewers(root, await changeStore(root).read(id), h, approvalOf(o.by, now, ref), deps.notify).catch(() => []))
359
+ io.out(line);
326
360
  io.out(`Merging it approves the gate; the Git host's own rules decide who may approve it.`);
327
361
  return 0;
328
362
  } catch (e) {
@@ -570,7 +604,7 @@ async function rescanAfterArchive(root, id, plan, io, deps) {
570
604
  io.out(`Couldn't update the base clone of ${s.id} (${s.reason ?? s.action}); scanning what is there.`);
571
605
  }
572
606
  io.out(`Rescanning for ${id}'s repos: ${here.join(", ")}.`);
573
- const code = await (await import("./chunk-WNKPRSGI.js")).scanCommand(root, {}, io);
607
+ const code = await (await import("./chunk-L27KUL5B.js")).scanCommand(root, {}, io);
574
608
  if (away.length)
575
609
  io.out(`Not in a base clone here: ${away.join(", ")}. To add them, run: ${command(away)}`);
576
610
  return code;