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

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 (273) hide show
  1. package/dist/bin.js +8 -4
  2. package/dist/chunk-265LWMOA.js +91 -0
  3. package/dist/chunk-26WBY34Y.js +37 -0
  4. package/dist/{chunk-UBBC2XSG.js → chunk-26Z7OGQW.js} +518 -93
  5. package/dist/chunk-2D7PWSOK.js +172 -0
  6. package/dist/{chunk-JCZIKA4C.js → chunk-2HH3UCZM.js} +4 -4
  7. package/dist/{chunk-GDLULHTC.js → chunk-2HTEMYTB.js} +12 -26
  8. package/dist/chunk-2UCRFXFZ.js +130 -0
  9. package/dist/{chunk-MVZVGYXH.js → chunk-2V2ZPQQU.js} +81 -13
  10. package/dist/{chunk-BOHJZTEQ.js → chunk-36RY7ZXM.js} +130 -71
  11. package/dist/{chunk-I3E7CX4H.js → chunk-37WE3LS2.js} +3 -3
  12. package/dist/{chunk-IPKHE5D6.js → chunk-3AQ2R5NL.js} +1520 -871
  13. package/dist/chunk-3G6S7LAA.js +43 -0
  14. package/dist/chunk-3J5I7ZOU.js +58 -0
  15. package/dist/{chunk-65NYPGRC.js → chunk-3LZ6P5EP.js} +1 -1
  16. package/dist/chunk-3SSTNB4E.js +191 -0
  17. package/dist/chunk-3TD6S4TC.js +49 -0
  18. package/dist/{chunk-3C7EYRFZ.js → chunk-3UTYPHN3.js} +1 -1
  19. package/dist/{chunk-G2B4ZQGH.js → chunk-3WON4G3M.js} +2 -2
  20. package/dist/{chunk-S3QNRWYR.js → chunk-42EPP7OB.js} +12 -12
  21. package/dist/chunk-455SYIIE.js +113 -0
  22. package/dist/{chunk-YISXLPHN.js → chunk-4B6BT75O.js} +166 -23
  23. package/dist/{chunk-C6EKFH7J.js → chunk-4CLK2RJO.js} +7 -7
  24. package/dist/chunk-4CYTJ5TZ.js +38 -0
  25. package/dist/{chunk-EYWIDJFU.js → chunk-4D62IZII.js} +5 -5
  26. package/dist/chunk-4FOAYLI4.js +328 -0
  27. package/dist/{chunk-7JUKDRSZ.js → chunk-4KNOJC6J.js} +294 -215
  28. package/dist/{chunk-YMZ3TNYB.js → chunk-4PYC2UGC.js} +2 -2
  29. package/dist/{chunk-27NKUS3X.js → chunk-4SLBCEPD.js} +2104 -726
  30. package/dist/chunk-4TKVU2I2.js +122 -0
  31. package/dist/{chunk-RUVFXE2L.js → chunk-4WXRPQDE.js} +448 -47
  32. package/dist/{chunk-7ZUIMTOU.js → chunk-5CMPVC3N.js} +24 -24
  33. package/dist/chunk-5G7ILBUG.js +66 -0
  34. package/dist/{chunk-HFQCFSJR.js → chunk-5PV7S2ZP.js} +3 -3
  35. package/dist/{chunk-FITWGOJ2.js → chunk-5QUOPNLN.js} +4 -4
  36. package/dist/{chunk-Z6LF7HQN.js → chunk-5TDRBOAV.js} +5 -5
  37. package/dist/{chunk-T6AIP7H5.js → chunk-5WERBKLE.js} +199 -63
  38. package/dist/{chunk-XPCM366L.js → chunk-62DLJSLV.js} +8 -8
  39. package/dist/{chunk-L24C55VN.js → chunk-64AADMTW.js} +99 -25
  40. package/dist/{chunk-K65BJIMT.js → chunk-67BP7HXL.js} +17 -17
  41. package/dist/chunk-6DQYZU2W.js +379 -0
  42. package/dist/{chunk-EDS2L2LD.js → chunk-6EXDI5GI.js} +52 -26
  43. package/dist/chunk-6FNAKCET.js +38 -0
  44. package/dist/{chunk-6IU67AEK.js → chunk-75ASLHBT.js} +21 -15
  45. package/dist/{chunk-A3GY6SOA.js → chunk-75ZOZFGH.js} +18 -18
  46. package/dist/{chunk-MGYZM27B.js → chunk-77O633L5.js} +49 -23
  47. package/dist/{chunk-GQ4N4WKF.js → chunk-7AB6OWTV.js} +3 -3
  48. package/dist/{chunk-M766ZJ6W.js → chunk-7CZHUZBL.js} +25 -25
  49. package/dist/{chunk-A7UPUQFY.js → chunk-7FHNFCHK.js} +643 -124
  50. package/dist/chunk-7FUIVIBG.js +415 -0
  51. package/dist/{chunk-6QSERWXH.js → chunk-7QPCGTPS.js} +21 -21
  52. package/dist/{chunk-LR3R6Z2A.js → chunk-A2G72UI4.js} +7 -7
  53. package/dist/{chunk-I4JRCD6M.js → chunk-AE4P57KK.js} +23 -17
  54. package/dist/{chunk-AVJDSJ2F.js → chunk-AHW3RY3X.js} +7 -7
  55. package/dist/chunk-AM6FP6JW.js +43 -0
  56. package/dist/{chunk-CSZ4C5N6.js → chunk-AOCWFA7T.js} +93 -10
  57. package/dist/{chunk-EPTBZ3GP.js → chunk-API5TOUB.js} +1 -1
  58. package/dist/{chunk-652QWTLZ.js → chunk-AZDITBCT.js} +3 -3
  59. package/dist/{chunk-DPUYDDQG.js → chunk-BA2HUMDN.js} +25 -3
  60. package/dist/chunk-BA3U7ALS.js +99 -0
  61. package/dist/{chunk-HVUPKCGJ.js → chunk-BC6KKZ67.js} +5 -5
  62. package/dist/{chunk-CKSITVS4.js → chunk-BEPCKDCP.js} +2554 -722
  63. package/dist/{chunk-3ALD2W2A.js → chunk-BPPU3PW7.js} +4 -4
  64. package/dist/{chunk-QRAOANID.js → chunk-BVWWPBKD.js} +21 -21
  65. package/dist/{chunk-ZDPAS56H.js → chunk-BXBCMGIQ.js} +7 -1
  66. package/dist/chunk-BXZ4PKIT.js +233 -0
  67. package/dist/chunk-C7CEK3KW.js +247 -0
  68. package/dist/chunk-CFH3QH26.js +29 -0
  69. package/dist/chunk-CG6CULP6.js +170 -0
  70. package/dist/chunk-CLD4RVTA.js +45 -0
  71. package/dist/{chunk-DKJA76CJ.js → chunk-CNPY4NTZ.js} +13 -13
  72. package/dist/chunk-CNU5Q2D5.js +575 -0
  73. package/dist/{chunk-T2UYZSCQ.js → chunk-COYN3UAN.js} +126 -23
  74. package/dist/{chunk-23W7VWKR.js → chunk-CPK7QSBG.js} +1360 -113
  75. package/dist/{chunk-4AK7IBVP.js → chunk-D2WSW4GU.js} +1 -1
  76. package/dist/{chunk-ABWHYWNI.js → chunk-D57MFJPP.js} +3 -3
  77. package/dist/chunk-D5KV5PSK.js +45 -0
  78. package/dist/chunk-D5MASS4I.js +48 -0
  79. package/dist/{chunk-7EOBHUMC.js → chunk-DCWN3HFV.js} +2 -2
  80. package/dist/{chunk-QSXK2RGH.js → chunk-DDJPM5YX.js} +2 -2
  81. package/dist/chunk-DN4A2Q2O.js +57 -0
  82. package/dist/{chunk-IHMLFRVV.js → chunk-DUPZPDCJ.js} +58 -16
  83. package/dist/{chunk-PRPPGYZG.js → chunk-E2VXBSIR.js} +4 -4
  84. package/dist/chunk-E57AOFYN.js +32 -0
  85. package/dist/{chunk-UGLN7QHV.js → chunk-ECLXZWAG.js} +12 -12
  86. package/dist/{chunk-5WG5YP4T.js → chunk-EDZ45WIR.js} +14 -14
  87. package/dist/chunk-EFCQSMXB.js +37 -0
  88. package/dist/{chunk-2ANOROX3.js → chunk-EZIN5E5B.js} +8 -8
  89. package/dist/{chunk-BWZ77RQT.js → chunk-F6H2RJ3N.js} +1 -1
  90. package/dist/{chunk-OLQJTJJU.js → chunk-FAJDKNSD.js} +7 -3
  91. package/dist/chunk-FGAGWYZB.js +47 -0
  92. package/dist/{chunk-4WBVUHXN.js → chunk-FLVZFTLQ.js} +18 -18
  93. package/dist/chunk-FQ6WH6PB.js +140 -0
  94. package/dist/{chunk-T6XQL73F.js → chunk-FRHD22WM.js} +61 -23
  95. package/dist/{chunk-XAKWMCXI.js → chunk-FVMPFCDS.js} +4 -4
  96. package/dist/{chunk-B2WLAWNJ.js → chunk-FY3QIRTL.js} +3 -3
  97. package/dist/{chunk-CPA6HPVR.js → chunk-FYBF5MB2.js} +15 -11
  98. package/dist/{chunk-V2YTAIQO.js → chunk-G5YJBNDZ.js} +21 -6
  99. package/dist/chunk-G6IQYM25.js +339 -0
  100. package/dist/chunk-G6X4YL4D.js +161 -0
  101. package/dist/{chunk-SJRGMG6A.js → chunk-GC2VK3JT.js} +25 -25
  102. package/dist/{chunk-SP2I63OO.js → chunk-GCS3FZOB.js} +77 -3
  103. package/dist/{chunk-6TACQN3N.js → chunk-GDZB57IU.js} +5 -5
  104. package/dist/chunk-GIFMBCTW.js +221 -0
  105. package/dist/{chunk-YY6ZQQBP.js → chunk-GK4PYVEC.js} +18 -8
  106. package/dist/{chunk-TDD55CJH.js → chunk-GNWAOVFQ.js} +6 -5
  107. package/dist/chunk-GS76RXQE.js +226 -0
  108. package/dist/{chunk-YYQN46FY.js → chunk-GSGIZ2OO.js} +23 -23
  109. package/dist/chunk-GUYL7RMK.js +60 -0
  110. package/dist/chunk-GX74YWR7.js +321 -0
  111. package/dist/chunk-HE3HRDNZ.js +122 -0
  112. package/dist/{chunk-AIOQPLA5.js → chunk-HGHRSF3E.js} +30 -12
  113. package/dist/{chunk-2RMYG36Q.js → chunk-HK3VOHIE.js} +198 -336
  114. package/dist/{chunk-QZSX3F7C.js → chunk-HS4BGB4G.js} +24 -22
  115. package/dist/{chunk-XY3P7JW7.js → chunk-HSZMPH5T.js} +834 -149
  116. package/dist/{chunk-L6SGQIR3.js → chunk-HWD4JPU7.js} +4 -2
  117. package/dist/{chunk-PCVDV3UZ.js → chunk-HXXP2NTE.js} +6 -6
  118. package/dist/{chunk-AA6YULYB.js → chunk-I2A3Z5AK.js} +7 -7
  119. package/dist/{chunk-N7IXEHK3.js → chunk-ICHDSWEY.js} +7 -7
  120. package/dist/chunk-IFFRGC3N.js +31 -0
  121. package/dist/{chunk-4BN53TG3.js → chunk-IFHDV6KQ.js} +31 -23
  122. package/dist/chunk-J2O4LFVI.js +80 -0
  123. package/dist/chunk-J5AAZ6OJ.js +161 -0
  124. package/dist/{chunk-ZMFPW66A.js → chunk-JAABT3DA.js} +3 -3
  125. package/dist/chunk-JITJP64K.js +34 -0
  126. package/dist/chunk-JKIGL3XQ.js +162 -0
  127. package/dist/chunk-JRVNXLZP.js +615 -0
  128. package/dist/chunk-JRXHON4E.js +41 -0
  129. package/dist/{chunk-DHPACDG7.js → chunk-JS6WMC3J.js} +8 -8
  130. package/dist/chunk-JU4QNJSR.js +62 -0
  131. package/dist/{chunk-PAMPPUR6.js → chunk-JYMIB5XY.js} +1697 -172
  132. package/dist/{chunk-RRTKKSLQ.js → chunk-JYTIHTIK.js} +8 -6
  133. package/dist/{chunk-3HI6Z55Y.js → chunk-K332XW7K.js} +324 -39
  134. package/dist/{chunk-GLUX4EEP.js → chunk-K6JB6XTX.js} +9 -9
  135. package/dist/chunk-KDAHXQIE.js +294 -0
  136. package/dist/chunk-KYZMRSPS.js +93 -0
  137. package/dist/chunk-L4CESDPB.js +22 -0
  138. package/dist/{chunk-NXFPS2LR.js → chunk-LEBR5NHW.js} +14 -14
  139. package/dist/chunk-LIJJCBQI.js +223 -0
  140. package/dist/{chunk-DE76JROX.js → chunk-LIRVU3HW.js} +16 -16
  141. package/dist/{chunk-JMSCMUCA.js → chunk-LN77DXBM.js} +145 -21
  142. package/dist/{chunk-JIITQXFB.js → chunk-LNWEWYCM.js} +2969 -788
  143. package/dist/{chunk-TANFV3MZ.js → chunk-LO3BLMVG.js} +3 -3
  144. package/dist/chunk-LPV6T362.js +250 -0
  145. package/dist/{chunk-2VHF7OXM.js → chunk-LQH4P45K.js} +1 -1
  146. package/dist/chunk-LU4MQVAL.js +41 -0
  147. package/dist/chunk-LWDNKE4X.js +273 -0
  148. package/dist/chunk-M4H2UG4R.js +218 -0
  149. package/dist/{chunk-6BVONWJ7.js → chunk-M6D2U3YM.js} +3 -3
  150. package/dist/chunk-MD7KUEJ3.js +514 -0
  151. package/dist/{chunk-66YVAGGM.js → chunk-MMZUN7ZO.js} +20 -20
  152. package/dist/chunk-MZGRDONP.js +916 -0
  153. package/dist/chunk-N3RUGTGV.js +39 -0
  154. package/dist/{chunk-JGZCG5VM.js → chunk-NCB6656Z.js} +7 -7
  155. package/dist/{chunk-4NDAAFQT.js → chunk-NRQ65LTQ.js} +7 -5
  156. package/dist/{chunk-UNM6ZOKP.js → chunk-NTAVOWYD.js} +145 -18
  157. package/dist/{chunk-3USYZGRF.js → chunk-NYOABJNK.js} +36 -27
  158. package/dist/{chunk-WVPJSRRJ.js → chunk-O4IKAIZ2.js} +24 -20
  159. package/dist/{chunk-D3PO4DOZ.js → chunk-ODMBPDDV.js} +51 -14
  160. package/dist/chunk-OKUB6RJA.js +533 -0
  161. package/dist/chunk-OMPENNWY.js +39 -0
  162. package/dist/chunk-OPQZISG3.js +25 -0
  163. package/dist/{chunk-5GGOLAKC.js → chunk-OV57AHCG.js} +26 -26
  164. package/dist/chunk-OZJ3JLYI.js +58 -0
  165. package/dist/{chunk-KEM4SDDP.js → chunk-P2VBXX7N.js} +11 -10
  166. package/dist/{chunk-S2A7YC3Q.js → chunk-PAINMSID.js} +10150 -1720
  167. package/dist/chunk-PKJAV25S.js +43 -0
  168. package/dist/{chunk-EBEW3XXQ.js → chunk-PNQLCRSS.js} +4 -4
  169. package/dist/{chunk-WY6PP6AA.js → chunk-PQH56YF6.js} +37 -5
  170. package/dist/chunk-PRTBPXYA.js +50 -0
  171. package/dist/{chunk-YEDDOYSC.js → chunk-PRW3HXM3.js} +2 -2
  172. package/dist/chunk-PRZ7KMWL.js +42 -0
  173. package/dist/{chunk-6M5NK3K3.js → chunk-PTQ3ZALZ.js} +42 -4
  174. package/dist/{chunk-5GDRCDQB.js → chunk-PUEWDYGP.js} +2 -2
  175. package/dist/chunk-Q26LDIUV.js +236 -0
  176. package/dist/{chunk-CR3MTH32.js → chunk-Q46QDDMF.js} +77 -7
  177. package/dist/chunk-QBNWF5ZU.js +19 -0
  178. package/dist/chunk-QE527XRY.js +342 -0
  179. package/dist/{chunk-CNUKCS2T.js → chunk-QHJJMZLX.js} +1518 -54
  180. package/dist/chunk-QJCJOMW3.js +425 -0
  181. package/dist/{chunk-VYDBJ73M.js → chunk-QKMRFNMA.js} +15 -15
  182. package/dist/chunk-QOOEYDNJ.js +317 -0
  183. package/dist/chunk-QSIDVFB7.js +45 -0
  184. package/dist/{chunk-R77KLRB3.js → chunk-RA33EYS4.js} +19 -18
  185. package/dist/{chunk-DFBCSHVT.js → chunk-RALY3E5U.js} +4 -4
  186. package/dist/{chunk-ZCJDOK2S.js → chunk-S2RY3BOD.js} +35 -21
  187. package/dist/chunk-S5LSDXV4.js +40 -0
  188. package/dist/chunk-SB5GRUFM.js +54 -0
  189. package/dist/chunk-SH27FYPF.js +150 -0
  190. package/dist/chunk-T74WQQGS.js +40 -0
  191. package/dist/{chunk-O3WI5KWW.js → chunk-TGVVUKTG.js} +2 -2
  192. package/dist/chunk-THN26IEF.js +48 -0
  193. package/dist/chunk-TJH2EUAZ.js +47 -0
  194. package/dist/{chunk-ZNCEKR4J.js → chunk-TQ4TG57V.js} +12 -8
  195. package/dist/{chunk-7FBGJFEE.js → chunk-TQTRWENN.js} +12 -12
  196. package/dist/{chunk-TYAID7B7.js → chunk-TSM6T6GQ.js} +23 -23
  197. package/dist/{chunk-DPZHZQKE.js → chunk-TW3KOSQK.js} +43 -10
  198. package/dist/{chunk-MC3H7736.js → chunk-TWQRPM76.js} +37 -4
  199. package/dist/chunk-TYD6I4CZ.js +109 -0
  200. package/dist/chunk-U3NBK4EU.js +420 -0
  201. package/dist/{chunk-6JCPI55B.js → chunk-UDXWIPCB.js} +47 -7
  202. package/dist/{chunk-MMOSZPWJ.js → chunk-UEVZZZU2.js} +4 -4
  203. package/dist/{chunk-JBTK5OP2.js → chunk-UF4UHCIG.js} +2 -2
  204. package/dist/{chunk-6JUBZBMW.js → chunk-UFE36WJH.js} +4 -4
  205. package/dist/{chunk-ONLS5QA5.js → chunk-URIKUID7.js} +12 -12
  206. package/dist/chunk-UYLBRRFK.js +1106 -0
  207. package/dist/chunk-UZACEG2C.js +515 -0
  208. package/dist/{chunk-7SW2QWLU.js → chunk-VAMHOHUU.js} +12 -12
  209. package/dist/{chunk-RZPYKDWS.js → chunk-VUVGX5L2.js} +1 -1
  210. package/dist/{chunk-Q4D5X7QB.js → chunk-VYOCPTUB.js} +44 -24
  211. package/dist/{chunk-CAQZUNOH.js → chunk-WAZEXEJH.js} +567 -3
  212. package/dist/chunk-WCEF7H6L.js +221 -0
  213. package/dist/{chunk-2DIQQJCB.js → chunk-WEOMJHPV.js} +12 -12
  214. package/dist/{chunk-FHH4I4ZV.js → chunk-WFU77T3A.js} +12 -6
  215. package/dist/chunk-WIWTJMMR.js +292 -0
  216. package/dist/{chunk-2BFCZ3RK.js → chunk-WNTIOBOG.js} +18 -18
  217. package/dist/{chunk-7WD63HU2.js → chunk-X2CUXTWU.js} +6 -6
  218. package/dist/chunk-X7EMBM5X.js +34 -0
  219. package/dist/chunk-XEQCQO66.js +33 -0
  220. package/dist/{chunk-F7HYOUFF.js → chunk-XG4WJHLQ.js} +20 -4
  221. package/dist/{chunk-EFHQ3TWP.js → chunk-XOL3GFW2.js} +171 -31
  222. package/dist/{chunk-NE2W3OO7.js → chunk-XQ3YZ4QW.js} +22 -22
  223. package/dist/{chunk-CEXSU4S6.js → chunk-Y6K3CJBU.js} +723 -85
  224. package/dist/{chunk-4RS5KZQD.js → chunk-YAH5IQAL.js} +5 -5
  225. package/dist/{chunk-64EQYWCA.js → chunk-YBOVNMHC.js} +51 -14
  226. package/dist/chunk-YF5DZCPN.js +1212 -0
  227. package/dist/chunk-YIGBJNH4.js +37 -0
  228. package/dist/{chunk-BKVWTZ6A.js → chunk-YJ3TBOTK.js} +25 -25
  229. package/dist/{chunk-Q5AMFEWD.js → chunk-YKTE2RU3.js} +2 -2
  230. package/dist/{chunk-7EKXJZ2Y.js → chunk-YO2PKTXT.js} +296 -37
  231. package/dist/{chunk-6J5OKA4Y.js → chunk-YTTNTQOX.js} +15 -15
  232. package/dist/{chunk-OT2O76OS.js → chunk-YWAKDNMH.js} +183 -33
  233. package/dist/{chunk-R6XF6UR3.js → chunk-YZDZOEV4.js} +4 -4
  234. package/dist/chunk-Z3QFH7YG.js +17 -0
  235. package/dist/{chunk-W5BVQF44.js → chunk-Z6VLC5X4.js} +17 -17
  236. package/dist/{chunk-HLJAXMM4.js → chunk-ZFQMMU5Y.js} +2 -2
  237. package/dist/{chunk-W3BQAZ3Q.js → chunk-ZKYRDV7A.js} +12 -12
  238. package/dist/{chunk-ZMAINWBW.js → chunk-ZLS6PU2O.js} +3 -3
  239. package/dist/{chunk-ZVM6AKKM.js → chunk-ZOSD4FXV.js} +3 -3
  240. package/dist/chunk-ZPDDEVQX.js +47 -0
  241. package/dist/{chunk-TXLH6WHQ.js → chunk-ZQLRCA2V.js} +11 -11
  242. package/dist/{chunk-HITVBIJS.js → chunk-ZX7235KR.js} +128 -54
  243. package/dist/{chunk-GT4I4ZWM.js → chunk-ZZFHLRQW.js} +18 -16
  244. package/dist/files.json +636 -364
  245. package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
  246. package/dist/packages/sdk/npm/index.js +5614 -2343
  247. package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CowTnhEJ.js} +2 -2
  248. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
  249. package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +47 -0
  250. package/dist/packages/ui/dist/index.html +2 -2
  251. package/package.json +4 -4
  252. package/dist/chunk-2BF2EYJV.js +0 -174
  253. package/dist/chunk-42EVSKME.js +0 -37
  254. package/dist/chunk-4BKGMUIK.js +0 -53
  255. package/dist/chunk-5KLGBXG5.js +0 -48
  256. package/dist/chunk-6BNC6EQ4.js +0 -41
  257. package/dist/chunk-6D2CQ5II.js +0 -41
  258. package/dist/chunk-7AVHLZGD.js +0 -45
  259. package/dist/chunk-D46WUV3T.js +0 -33
  260. package/dist/chunk-E36QOJMD.js +0 -47
  261. package/dist/chunk-FQXYPF7E.js +0 -147
  262. package/dist/chunk-GBRFVT63.js +0 -45
  263. package/dist/chunk-ICY36XCH.js +0 -34
  264. package/dist/chunk-J4K3KVLD.js +0 -131
  265. package/dist/chunk-JZU3H6UQ.js +0 -54
  266. package/dist/chunk-NN2ZQEB4.js +0 -38
  267. package/dist/chunk-PCOCACY3.js +0 -385
  268. package/dist/chunk-RTEYOSJY.js +0 -29
  269. package/dist/chunk-RVH5SUW5.js +0 -69
  270. package/dist/chunk-VN3DP4LQ.js +0 -43
  271. package/dist/chunk-XPTOBS2D.js +0 -48
  272. package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
  273. package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
@@ -5,27 +5,31 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  repoFor
8
- } from "./chunk-O3WI5KWW.js";
8
+ } from "./chunk-TGVVUKTG.js";
9
9
  import {
10
10
  frameworkFacts,
11
11
  insideRepo,
12
12
  parseReviewed
13
- } from "./chunk-PAMPPUR6.js";
13
+ } from "./chunk-JYMIB5XY.js";
14
14
  import {
15
15
  changesSince,
16
16
  createGit
17
- } from "./chunk-EFHQ3TWP.js";
17
+ } from "./chunk-XOL3GFW2.js";
18
18
  import {
19
+ Conventions,
20
+ DEFAULT_CONVENTIONS,
19
21
  QuestionDraft,
20
22
  factsDirOf,
21
23
  isAdopted,
22
24
  isSecretPath,
25
+ loadOrgPack,
23
26
  orgPackDirOf,
24
27
  parseCorrections,
28
+ parseFactsLines,
25
29
  raiseQuestions,
26
30
  require_dist,
27
31
  serializeFacts
28
- } from "./chunk-S2A7YC3Q.js";
32
+ } from "./chunk-PAINMSID.js";
29
33
  import {
30
34
  __toESM
31
35
  } from "./chunk-TV45EUGM.js";
@@ -52,6 +56,17 @@ async function carryOf(dir, facts, commit, git) {
52
56
  const r = await changesSince(dir, facts.map((f) => f.commit), commit, git);
53
57
  return { carry: r.changes, missing: r.missing };
54
58
  }
59
+ async function conventionsAt(root) {
60
+ const file = join(orgPackDirOf(root), "conventions.yaml");
61
+ if (!existsSync(file))
62
+ return DEFAULT_CONVENTIONS;
63
+ try {
64
+ const r = Conventions.safeParse((0, import_yaml.parse)(await readFile(file, "utf8")));
65
+ return r.success ? r.data : DEFAULT_CONVENTIONS;
66
+ } catch {
67
+ return DEFAULT_CONVENTIONS;
68
+ }
69
+ }
55
70
  async function excludesOf(root, repo) {
56
71
  const file = join(orgPackDirOf(root), "scan", `${repo}.yaml`);
57
72
  if (!existsSync(file))
@@ -102,10 +117,43 @@ async function raiseReadQuestions(root, repo, lines, source, by) {
102
117
  });
103
118
  return { raised: r.raised, known: [...r.known, ...r.reused], problems };
104
119
  }
105
- async function writeVerifyFiles(root, repo, report, commit, questionProblems = [], badLines = [], reviewedProblems = []) {
120
+ async function estateComponentsOf(root) {
121
+ const op = await loadOrgPack(orgPackDirOf(root)).catch(() => void 0);
122
+ const repos = (op?.profiles ?? []).flatMap((p) => p.repos?.repos ?? []);
123
+ if (!repos.length)
124
+ return void 0;
125
+ const components = repos.flatMap((r) => [
126
+ r.id,
127
+ ...r.component ? [r.component] : [],
128
+ ...(r.modules ?? []).map((m) => m.component)
129
+ ]);
130
+ const repoComponents = {};
131
+ for (const r of repos) {
132
+ const text = await readFile(join(factsDirOf(root), `${r.id}.jsonl`), "utf8").catch(() => void 0);
133
+ if (text === void 0)
134
+ continue;
135
+ const named = parseFactsLines(text).facts.flatMap((f) => f.component ? [f.component] : []);
136
+ repoComponents[r.id] = [
137
+ .../* @__PURE__ */ new Set([r.component ?? r.id, ...(r.modules ?? []).map((m) => m.component), ...named])
138
+ ].sort();
139
+ }
140
+ return { components: [...new Set(components)].sort(), repoComponents };
141
+ }
142
+ var SKIPPED_LISTED = 100;
143
+ function slipNoteLines(slips, verifyYaml, shown = 5) {
144
+ if (!slips.length)
145
+ return [];
146
+ return [
147
+ `${slips.length} ${slips.length === 1 ? "slip" : "slips"} of form fixed in the facts (a note, not a rejection; under slips in ${verifyYaml}):`,
148
+ ...slips.slice(0, shown).map((x) => ` ${x.message}`),
149
+ ...slips.length > shown ? [` ... and ${slips.length - shown} more (slips in ${verifyYaml})`] : []
150
+ ];
151
+ }
152
+ async function writeVerifyFiles(root, repo, report, commit, questionProblems = [], badLines = [], reviewedProblems = [], slips = []) {
106
153
  const dir = factsDirOf(root);
107
154
  await mkdir(dir, { recursive: true });
108
- await writeFile(join(dir, `${repo}.jsonl`), serializeFacts(report.accepted), "utf8");
155
+ const otherCommit = report.rejected.filter((r) => r.code === "wrong-commit").map((r) => r.fact);
156
+ await writeFile(join(dir, `${repo}.jsonl`), serializeFacts([...report.accepted, ...otherCommit]), "utf8");
109
157
  const rejectedFile = join(dir, `${repo}.rejected.jsonl`);
110
158
  const lines = [
111
159
  ...report.rejected.map((r) => JSON.stringify({ code: r.code, message: r.message, fact: r.fact })),
@@ -129,7 +177,8 @@ async function writeVerifyFiles(root, repo, report, commit, questionProblems = [
129
177
  read: report.coverage.read.length,
130
178
  ...report.coverage.reviewed.length ? { reviewed: report.coverage.reviewed.length } : {},
131
179
  unknown: report.coverage.unknown,
132
- excluded: report.coverage.excluded
180
+ excluded: report.coverage.excluded,
181
+ ...report.coverage.notReached.length ? { notReached: report.coverage.notReached } : {}
133
182
  },
134
183
  rejections: report.rejected.map((r) => ({ id: r.fact.id, code: r.code, message: r.message })),
135
184
  // ADR 0124 addendum D-app: a person's corrections, said only when there are some.
@@ -154,6 +203,24 @@ async function writeVerifyFiles(root, repo, report, commit, questionProblems = [
154
203
  summary.entriesNoFlowFollows = report.entriesNoFlowFollows;
155
204
  if (report.reviewed.length)
156
205
  summary.reviewed = report.reviewed;
206
+ if (report.reviewedDropped.length)
207
+ summary.reviewedDropped = report.reviewedDropped;
208
+ if (report.methodUnseen.length) {
209
+ summary.methodUnseenCount = report.methodUnseen.length;
210
+ summary.methodUnseen = report.methodUnseen;
211
+ }
212
+ if (report.skipped.length) {
213
+ summary.skippedCount = report.skipped.length;
214
+ summary.skipped = report.skipped.slice(0, SKIPPED_LISTED);
215
+ }
216
+ if (report.reviewedHolds.length)
217
+ summary.reviewedHolds = report.reviewedHolds;
218
+ if (report.specOpsUncovered.length) {
219
+ summary.specOpsUncoveredCount = report.specOpsUncovered.length;
220
+ summary.specOpsUncovered = report.specOpsUncovered.slice(0, SKIPPED_LISTED);
221
+ }
222
+ if (slips.length)
223
+ summary.slips = [...slips];
157
224
  if (report.authUncited.length)
158
225
  summary.authUncited = report.authUncited;
159
226
  const fws = frameworkFacts(report.accepted);
@@ -198,8 +265,11 @@ export {
198
265
  checkoutOf,
199
266
  headOf,
200
267
  carryOf,
268
+ conventionsAt,
201
269
  excludesOf,
202
270
  raiseReadQuestions,
271
+ estateComponentsOf,
272
+ slipNoteLines,
203
273
  writeVerifyFiles,
204
274
  readCorrections,
205
275
  readReviewed,
@@ -0,0 +1,19 @@
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 "./chunk-TV45EUGM.js";
7
+
8
+ // packages/cli/dist/node-version.js
9
+ var NODE_NEEDED = "22.13";
10
+ function nodeTooOld(version) {
11
+ const [major = 0, minor = 0] = version.split(".").map(Number);
12
+ return major < 22 || major === 22 && minor < 13;
13
+ }
14
+ var nodeTooOldMessage = (version) => `Atticus needs Node.js ${NODE_NEEDED} or later; this is Node ${version}. Install a newer Node (from your company's software portal, or nodejs.org), then run atticus again.`;
15
+ export {
16
+ NODE_NEEDED,
17
+ nodeTooOld,
18
+ nodeTooOldMessage
19
+ };
@@ -0,0 +1,342 @@
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
+ FRESH_STATES,
8
+ estateFreshness
9
+ } from "./chunk-LWDNKE4X.js";
10
+ import "./chunk-4FOAYLI4.js";
11
+ import "./chunk-GX74YWR7.js";
12
+ import "./chunk-G6IQYM25.js";
13
+ import "./chunk-LPV6T362.js";
14
+ import "./chunk-GIFMBCTW.js";
15
+ import {
16
+ loadReadPlan,
17
+ readCostOf
18
+ } from "./chunk-MD7KUEJ3.js";
19
+ import "./chunk-Q46QDDMF.js";
20
+ import "./chunk-TGVVUKTG.js";
21
+ import "./chunk-TQ4TG57V.js";
22
+ import "./chunk-3G4YI4ZU.js";
23
+ import "./chunk-VOGCSYOI.js";
24
+ import {
25
+ componentRenames,
26
+ estateFacts,
27
+ isPrototypeRepo,
28
+ joinReposOf,
29
+ outsideSystems
30
+ } from "./chunk-4SLBCEPD.js";
31
+ import "./chunk-64AADMTW.js";
32
+ import "./chunk-JYMIB5XY.js";
33
+ import "./chunk-CPK7QSBG.js";
34
+ import "./chunk-YO2PKTXT.js";
35
+ import "./chunk-TWQRPM76.js";
36
+ import "./chunk-VUVGX5L2.js";
37
+ import "./chunk-XOL3GFW2.js";
38
+ import "./chunk-QHJJMZLX.js";
39
+ import "./chunk-7AB6OWTV.js";
40
+ import {
41
+ HOSTS_STEP,
42
+ LINK_QUESTION_STEPS,
43
+ TARGETS_STEP_ID,
44
+ TERM_STEP,
45
+ TOPICS_STEP_ID,
46
+ factsDirOf,
47
+ factsFileOf,
48
+ helperOn,
49
+ isGuessedJoin,
50
+ joinConventions,
51
+ joinFacts,
52
+ joinGuessesOf,
53
+ listQuestions,
54
+ loadOrgPack,
55
+ orgPackDirOf,
56
+ parseFacts,
57
+ require_dist
58
+ } from "./chunk-PAINMSID.js";
59
+ import "./chunk-ODMBPDDV.js";
60
+ import {
61
+ __toESM
62
+ } from "./chunk-TV45EUGM.js";
63
+
64
+ // packages/cli/dist/doctor-counts.js
65
+ var import_yaml = __toESM(require_dist(), 1);
66
+ import { readdir, readFile } from "node:fs/promises";
67
+ import { join } from "node:path";
68
+ var QUESTION_STEPS = /* @__PURE__ */ new Set([
69
+ "map",
70
+ "scan-survey",
71
+ "scan-verify",
72
+ "spec-draft",
73
+ "spec-check",
74
+ HOSTS_STEP,
75
+ TARGETS_STEP_ID,
76
+ TOPICS_STEP_ID,
77
+ TERM_STEP,
78
+ ...LINK_QUESTION_STEPS,
79
+ // The planner's, a change's stages (planner/src/stages) and its gaps; the knowledge conflicts.
80
+ "change-feature",
81
+ "change-architecture",
82
+ "change-stories",
83
+ "change-small",
84
+ "context-gap",
85
+ "knowledge-conflict"
86
+ ]);
87
+ var OTHER_STEP = "other";
88
+ var bump = (m, k, n = 1) => {
89
+ m[k] = (m[k] ?? 0) + n;
90
+ };
91
+ var sorted = (m) => Object.fromEntries(Object.entries(m).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0));
92
+ var LISTENS = /^(subscribe|consume|listen)$/i;
93
+ async function doctorCounts(root, o = {}) {
94
+ let problems = 0;
95
+ const qs = await listQuestions(root, { state: "open" }).catch(() => {
96
+ problems++;
97
+ return { questions: [], problems: [] };
98
+ });
99
+ problems += qs.problems.length;
100
+ const byKind = {};
101
+ for (const q of qs.questions)
102
+ bump(byKind, QUESTION_STEPS.has(q.askedBy.step) ? q.askedBy.step : OTHER_STEP);
103
+ const targets = {
104
+ open: 0,
105
+ calls: 0,
106
+ alone: 0,
107
+ groups: 0,
108
+ inGroups: 0,
109
+ bySize: {}
110
+ };
111
+ for (const q of qs.questions) {
112
+ if (q.askedBy.step !== TARGETS_STEP_ID)
113
+ continue;
114
+ const n = Math.max(1, new Set(q.evidence).size);
115
+ targets.open++;
116
+ targets.calls += n;
117
+ if (n === 1)
118
+ targets.alone++;
119
+ else {
120
+ targets.groups++;
121
+ targets.inGroups += n;
122
+ }
123
+ bump(targets.bySize, n === 1 ? "1" : n <= 4 ? "2-4" : n <= 9 ? "5-9" : "10+");
124
+ }
125
+ const fresh = await estateFreshness(root, o.git ? { git: o.git } : {}).catch(() => {
126
+ problems++;
127
+ return { repos: [], problems: [] };
128
+ });
129
+ problems += fresh.problems.length;
130
+ const byState = Object.fromEntries(FRESH_STATES.map((s) => [s, 0]));
131
+ for (const r of fresh.repos)
132
+ byState[r.state]++;
133
+ const total = fresh.repos.length;
134
+ const facts = { accepted: 0, rejected: 0, notVerified: 0, filesNotRead: 0 };
135
+ const dir = factsDirOf(root);
136
+ const names = (await readdir(dir).catch(() => [])).sort();
137
+ const read = async (n) => readFile(join(dir, n), "utf8").catch(() => void 0);
138
+ for (const n of names) {
139
+ const of = factsFileOf(n);
140
+ if (!of)
141
+ continue;
142
+ const text = await read(n);
143
+ if (text === void 0) {
144
+ problems++;
145
+ continue;
146
+ }
147
+ if (of.facts) {
148
+ const p = parseFacts(text);
149
+ if (!p.ok) {
150
+ problems++;
151
+ continue;
152
+ }
153
+ for (const f of p.facts)
154
+ if (f.verified === "none")
155
+ facts.notVerified++;
156
+ else
157
+ facts.accepted++;
158
+ } else if (n.endsWith(".rejected.jsonl"))
159
+ facts.rejected += text.split("\n").filter((l) => l.trim()).length;
160
+ else if (n.endsWith(".verify.yaml"))
161
+ try {
162
+ const v = (0, import_yaml.parse)(text);
163
+ const u = v?.coverage?.unknown;
164
+ facts.filesNotRead += Array.isArray(u) ? u.length : typeof u === "number" ? u : 0;
165
+ } catch {
166
+ problems++;
167
+ }
168
+ }
169
+ const tokens = { reported: 0, reports: 0, repos: 0 };
170
+ for (const r of fresh.repos) {
171
+ const plan = await Promise.resolve().then(() => loadReadPlan(root, r.repo)).catch(() => {
172
+ problems++;
173
+ return void 0;
174
+ });
175
+ const cost = plan ? readCostOf(plan).reported : void 0;
176
+ if (!cost)
177
+ continue;
178
+ tokens.repos++;
179
+ tokens.reports += cost.reports;
180
+ tokens.reported += cost.tokens ?? 0;
181
+ }
182
+ const links = {
183
+ verified: 0,
184
+ inferred: 0,
185
+ inferredBy: {},
186
+ asked: 0,
187
+ askedBy: {},
188
+ outside: 0,
189
+ unresolved: 0,
190
+ unresolvedBy: {}
191
+ };
192
+ let op;
193
+ try {
194
+ op = await loadOrgPack(orgPackDirOf(root));
195
+ } catch {
196
+ if (total)
197
+ problems++;
198
+ }
199
+ if (op)
200
+ try {
201
+ Object.assign(links, await linkCounts(root, op));
202
+ } catch {
203
+ problems++;
204
+ }
205
+ return {
206
+ questions: {
207
+ open: qs.questions.length,
208
+ byKind: sorted(byKind),
209
+ targets: { ...targets, bySize: bySizeOrder(targets.bySize) }
210
+ },
211
+ links,
212
+ repos: {
213
+ total,
214
+ read: total - byState["not-read"],
215
+ unread: byState["not-read"],
216
+ stale: byState.stale,
217
+ byState
218
+ },
219
+ facts,
220
+ tokens,
221
+ problems
222
+ };
223
+ }
224
+ async function linkCounts(root, op) {
225
+ const estate = await estateFacts(root, op, "");
226
+ const repos = estate.repos.filter((x) => !isPrototypeRepo(op, x.repo));
227
+ const join2 = joinFacts({
228
+ repos: joinReposOf(op, repos, componentRenames(repos, op)),
229
+ ...Object.keys(estate.targets).length ? { targets: estate.targets } : {},
230
+ ...Object.keys(estate.pairs).length ? { pairs: estate.pairs } : {},
231
+ ...Object.keys(estate.aiTargets).length ? { aiTargets: estate.aiTargets } : {},
232
+ outside: outsideSystems(op),
233
+ ...joinConventions(op),
234
+ walkGateways: helperOn("gateway-walk"),
235
+ // Why each call was left, in the join's own words, for unresolvedBy.
236
+ explain: true
237
+ });
238
+ const factOf = /* @__PURE__ */ new Map();
239
+ for (const r of repos)
240
+ for (const f of r.facts)
241
+ factOf.set(`${r.repo}\0${f.id}`, f);
242
+ const key = (e) => `${e.repo}\0${e.fact}`;
243
+ const declared = (e) => factOf.get(key(e))?.conf === "declared";
244
+ const out = {
245
+ verified: 0,
246
+ inferred: 0,
247
+ inferredBy: {},
248
+ asked: 0,
249
+ askedBy: {},
250
+ outside: 0,
251
+ unresolved: 0,
252
+ unresolvedBy: {}
253
+ };
254
+ const answered = /* @__PURE__ */ new Set();
255
+ const why = new Map((join2.left ?? []).map((l) => [key(l.call), l.reason]));
256
+ for (const j of join2.joins) {
257
+ answered.add(key(j.call));
258
+ if (!isGuessedJoin(j) && declared(j.call) && declared(j.entry))
259
+ out.verified++;
260
+ else {
261
+ out.inferred++;
262
+ const flags = joinGuessesOf(j);
263
+ if (flags.length)
264
+ for (const f of flags)
265
+ bump(out.inferredBy, f);
266
+ else
267
+ bump(out.inferredBy, "one-end-inferred");
268
+ }
269
+ }
270
+ for (const a of join2.asks) {
271
+ if (answered.has(key(a.call)))
272
+ continue;
273
+ answered.add(key(a.call));
274
+ out.asked++;
275
+ bump(out.askedBy, a.reason);
276
+ }
277
+ for (const x of join2.outside ?? []) {
278
+ if (answered.has(key(x.call)))
279
+ continue;
280
+ answered.add(key(x.call));
281
+ out.outside++;
282
+ }
283
+ for (const r of repos)
284
+ for (const f of r.facts) {
285
+ if (f.kind !== "call" || LISTENS.test(f.method ?? ""))
286
+ continue;
287
+ const k = `${r.repo}\0${f.id}`;
288
+ if (answered.has(k))
289
+ continue;
290
+ out.unresolved++;
291
+ bump(out.unresolvedBy, why.get(k) ?? "other");
292
+ }
293
+ out.inferredBy = sorted(out.inferredBy);
294
+ out.askedBy = sorted(out.askedBy);
295
+ out.unresolvedBy = sorted(out.unresolvedBy);
296
+ return out;
297
+ }
298
+ var kv = (m) => Object.entries(m).filter(([, n]) => n > 0).map(([k, n]) => `${k} ${n}`).join(", ");
299
+ var SIZES = ["1", "2-4", "5-9", "10+"];
300
+ var bySizeOrder = (m) => Object.fromEntries(SIZES.filter((k) => m[k]).map((k) => [k, m[k]]));
301
+ function countsLines(c) {
302
+ const by = kv(c.questions.byKind);
303
+ const inferred = kv(c.links.inferredBy);
304
+ const states = kv(c.repos.byState);
305
+ const askedBy = kv(c.links.askedBy);
306
+ const unresolvedBy = kv(c.links.unresolvedBy);
307
+ const t = c.questions.targets;
308
+ const sizes = kv(t.bySize);
309
+ return [
310
+ `Questions: ${c.questions.open} open${by ? ` (${by})` : ""}`,
311
+ ...t.open ? [
312
+ `Target questions: ${t.open} open, covering ${t.calls} calls: ${t.alone} asked alone, ${t.groups} groups holding ${t.inGroups}${sizes ? ` (by calls each: ${sizes})` : ""}`
313
+ ] : [],
314
+ `Links: ${c.links.verified} verified, ${c.links.inferred} inferred${inferred ? ` (${inferred})` : ""}, ${c.links.asked} asked, ${c.links.outside} to outside systems, ${c.links.unresolved} unresolved calls`,
315
+ ...askedBy || unresolvedBy ? [
316
+ `Calls ${[askedBy ? `asked by why: ${askedBy}` : "", unresolvedBy ? `unresolved by why: ${unresolvedBy}` : ""].filter(Boolean).join("; ")}`
317
+ ] : [],
318
+ `Repos: ${c.repos.total} in all, ${c.repos.read} read, ${c.repos.unread} unread, ${c.repos.stale} stale${states ? ` (${states})` : ""}`,
319
+ `Facts: ${c.facts.accepted} accepted, ${c.facts.rejected} rejected, ${c.facts.notVerified} not verified; ${c.facts.filesNotRead} source files not read`,
320
+ `Tokens reported: ${c.tokens.reported} tokens over ${c.tokens.reports} reports for ${c.tokens.repos} repos`,
321
+ "Counts and flags only: nothing here names a repo, system, host or file, so it is safe to paste."
322
+ ];
323
+ }
324
+ async function doctorCountsCommand(root, o, io, deps = {}) {
325
+ const { problems, ...c } = await doctorCounts(root, deps);
326
+ if (o.json)
327
+ io.out(JSON.stringify({ ...c, problems }, null, 2));
328
+ else {
329
+ for (const l of countsLines(c))
330
+ io.out(l);
331
+ if (problems)
332
+ io.out(`${problems} file${problems === 1 ? "" : "s"} didn't read; atticus doctor and atticus estate fresh say which.`);
333
+ }
334
+ return 0;
335
+ }
336
+ export {
337
+ OTHER_STEP,
338
+ QUESTION_STEPS,
339
+ countsLines,
340
+ doctorCounts,
341
+ doctorCountsCommand
342
+ };