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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/bin.js +8 -4
  2. package/dist/chunk-23XVSEV5.js +49 -0
  3. package/dist/{chunk-ZDPAS56H.js → chunk-24OXGB3P.js} +8 -2
  4. package/dist/{chunk-7EOBHUMC.js → chunk-24XLDU72.js} +4 -3
  5. package/dist/{chunk-CR3MTH32.js → chunk-2F4CYZKJ.js} +86 -11
  6. package/dist/{chunk-6IU67AEK.js → chunk-2GF7OLF3.js} +23 -15
  7. package/dist/chunk-2IIMFOPM.js +41 -0
  8. package/dist/chunk-2LGRMVCA.js +617 -0
  9. package/dist/{chunk-XPCM366L.js → chunk-2MMCFP5C.js} +10 -8
  10. package/dist/{chunk-JBTK5OP2.js → chunk-2Q56PQPS.js} +6 -4
  11. package/dist/{chunk-Z6LF7HQN.js → chunk-2Q5EDGEO.js} +7 -5
  12. package/dist/{chunk-3USYZGRF.js → chunk-2RLKFUUL.js} +38 -27
  13. package/dist/chunk-2SKB4O2E.js +59 -0
  14. package/dist/{chunk-SP2I63OO.js → chunk-34S2WGOB.js} +87 -4
  15. package/dist/{chunk-GQ4N4WKF.js → chunk-3NFFJL5D.js} +33 -27
  16. package/dist/{chunk-SJRGMG6A.js → chunk-3NWDLGG6.js} +28 -25
  17. package/dist/{chunk-4WBVUHXN.js → chunk-3RM4UK6W.js} +20 -18
  18. package/dist/chunk-42SIDKEU.js +583 -0
  19. package/dist/{chunk-GLUX4EEP.js → chunk-4EURQWQD.js} +20 -15
  20. package/dist/chunk-4U276ICE.js +39 -0
  21. package/dist/{chunk-ZMFPW66A.js → chunk-53T4O55J.js} +4 -3
  22. package/dist/{chunk-6J5OKA4Y.js → chunk-57TDNMI3.js} +17 -15
  23. package/dist/chunk-5BD2KYLE.js +57 -0
  24. package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
  25. package/dist/chunk-5NMKONLP.js +95 -0
  26. package/dist/{chunk-7ZUIMTOU.js → chunk-5SJZW52K.js} +26 -24
  27. package/dist/{chunk-4RS5KZQD.js → chunk-63YRMR6J.js} +6 -5
  28. package/dist/chunk-66PPNOON.js +62 -0
  29. package/dist/chunk-6H3Z5JHH.js +64 -0
  30. package/dist/{chunk-CEXSU4S6.js → chunk-6MUGR4LS.js} +775 -89
  31. package/dist/{chunk-QSXK2RGH.js → chunk-6OJQOPUN.js} +5 -3
  32. package/dist/{chunk-MVZVGYXH.js → chunk-6PPOWY5E.js} +84 -14
  33. package/dist/{chunk-7EKXJZ2Y.js → chunk-6ZGLAACW.js} +299 -38
  34. package/dist/chunk-6ZJ5A7AF.js +222 -0
  35. package/dist/{chunk-L24C55VN.js → chunk-745DAZ4L.js} +142 -30
  36. package/dist/{chunk-Q4D5X7QB.js → chunk-7ASNL4Q4.js} +46 -24
  37. package/dist/chunk-7BR7IPOH.js +35 -0
  38. package/dist/{chunk-7WD63HU2.js → chunk-7DOR27HL.js} +6 -6
  39. package/dist/chunk-7FTTA3HD.js +341 -0
  40. package/dist/{chunk-OLQJTJJU.js → chunk-7GJS6DNX.js} +12 -3
  41. package/dist/{chunk-7JUKDRSZ.js → chunk-7IGKHZ4Z.js} +347 -226
  42. package/dist/{chunk-G2B4ZQGH.js → chunk-7IOWA5D5.js} +11 -6
  43. package/dist/{chunk-EBEW3XXQ.js → chunk-7JITZFJC.js} +7 -5
  44. package/dist/chunk-7MJSQTL5.js +174 -0
  45. package/dist/{chunk-I4JRCD6M.js → chunk-7UOMVMFG.js} +25 -17
  46. package/dist/{chunk-YY6ZQQBP.js → chunk-AFWUDXEM.js} +19 -7
  47. package/dist/chunk-AFZ3QA6W.js +47 -0
  48. package/dist/chunk-AJQ72EBM.js +420 -0
  49. package/dist/chunk-AJYXNTNZ.js +317 -0
  50. package/dist/chunk-AVTBS4OW.js +49 -0
  51. package/dist/{chunk-FHH4I4ZV.js → chunk-BDKC6H5P.js} +12 -6
  52. package/dist/{chunk-IPKHE5D6.js → chunk-BEVTIBRH.js} +1526 -875
  53. package/dist/chunk-BHT7QK4G.js +162 -0
  54. package/dist/{chunk-6JUBZBMW.js → chunk-BIGDQDHD.js} +6 -4
  55. package/dist/{chunk-2BFCZ3RK.js → chunk-BO4KX37X.js} +20 -18
  56. package/dist/chunk-BPK5P77O.js +115 -0
  57. package/dist/chunk-BQ4SQQC6.js +59 -0
  58. package/dist/chunk-BQGDB6ZL.js +7342 -0
  59. package/dist/{chunk-2ANOROX3.js → chunk-BTGPE6CR.js} +11 -9
  60. package/dist/chunk-BTY3HZBO.js +93 -0
  61. package/dist/{chunk-DPZHZQKE.js → chunk-BXYMYEJ4.js} +44 -10
  62. package/dist/{chunk-2RMYG36Q.js → chunk-C3RY6KU6.js} +309 -346
  63. package/dist/chunk-C4R4JLHE.js +40 -0
  64. package/dist/chunk-CADWLE2T.js +18 -0
  65. package/dist/chunk-CBGGOQWU.js +82 -0
  66. package/dist/chunk-CMDXGQTS.js +47 -0
  67. package/dist/{chunk-MC3H7736.js → chunk-CQDGOPGH.js} +58 -18
  68. package/dist/{chunk-HFQCFSJR.js → chunk-CX4RZ2KS.js} +4 -3
  69. package/dist/{chunk-PAMPPUR6.js → chunk-CXJ6FUKN.js} +1852 -207
  70. package/dist/{chunk-ABWHYWNI.js → chunk-D73UEXYW.js} +3 -3
  71. package/dist/chunk-DCZWQLYT.js +1205 -0
  72. package/dist/chunk-DLOBCJL6.js +48 -0
  73. package/dist/{chunk-4BN53TG3.js → chunk-DOBQKHIF.js} +31 -23
  74. package/dist/chunk-E3ISYXO3.js +423 -0
  75. package/dist/{chunk-7SW2QWLU.js → chunk-E6ZIEVOI.js} +16 -13
  76. package/dist/chunk-EBL2R3YG.js +43 -0
  77. package/dist/{chunk-AIOQPLA5.js → chunk-EGQRREQH.js} +41 -15
  78. package/dist/chunk-EHA7RMZ3.js +58 -0
  79. package/dist/{chunk-M766ZJ6W.js → chunk-EIPTLPFC.js} +38 -27
  80. package/dist/chunk-EMRIQUND.js +517 -0
  81. package/dist/{chunk-DFBCSHVT.js → chunk-EPCJQQWD.js} +6 -4
  82. package/dist/{chunk-RZPYKDWS.js → chunk-F3P7N7SF.js} +1 -1
  83. package/dist/{chunk-R77KLRB3.js → chunk-FFLNS6VP.js} +21 -18
  84. package/dist/chunk-FFTRTL6R.js +26 -0
  85. package/dist/{chunk-IHMLFRVV.js → chunk-FPJPLKDW.js} +62 -16
  86. package/dist/{chunk-JCZIKA4C.js → chunk-FSMSFDLD.js} +5 -4
  87. package/dist/{chunk-AVJDSJ2F.js → chunk-FUJM6RTF.js} +8 -7
  88. package/dist/chunk-FZOJFH7Q.js +132 -0
  89. package/dist/{chunk-QRAOANID.js → chunk-G6X77UJZ.js} +23 -21
  90. package/dist/{chunk-3ALD2W2A.js → chunk-GCWRWSU7.js} +10 -4
  91. package/dist/chunk-GIW4ZVDB.js +39 -0
  92. package/dist/{chunk-B2WLAWNJ.js → chunk-GUX3PTYM.js} +3 -3
  93. package/dist/{chunk-DPUYDDQG.js → chunk-GZY6RUZ6.js} +25 -3
  94. package/dist/chunk-H4VO6WG3.js +10 -0
  95. package/dist/{chunk-MMOSZPWJ.js → chunk-H5HBGNXU.js} +5 -4
  96. package/dist/chunk-H7KM7LZE.js +229 -0
  97. package/dist/{chunk-AA6YULYB.js → chunk-HNM2YQT2.js} +7 -7
  98. package/dist/{chunk-3C7EYRFZ.js → chunk-HYU5VLGA.js} +1 -1
  99. package/dist/{chunk-XY3P7JW7.js → chunk-IDKCWSM5.js} +1032 -172
  100. package/dist/chunk-IFKEI4SA.js +237 -0
  101. package/dist/{chunk-F7HYOUFF.js → chunk-IGOE6KPG.js} +67 -22
  102. package/dist/{chunk-TDD55CJH.js → chunk-IH2XURVQ.js} +6 -5
  103. package/dist/chunk-INQHESFB.js +38 -0
  104. package/dist/chunk-IP74LCOQ.js +57 -0
  105. package/dist/chunk-IPHHDDC6.js +45 -0
  106. package/dist/{chunk-T6AIP7H5.js → chunk-ISUAAMGS.js} +110 -153
  107. package/dist/{chunk-A7UPUQFY.js → chunk-IUPG3UKI.js} +624 -319
  108. package/dist/{chunk-L6SGQIR3.js → chunk-IVBOQAGB.js} +7 -3
  109. package/dist/{chunk-27NKUS3X.js → chunk-J2JAKCIW.js} +2205 -796
  110. package/dist/{chunk-V2YTAIQO.js → chunk-J3IOLXWM.js} +24 -7
  111. package/dist/chunk-JA5FI3QV.js +142 -0
  112. package/dist/chunk-JAVI7JSP.js +49 -0
  113. package/dist/{chunk-HLJAXMM4.js → chunk-JB5LINEM.js} +6 -2
  114. package/dist/{chunk-2VHF7OXM.js → chunk-JENSEMXF.js} +1 -1
  115. package/dist/{chunk-6BVONWJ7.js → chunk-JJF6HALY.js} +4 -3
  116. package/dist/chunk-JLUCKAEL.js +38 -0
  117. package/dist/chunk-JRBFANFE.js +221 -0
  118. package/dist/{chunk-R6XF6UR3.js → chunk-KDNTAPLX.js} +4 -4
  119. package/dist/chunk-KFAVQZSX.js +33 -0
  120. package/dist/chunk-KJXD4PNL.js +50 -0
  121. package/dist/chunk-KN5BXMWN.js +44 -0
  122. package/dist/{chunk-PCVDV3UZ.js → chunk-KQGURXFU.js} +9 -7
  123. package/dist/{chunk-WY6PP6AA.js → chunk-KXITGYLF.js} +40 -6
  124. package/dist/{chunk-66YVAGGM.js → chunk-L27SV425.js} +22 -20
  125. package/dist/{chunk-NE2W3OO7.js → chunk-LDLL7LB3.js} +24 -22
  126. package/dist/chunk-LFGTYX5U.js +379 -0
  127. package/dist/{chunk-EYWIDJFU.js → chunk-LGBMTVNT.js} +7 -5
  128. package/dist/{chunk-Q5AMFEWD.js → chunk-LGFL54FP.js} +3 -2
  129. package/dist/{chunk-6TACQN3N.js → chunk-LJXMYKZJ.js} +7 -5
  130. package/dist/{chunk-BKVWTZ6A.js → chunk-LKOR5UET.js} +29 -26
  131. package/dist/chunk-LNBQOP7D.js +294 -0
  132. package/dist/{chunk-O3WI5KWW.js → chunk-LO6P2VYG.js} +2 -2
  133. package/dist/chunk-LQJPN536.js +122 -0
  134. package/dist/{chunk-YEDDOYSC.js → chunk-LYBNHMVZ.js} +29 -5
  135. package/dist/{chunk-A3GY6SOA.js → chunk-LZ7NUC62.js} +20 -18
  136. package/dist/chunk-M32BLWDH.js +37 -0
  137. package/dist/{chunk-VYDBJ73M.js → chunk-M3NANSDZ.js} +17 -15
  138. package/dist/chunk-MFHL5URL.js +31 -0
  139. package/dist/chunk-MFR5OPBD.js +109 -0
  140. package/dist/{chunk-DE76JROX.js → chunk-MG4ZL5RW.js} +32 -20
  141. package/dist/{chunk-N7IXEHK3.js → chunk-MO6P2JZH.js} +10 -8
  142. package/dist/{chunk-65NYPGRC.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/chunk-MZCGSXVR.js +34 -0
  144. package/dist/{chunk-MGYZM27B.js → chunk-N3XIYPU3.js} +51 -23
  145. package/dist/chunk-NDCF4R6S.js +172 -0
  146. package/dist/{chunk-DHPACDG7.js → chunk-NR2UJWOC.js} +10 -8
  147. package/dist/chunk-NXJ5URP6.js +51 -0
  148. package/dist/{chunk-UNM6ZOKP.js → chunk-NY2XSR5K.js} +147 -18
  149. package/dist/{chunk-5GDRCDQB.js → chunk-O45HFTFS.js} +3 -2
  150. package/dist/{chunk-ONLS5QA5.js → chunk-O4GXGGBX.js} +14 -12
  151. package/dist/chunk-O5PXQR67.js +249 -0
  152. package/dist/{chunk-PRPPGYZG.js → chunk-O66DM6DJ.js} +6 -4
  153. package/dist/{chunk-KEM4SDDP.js → chunk-O7FDLW7L.js} +11 -8
  154. package/dist/{chunk-T2UYZSCQ.js → chunk-O7XLYEFA.js} +169 -29
  155. package/dist/{chunk-FITWGOJ2.js → chunk-OHNCWBKF.js} +4 -4
  156. package/dist/{chunk-652QWTLZ.js → chunk-OHVTTOPS.js} +3 -3
  157. package/dist/chunk-OMI6FPPN.js +43 -0
  158. package/dist/chunk-ONUPY3H6.js +53 -0
  159. package/dist/chunk-OTLDSZDV.js +69 -0
  160. package/dist/chunk-OUBGGKDU.js +22 -0
  161. package/dist/chunk-OWNCM4ZN.js +330 -0
  162. package/dist/{chunk-YISXLPHN.js → chunk-P2V7QW4D.js} +235 -35
  163. package/dist/{chunk-CNUKCS2T.js → chunk-P32RUW3B.js} +1632 -93
  164. package/dist/{chunk-BWZ77RQT.js → chunk-PAQ2AS5E.js} +1 -1
  165. package/dist/{chunk-ZMAINWBW.js → chunk-PBPBMP2B.js} +4 -3
  166. package/dist/{chunk-ZVM6AKKM.js → chunk-PJSJPMJI.js} +3 -3
  167. package/dist/{chunk-EFHQ3TWP.js → chunk-PKBHS4AA.js} +233 -56
  168. package/dist/{chunk-GT4I4ZWM.js → chunk-PMUAJGLI.js} +20 -16
  169. package/dist/chunk-PPD7HTDP.js +152 -0
  170. package/dist/chunk-PSOFBQWB.js +42 -0
  171. package/dist/{chunk-S2A7YC3Q.js → chunk-Q2TECDIT.js} +10694 -8896
  172. package/dist/chunk-Q4K5WB2W.js +42 -0
  173. package/dist/{chunk-UGLN7QHV.js → chunk-Q6DFNVRJ.js} +14 -12
  174. package/dist/chunk-QA4O2GGC.js +265 -0
  175. package/dist/chunk-QAXW2N3B.js +1216 -0
  176. package/dist/chunk-QBNWF5ZU.js +19 -0
  177. package/dist/chunk-QFWA2DPH.js +224 -0
  178. package/dist/{chunk-23W7VWKR.js → chunk-QKUJMING.js} +1363 -114
  179. package/dist/{chunk-NXFPS2LR.js → chunk-R44CYFPV.js} +16 -13
  180. package/dist/{chunk-CKSITVS4.js → chunk-R7NYHMUU.js} +2687 -786
  181. package/dist/chunk-REWWDVQB.js +162 -0
  182. package/dist/{chunk-JMSCMUCA.js → chunk-RGERPOIV.js} +145 -21
  183. package/dist/{chunk-6JCPI55B.js → chunk-RLDGWLQ7.js} +49 -7
  184. package/dist/chunk-RUGXBPWI.js +384 -0
  185. package/dist/{chunk-CPA6HPVR.js → chunk-RXPJMEOW.js} +18 -12
  186. package/dist/{chunk-3HI6Z55Y.js → chunk-S4PMJU6H.js} +339 -43
  187. package/dist/chunk-S5LSDXV4.js +40 -0
  188. package/dist/chunk-S7FCV7S5.js +51 -0
  189. package/dist/{chunk-5GGOLAKC.js → chunk-SDKLKB6I.js} +28 -26
  190. package/dist/chunk-SFSPGFCV.js +62 -0
  191. package/dist/{chunk-ZNCEKR4J.js → chunk-SFUP7TTO.js} +12 -8
  192. package/dist/{chunk-64EQYWCA.js → chunk-SLXZOMA6.js} +69 -19
  193. package/dist/chunk-SQV37XO2.js +273 -0
  194. package/dist/{chunk-K65BJIMT.js → chunk-SU74NDMQ.js} +19 -17
  195. package/dist/chunk-SYV5LHML.js +165 -0
  196. package/dist/chunk-T4YPZIQN.js +36 -0
  197. package/dist/chunk-T6DQR5TV.js +323 -0
  198. package/dist/{chunk-JIITQXFB.js → chunk-THDMSZ3R.js} +3075 -802
  199. package/dist/{chunk-JGZCG5VM.js → chunk-TNR75OXT.js} +7 -7
  200. package/dist/{chunk-D3PO4DOZ.js → chunk-TUULXQRW.js} +174 -15
  201. package/dist/chunk-TYQBFTBR.js +516 -0
  202. package/dist/chunk-U76OWS3Q.js +49 -0
  203. package/dist/{chunk-YYQN46FY.js → chunk-UCROWG2D.js} +27 -24
  204. package/dist/{chunk-6M5NK3K3.js → chunk-UF4AZOZB.js} +50 -10
  205. package/dist/chunk-UF4GLFBX.js +345 -0
  206. package/dist/{chunk-OT2O76OS.js → chunk-UGUP3ZM6.js} +240 -39
  207. package/dist/chunk-UNAGJYET.js +45 -0
  208. package/dist/{chunk-5WG5YP4T.js → chunk-UOR2DTHH.js} +16 -14
  209. package/dist/{chunk-S3QNRWYR.js → chunk-UPOY4YSQ.js} +14 -12
  210. package/dist/{chunk-EPTBZ3GP.js → chunk-UPS2DGFC.js} +1 -1
  211. package/dist/{chunk-4AK7IBVP.js → chunk-UUU4CLJG.js} +4 -2
  212. package/dist/{chunk-W3BQAZ3Q.js → chunk-UWMJKX5U.js} +14 -12
  213. package/dist/{chunk-QZSX3F7C.js → chunk-UWOJLHFT.js} +27 -23
  214. package/dist/chunk-VBTP56CE.js +535 -0
  215. package/dist/chunk-VCTWPLAO.js +211 -0
  216. package/dist/chunk-VNU26RCO.js +1215 -0
  217. package/dist/{chunk-CSZ4C5N6.js → chunk-VTZMAJ3W.js} +93 -10
  218. package/dist/{chunk-TXLH6WHQ.js → chunk-VW62D6QE.js} +14 -12
  219. package/dist/{chunk-CAQZUNOH.js → chunk-VY72R2XZ.js} +610 -3
  220. package/dist/{chunk-2DIQQJCB.js → chunk-VZALIKIF.js} +18 -15
  221. package/dist/{chunk-TYAID7B7.js → chunk-W62H2XSO.js} +25 -23
  222. package/dist/{chunk-HVUPKCGJ.js → chunk-W7VWI2YH.js} +9 -6
  223. package/dist/{chunk-TANFV3MZ.js → chunk-WERM6KPJ.js} +7 -4
  224. package/dist/{chunk-BOHJZTEQ.js → chunk-WF7B67YE.js} +208 -87
  225. package/dist/{chunk-7FBGJFEE.js → chunk-WG5U3F5V.js} +14 -12
  226. package/dist/{chunk-4NDAAFQT.js → chunk-WJF2CS6M.js} +8 -5
  227. package/dist/{chunk-XAKWMCXI.js → chunk-WKUJ3KPV.js} +4 -4
  228. package/dist/chunk-WMTRHUI5.js +103 -0
  229. package/dist/chunk-WNKPRSGI.js +36 -0
  230. package/dist/chunk-WXFLMQSR.js +223 -0
  231. package/dist/{chunk-RRTKKSLQ.js → chunk-X3WY6MN3.js} +8 -6
  232. package/dist/{chunk-ZCJDOK2S.js → chunk-X4CXA2IL.js} +47 -23
  233. package/dist/{chunk-UBBC2XSG.js → chunk-X5F3Q5LV.js} +560 -105
  234. package/dist/{chunk-C6EKFH7J.js → chunk-XD75VZIH.js} +9 -7
  235. package/dist/chunk-XERYFDB5.js +297 -0
  236. package/dist/chunk-XI2LCCYQ.js +420 -0
  237. package/dist/chunk-Y2EQNWKV.js +933 -0
  238. package/dist/{chunk-LR3R6Z2A.js → chunk-YHCMZC2J.js} +7 -7
  239. package/dist/chunk-YYY3AZFE.js +122 -0
  240. package/dist/{chunk-GDLULHTC.js → chunk-Z5IA3WDR.js} +19 -31
  241. package/dist/{chunk-T6XQL73F.js → chunk-ZFFYNRIO.js} +63 -23
  242. package/dist/{chunk-EDS2L2LD.js → chunk-ZFL7NY4F.js} +56 -27
  243. package/dist/{chunk-YMZ3TNYB.js → chunk-ZGULQAPZ.js} +7 -4
  244. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  245. package/dist/{chunk-DKJA76CJ.js → chunk-ZJFRMSJT.js} +15 -13
  246. package/dist/chunk-ZJXLNDH4.js +239 -0
  247. package/dist/chunk-ZQ3ON2VQ.js +252 -0
  248. package/dist/{chunk-HITVBIJS.js → chunk-ZQ7SKESZ.js} +150 -415
  249. package/dist/{chunk-6QSERWXH.js → chunk-ZQXZ2SES.js} +24 -21
  250. package/dist/chunk-ZX57KSEQ.js +39 -0
  251. package/dist/{chunk-I3E7CX4H.js → chunk-ZZK56BLP.js} +5 -3
  252. package/dist/files.json +664 -368
  253. package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
  254. package/dist/packages/sdk/npm/index.js +6194 -2542
  255. package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CIf-0gz5.js} +2 -2
  256. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
  257. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
  258. package/dist/packages/ui/dist/index.html +3 -2
  259. package/package.json +5 -5
  260. package/dist/chunk-2BF2EYJV.js +0 -174
  261. package/dist/chunk-42EVSKME.js +0 -37
  262. package/dist/chunk-4BKGMUIK.js +0 -53
  263. package/dist/chunk-5KLGBXG5.js +0 -48
  264. package/dist/chunk-6BNC6EQ4.js +0 -41
  265. package/dist/chunk-6D2CQ5II.js +0 -41
  266. package/dist/chunk-7AVHLZGD.js +0 -45
  267. package/dist/chunk-D46WUV3T.js +0 -33
  268. package/dist/chunk-E36QOJMD.js +0 -47
  269. package/dist/chunk-FQXYPF7E.js +0 -147
  270. package/dist/chunk-GBRFVT63.js +0 -45
  271. package/dist/chunk-ICY36XCH.js +0 -34
  272. package/dist/chunk-J4K3KVLD.js +0 -131
  273. package/dist/chunk-JZU3H6UQ.js +0 -54
  274. package/dist/chunk-NN2ZQEB4.js +0 -38
  275. package/dist/chunk-PCOCACY3.js +0 -385
  276. package/dist/chunk-RTEYOSJY.js +0 -29
  277. package/dist/chunk-RUVFXE2L.js +0 -666
  278. package/dist/chunk-RVH5SUW5.js +0 -69
  279. package/dist/chunk-VN3DP4LQ.js +0 -43
  280. package/dist/chunk-W5BVQF44.js +0 -36
  281. package/dist/chunk-WVPJSRRJ.js +0 -52
  282. package/dist/chunk-XPTOBS2D.js +0 -48
  283. package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
  284. package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
@@ -5,27 +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
  askHosts
8
- } from "./chunk-RVH5SUW5.js";
8
+ } from "./chunk-MFR5OPBD.js";
9
9
  import {
10
10
  driftAfterScan
11
- } from "./chunk-OT2O76OS.js";
11
+ } from "./chunk-UGUP3ZM6.js";
12
12
  import {
13
13
  diffCatalogs,
14
14
  diffIsEmpty,
15
15
  readCatalog,
16
16
  scanEstate,
17
17
  writeCatalog
18
- } from "./chunk-27NKUS3X.js";
18
+ } from "./chunk-J2JAKCIW.js";
19
19
  import {
20
20
  loadRepos
21
- } from "./chunk-EFHQ3TWP.js";
21
+ } from "./chunk-PKBHS4AA.js";
22
22
  import {
23
23
  catalogDirOf
24
- } from "./chunk-S2A7YC3Q.js";
24
+ } from "./chunk-Q2TECDIT.js";
25
25
  import {
26
26
  LockHeldError,
27
27
  acquireLock
28
- } from "./chunk-D3PO4DOZ.js";
28
+ } from "./chunk-TUULXQRW.js";
29
29
 
30
30
  // packages/cli/dist/scan-commands.js
31
31
  import { join } from "node:path";
@@ -74,7 +74,7 @@ async function scanCommand(root, o, io) {
74
74
  }
75
75
  try {
76
76
  if (o.ref) {
77
- const { scanBranch } = await import("./chunk-ZCJDOK2S.js");
77
+ const { scanBranch } = await import("./chunk-X4CXA2IL.js");
78
78
  return await scanBranch(root, o.ref, {
79
79
  ...o.repos ? { repos: o.repos } : {},
80
80
  ...o.full ? { full: true } : {},
@@ -5,13 +5,13 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
 
7
7
  // packages/core/dist/schema/version.js
8
- var SCHEMA_VERSION = 3;
8
+ var SCHEMA_VERSION = 5;
9
9
 
10
10
  // packages/core/dist/fs.js
11
11
  import { randomBytes } from "node:crypto";
12
- import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
12
+ import { link, mkdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
13
13
  import { hostname } from "node:os";
14
- import { dirname, join } from "node:path";
14
+ import { basename, dirname, join, resolve } from "node:path";
15
15
  async function writeFileAtomic(path, data) {
16
16
  await mkdir(dirname(path), { recursive: true });
17
17
  const tmp = `${path}.${process.pid}.${randomBytes(4).toString("hex")}.tmp`;
@@ -23,6 +23,32 @@ async function writeFileAtomic(path, data) {
23
23
  throw e;
24
24
  }
25
25
  }
26
+ var FileChangedError = class extends Error {
27
+ path;
28
+ constructor(path) {
29
+ super(`${path} changed since it was read (another edit, or a person's): nothing was written. Read it again and redo the change.`);
30
+ this.path = path;
31
+ }
32
+ };
33
+ var writing = /* @__PURE__ */ new Map();
34
+ function writeFileIfUnchanged(path, before, data) {
35
+ const key = resolve(path);
36
+ const prev = writing.get(key) ?? Promise.resolve();
37
+ const work = async () => {
38
+ const now = await readFile(path, "utf8").catch(() => void 0);
39
+ if (now !== before)
40
+ throw new FileChangedError(path);
41
+ await writeFileAtomic(path, data);
42
+ };
43
+ const next = prev.then(work, work);
44
+ const tail = next.catch(() => void 0);
45
+ writing.set(key, tail);
46
+ void tail.then(() => {
47
+ if (writing.get(key) === tail)
48
+ writing.delete(key);
49
+ });
50
+ return next;
51
+ }
26
52
  var BUSY = /* @__PURE__ */ new Set(["EPERM", "EBUSY", "EACCES"]);
27
53
  async function renameRetrying(from, to, tries = 9) {
28
54
  for (let i = 0; ; i++) {
@@ -39,12 +65,15 @@ async function renameRetrying(from, to, tries = 9) {
39
65
  }
40
66
  var LockHeldError = class extends Error {
41
67
  held;
42
- constructor(held) {
43
- super(`Another ${held.what} is running (process ${held.pid} on ${held.host}, since ${held.startedAt}). Wait for it to finish.`);
68
+ file;
69
+ constructor(held, file) {
70
+ super(`Another ${held.what} is running (process ${held.pid} on ${held.host}, since ${held.startedAt}). Wait for it to finish${file ? `; if nothing is running, delete ${file}` : ""}.`);
44
71
  this.held = held;
72
+ this.file = file;
45
73
  this.name = "LockHeldError";
46
74
  }
47
75
  };
76
+ var heldHere = /* @__PURE__ */ new Set();
48
77
  var lockFileOf = (root, name) => join(root, ".atticus", "locks", `${name}.json`);
49
78
  function alive(pid) {
50
79
  try {
@@ -54,16 +83,19 @@ function alive(pid) {
54
83
  return e.code === "EPERM";
55
84
  }
56
85
  }
57
- async function readLock(root, name) {
86
+ async function readLock(root, name, o = {}) {
58
87
  try {
59
- const info = JSON.parse(await readFile(lockFileOf(root, name), "utf8"));
60
- const stale = info.host === hostname() ? !alive(info.pid) : false;
88
+ const file = lockFileOf(root, name);
89
+ const info = JSON.parse(await readFile(file, "utf8"));
90
+ const here = info.host === hostname();
91
+ const age = (o.now ?? (() => /* @__PURE__ */ new Date()))().getTime() - Date.parse(info.startedAt);
92
+ const stale = here && (!alive(info.pid) || info.pid === process.pid && !heldHere.has(file)) || o.maxAgeMs !== void 0 && Number.isFinite(age) && age > o.maxAgeMs;
61
93
  return { ...info, stale };
62
94
  } catch {
63
95
  return void 0;
64
96
  }
65
97
  }
66
- async function acquireLock(root, name, what, now = () => /* @__PURE__ */ new Date()) {
98
+ async function acquireLock(root, name, what, now = () => /* @__PURE__ */ new Date(), o = {}) {
67
99
  const file = lockFileOf(root, name);
68
100
  await ensureLocalIgnore(root);
69
101
  await mkdir(dirname(file), { recursive: true });
@@ -77,18 +109,20 @@ async function acquireLock(root, name, what, now = () => /* @__PURE__ */ new Dat
77
109
  for (let attempt = 0; attempt < 2; attempt++) {
78
110
  try {
79
111
  await writeFile(file, JSON.stringify(info), { encoding: "utf8", flag: "wx" });
112
+ heldHere.add(file);
80
113
  const release = async () => {
81
114
  const cur = await readLock(root, name);
82
115
  if (cur && cur.pid === info.pid && cur.startedAt === info.startedAt)
83
116
  await rm(file, { force: true });
117
+ heldHere.delete(file);
84
118
  };
85
119
  return interrupted ? { release, interrupted } : { release };
86
120
  } catch (e) {
87
121
  if (e.code !== "EEXIST")
88
122
  throw e;
89
- const held = await readLock(root, name);
123
+ const held = await readLock(root, name, { ...o, now });
90
124
  if (held && !held.stale)
91
- throw new LockHeldError(held);
125
+ throw new LockHeldError(held, file);
92
126
  if (held) {
93
127
  const { stale: _s, ...rest } = held;
94
128
  interrupted = rest;
@@ -98,6 +132,126 @@ async function acquireLock(root, name, what, now = () => /* @__PURE__ */ new Dat
98
132
  }
99
133
  throw new Error(`Couldn't take the ${name} lock at ${file}.`);
100
134
  }
135
+ var sharedLockFileOf = (path) => `${path}.lock`;
136
+ var sharing = /* @__PURE__ */ new Map();
137
+ var sleep = (ms) => new Promise((r) => setTimeout(r, ms));
138
+ function withSharedFileLock(path, work, o = {}) {
139
+ const key = resolve(path);
140
+ const prev = sharing.get(key) ?? Promise.resolve();
141
+ const run = async () => {
142
+ const release = await takeSharedLock(key, o);
143
+ try {
144
+ return await work();
145
+ } finally {
146
+ await release();
147
+ }
148
+ };
149
+ const next = prev.then(run, run);
150
+ const tail = next.catch(() => void 0);
151
+ sharing.set(key, tail);
152
+ void tail.then(() => {
153
+ if (sharing.get(key) === tail)
154
+ sharing.delete(key);
155
+ });
156
+ return next;
157
+ }
158
+ async function takeSharedLock(path, o) {
159
+ const file = sharedLockFileOf(path);
160
+ const staleMs = o.staleMs ?? 1e4;
161
+ const waitMs = o.waitMs ?? 15e3;
162
+ const info = {
163
+ pid: process.pid,
164
+ host: hostname(),
165
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
166
+ what: o.what ?? `write of ${basename(path)}`,
167
+ token: randomBytes(8).toString("hex")
168
+ };
169
+ await mkdir(dirname(file), { recursive: true });
170
+ const start = Date.now();
171
+ let delay = 5;
172
+ for (; ; ) {
173
+ let code;
174
+ try {
175
+ await writeFile(file, JSON.stringify(info), { encoding: "utf8", flag: "wx" });
176
+ return () => releaseShared(file, info.token);
177
+ } catch (e) {
178
+ code = e.code ?? "";
179
+ if (code !== "EEXIST" && !BUSY.has(code))
180
+ throw e;
181
+ }
182
+ let held;
183
+ if (code === "EEXIST") {
184
+ const seen = await readFile(file, "utf8").catch(() => void 0);
185
+ if (seen === void 0)
186
+ continue;
187
+ held = parseLockInfo(seen);
188
+ if (await isStaleShared(file, held, staleMs)) {
189
+ await takeOver(file, seen, info.token);
190
+ continue;
191
+ }
192
+ }
193
+ if (Date.now() - start > waitMs)
194
+ throw new LockHeldError(held ?? { pid: 0, host: "?", startedAt: "?", what: `write of ${basename(path)}` }, file);
195
+ await sleep(delay + Math.floor(Math.random() * delay));
196
+ delay = Math.min(delay * 2, 100);
197
+ }
198
+ }
199
+ function parseLockInfo(text) {
200
+ try {
201
+ const j = JSON.parse(text);
202
+ return typeof j.pid === "number" && typeof j.startedAt === "string" ? {
203
+ pid: j.pid,
204
+ host: String(j.host ?? ""),
205
+ startedAt: j.startedAt,
206
+ what: String(j.what ?? "")
207
+ } : void 0;
208
+ } catch {
209
+ return void 0;
210
+ }
211
+ }
212
+ async function isStaleShared(file, held, staleMs) {
213
+ if (held && held.host === hostname() && held.pid !== process.pid && !alive(held.pid))
214
+ return true;
215
+ const since = held ? Date.parse(held.startedAt) : await stat(file).then((s) => s.mtimeMs, () => NaN);
216
+ return Number.isFinite(since) && Date.now() - since > staleMs;
217
+ }
218
+ async function takeOver(file, seen, token) {
219
+ const aside = `${file}.${token}.stale`;
220
+ try {
221
+ await rename(file, aside);
222
+ } catch {
223
+ return;
224
+ }
225
+ const moved = await readFile(aside, "utf8").catch(() => void 0);
226
+ if (moved !== void 0 && moved !== seen)
227
+ await link(aside, file).catch(() => void 0);
228
+ await rmRetrying(aside);
229
+ }
230
+ async function releaseShared(file, token) {
231
+ const now = await readFile(file, "utf8").catch(() => void 0);
232
+ if (now === void 0)
233
+ return;
234
+ try {
235
+ if (JSON.parse(now).token !== token)
236
+ return;
237
+ } catch {
238
+ return;
239
+ }
240
+ await rmRetrying(file);
241
+ }
242
+ async function rmRetrying(file, tries = 9) {
243
+ for (let i = 0; ; i++) {
244
+ try {
245
+ await rm(file, { force: true });
246
+ return;
247
+ } catch (e) {
248
+ const code = e.code ?? "";
249
+ if (!BUSY.has(code) || i >= tries - 1)
250
+ throw e;
251
+ await sleep(20 * 2 ** i);
252
+ }
253
+ }
254
+ }
101
255
  var LOCAL_ONLY = [
102
256
  "me.yaml",
103
257
  "logs/",
@@ -105,7 +259,9 @@ var LOCAL_ONLY = [
105
259
  "backups/",
106
260
  "history/",
107
261
  "probe/",
108
- "cache/"
262
+ "cache/",
263
+ // ADR 0161: where `atticus map --all` is in the estate, so running it again resumes.
264
+ "map-all/"
109
265
  ];
110
266
  async function ensureLocalIgnore(root) {
111
267
  const file = join(root, ".atticus", ".gitignore");
@@ -114,11 +270,10 @@ async function ensureLocalIgnore(root) {
114
270
  const missing = LOCAL_ONLY.filter((l) => !have.has(l));
115
271
  if (!missing.length)
116
272
  return;
117
- await mkdir(dirname(file), { recursive: true });
118
273
  const prefix = text && !text.endsWith("\n") ? `${text}
119
274
  ` : text;
120
- await writeFile(file, `${prefix}${prefix ? "" : "# This machine's own files: never committed.\n"}${missing.join("\n")}
121
- `, "utf8");
275
+ await writeFileAtomic(file, `${prefix}${prefix ? "" : "# This machine's own files: never committed.\n"}${missing.join("\n")}
276
+ `);
122
277
  }
123
278
 
124
279
  // packages/core/dist/log.js
@@ -243,11 +398,15 @@ var NO_LOG = {
243
398
  export {
244
399
  SCHEMA_VERSION,
245
400
  writeFileAtomic,
401
+ FileChangedError,
402
+ writeFileIfUnchanged,
246
403
  renameRetrying,
247
404
  LockHeldError,
248
405
  lockFileOf,
249
406
  readLock,
250
407
  acquireLock,
408
+ sharedLockFileOf,
409
+ withSharedFileLock,
251
410
  LOCAL_ONLY,
252
411
  ensureLocalIgnore,
253
412
  LOG_MAX_BYTES,