@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
@@ -6,14 +6,22 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  dotInt8,
8
8
  textSha
9
- } from "./chunk-CNUKCS2T.js";
9
+ } from "./chunk-P32RUW3B.js";
10
10
  import {
11
+ JOINED_BY_PERSON,
11
12
  Question,
12
13
  RECORD_KINDS,
13
14
  RecordId,
15
+ answerByWords,
14
16
  changesDirOf,
17
+ decodeText,
15
18
  deserializeRecord,
19
+ globMatcher,
16
20
  identifierWords,
21
+ ignoreRules,
22
+ ignoredBy,
23
+ isBinaryBytes,
24
+ isBinaryPath,
17
25
  knowledgeDirOf,
18
26
  knowledgeKindOf,
19
27
  layoutOf,
@@ -21,14 +29,17 @@ import {
21
29
  parseRecord,
22
30
  questionsDirOf,
23
31
  recordReferences,
24
- require_dist,
25
32
  serializeRecord,
26
33
  specsDirOf,
27
34
  specsRelOf,
28
35
  splitForms,
29
36
  stateDirOf,
30
- toCanonicalYaml
31
- } from "./chunk-S2A7YC3Q.js";
37
+ toCanonicalYaml,
38
+ walkRepo
39
+ } from "./chunk-Q2TECDIT.js";
40
+ import {
41
+ require_dist
42
+ } from "./chunk-BQGDB6ZL.js";
32
43
  import {
33
44
  __toESM
34
45
  } from "./chunk-TV45EUGM.js";
@@ -870,9 +881,9 @@ function questionNodes(path, text) {
870
881
  name: q.question,
871
882
  file: path,
872
883
  verified: false,
873
- line: `answered question ${q.id}: ${q.question} Answer: ${answer} (${a.by}, ${a.at}) [${path}]`,
884
+ line: `answered question ${q.id}: ${q.question} Answer: ${answer} (${answerByWords(a.by)}, ${a.at}) [${path}]`,
874
885
  detail: `Question ${q.id} (${path}), asked by ${q.askedBy.step} about repo ${q.repo}: ${q.question}
875
- Answer, by ${a.by} at ${a.at}: ${answer}
886
+ Answer, by ${answerByWords(a.by)} at ${a.at}: ${answer}
876
887
  Evidence: ${q.evidence.join(", ")}`,
877
888
  names: "",
878
889
  ids: q.id,
@@ -1004,8 +1015,8 @@ var DOCUMENT_EXTENSIONS = /\.(docx|pptx|xlsx|pdf|md|markdown|html?|txt)$/i;
1004
1015
  async function documentNodes(path, bytes) {
1005
1016
  const out = { nodes: [], names: [], links: [] };
1006
1017
  const [{ readDocument }, { screenFile }] = await Promise.all([
1007
- import("./chunk-4NDAAFQT.js"),
1008
- import("./chunk-6JCPI55B.js")
1018
+ import("./chunk-WJF2CS6M.js"),
1019
+ import("./chunk-RLDGWLQ7.js")
1009
1020
  ]);
1010
1021
  const screen = screenFile(path, bytes);
1011
1022
  if (screen.problem)
@@ -2284,7 +2295,7 @@ function openDb(file) {
2284
2295
  // packages/index/dist/catalog-index.js
2285
2296
  var vectorsFileOf = (file) => join3(dirname2(file), "vectors.sqlite");
2286
2297
  var notInstalled = (e, pkg) => e.code === "ERR_MODULE_NOT_FOUND" && String(e.message).includes(pkg);
2287
- async function embedderOf(root, setting, load = () => import("./chunk-TANFV3MZ.js")) {
2298
+ async function embedderOf(root, setting, load = () => import("./chunk-WERM6KPJ.js")) {
2288
2299
  if (setting === "off")
2289
2300
  return { why: "turned off for this command" };
2290
2301
  if (setting && setting !== "auto")
@@ -2525,6 +2536,10 @@ var CatalogIndex = class {
2525
2536
  list(kind, o = {}) {
2526
2537
  const where = ["kind = ?"];
2527
2538
  const params = [kind];
2539
+ if (o.confidence) {
2540
+ where.push("confidence = ?");
2541
+ params.push(o.confidence);
2542
+ }
2528
2543
  if (o.status) {
2529
2544
  where.push("status = ?");
2530
2545
  params.push(o.status);
@@ -2713,7 +2728,8 @@ function impact(ix, rootId, depth = 4) {
2713
2728
  };
2714
2729
  for (const a of affected) {
2715
2730
  const rec = recordOf(a.kind, a.id);
2716
- if (a.kind === "Interface" && rec.confidence === "inferred")
2731
+ const paired = Array.isArray(rec.flags) && rec.flags.includes(JOINED_BY_PERSON);
2732
+ if (a.kind === "Interface" && rec.confidence === "inferred" && !paired)
2717
2733
  addGap({
2718
2734
  record: a.id,
2719
2735
  field: "confidence",
@@ -2867,8 +2883,11 @@ function translate(question, lookup) {
2867
2883
  terms.push(`refs:${rec.id}`);
2868
2884
  if (has(/\b(without|no|missing) (a |an )?pattern\b/))
2869
2885
  terms.push("missing:pattern");
2870
- if (has(/\b(inferred|unconfirmed|one end)\b/))
2886
+ if (has(/\b(inferred|unconfirmed|one end)\b/)) {
2871
2887
  terms.push("confidence:inferred");
2888
+ if (has(/\bone end\b/))
2889
+ terms.push("-flags:joined-by-person");
2890
+ }
2872
2891
  return {
2873
2892
  action: "query",
2874
2893
  query: terms.join(" "),
@@ -2886,8 +2905,9 @@ function translate(question, lookup) {
2886
2905
 
2887
2906
  // packages/index/dist/tools.js
2888
2907
  import { existsSync, readdirSync } from "node:fs";
2889
- import { readdir as readdir2, readFile as readFile3, realpath, stat as stat2 } from "node:fs/promises";
2908
+ import { readFile as readFile3, realpath, stat as stat2 } from "node:fs/promises";
2890
2909
  import { isAbsolute, join as join4, relative as relative2, resolve, sep as sep2 } from "node:path";
2910
+ import { createContext, runInContext, Script } from "node:vm";
2891
2911
  var ContextToolError = class extends Error {
2892
2912
  constructor(message) {
2893
2913
  super(message);
@@ -2918,6 +2938,12 @@ var CONTEXT_TOOL_BOUNDS = {
2918
2938
  /** The longest pattern grep takes, and the most of a hit's line it shows. */
2919
2939
  grepPattern: 200,
2920
2940
  grepLineChars: 200,
2941
+ /**
2942
+ * The most time a regular expression may spend on one file, and on one grep call in all,
2943
+ * so a pattern that backtracks without end (`(a+)+$`) can't hang the MCP server or a scan.
2944
+ */
2945
+ grepRegexMs: 1e3,
2946
+ grepRegexTotalMs: 5e3,
2921
2947
  /** Files one grep or files call walks at most, and bytes grep reads at most. */
2922
2948
  walkFiles: 2e4,
2923
2949
  grepBytes: 64e6,
@@ -3286,7 +3312,7 @@ async function excerpt(root, c, around, o) {
3286
3312
  const size = (await stat2(file)).size;
3287
3313
  if (size > CONTEXT_TOOL_BOUNDS.codeFileBytes)
3288
3314
  return `${c.what} ${c.verb ?? "cites"} ${c.repo}/${c.path}:${c.line}, a file too big to show (${size} bytes).`;
3289
- const lines = (await readFile3(file, "utf8")).split(/\r?\n/);
3315
+ const lines = decodeText(await readFile3(file)).split(/\r?\n/);
3290
3316
  if (c.line > lines.length)
3291
3317
  return `${c.what} ${c.verb ?? "cites"} ${c.repo}/${c.path}:${c.line}, but the file has ${lines.length} lines now: the cite is stale.`;
3292
3318
  const from = Math.max(1, c.line - around);
@@ -3415,17 +3441,20 @@ async function namesInCode(root, names, o = {}) {
3415
3441
  const names2 = open.filter((n) => !found.has(n) && DECLARABLE.test(n));
3416
3442
  if (!names2.length)
3417
3443
  return;
3418
- const buf = await readFile3(join4(dir, ...p.split("/"))).catch(() => void 0);
3444
+ const file = join4(dir, ...p.split("/"));
3445
+ if (!await readableCode(file, p))
3446
+ return;
3447
+ const buf = await readFile3(file).catch(() => void 0);
3419
3448
  if (!buf || buf.length > B.codeFileBytes)
3420
3449
  return;
3421
- if (buf.subarray(0, 8e3).includes(0))
3450
+ if (isBinaryBytes(buf))
3422
3451
  return;
3423
3452
  bytes += buf.length;
3424
3453
  if (bytes > B.grepBytes) {
3425
3454
  cut = true;
3426
3455
  return false;
3427
3456
  }
3428
- const text = buf.toString("utf8");
3457
+ const text = decodeText(buf);
3429
3458
  if (!names2.some((n) => text.includes(n)))
3430
3459
  return;
3431
3460
  const decls = await o.outline(p, text).catch(() => void 0);
@@ -3488,90 +3517,12 @@ function reposOf(root, input, o) {
3488
3517
  throw new ContextToolError("No repo is cloned in the workspace.");
3489
3518
  return out;
3490
3519
  }
3491
- function globRe(glob2, anyDepth = !glob2.replace(/\/$/, "").includes("/")) {
3492
- let g = glob2.trim().replace(/\\/g, "/").replace(/^\.\//, "");
3493
- if (g.startsWith("/")) {
3494
- g = g.slice(1);
3495
- anyDepth = false;
3496
- }
3497
- let re = "";
3498
- for (let i = 0; i < g.length; i++) {
3499
- const ch = g[i];
3500
- if (ch === "*") {
3501
- if (g[i + 1] === "*") {
3502
- const slash = g[i + 2] === "/";
3503
- re += slash ? "(?:.*/)?" : ".*";
3504
- i += slash ? 2 : 1;
3505
- } else
3506
- re += "[^/]*";
3507
- } else if (ch === "?")
3508
- re += "[^/]";
3509
- else if (ch === "[") {
3510
- const end = g.indexOf("]", i + 2);
3511
- if (end < 0)
3512
- re += "\\[";
3513
- else {
3514
- const body = g.slice(i + 1, end).replace(/^!/, "^").replace(/\\/g, "\\\\");
3515
- re += `[${body}]`;
3516
- i = end;
3517
- }
3518
- } else if (ch === "{") {
3519
- const end = g.indexOf("}", i);
3520
- if (end < 0)
3521
- re += "\\{";
3522
- else {
3523
- re += `(?:${g.slice(i + 1, end).split(",").map((p) => globRe(p, false).source.slice(1, -1)).join("|")})`;
3524
- i = end;
3525
- }
3526
- } else
3527
- re += ch.replace(/[.+^$()|\\]/g, "\\$&");
3528
- }
3529
- return new RegExp(`^${anyDepth ? "(?:.*/)?" : ""}${re}$`);
3530
- }
3531
- function ignoreRules(text, base) {
3532
- const out = [];
3533
- for (let line of text.split(/\r?\n/)) {
3534
- line = line.replace(/(?<!\\)\s+$/, "");
3535
- if (!line || line.startsWith("#"))
3536
- continue;
3537
- let negate = false;
3538
- if (line.startsWith("!")) {
3539
- negate = true;
3540
- line = line.slice(1);
3541
- } else if (line.startsWith("\\!") || line.startsWith("\\#"))
3542
- line = line.slice(1);
3543
- const dirOnly = line.endsWith("/");
3544
- if (dirOnly)
3545
- line = line.slice(0, -1);
3546
- if (!line)
3547
- continue;
3548
- const anchored = line.includes("/");
3549
- try {
3550
- out.push({ base, re: globRe(line.replace(/^\//, ""), !anchored), negate, dirOnly });
3551
- } catch {
3552
- }
3553
- }
3554
- return out;
3555
- }
3556
- function ignored(rules, path, isDir) {
3557
- let out = false;
3558
- for (const r of rules) {
3559
- if (r.dirOnly && !isDir)
3560
- continue;
3561
- if (r.base && !path.startsWith(`${r.base}/`))
3562
- continue;
3563
- const rel2 = r.base ? path.slice(r.base.length + 1) : path;
3564
- if (r.re.test(rel2))
3565
- out = !r.negate;
3566
- }
3567
- return out;
3568
- }
3569
3520
  async function rulesFor(dir, path) {
3570
3521
  const parts = path.split("/").slice(0, -1);
3571
3522
  const rules = [];
3572
3523
  for (let i = 0; i <= parts.length; i++) {
3573
3524
  const base = parts.slice(0, i).join("/");
3574
- const text = await readFile3(join4(dir, ...parts.slice(0, i), ".gitignore"), "utf8").catch(() => void 0);
3525
+ const text = await readFile3(join4(dir, ...parts.slice(0, i), ".gitignore")).then(decodeText, () => void 0);
3575
3526
  if (text)
3576
3527
  rules.push(...ignoreRules(text, base));
3577
3528
  }
@@ -3581,50 +3532,18 @@ async function isIgnored(dir, path) {
3581
3532
  const rules = await rulesFor(dir, path);
3582
3533
  const parts = path.split("/");
3583
3534
  for (let i = 1; i < parts.length; i++)
3584
- if (ignored(rules, parts.slice(0, i).join("/"), true))
3535
+ if (ignoredBy(rules, parts.slice(0, i).join("/"), true))
3585
3536
  return true;
3586
- return ignored(rules, path, false);
3537
+ return ignoredBy(rules, path, false);
3587
3538
  }
3588
- async function walkClone(dir, max, visit) {
3589
- let files = 0;
3590
- let cut = false;
3591
- const go = async (rel2, inherited) => {
3592
- let entries;
3593
- try {
3594
- entries = await readdir2(rel2 ? join4(dir, ...rel2.split("/")) : dir, { withFileTypes: true });
3595
- } catch {
3596
- return true;
3597
- }
3598
- const here = entries.find((e) => e.name === ".gitignore" && e.isFile());
3599
- const rules = here ? [
3600
- ...inherited,
3601
- ...ignoreRules(await readFile3(join4(dir, ...rel2.split("/"), ".gitignore"), "utf8"), rel2)
3602
- ] : inherited;
3603
- for (const e of entries.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0)) {
3604
- if (e.isSymbolicLink() || e.name === ".git")
3605
- continue;
3606
- const p = rel2 ? `${rel2}/${e.name}` : e.name;
3607
- if (e.isDirectory()) {
3608
- if (ignored(rules, p, true))
3609
- continue;
3610
- if (!await go(p, rules))
3611
- return false;
3612
- } else if (e.isFile()) {
3613
- if (ignored(rules, p, false))
3614
- continue;
3615
- if (files >= max) {
3616
- cut = true;
3617
- return false;
3618
- }
3619
- files++;
3620
- if (await visit(p) === false)
3621
- return false;
3622
- }
3623
- }
3624
- return true;
3625
- };
3626
- await go("", []);
3627
- return { files, cut };
3539
+ function walkClone(dir, max, visit) {
3540
+ return walkRepo(dir, visit, { max });
3541
+ }
3542
+ async function readableCode(file, path) {
3543
+ if (isBinaryPath(path))
3544
+ return false;
3545
+ const size = (await stat2(file).catch(() => void 0))?.size;
3546
+ return size !== void 0 && size <= CONTEXT_TOOL_BOUNDS.codeFileBytes;
3628
3547
  }
3629
3548
  var plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
3630
3549
  async function runCodeTool(root, name, input, o) {
@@ -3634,6 +3553,34 @@ async function runCodeTool(root, name, input, o) {
3634
3553
  return filesTool(root, input, o);
3635
3554
  return outlineTool(root, input, o);
3636
3555
  }
3556
+ var REGEX_LINES = new Script("(() => { const out = []; for (let i = 0; i < lines.length; i++) if (re.test(lines[i])) out.push(i); return out; })()");
3557
+ function regexMatcher(pattern, flags) {
3558
+ const B = CONTEXT_TOOL_BOUNDS;
3559
+ const context = createContext({ pattern, flags, lines: [] });
3560
+ runInContext("globalThis.re = new RegExp(pattern, flags);", context);
3561
+ let spent = 0;
3562
+ return (lines) => {
3563
+ const left = B.grepRegexTotalMs - spent;
3564
+ if (left < 1)
3565
+ return void 0;
3566
+ const timeout = Math.min(B.grepRegexMs, left);
3567
+ context.lines = lines;
3568
+ const started = performance.now();
3569
+ try {
3570
+ return Array.from(REGEX_LINES.runInContext(context, { timeout }));
3571
+ } catch (e) {
3572
+ if (e.code === "ERR_SCRIPT_EXECUTION_TIMEOUT") {
3573
+ if (timeout < B.grepRegexMs)
3574
+ return void 0;
3575
+ throw new ContextToolError(`The pattern ${pattern} took too long; make it simpler (no quantifier inside a repeated group, such as (a+)+).`);
3576
+ }
3577
+ throw e;
3578
+ } finally {
3579
+ context.lines = [];
3580
+ spent += performance.now() - started;
3581
+ }
3582
+ };
3583
+ }
3637
3584
  async function grepTool(root, input, o) {
3638
3585
  const B = CONTEXT_TOOL_BOUNDS;
3639
3586
  const pattern = typeof input.pattern === "string" && input.pattern ? input.pattern : void 0;
@@ -3642,22 +3589,26 @@ async function grepTool(root, input, o) {
3642
3589
  if (pattern.length > B.grepPattern)
3643
3590
  throw new ContextToolError(`A grep pattern is at most ${B.grepPattern} characters.`);
3644
3591
  const ignoreCase = input.ignoreCase === true;
3645
- let test;
3592
+ let matching;
3646
3593
  if (input.regex === true) {
3647
- let re;
3648
3594
  try {
3649
- re = new RegExp(pattern, ignoreCase ? "i" : "");
3595
+ new RegExp(pattern, ignoreCase ? "i" : "");
3650
3596
  } catch (e) {
3651
3597
  throw new ContextToolError(`${pattern} isn't a regular expression: ${e.message}.`);
3652
3598
  }
3653
- test = (l) => re.test(l);
3599
+ matching = regexMatcher(pattern, ignoreCase ? "i" : "");
3654
3600
  } else {
3655
3601
  const p = ignoreCase ? pattern.toLowerCase() : pattern;
3656
- test = ignoreCase ? (l) => l.toLowerCase().includes(p) : (l) => l.includes(p);
3602
+ const test = ignoreCase ? (l) => l.toLowerCase().includes(p) : (l) => l.includes(p);
3603
+ matching = function* (lines) {
3604
+ for (let i = 0; i < lines.length; i++)
3605
+ if (test(lines[i]))
3606
+ yield i;
3607
+ };
3657
3608
  }
3658
3609
  const limit = int(input.limit, 1, B.grepLimit, B.grepDefault);
3659
3610
  const paths = str2(input.paths);
3660
- const only = paths ? globRe(paths) : void 0;
3611
+ const only = paths ? globMatcher(paths) : void 0;
3661
3612
  const repos = reposOf(root, input, o);
3662
3613
  const hits = [];
3663
3614
  let more = false;
@@ -3668,10 +3619,13 @@ async function grepTool(root, input, o) {
3668
3619
  const walked = await walkClone(dir, B.walkFiles - read, async (p) => {
3669
3620
  if (only && !only.test(p))
3670
3621
  return;
3671
- const buf = await readFile3(join4(dir, ...p.split("/"))).catch(() => void 0);
3622
+ const file = join4(dir, ...p.split("/"));
3623
+ if (!await readableCode(file, p))
3624
+ return;
3625
+ const buf = await readFile3(file).catch(() => void 0);
3672
3626
  if (!buf || buf.length > B.codeFileBytes)
3673
3627
  return;
3674
- if (buf.subarray(0, 8e3).includes(0))
3628
+ if (isBinaryBytes(buf))
3675
3629
  return;
3676
3630
  bytes += buf.length;
3677
3631
  if (bytes > B.grepBytes) {
@@ -3679,11 +3633,14 @@ async function grepTool(root, input, o) {
3679
3633
  return false;
3680
3634
  }
3681
3635
  read++;
3682
- const lines = buf.toString("utf8").split(/\r?\n/);
3683
- for (let i = 0; i < lines.length; i++) {
3684
- const line = lines[i].slice(0, 2e3);
3685
- if (!test(line))
3686
- continue;
3636
+ const lines = decodeText(buf).split(/\r?\n/).map((l) => l.slice(0, 2e3));
3637
+ const found = matching(lines);
3638
+ if (!found) {
3639
+ cut = true;
3640
+ return false;
3641
+ }
3642
+ for (const i of found) {
3643
+ const line = lines[i];
3687
3644
  if (hits.length >= limit) {
3688
3645
  more = true;
3689
3646
  return false;
@@ -3707,7 +3664,7 @@ async function grepTool(root, input, o) {
3707
3664
  `${plural(hits.length, "hit")} for "${pattern}"${where}${scope} (${plural(read, "file")} read):`,
3708
3665
  ...hits,
3709
3666
  ...more ? [`\u2026 more hits past the ${limit} shown; narrow the pattern or the paths.`] : [],
3710
- ...cut ? [`\u2026 the search stopped at its cap of files or bytes; name a repo or narrower paths.`] : [],
3667
+ ...cut ? [`\u2026 the search stopped at its cap of files, bytes or time; name a repo or narrower paths.`] : [],
3711
3668
  "Show the lines around a hit with show_code (repo, path, line). A hit is a pointer, not a fact: a fact cites its file and line, and Atticus checks the value there."
3712
3669
  ].join("\n");
3713
3670
  }
@@ -3717,7 +3674,7 @@ async function filesTool(root, input, o) {
3717
3674
  if (!glob2)
3718
3675
  throw new ContextToolError("files needs a glob, for example src/**/*.java.");
3719
3676
  const limit = int(input.limit, 1, B.filesLimit, B.filesDefault);
3720
- const re = globRe(glob2);
3677
+ const re = globMatcher(glob2);
3721
3678
  const repos = reposOf(root, input, o);
3722
3679
  const out = [];
3723
3680
  let more = false;
@@ -3790,7 +3747,7 @@ async function outlineTool(root, input, o) {
3790
3747
  const size = (await stat2(file)).size;
3791
3748
  if (size > CONTEXT_TOOL_BOUNDS.codeFileBytes)
3792
3749
  throw new ContextToolError(`${path} is too big to outline (${size} bytes).`);
3793
- const text = await readFile3(file, "utf8");
3750
+ const text = decodeText(await readFile3(file));
3794
3751
  const head = `Outline of ${repo}:${rel2}`;
3795
3752
  let how;
3796
3753
  let lines;