@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
@@ -0,0 +1,420 @@
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
+ modelsData,
8
+ reachPlanOf
9
+ } from "./chunk-BPK5P77O.js";
10
+ import {
11
+ effectiveRules,
12
+ orgRulesLacking,
13
+ readingRulesText,
14
+ ruleIds,
15
+ ruleMatches
16
+ } from "./chunk-WXFLMQSR.js";
17
+ import {
18
+ loadReadPlan,
19
+ modelsModeOf,
20
+ recordNotReached,
21
+ saveReadPlan
22
+ } from "./chunk-TYQBFTBR.js";
23
+ import {
24
+ FACT_RULES_HASH,
25
+ MODELS_RULE,
26
+ RULE_SETS,
27
+ factRulesFor,
28
+ factsReference,
29
+ ruleSetKinds,
30
+ rulesLacking,
31
+ rulesNow,
32
+ topUpWords
33
+ } from "./chunk-BEVTIBRH.js";
34
+ import {
35
+ fileKinds,
36
+ kindsOf,
37
+ lineRangeOf,
38
+ planBatches,
39
+ readingRank,
40
+ sameCommit
41
+ } from "./chunk-CXJ6FUKN.js";
42
+ import {
43
+ DATA_RULE,
44
+ neutralise,
45
+ wrapData
46
+ } from "./chunk-P32RUW3B.js";
47
+ import {
48
+ citedFiles,
49
+ factsDirOf,
50
+ factsRelOf,
51
+ parseFacts
52
+ } from "./chunk-Q2TECDIT.js";
53
+ import {
54
+ writeFileAtomic
55
+ } from "./chunk-TUULXQRW.js";
56
+
57
+ // packages/cli/dist/map-rules.js
58
+ import { createHash } from "node:crypto";
59
+ import { readFile } from "node:fs/promises";
60
+ import { join } from "node:path";
61
+ var has = (a, b) => a.some((x) => b.includes(x));
62
+ function applies(set, f) {
63
+ switch (set) {
64
+ case "field-types":
65
+ case "message-types":
66
+ return f.code ? f.rank === 2 || f.rank === 3 || f.cited.has("entry") || f.cited.has("call") || f.cited.has("field") : f.rank === 3 && f.kinds.includes("protocols");
67
+ case "mappings":
68
+ return f.kinds.includes("gateway");
69
+ case "terms":
70
+ return !f.code && has(f.kinds, ["config", "deploy", "gateway"]);
71
+ case "call-auth":
72
+ return f.code ? f.rank === 1 || f.rank === 3 || f.cited.has("call") : has(f.kinds, ["config", "gateway"]);
73
+ }
74
+ }
75
+ function topUpFiles(o) {
76
+ const whole = planBatches(o.source, {
77
+ room: Number.MAX_SAFE_INTEGER,
78
+ exclude: o.exclude,
79
+ ...o.conventions ? { conventions: o.conventions } : {},
80
+ ...o.reach?.reach.rooted && o.reach.reach.models ? { reach: { first: o.reach.first, leaveOut: o.reach.leaveOut } } : {}
81
+ });
82
+ const cites = /* @__PURE__ */ new Map();
83
+ for (const f of o.facts)
84
+ for (const p of citedFiles(f)) {
85
+ const k = cites.get(p) ?? /* @__PURE__ */ new Set();
86
+ k.add(f.kind);
87
+ cites.set(p, k);
88
+ }
89
+ const out = [];
90
+ for (const slice of whole.batches.flat()) {
91
+ const path = slice.path;
92
+ const rank = readingRank(path);
93
+ if (rank === 5)
94
+ continue;
95
+ const kinds = fileKinds(path);
96
+ const of = {
97
+ kinds,
98
+ rank,
99
+ code: kinds.includes("backend") || kinds.includes("frontend"),
100
+ cited: cites.get(path) ?? /* @__PURE__ */ new Set()
101
+ };
102
+ const sets = o.sets.filter((s) => has(kinds, ruleSetKinds(s)) && applies(s, of));
103
+ if (sets.length)
104
+ out.push({ path, tokens: slice.tokens, lines: slice.of, sets });
105
+ }
106
+ return out;
107
+ }
108
+ function ruleSetsOfFiles(files) {
109
+ const all = new Set(files.flatMap((f) => f.sets));
110
+ return [
111
+ ...RULE_SETS.filter((x) => all.has(x)),
112
+ ...[...all].filter((x) => x.startsWith("org:")).sort()
113
+ ];
114
+ }
115
+ function topUpSessions(files, room) {
116
+ const reads = [];
117
+ for (const f of files) {
118
+ if (f.tokens <= room || f.lines <= 1) {
119
+ reads.push({ path: f.path, file: f.path, tokens: f.tokens, sets: f.sets });
120
+ continue;
121
+ }
122
+ const per = Math.max(1, Math.floor(f.lines * room / f.tokens));
123
+ for (let from = 1; from <= f.lines; from += per) {
124
+ const to = Math.min(f.lines, from + per - 1);
125
+ reads.push({
126
+ path: `${f.path}#L${from}-L${to}`,
127
+ file: f.path,
128
+ tokens: Math.ceil(f.tokens * (to - from + 1) / f.lines),
129
+ sets: f.sets
130
+ });
131
+ }
132
+ }
133
+ const sessions = [];
134
+ for (const r of reads) {
135
+ const last = sessions.at(-1);
136
+ if (last && last.tokens + r.tokens <= room) {
137
+ last.reads.push(r);
138
+ last.tokens += r.tokens;
139
+ } else
140
+ sessions.push({ reads: [r], tokens: r.tokens });
141
+ }
142
+ return sessions.map((s) => ({
143
+ paths: s.reads.map((r) => r.path),
144
+ sets: ruleSetsOfFiles(s.reads),
145
+ files: new Set(s.reads.map((r) => r.file)).size,
146
+ tokens: s.tokens
147
+ }));
148
+ }
149
+ var stamp = () => (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "Z");
150
+ async function factsOf(root, repo) {
151
+ const text = await readFile(join(factsDirOf(root), `${repo}.jsonl`), "utf8").catch(() => "");
152
+ if (!text.trim())
153
+ return `${repo} isn't read yet: atticus map ${repo} reads it, under every rule.`;
154
+ const p = parseFacts(text);
155
+ return p.ok ? p.facts : `${factsRelOf(root)}/${repo}.jsonl does not read as facts (${p.issues[0]?.message ?? "?"}).`;
156
+ }
157
+ async function topUpOf(root, repo, o) {
158
+ const plan = await loadReadPlan(root, repo);
159
+ const builtin = rulesLacking(plan?.rules);
160
+ const org = orgRulesLacking(plan?.rules, await effectiveRules(root, repo)).filter((r) => r.files?.length);
161
+ const lacking = [...builtin, ...org.map((r) => r.id)];
162
+ if (!lacking.length)
163
+ return { lacking, files: [], ...plan ? { plan } : {} };
164
+ const facts = o.facts?.length ? [...o.facts] : await factsOf(root, repo);
165
+ if (typeof facts === "string")
166
+ return { error: facts };
167
+ if (!facts.length)
168
+ return { error: `${repo} isn't read yet: atticus map ${repo} reads it.` };
169
+ if (!facts.every((f) => sameCommit(f.commit, o.commit)))
170
+ return {
171
+ error: `${repo}'s clone moved past its facts' commit: read what changed first (atticus map ${repo}), then top it up.`
172
+ };
173
+ const all = planBatches(o.source, {
174
+ room: Number.MAX_SAFE_INTEGER,
175
+ exclude: o.exclude,
176
+ ...o.conventions ? { conventions: o.conventions } : {}
177
+ });
178
+ const reach = reachPlanOf({
179
+ paths: all.batches.flat().map((x) => x.path),
180
+ source: o.source,
181
+ facts,
182
+ mode: await modelsModeOf(root, repo, o.models)
183
+ });
184
+ const files = topUpFiles({
185
+ facts,
186
+ source: o.source,
187
+ exclude: o.exclude,
188
+ sets: builtin,
189
+ ...o.conventions ? { conventions: o.conventions } : {},
190
+ reach
191
+ });
192
+ if (org.length) {
193
+ const byPath = new Map(files.map((f) => [f.path, f]));
194
+ for (const slice of all.batches.flat()) {
195
+ if (readingRank(slice.path) === 5)
196
+ continue;
197
+ const ids = org.filter((r) => r.files?.length && ruleMatches(r, slice.path)).map((r) => r.id);
198
+ if (!ids.length)
199
+ continue;
200
+ const f = byPath.get(slice.path);
201
+ if (f)
202
+ f.sets.push(...ids);
203
+ else {
204
+ const add = { path: slice.path, tokens: slice.tokens, lines: slice.of, sets: ids };
205
+ byPath.set(slice.path, add);
206
+ files.push(add);
207
+ }
208
+ }
209
+ }
210
+ return { lacking, files, reach, ...plan ? { plan } : {} };
211
+ }
212
+ var planOr = (plan, repo, commit, session) => plan ?? { schemaVersion: 2, repo, commit, session, plannedAt: stamp(), parts: [] };
213
+ async function recordRulesNow(root, repo, commit, given) {
214
+ const plan = await loadReadPlan(root, repo);
215
+ const { topUp: _t, ...rest } = planOr(plan, repo, commit, 15e4);
216
+ const org = given ? [...plan?.rules?.sets ?? [], ...given] : ruleIds(await effectiveRules(root, repo));
217
+ const rules = withOrgIds(rulesNow(), org);
218
+ if (plan?.rules?.hash === FACT_RULES_HASH && !plan.topUp && rules.sets.every((x) => plan.rules.sets.includes(x)))
219
+ return;
220
+ await saveReadPlan(root, { ...rest, rules });
221
+ }
222
+ async function writtenHash(root, repo) {
223
+ const h = createHash("sha256");
224
+ for (const f of [`${repo}.jsonl`, `${repo}.reviewed.jsonl`])
225
+ h.update(await readFile(join(factsDirOf(root), f), "utf8").catch(() => "")).update("\0");
226
+ return h.digest("hex").slice(0, 16);
227
+ }
228
+ async function recordTopUpVerified(root, repo, o) {
229
+ const plan = await loadReadPlan(root, repo);
230
+ const t = plan?.topUp;
231
+ if (!plan || !t || !o.commit || !sameCommit(t.commit, o.commit))
232
+ return;
233
+ const now = await writtenHash(root, repo);
234
+ const doneNow = (s) => !!s.given && !s.done && (s.before === void 0 || s.before !== now);
235
+ if (!t.sessions.some(doneNow))
236
+ return;
237
+ const at = o.now ?? stamp();
238
+ const sessions = t.sessions.map((s) => doneNow(s) ? { ...s, done: { at, commit: o.commit } } : s);
239
+ if (sessions.every((s) => s.done)) {
240
+ const { topUp: _t, ...rest } = plan;
241
+ const sets = [.../* @__PURE__ */ new Set([...plan.rules?.sets ?? [], ...t.sets])];
242
+ await saveReadPlan(root, {
243
+ ...rest,
244
+ rules: t.hash === FACT_RULES_HASH ? withOrgIds(rulesNow(), sets) : { hash: t.hash, sets }
245
+ });
246
+ return;
247
+ }
248
+ await saveReadPlan(root, { ...plan, topUp: { ...t, sessions } });
249
+ }
250
+ var withOrgIds = (r, had) => ({
251
+ hash: r.hash,
252
+ sets: [...r.sets, ...[...new Set(had.filter((x) => x.startsWith("org:")))].sort()]
253
+ });
254
+ var rulesRelOf = (root, repo) => `${factsRelOf(root)}/${repo}.rules.md`;
255
+ var sameSets = (a, b) => a.length === b.length && a.every((x) => b.includes(x));
256
+ async function plannedTopUp(root, repo, o) {
257
+ const t = await topUpOf(root, repo, o);
258
+ if ("error" in t)
259
+ return t;
260
+ if (!t.lacking.length)
261
+ return { lacking: [], facts: [] };
262
+ const facts = await factsOf(root, repo);
263
+ if (typeof facts === "string")
264
+ return { error: facts };
265
+ if (!o.dryRun && t.reach)
266
+ await recordNotReached(root, repo, {
267
+ commit: o.commit,
268
+ session: o.session,
269
+ models: t.reach.mode,
270
+ ...t.reach.notReached ? { notReached: t.reach.notReached } : {}
271
+ });
272
+ const reach = t.reach ? { reach: t.reach } : {};
273
+ const on = (await loadReadPlan(root, repo))?.topUp;
274
+ const same = on && sameCommit(on.commit, o.commit) && on.hash === FACT_RULES_HASH && sameSets(on.sets, t.lacking);
275
+ if (same && (!o.models || on.models === o.models))
276
+ return { lacking: t.lacking, topUp: on, facts, ...reach };
277
+ const doneSessions = same ? on.sessions.filter((s) => s.done) : [];
278
+ const read = new Set(doneSessions.flatMap((s) => s.paths));
279
+ const topUp = {
280
+ commit: o.commit,
281
+ hash: FACT_RULES_HASH,
282
+ sets: t.lacking,
283
+ session: o.session,
284
+ plannedAt: stamp(),
285
+ ...o.models ? { models: o.models } : {},
286
+ sessions: [
287
+ ...doneSessions,
288
+ ...topUpSessions(t.files.filter((f) => !read.has(f.path)), o.session)
289
+ ]
290
+ };
291
+ if (!o.dryRun && topUp.sessions.length)
292
+ await saveReadPlan(root, {
293
+ ...planOr(await loadReadPlan(root, repo), repo, o.commit, o.session),
294
+ topUp
295
+ });
296
+ return { lacking: t.lacking, topUp, facts, ...reach };
297
+ }
298
+ async function mapRules(root, repo, o, io) {
299
+ const p = await plannedTopUp(root, repo, o);
300
+ if ("error" in p) {
301
+ io.err(p.error);
302
+ return 2;
303
+ }
304
+ if (!p.lacking.length || !p.topUp) {
305
+ if (o.json)
306
+ io.out(JSON.stringify({ repo, commit: o.commit, sets: [], sessions: 0 }, null, 2));
307
+ else
308
+ io.out(`${repo} was read under the reading rules there are now: nothing to top up.`);
309
+ return 0;
310
+ }
311
+ const t = p.topUp;
312
+ if (!t.sessions.length) {
313
+ await recordRulesNow(root, repo, o.commit, t.sets);
314
+ if (o.json)
315
+ io.out(JSON.stringify({ repo, commit: o.commit, sets: t.sets, sessions: 0 }, null, 2));
316
+ else
317
+ io.out(`No file of ${repo} is one the reading rules added since it was read apply to (${t.sets.join(", ")}): its read is recorded as under the rules there are now.`);
318
+ return 0;
319
+ }
320
+ const n = t.sessions.findIndex((s) => !s.done);
321
+ const next = t.sessions[n];
322
+ const before = await writtenHash(root, repo);
323
+ const sessions = t.sessions.map((s, i) => i === n ? { ...s, given: stamp(), ...s.given && s.before ? {} : { before } } : s);
324
+ const plan = await loadReadPlan(root, repo);
325
+ await saveReadPlan(root, { ...plan, topUp: { ...t, sessions } });
326
+ const rel = rulesRelOf(root, repo);
327
+ await writeFileAtomic(join(factsDirOf(root), `${repo}.rules.md`), rulesPrompt(repo, o.commit, {
328
+ orgRules: await effectiveRules(root, repo),
329
+ rel: factsRelOf(root),
330
+ session: next,
331
+ n: n + 1,
332
+ of: t.sessions.length,
333
+ facts: p.facts,
334
+ notes: o.notes,
335
+ ...o.checkout ? { checkout: o.checkout } : {},
336
+ ...p.reach ? { reach: p.reach } : {}
337
+ }));
338
+ if (o.json) {
339
+ io.out(JSON.stringify({
340
+ repo,
341
+ commit: o.commit,
342
+ sets: t.sets,
343
+ session: n + 1,
344
+ sessions: t.sessions.length,
345
+ paths: next.paths,
346
+ tokens: next.tokens,
347
+ prompt: rel
348
+ }, null, 2));
349
+ return 0;
350
+ }
351
+ const files = new Set(t.sessions.flatMap((s) => s.paths.map((x) => lineRangeOf(x)?.file ?? x)));
352
+ const tokens = t.sessions.reduce((x, s) => x + s.tokens, 0);
353
+ io.out(`Top-up of ${repo} for the reading rules added since it was read (${t.sets.join(", ")}): ${files.size} ${files.size === 1 ? "file" : "files"}, about ${tokens.toLocaleString("en-US")} tokens, in ${t.sessions.length} ${t.sessions.length === 1 ? "session" : "sessions"} of ${o.session.toLocaleString("en-US")} at most.`);
354
+ io.out(`Wrote ${rel}: session ${n + 1} of ${t.sessions.length}, ${next.paths.length} ${next.paths.length === 1 ? "read" : "reads"} (${next.sets.join(", ")}), about ${next.tokens.toLocaleString("en-US")} tokens.`);
355
+ io.out(`Start a new chat, so the session holds only these files, and run /atticus-map ${repo} --rules there (or paste ${rel}). When atticus verify ${repo} passes after it, the session is done${t.sessions.length > n + 1 ? `; the next is for another new chat` : ` and the read records the rules there are now`}.`);
356
+ return 0;
357
+ }
358
+ var factLine = (f) => `- ${f.id} (${f.kind}, ${f.cite.file}:${f.cite.line})`;
359
+ function rulesPrompt(repo, commit, c) {
360
+ const s = c.session;
361
+ const sets = s.sets.filter((x) => RULE_SETS.includes(x));
362
+ const orgIds = new Set(s.sets.filter((x) => x.startsWith("org:")));
363
+ const files = s.paths.map((x) => lineRangeOf(x)?.file ?? x);
364
+ const list = s.paths.map((x) => `- \`${x}\``).join("\n");
365
+ const kept = c.facts.filter((f) => citedFiles(f).some((p) => files.includes(p)));
366
+ const block = (id, kind, origin, text) => wrapData({ id, kind, origin }, neutralise(text, void 0, { mark: true }).text);
367
+ return [
368
+ `# Top-up of ${repo} at ${commit}`,
369
+ "",
370
+ `Session ${c.n} of ${c.of}, about ${s.tokens.toLocaleString("en-US")} tokens of source. ${topUpWords(s.sets.map((x) => x.startsWith("org:") ? x.slice(4).split("@")[0] : x))} Open each path below and nothing else: a path ending \`#L<from>-L<to>\` by those lines only, never the whole file.${c.checkout ? ` The paths are in the repo's checkout, \`${c.checkout}\` in this metarepo: open \`${c.checkout}/<path>\` with your file tools; there is no need to look for it or to run a command.` : ""}`,
371
+ "",
372
+ `- Write each fact to \`${c.rel}/${repo}.jsonl\`, appended, with \`commit\` ${commit}. A kept fact you add to is written again whole, under its id.`,
373
+ `- A path that has nothing to add under these rules: a line in \`${c.rel}/${repo}.reviewed.jsonl\`, \`{"path": "<the path>", "why": "..."}\`. Every path below ends with a fact written or a line there.`,
374
+ `- Then run \`atticus verify ${repo}\` and fix what it rejects until it exits 0: that records this session done${c.of > c.n ? `. The next session is for a new chat: \`/atticus-map ${repo} --rules\` there` : ", and the read as under the rules there are now"}.`,
375
+ "",
376
+ "## The rules",
377
+ "",
378
+ "Each fact has this shape:",
379
+ "",
380
+ factsReference(),
381
+ "",
382
+ factRulesFor(kindsOf(files), void 0, sets),
383
+ "",
384
+ ...orgIds.size && c.orgRules ? [readingRulesText({ rules: c.orgRules.rules, builtinOff: [] }, orgIds), ""] : [],
385
+ "## Read",
386
+ "",
387
+ `The paths to open are in the data block below. ${DATA_RULE}`,
388
+ "",
389
+ block(`${repo}.rules`, "rules", `${c.rel}/${repo}.read-plan.yaml`, list),
390
+ "",
391
+ "## Facts already kept (by id; don't write them again)",
392
+ "",
393
+ kept.length ? block(`${repo}.kept`, "facts", `${c.rel}/${repo}.jsonl`, kept.map(factLine).join("\n")) : "None cite these files.",
394
+ ...c.notes ? [
395
+ "",
396
+ "## The organisation's notes for this repo",
397
+ "",
398
+ block(`${repo}.notes`, "notes", "org-pack", c.notes)
399
+ ] : [],
400
+ "",
401
+ ...modelsPart(repo, c.reach, new Set(files))
402
+ ].join("\n");
403
+ }
404
+ function modelsPart(repo, r, files) {
405
+ const data = r ? modelsData(repo, r, { only: files }) : void 0;
406
+ return data ? ["## Model classes", "", MODELS_RULE, "", data, ""] : [];
407
+ }
408
+
409
+ export {
410
+ topUpFiles,
411
+ ruleSetsOfFiles,
412
+ topUpSessions,
413
+ topUpOf,
414
+ recordRulesNow,
415
+ recordTopUpVerified,
416
+ rulesRelOf,
417
+ plannedTopUp,
418
+ mapRules,
419
+ rulesPrompt
420
+ };