@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
@@ -62,13 +62,15 @@ import {
62
62
  specEndpointIds,
63
63
  specFormatOf,
64
64
  vendorImpact
65
- } from "./chunk-CPK7QSBG.js";
66
- import "./chunk-YO2PKTXT.js";
67
- import "./chunk-TWQRPM76.js";
68
- import "./chunk-QHJJMZLX.js";
69
- import "./chunk-7AB6OWTV.js";
70
- import "./chunk-PAINMSID.js";
71
- import "./chunk-ODMBPDDV.js";
65
+ } from "./chunk-QKUJMING.js";
66
+ import "./chunk-6ZGLAACW.js";
67
+ import "./chunk-CQDGOPGH.js";
68
+ import "./chunk-3NFFJL5D.js";
69
+ import "./chunk-P32RUW3B.js";
70
+ import "./chunk-QA4O2GGC.js";
71
+ import "./chunk-Q2TECDIT.js";
72
+ import "./chunk-TUULXQRW.js";
73
+ import "./chunk-BQGDB6ZL.js";
72
74
  import "./chunk-TV45EUGM.js";
73
75
  export {
74
76
  CHANGE_INPUTS_SCHEMA_VERSION,
@@ -0,0 +1,384 @@
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
+ generateTests,
8
+ matrixCsv,
9
+ matrixMarkdown,
10
+ traceMatrix,
11
+ writeTraceFindings
12
+ } from "./chunk-BTGPE6CR.js";
13
+ import {
14
+ DriftError,
15
+ SNIPPET_KINDS,
16
+ archiveGate,
17
+ driftExitCode,
18
+ driftJUnit,
19
+ driftJson,
20
+ driftMarkdown,
21
+ pipelineSnippet,
22
+ repoDrift
23
+ } from "./chunk-ZQ7SKESZ.js";
24
+ import {
25
+ table
26
+ } from "./chunk-VOGCSYOI.js";
27
+ import {
28
+ GlossaryError,
29
+ aliasDecision,
30
+ completeGlossaryDefinitions,
31
+ defineDecision,
32
+ linkDecision,
33
+ loadGlossary,
34
+ resolveTermId,
35
+ scanGlossary,
36
+ writeDecisions
37
+ } from "./chunk-J2JAKCIW.js";
38
+ import {
39
+ createGit
40
+ } from "./chunk-PKBHS4AA.js";
41
+ import {
42
+ runtimeForCli
43
+ } from "./chunk-P32RUW3B.js";
44
+
45
+ // packages/cli/dist/quality-commands.js
46
+ import { appendFile, mkdir, writeFile } from "node:fs/promises";
47
+ import { dirname, join } from "node:path";
48
+ var KNOWN = /* @__PURE__ */ new Set([
49
+ "TestgenError",
50
+ "PlannerError",
51
+ "ChangeError",
52
+ "ChangeFileError",
53
+ "GlossaryError",
54
+ "RuntimeConfigError"
55
+ ]);
56
+ function fail(io, e) {
57
+ if (e instanceof Error && KNOWN.has(e.name)) {
58
+ io.err(e.message);
59
+ return e.code === "invalid" ? 2 : 1;
60
+ }
61
+ throw e;
62
+ }
63
+ var iso = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");
64
+ var lines = (io, text) => {
65
+ for (const l of text.trimEnd().split("\n"))
66
+ io.out(l);
67
+ };
68
+ var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
69
+ async function runtimeOf(root, mode, deps) {
70
+ if (deps.runtime)
71
+ return deps.runtime;
72
+ if (!mode && !process.env.ATTICUS_RUNTIME)
73
+ return void 0;
74
+ return (await runtimeForCli(root, mode ? { mode } : {})).runtime;
75
+ }
76
+ async function testsGenerate(root, changeId, storyId, o, io, deps = {}) {
77
+ if (!changeId || !storyId) {
78
+ io.err("Usage: atticus tests generate <change> <story> [--framework <id>] [--force] [--check] [--mode <mode>] [--json]");
79
+ return 2;
80
+ }
81
+ try {
82
+ const runtime = await runtimeOf(root, o.mode, deps);
83
+ const r = await generateTests(root, changeId, storyId, {
84
+ ...o.framework ? { framework: o.framework } : {},
85
+ ...o.force ? { force: true } : {},
86
+ ...o.check ? { check: true } : {},
87
+ ...o.resume ? { resume: o.resume } : {},
88
+ ...runtime ? { runtime } : {},
89
+ now: deps.now?.() ?? /* @__PURE__ */ new Date()
90
+ });
91
+ const kept = r.files.filter((f) => f.action === "kept-edited" || f.action === "kept-not-generated");
92
+ if (o.json) {
93
+ io.out(JSON.stringify({
94
+ change: r.change,
95
+ story: r.story,
96
+ strategy: r.model.strategy,
97
+ kinds: r.model.kinds,
98
+ names: r.names.by,
99
+ ...r.names.waiting ? { waiting: r.names.waiting } : {},
100
+ files: r.files,
101
+ manifest: r.manifest,
102
+ notes: r.notes,
103
+ gaps: r.gaps
104
+ }, null, 2));
105
+ return kept.length ? 1 : 0;
106
+ }
107
+ const count = (a) => r.files.filter((f) => f.action === a).length;
108
+ const cases = r.model.repos.reduce((n, x) => n + x.cases.length, 0);
109
+ io.out(`${o.check ? "Would write" : "Generated"} ${plural(cases, "test case")} for ${r.story} in ${plural(r.files.length, "file")}: ${count("created")} new, ${count("updated")} updated, ${count("unchanged")} unchanged${kept.length ? `, ${kept.length} kept` : ""}.`);
110
+ for (const l of table(["ACTION", "REPO", "FRAMEWORK", "FILE"], r.files.map((f) => [f.action, f.repo || "-", f.generator, f.path])))
111
+ io.out(l);
112
+ for (const k of r.model.kinds.filter((x) => !x.generated))
113
+ io.out(`No ${k.type} tests: ${k.why}`);
114
+ for (const n of r.notes)
115
+ io.out(n);
116
+ for (const g of r.gaps)
117
+ io.out(`Gap: ${g}`);
118
+ if (r.names.waiting)
119
+ io.out(`The test writer is with your assistant (run ${r.names.waiting}); the files use plain names until you run: atticus tests generate ${changeId} ${storyId} --resume ${r.names.waiting}`);
120
+ if (!o.check)
121
+ io.out(`Manifest: ${r.manifest}`);
122
+ return kept.length ? 1 : 0;
123
+ } catch (e) {
124
+ return fail(io, e);
125
+ }
126
+ }
127
+ async function traceCommand(root, changeId, o, io, deps = {}) {
128
+ if (!changeId) {
129
+ io.err("Usage: atticus trace <change> [--json | --csv] [--no-write]");
130
+ return 2;
131
+ }
132
+ try {
133
+ const m = await traceMatrix(root, changeId, { git: deps.git ?? createGit() });
134
+ for (const p of m.problems)
135
+ io.err(p);
136
+ const w = o.write === false ? void 0 : await writeTraceFindings(root, m, iso(deps.now?.() ?? /* @__PURE__ */ new Date()));
137
+ if (o.json)
138
+ io.out(JSON.stringify({ ...m, ...w ? { round: w.round ?? null } : {} }, null, 2));
139
+ else if (o.csv)
140
+ lines(io, matrixCsv(m));
141
+ else {
142
+ lines(io, matrixMarkdown(m));
143
+ if (w)
144
+ io.out(w.unchanged ? `Findings on the trace gate are unchanged (round ${w.round ?? "none"}).` : `Wrote ${plural(w.findings.length, "finding")} to review/trace/${w.round}/.`);
145
+ }
146
+ return m.gaps.some((g) => g.kind !== "test-without-requirement") ? 1 : 0;
147
+ } catch (e) {
148
+ return fail(io, e);
149
+ }
150
+ }
151
+ async function ciDrift(repoDir, o, io, deps = {}) {
152
+ if (!o.catalog) {
153
+ io.err("Usage: atticus ci drift [repo-dir] --catalog <metarepo or catalog folder> [--repo <id>] [--json [file]] [--junit <file>] [--summary <file>] [--warn-only]");
154
+ return 2;
155
+ }
156
+ try {
157
+ const r = await repoDrift({
158
+ repoDir,
159
+ catalog: o.catalog,
160
+ ...o.repo ? { repo: o.repo } : {},
161
+ ...o.warnOnly ? { warnOnly: true } : {},
162
+ ...deps.commit ? { commit: deps.commit } : {},
163
+ ...deps.git ? { git: deps.git } : {}
164
+ });
165
+ const put = async (file, text) => {
166
+ await mkdir(dirname(file), { recursive: true });
167
+ await writeFile(file, text, "utf8");
168
+ };
169
+ if (typeof o.json === "string")
170
+ await put(o.json, driftJson(r));
171
+ if (o.junit)
172
+ await put(o.junit, driftJUnit(r));
173
+ if (o.summary) {
174
+ await mkdir(dirname(o.summary), { recursive: true });
175
+ await appendFile(o.summary, driftMarkdown(r), "utf8");
176
+ }
177
+ if (o.json === true)
178
+ io.out(driftJson(r).trimEnd());
179
+ else
180
+ lines(io, driftMarkdown(r));
181
+ return driftExitCode(r);
182
+ } catch (e) {
183
+ if (e instanceof DriftError) {
184
+ io.err(e.message);
185
+ return 2;
186
+ }
187
+ throw e;
188
+ }
189
+ }
190
+ async function ciSnippet(kind, io, o = {}) {
191
+ const s = kind ? pipelineSnippet(kind) : void 0;
192
+ if (!s) {
193
+ io.err(`Usage: atticus ci snippet <${SNIPPET_KINDS.join("|")}> [--write <repo-dir>]`);
194
+ return 2;
195
+ }
196
+ if (o.write) {
197
+ const file = join(o.write, ...s.path.split("/"));
198
+ await mkdir(dirname(file), { recursive: true });
199
+ await writeFile(file, s.content, "utf8");
200
+ io.out(`Wrote ${s.path}. Set the variables its first lines name, then commit it.`);
201
+ return 0;
202
+ }
203
+ lines(io, s.content);
204
+ return 0;
205
+ }
206
+ async function ciArchiveGate(root, changeId, o, io, deps = {}) {
207
+ if (!changeId) {
208
+ io.err("Usage: atticus ci archive-gate <change> [--drift <report.json>...] [--json]");
209
+ return 2;
210
+ }
211
+ let r;
212
+ try {
213
+ r = await archiveGate(root, changeId, {
214
+ ...o.drift?.length ? { driftReports: o.drift } : {},
215
+ ...deps.commit ? { commit: deps.commit } : {}
216
+ });
217
+ } catch (e) {
218
+ if (e instanceof Error && e.name === "ChangeFileError") {
219
+ io.err(e.message);
220
+ return 2;
221
+ }
222
+ throw e;
223
+ }
224
+ if (o.json)
225
+ io.out(JSON.stringify(r, null, 2));
226
+ else {
227
+ io.out(r.pass ? `${changeId} may be archived: no blockers, its release PRs merged and built, and the catalog says what shipped.` : `${changeId} can't be archived yet (${plural(r.blockers.length, "blocker")}):`);
228
+ for (const b of r.blockers)
229
+ io.out(`- ${b.message}`);
230
+ for (const n of r.notes)
231
+ io.out(n);
232
+ }
233
+ return r.pass ? 0 : 1;
234
+ }
235
+ var short = (s, n = 70) => s.length <= n ? s : `${s.slice(0, n - 3)}...`;
236
+ var sourceOf = (flags, confidence) => confidence === "asserted" ? "person" : flags?.includes("ai-proposed") ? "ai" : flags?.includes("undefined") ? "code" : "wiki";
237
+ async function glossaryList(root, o, io) {
238
+ const g = await loadGlossary(root);
239
+ for (const p of g.problems)
240
+ io.err(p);
241
+ if (o.json) {
242
+ io.out(JSON.stringify({
243
+ terms: g.terms,
244
+ conflicts: g.build.conflicts,
245
+ hints: g.build.hints,
246
+ synonyms: Object.fromEntries(g.build.entries.filter((e) => e.aliases.length).map((e) => [e.id, e.aliases]))
247
+ }, null, 2));
248
+ return 0;
249
+ }
250
+ if (!g.terms.length) {
251
+ io.out("The glossary is empty: no wiki page defines a term and the catalog has no domain words yet.");
252
+ return 0;
253
+ }
254
+ for (const l of table(["TERM", "ID", "FROM", "FLAGS", "DEFINITION"], g.terms.map((t) => [
255
+ t.term,
256
+ t.id,
257
+ sourceOf(t.flags, t.confidence),
258
+ (t.flags ?? []).join(","),
259
+ short(t.definition)
260
+ ])))
261
+ io.out(l);
262
+ io.out(`${plural(g.terms.length, "term")}, ${plural(g.build.conflicts.filter((c) => !c.resolved).length, "conflict")}.`);
263
+ return 0;
264
+ }
265
+ async function glossaryScan(root, o, io, deps = {}) {
266
+ try {
267
+ const runtime = await runtimeOf(root, o.mode, deps);
268
+ const r = await scanGlossary(root, {
269
+ ...runtime ? { runtime } : {},
270
+ ...deps.now ? { now: deps.now() } : {}
271
+ });
272
+ if (o.json) {
273
+ for (const p of r.problems)
274
+ io.err(p);
275
+ io.out(JSON.stringify({
276
+ terms: r.terms.length,
277
+ written: r.written,
278
+ removed: r.removed,
279
+ conflicts: r.build.conflicts,
280
+ hints: r.build.hints,
281
+ ...r.propose ? { proposals: r.propose.proposals.length, discarded: r.propose.discarded } : {}
282
+ }, null, 2));
283
+ return 0;
284
+ }
285
+ printGlossaryScan(r, io);
286
+ return 0;
287
+ } catch (e) {
288
+ return fail(io, e);
289
+ }
290
+ }
291
+ function printGlossaryScan(r, io) {
292
+ for (const p of r.problems)
293
+ io.err(p);
294
+ const open = r.build.conflicts.filter((c) => !c.resolved);
295
+ io.out(`The glossary has ${plural(r.terms.length, "term")}; ${plural(r.written.length, "file")} written and ${plural(r.removed.length, "file")} removed in catalog/generated.`);
296
+ if (r.propose)
297
+ io.out(r.propose.waiting ? `The glossary definer is with your assistant (run ${r.propose.waiting}). When it is done, run: atticus handoff done ${r.propose.waiting}` : `The glossary definer proposed ${plural(r.propose.proposals.length, "definition")} (kept inferred until a person defines the term).`);
298
+ for (const d of r.propose?.discarded ?? [])
299
+ if (d.term && !r.propose?.waiting)
300
+ io.err(`Discarded ${d.term}: ${d.reason}`);
301
+ for (const c of open)
302
+ io.out(`Conflict: ${c.message}`);
303
+ for (const h of r.build.hints)
304
+ io.out(`Naming: ${h.message}`);
305
+ }
306
+ async function completeGlossaryScan(root, run, io, deps = {}) {
307
+ try {
308
+ const r = await completeGlossaryDefinitions(root, run, deps.now ? { now: deps.now } : {});
309
+ printGlossaryScan(r, io);
310
+ return 0;
311
+ } catch (e) {
312
+ return fail(io, e);
313
+ }
314
+ }
315
+ async function decide(root, io, make, said) {
316
+ try {
317
+ const g = await loadGlossary(root);
318
+ const ds = make(g);
319
+ const files = await writeDecisions(join(g.catalogDir, "curated"), ds);
320
+ await scanGlossary(root);
321
+ io.out(`Wrote ${files.map((f) => `catalog/curated/${f}`).join(" and ")}: ${said}. Commit it so every scan keeps it.`);
322
+ return 0;
323
+ } catch (e) {
324
+ if (e instanceof GlossaryError) {
325
+ io.err(e.message);
326
+ return e.code === "invalid" ? 2 : 1;
327
+ }
328
+ throw e;
329
+ }
330
+ }
331
+ async function glossaryDefine(root, term, definition, o, io) {
332
+ if (!term || !definition || !o.by) {
333
+ io.err('Usage: atticus glossary define <term> "<definition>" [--by <handle>] [--owner <team>]');
334
+ return 2;
335
+ }
336
+ return decide(root, io, (g) => {
337
+ const existing = g.terms.find((t) => t.id === resolveTermId(term));
338
+ return [
339
+ defineDecision(term, definition, {
340
+ by: o.by,
341
+ ...o.owner ? { owner: o.owner } : {},
342
+ ...existing ? { existing } : {}
343
+ })
344
+ ];
345
+ }, `${resolveTermId(term)} is defined and asserted`);
346
+ }
347
+ async function glossaryLink(root, term, recordId, o, io) {
348
+ if (!term || !recordId || !o.by) {
349
+ io.err("Usage: atticus glossary link <term> <record-id | schema#field> [--by <handle>]");
350
+ return 2;
351
+ }
352
+ return decide(root, io, (g) => {
353
+ const id = resolveTermId(term);
354
+ const t = g.terms.find((x) => x.id === id);
355
+ if (!t)
356
+ throw new GlossaryError("not-found", `There is no term ${id}. Define it first: atticus glossary define`);
357
+ return [linkDecision(t, recordId, g.base, { by: o.by })];
358
+ }, `${recordId} is linked to ${resolveTermId(term)}`);
359
+ }
360
+ async function glossaryAlias(root, term, names, o, io) {
361
+ if (!term || !names.length || !o.by) {
362
+ io.err('Usage: atticus glossary alias <term> "<other name>"... [--by <handle>]');
363
+ return 2;
364
+ }
365
+ return decide(root, io, (g) => {
366
+ const id = resolveTermId(term);
367
+ const before = g.build.entries.find((e) => e.id === id)?.aliases ?? [];
368
+ return [aliasDecision(id, [...before, ...names], { by: o.by })];
369
+ }, `${names.join(", ")} ${names.length === 1 ? "is another name" : "are other names"} for ${resolveTermId(term)}`);
370
+ }
371
+
372
+ export {
373
+ testsGenerate,
374
+ traceCommand,
375
+ ciDrift,
376
+ ciSnippet,
377
+ ciArchiveGate,
378
+ glossaryList,
379
+ glossaryScan,
380
+ completeGlossaryScan,
381
+ glossaryDefine,
382
+ glossaryLink,
383
+ glossaryAlias
384
+ };
@@ -7,10 +7,10 @@ import {
7
7
  cliMarkdown,
8
8
  gradeDialect,
9
9
  kindsMarkdown
10
- } from "./chunk-P2VBXX7N.js";
10
+ } from "./chunk-O7FDLW7L.js";
11
11
  import {
12
12
  generateTests
13
- } from "./chunk-EZIN5E5B.js";
13
+ } from "./chunk-BTGPE6CR.js";
14
14
  import {
15
15
  DEFAULT_DONE,
16
16
  DESIGN_FORMAT,
@@ -33,19 +33,19 @@ import {
33
33
  storySteps,
34
34
  unfence,
35
35
  writesField
36
- } from "./chunk-BEPCKDCP.js";
36
+ } from "./chunk-R7NYHMUU.js";
37
37
  import {
38
38
  DesignScreen
39
- } from "./chunk-HWD4JPU7.js";
39
+ } from "./chunk-IVBOQAGB.js";
40
40
  import {
41
41
  BUILT_IN_CHECKS,
42
42
  runCritic
43
- } from "./chunk-K332XW7K.js";
43
+ } from "./chunk-S4PMJU6H.js";
44
44
  import {
45
45
  buildGlossary,
46
46
  proposeDefinitions,
47
47
  undefinedCodeTerms
48
- } from "./chunk-4SLBCEPD.js";
48
+ } from "./chunk-J2JAKCIW.js";
49
49
  import {
50
50
  askKnowledge,
51
51
  checkQuote,
@@ -60,16 +60,16 @@ import {
60
60
  termsOf,
61
61
  writeKnowledge,
62
62
  writeSnapshots
63
- } from "./chunk-64AADMTW.js";
63
+ } from "./chunk-745DAZ4L.js";
64
64
  import {
65
65
  writeChangeRepos
66
- } from "./chunk-XOL3GFW2.js";
66
+ } from "./chunk-PKBHS4AA.js";
67
67
  import {
68
68
  MockRuntime,
69
69
  ReplayRuntime,
70
70
  RuntimeError,
71
71
  buildContextPack
72
- } from "./chunk-QHJJMZLX.js";
72
+ } from "./chunk-P32RUW3B.js";
73
73
  import {
74
74
  AgentDefinition,
75
75
  KNOWLEDGE_KINDS,
@@ -81,10 +81,12 @@ import {
81
81
  parseRecord,
82
82
  projectFacts,
83
83
  recordPath,
84
- require_dist,
85
84
  serializeRecord,
86
85
  stateDirOf
87
- } from "./chunk-PAINMSID.js";
86
+ } from "./chunk-Q2TECDIT.js";
87
+ import {
88
+ require_dist
89
+ } from "./chunk-BQGDB6ZL.js";
88
90
  import {
89
91
  __toESM
90
92
  } from "./chunk-TV45EUGM.js";
@@ -16,24 +16,23 @@ import {
16
16
  outsideSystemsOf,
17
17
  phaseGates,
18
18
  statePhase
19
- } from "./chunk-HSZMPH5T.js";
19
+ } from "./chunk-IDKCWSM5.js";
20
20
  import {
21
21
  daysBetween,
22
22
  knowledgeGaps,
23
23
  newestEvidence
24
- } from "./chunk-64AADMTW.js";
24
+ } from "./chunk-745DAZ4L.js";
25
25
  import {
26
26
  BREAKING_SPEC,
27
27
  INSTRUCTION_RULES,
28
28
  PERSONAL_DATA_SPEC,
29
29
  buildContextPack,
30
- estimateTokens,
31
30
  personalItem,
32
31
  quarantineItems,
33
32
  screenText,
34
33
  settle,
35
34
  toRunSummary
36
- } from "./chunk-QHJJMZLX.js";
35
+ } from "./chunk-P32RUW3B.js";
37
36
  import {
38
37
  ASKED_GAP_STEP,
39
38
  AgentDefinition,
@@ -59,6 +58,7 @@ import {
59
58
  callsOfQuestion,
60
59
  changesDirOf,
61
60
  changesRelOf,
61
+ estimateTokens,
62
62
  external_exports,
63
63
  fileJudgments,
64
64
  findingPath,
@@ -77,15 +77,17 @@ import {
77
77
  quotedIn,
78
78
  readQuestion,
79
79
  repoReadOf,
80
- require_dist,
81
80
  runsDirOf,
82
81
  stateDirOf,
83
82
  toCanonicalYaml,
84
83
  writeQuestion
85
- } from "./chunk-PAINMSID.js";
84
+ } from "./chunk-Q2TECDIT.js";
86
85
  import {
87
86
  writeFileAtomic
88
- } from "./chunk-ODMBPDDV.js";
87
+ } from "./chunk-TUULXQRW.js";
88
+ import {
89
+ require_dist
90
+ } from "./chunk-BQGDB6ZL.js";
89
91
  import {
90
92
  __toESM
91
93
  } from "./chunk-TV45EUGM.js";
@@ -3564,7 +3566,8 @@ async function roundsOf(root, change, gate) {
3564
3566
  async function countedRounds(root, change, gate) {
3565
3567
  const out = [];
3566
3568
  for (const n of await roundsOf(root, change, gate)) {
3567
- const m = await readRoundMeta(root, change, gate, n);
3569
+ const m0 = await readRoundMeta(root, change, gate, n);
3570
+ const m = m0?.state === "in-progress" ? void 0 : m0;
3568
3571
  if (!m) {
3569
3572
  const r = await readRound(root, change, gate, n);
3570
3573
  if (!r.findings.length && !r.bad.length)
@@ -5360,6 +5363,15 @@ async function runCritic(root, changeId, opts = {}) {
5360
5363
  problems.push(`Rule ${h.rule.id} produced a finding without evidence; it was discarded: ${h.hit.summary}`);
5361
5364
  const merged1 = mergeHits(l1.filter((h) => h.hit.evidence.length > 0), ctx.systemOf);
5362
5365
  const failed = new Set(merged1.filter((h) => h.hit.kind === "issue" && h.rule.severity === "blocking" && h.hit.artifact !== "catalog").map((h) => h.hit.artifact));
5366
+ const metaDir = join10(changeFolder(root, change.id), "review", gate.id, String(round), "meta");
5367
+ await writeFileAtomic(join10(metaDir, "round.yaml"), toCanonicalYaml({
5368
+ schemaVersion: 1,
5369
+ change: change.id,
5370
+ gate: gate.id,
5371
+ round,
5372
+ createdAt: now,
5373
+ state: "in-progress"
5374
+ }, ROUND_LEADING));
5363
5375
  const lenses = opts.lenses ? questionsOf(opts.lenses) : [...CriticQuestion.options];
5364
5376
  const quarantined = [];
5365
5377
  const draft = opts.review ? await draftDocs(changeFolder(root, change.id), opts.review.files) : [];
@@ -5444,7 +5456,6 @@ async function runCritic(root, changeId, opts = {}) {
5444
5456
  ];
5445
5457
  await keepLensRecords(root, change.id, gate.id, round, ai.runs);
5446
5458
  const model = criticModel(lifecycle.orgPack.runtime, opts.authorModel);
5447
- const metaDir = join10(changeFolder(root, change.id), "review", gate.id, String(round), "meta");
5448
5459
  for (const r of ai.runs)
5449
5460
  if (r.summary)
5450
5461
  await writeFileAtomic(join10(metaDir, "runs", `${r.agent}.yaml`), toCanonicalYaml(r.summary, ["schemaVersion", "runId"]));
@@ -3,6 +3,9 @@ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
3
3
  var require = __atticusCreateRequire(import.meta.url);
4
4
  var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
+ import {
7
+ withSharedFileLock
8
+ } from "./chunk-TUULXQRW.js";
6
9
 
7
10
  // packages/cli/dist/file-lock.js
8
11
  import { appendFile, readFile } from "node:fs/promises";
@@ -21,7 +24,7 @@ function withFileLock(path, work) {
21
24
  return next;
22
25
  }
23
26
  function appendLines(file, lines) {
24
- return withFileLock(file, async () => {
27
+ return withSharedFileLock(file, async () => {
25
28
  const now = await readFile(file, "utf8").catch(() => "");
26
29
  const eol = /\r\n/.test(now) ? "\r\n" : "\n";
27
30
  const lead = now && !now.endsWith("\n") ? eol : "";
@@ -6,25 +6,25 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  prepareKnowledgeBench,
8
8
  runKnowledgeBench
9
- } from "./chunk-FYBF5MB2.js";
10
- import "./chunk-36RY7ZXM.js";
11
- import "./chunk-2V2ZPQQU.js";
12
- import "./chunk-P2VBXX7N.js";
13
- import "./chunk-EZIN5E5B.js";
14
- import "./chunk-3LZ6P5EP.js";
9
+ } from "./chunk-RXPJMEOW.js";
10
+ import "./chunk-WF7B67YE.js";
11
+ import "./chunk-6PPOWY5E.js";
12
+ import "./chunk-O7FDLW7L.js";
13
+ import "./chunk-BTGPE6CR.js";
14
+ import "./chunk-MUWDB4R4.js";
15
15
  import {
16
16
  codeFactRecords
17
- } from "./chunk-BEPCKDCP.js";
18
- import "./chunk-HWD4JPU7.js";
19
- import "./chunk-5WERBKLE.js";
17
+ } from "./chunk-R7NYHMUU.js";
18
+ import "./chunk-IVBOQAGB.js";
19
+ import "./chunk-ISUAAMGS.js";
20
20
  import {
21
21
  table
22
22
  } from "./chunk-VOGCSYOI.js";
23
- import "./chunk-K332XW7K.js";
24
- import "./chunk-HSZMPH5T.js";
25
- import "./chunk-D2WSW4GU.js";
26
- import "./chunk-4KNOJC6J.js";
27
- import "./chunk-4SLBCEPD.js";
23
+ import "./chunk-S4PMJU6H.js";
24
+ import "./chunk-IDKCWSM5.js";
25
+ import "./chunk-UUU4CLJG.js";
26
+ import "./chunk-7IGKHZ4Z.js";
27
+ import "./chunk-J2JAKCIW.js";
28
28
  import {
29
29
  askKnowledge,
30
30
  conflictLine,
@@ -50,17 +50,18 @@ import {
50
50
  tagList,
51
51
  writeKnowledge,
52
52
  writeReview
53
- } from "./chunk-64AADMTW.js";
54
- import "./chunk-JYMIB5XY.js";
55
- import "./chunk-CPK7QSBG.js";
56
- import "./chunk-YO2PKTXT.js";
57
- import "./chunk-TWQRPM76.js";
58
- import "./chunk-XOL3GFW2.js";
53
+ } from "./chunk-745DAZ4L.js";
54
+ import "./chunk-CXJ6FUKN.js";
55
+ import "./chunk-QKUJMING.js";
56
+ import "./chunk-6ZGLAACW.js";
57
+ import "./chunk-CQDGOPGH.js";
58
+ import "./chunk-3NFFJL5D.js";
59
+ import "./chunk-PKBHS4AA.js";
59
60
  import {
60
61
  RuntimeConfigError,
61
62
  runtimeForCli
62
- } from "./chunk-QHJJMZLX.js";
63
- import "./chunk-7AB6OWTV.js";
63
+ } from "./chunk-P32RUW3B.js";
64
+ import "./chunk-QA4O2GGC.js";
64
65
  import {
65
66
  KNOWLEDGE_KINDS,
66
67
  fileJudgments,
@@ -68,8 +69,9 @@ import {
68
69
  knowledgeRelOf,
69
70
  loadOrgPack,
70
71
  orgPackDirOf
71
- } from "./chunk-PAINMSID.js";
72
- import "./chunk-ODMBPDDV.js";
72
+ } from "./chunk-Q2TECDIT.js";
73
+ import "./chunk-TUULXQRW.js";
74
+ import "./chunk-BQGDB6ZL.js";
73
75
  import "./chunk-TV45EUGM.js";
74
76
 
75
77
  // packages/cli/dist/knowledge-scan-commands.js