@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
@@ -9,7 +9,7 @@ import {
9
9
  matrixMarkdown,
10
10
  traceMatrix,
11
11
  writeTraceFindings
12
- } from "./chunk-2ANOROX3.js";
12
+ } from "./chunk-EZIN5E5B.js";
13
13
  import {
14
14
  table
15
15
  } from "./chunk-VOGCSYOI.js";
@@ -18,14 +18,15 @@ import {
18
18
  readDataChanges,
19
19
  readHops,
20
20
  reviewedGates
21
- } from "./chunk-3HI6Z55Y.js";
21
+ } from "./chunk-K332XW7K.js";
22
22
  import {
23
23
  assess,
24
24
  changeFolder,
25
25
  changeStore,
26
26
  checkFindings,
27
- loadChangeContext
28
- } from "./chunk-XY3P7JW7.js";
27
+ loadChangeContext,
28
+ nothingToRelease
29
+ } from "./chunk-HSZMPH5T.js";
29
30
  import {
30
31
  GlossaryError,
31
32
  aliasDecision,
@@ -37,37 +38,40 @@ import {
37
38
  resolveTermId,
38
39
  scanGlossary,
39
40
  writeDecisions
40
- } from "./chunk-27NKUS3X.js";
41
+ } from "./chunk-4SLBCEPD.js";
41
42
  import {
42
43
  BUILT_IN_EXTRACTORS,
43
44
  SHIPPED_DIALECTS_DIR,
44
45
  dialectExtractor,
45
46
  loadShippedDialects,
46
47
  runDialectTests
47
- } from "./chunk-MC3H7736.js";
48
+ } from "./chunk-TWQRPM76.js";
48
49
  import {
49
50
  baseClonePath,
50
51
  checkoutState,
51
52
  createGit,
52
53
  readChangeRepos
53
- } from "./chunk-EFHQ3TWP.js";
54
+ } from "./chunk-XOL3GFW2.js";
55
+ import {
56
+ runtimeForCli
57
+ } from "./chunk-QHJJMZLX.js";
54
58
  import {
55
59
  DEFAULT_IGNORES,
56
60
  fsRepo,
57
61
  scanRepo
58
- } from "./chunk-GQ4N4WKF.js";
59
- import {
60
- runtimeForCli
61
- } from "./chunk-CNUKCS2T.js";
62
+ } from "./chunk-7AB6OWTV.js";
62
63
  import {
63
64
  catalogDirOf,
65
+ effectiveComponentTypes,
64
66
  external_exports,
67
+ factsDirOf,
65
68
  loadOrgPack,
66
69
  mergeCatalog,
67
70
  normalizePath,
68
71
  orgPackDirOf,
72
+ parseFacts,
69
73
  require_dist
70
- } from "./chunk-S2A7YC3Q.js";
74
+ } from "./chunk-PAINMSID.js";
71
75
  import {
72
76
  __toESM
73
77
  } from "./chunk-TV45EUGM.js";
@@ -501,6 +505,8 @@ async function repoDrift(o) {
501
505
  const merged = mergeCatalog({
502
506
  // A fetched copy of the catalog has no manifest, so no declared hosts: route by basepath.
503
507
  ...orgPackDir ? {} : { gatewayByBasepath: true },
508
+ // ADR 0180: the organisation's component types, as the scan merges with them (no false drift).
509
+ componentTypes: new Set(effectiveComponentTypes(op.componentTypes).map((t) => t.id)),
504
510
  records: [...context, ...otherEnds(catalog.records, repoId, components), ...scan.records],
505
511
  repos: manifest.map((r) => ({
506
512
  id: r.id,
@@ -812,6 +818,34 @@ function pipelineSnippet(kind) {
812
818
  import { existsSync as existsSync2 } from "node:fs";
813
819
  import { readFile as readFile2 } from "node:fs/promises";
814
820
  import { join as join3 } from "node:path";
821
+ var short = (c) => c.slice(0, 12);
822
+ var sameCommit = (a, b) => a.startsWith(b) || b.startsWith(a);
823
+ var plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
824
+ async function factsAtMerge(root, r, merged, catalog) {
825
+ const where2 = `${short(merged)}, the commit its release merged into ${r.base}`;
826
+ const readAgain = `read it again (Map \u203A Trust \u203A Freshness: Read again, or atticus map ${r.id}), then atticus verify ${r.id} --write, so the catalog says what shipped.`;
827
+ const text = await readFile2(join3(factsDirOf(root), `${r.id}.jsonl`), "utf8").catch(() => "");
828
+ const parsed = text.trim() ? parseFacts(text) : void 0;
829
+ const facts = parsed?.ok ? parsed.facts : [];
830
+ if (!facts.length)
831
+ return {
832
+ code: "needs-reading",
833
+ message: `${r.id}: no facts were read at ${where2}: ${readAgain}`
834
+ };
835
+ const other = [...new Set(facts.map((f) => f.commit))].filter((c) => !sameCommit(c, merged));
836
+ if (other.length)
837
+ return {
838
+ code: "needs-reading",
839
+ message: `${r.id}: its facts were read at ${other.map(short).join(", ")}, not at ${where2}: ${readAgain}`
840
+ };
841
+ const stale = (await catalog()).filter((x) => x.evidence.some((e) => e.repo === r.id && e.commit && !sameCommit(e.commit, merged))).length;
842
+ if (stale)
843
+ return {
844
+ code: "catalog-stale",
845
+ message: `${r.id}: its facts are of the merged commit ${short(merged)}, but ${plural(stale, "catalog record")} still ${stale === 1 ? "cites" : "cite"} another commit: write them into the catalog (atticus verify ${r.id} --write, or Apply on the Map).`
846
+ };
847
+ return void 0;
848
+ }
815
849
  async function archiveGate(root, changeId, o = {}) {
816
850
  const change = await changeStore(root).read(changeId);
817
851
  const blockers = [];
@@ -832,11 +866,20 @@ async function archiveGate(root, changeId, o = {}) {
832
866
  for (const r of await checkFindings(root, change, gates))
833
867
  blockers.push({ code: "finding", message: r.message });
834
868
  const repos = (await readChangeRepos(root, change.id))?.repos ?? [];
869
+ const mustMerge = config.archive.requireMergedPrs;
870
+ const nothing = await nothingToRelease(root, change.id, o.git ? { git: o.git } : {});
835
871
  for (const r of repos) {
836
- if (r.pr && config.archive.requireMergedPrs && r.pr.state !== "merged" && r.pr.state !== "closed")
872
+ if (!r.pr && nothing.has(r.id))
873
+ continue;
874
+ if (mustMerge && (!r.pr || r.pr.state === "closed"))
875
+ blockers.push({
876
+ code: "pr-missing",
877
+ message: `${r.id}: ${r.pr ? `release PR #${r.pr.number} was closed without merging` : `no release PR from ${r.branch} into ${r.base} was raised`}, so the code never reached ${r.base}: raise the release PRs (Release \u203A Raise the release PRs, or atticus change release-prs ${change.id} --approve), and merge them on the Git host.`
878
+ });
879
+ else if (mustMerge && r.pr && r.pr.state !== "merged")
837
880
  blockers.push({
838
881
  code: "pr-open",
839
- message: `${r.id}: PR #${r.pr.number} is ${r.pr.state}; merge it before archiving.`
882
+ message: `${r.id}: release PR #${r.pr.number} is ${r.pr.state}; a person merges it on the Git host before archiving.`
840
883
  });
841
884
  if (r.build.status === "failed")
842
885
  blockers.push({
@@ -845,6 +888,8 @@ async function archiveGate(root, changeId, o = {}) {
845
888
  });
846
889
  else if (r.build.status === "running")
847
890
  blockers.push({ code: "build-running", message: `${r.id}: the build is still running.` });
891
+ else if (r.build.status === "not-run" && r.pr?.state === "merged")
892
+ notes.push(`${r.id}: the Git host reported no checks on release PR #${r.pr.number}, so no build is recorded for what merged.`);
848
893
  else if (r.build.status === "not-run" && r.pr)
849
894
  blockers.push({
850
895
  code: "build-not-run",
@@ -852,48 +897,77 @@ async function archiveGate(root, changeId, o = {}) {
852
897
  });
853
898
  }
854
899
  const drift = [];
855
- if (o.driftReports?.length) {
856
- for (const f of o.driftReports) {
857
- try {
858
- drift.push(JSON.parse(await readFile2(f, "utf8")));
859
- } catch (e) {
860
- blockers.push({
861
- code: "drift-error",
862
- message: `Can't read the drift report ${f}: ${e.message.split("\n")[0]}.`
863
- });
864
- }
900
+ for (const f of o.driftReports ?? []) {
901
+ try {
902
+ drift.push(JSON.parse(await readFile2(f, "utf8")));
903
+ } catch (e) {
904
+ blockers.push({
905
+ code: "drift-error",
906
+ message: `Can't read the drift report ${f}: ${e.message.split("\n")[0]}.`
907
+ });
865
908
  }
866
- } else {
867
- for (const r of repos) {
868
- const dir = o.repoDir?.(r.id) ?? [join3(root, r.worktree), baseClonePath(root, r.id)].find((d) => existsSync2(d));
869
- if (!dir || !existsSync2(dir)) {
870
- notes.push(`No checkout of ${r.id} here, so its drift wasn't checked; pass its pipeline's drift report.`);
871
- continue;
872
- }
909
+ }
910
+ const git = o.git ?? createGit();
911
+ const readersDecide = /* @__PURE__ */ new Set();
912
+ let records;
913
+ const catalog = async () => records ??= (await readCatalog(join3(catalogDirOf(root), "generated"))).records;
914
+ for (const r of repos) {
915
+ if (!r.pr && nothing.has(r.id))
916
+ continue;
917
+ if (mustMerge && r.pr?.state !== "merged")
918
+ continue;
919
+ const report = drift.find((d) => d.repo === r.id);
920
+ const dir = o.repoDir?.(r.id) ?? baseClonePath(root, r.id);
921
+ const there = !!dir && existsSync2(dir);
922
+ const merged = o.commit ?? (report && !/^0+$/.test(report.scanned.commit) ? report.scanned.commit : void 0) ?? (there ? await git(["rev-parse", "HEAD"], dir).then((x) => x.stdout.trim() || void 0).catch(() => void 0) : void 0);
923
+ if (!merged) {
924
+ notes.push(`No clone of ${r.id} here to say which commit merged, so its facts weren't compared: sync the workspace (atticus workspace sync), or pass its pipeline's drift report.`);
925
+ continue;
926
+ }
927
+ if (r.pr?.state === "merged" && r.baseSha && sameCommit(merged, r.baseSha)) {
928
+ blockers.push({
929
+ code: "not-synced",
930
+ message: `${r.id}: the clone here is still at ${short(merged)}, where the change started, though release PR #${r.pr.number} merged: sync the workspace (atticus workspace sync), then read the repo again.`
931
+ });
932
+ continue;
933
+ }
934
+ const readByAssistant = existsSync2(join3(factsDirOf(root), `${r.id}.jsonl`)) || (await catalog()).some((x) => x.evidence.some((e) => e.repo === r.id && e.by === "assistant"));
935
+ if (readByAssistant) {
936
+ const b = await factsAtMerge(root, r, merged, catalog);
937
+ if (b)
938
+ blockers.push(b);
939
+ } else if (report)
940
+ readersDecide.add(r.id);
941
+ if (!report && there) {
873
942
  try {
874
- drift.push(await repoDrift({
875
- repoDir: dir,
876
- catalog: root,
877
- repo: r.id,
878
- ...o.commit ? { commit: o.commit } : {}
879
- }));
943
+ drift.push(await repoDrift({ repoDir: dir, catalog: root, repo: r.id, commit: merged }));
944
+ if (!readByAssistant)
945
+ readersDecide.add(r.id);
880
946
  } catch (e) {
881
947
  if (!(e instanceof DriftError))
882
948
  throw e;
883
- blockers.push({ code: "drift-error", message: `${r.id}: ${e.message}` });
949
+ if (readByAssistant)
950
+ notes.push(`Cross-check only: the built-in readers couldn't read ${r.id}: ${e.message}`);
951
+ else
952
+ blockers.push({ code: "drift-error", message: `${r.id}: ${e.message}` });
884
953
  }
885
- }
886
- if (!repos.length)
887
- notes.push("The change has no repos (repos.yaml), so there was no code to check for drift.");
954
+ } else if (!report && !readByAssistant)
955
+ notes.push(`No clone of ${r.id} here, so its drift wasn't checked; sync the workspace, or pass its pipeline's drift report.`);
888
956
  }
957
+ if (!repos.length)
958
+ notes.push("The change has no repos (repos.yaml), so there was no code to check for drift.");
889
959
  for (const d of drift) {
890
960
  const items = d.items.filter((i) => i.kind !== "planned");
891
961
  if (!items.length)
892
962
  continue;
893
- blockers.push({
894
- code: "drift",
895
- message: `${d.repo}: ${items.length} catalog drift ${items.length === 1 ? "finding" : "findings"} (${items.slice(0, 3).map((i) => i.summary.replace(/\.$/, "")).join("; ")}${items.length > 3 ? "; ..." : ""}).`
896
- });
963
+ if (readersDecide.has(d.repo)) {
964
+ blockers.push({
965
+ code: "drift",
966
+ message: `${d.repo}: ${items.length} catalog drift ${items.length === 1 ? "finding" : "findings"} (${items.slice(0, 3).map((i) => i.summary.replace(/\.$/, "")).join("; ")}${items.length > 3 ? "; ..." : ""}).`
967
+ });
968
+ continue;
969
+ }
970
+ notes.push(`Cross-check only, not blocking: the built-in readers see ${plural(items.length, "difference")} in ${d.repo} (${items.slice(0, 3).map((i) => i.summary.replace(/\.$/, "")).join("; ")}${items.length > 3 ? "; ..." : ""}). The facts read and verified at the merged commit decide (ADR 0074).`);
897
971
  }
898
972
  const unique = [...new Map(blockers.map((b) => [b.message, b])).values()];
899
973
  return {
@@ -927,7 +1001,7 @@ var lines = (io, text) => {
927
1001
  for (const l of text.trimEnd().split("\n"))
928
1002
  io.out(l);
929
1003
  };
930
- var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
1004
+ var plural2 = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
931
1005
  async function runtimeOf(root, mode, deps) {
932
1006
  if (deps.runtime)
933
1007
  return deps.runtime;
@@ -968,7 +1042,7 @@ async function testsGenerate(root, changeId, storyId, o, io, deps = {}) {
968
1042
  }
969
1043
  const count = (a) => r.files.filter((f) => f.action === a).length;
970
1044
  const cases = r.model.repos.reduce((n, x) => n + x.cases.length, 0);
971
- io.out(`${o.check ? "Would write" : "Generated"} ${plural(cases, "test case")} for ${r.story} in ${plural(r.files.length, "file")}: ${count("created")} new, ${count("updated")} updated, ${count("unchanged")} unchanged${kept.length ? `, ${kept.length} kept` : ""}.`);
1045
+ io.out(`${o.check ? "Would write" : "Generated"} ${plural2(cases, "test case")} for ${r.story} in ${plural2(r.files.length, "file")}: ${count("created")} new, ${count("updated")} updated, ${count("unchanged")} unchanged${kept.length ? `, ${kept.length} kept` : ""}.`);
972
1046
  for (const l of table(["ACTION", "REPO", "FRAMEWORK", "FILE"], r.files.map((f) => [f.action, f.repo || "-", f.generator, f.path])))
973
1047
  io.out(l);
974
1048
  for (const k of r.model.kinds.filter((x) => !x.generated))
@@ -1003,7 +1077,7 @@ async function traceCommand(root, changeId, o, io, deps = {}) {
1003
1077
  else {
1004
1078
  lines(io, matrixMarkdown(m));
1005
1079
  if (w)
1006
- io.out(w.unchanged ? `Findings on the trace gate are unchanged (round ${w.round ?? "none"}).` : `Wrote ${plural(w.findings.length, "finding")} to review/trace/${w.round}/.`);
1080
+ io.out(w.unchanged ? `Findings on the trace gate are unchanged (round ${w.round ?? "none"}).` : `Wrote ${plural2(w.findings.length, "finding")} to review/trace/${w.round}/.`);
1007
1081
  }
1008
1082
  return m.gaps.some((g) => g.kind !== "test-without-requirement") ? 1 : 0;
1009
1083
  } catch (e) {
@@ -1086,7 +1160,7 @@ async function ciArchiveGate(root, changeId, o, io, deps = {}) {
1086
1160
  if (o.json)
1087
1161
  io.out(JSON.stringify(r, null, 2));
1088
1162
  else {
1089
- io.out(r.pass ? `${changeId} may be archived: no blockers, builds passed and the catalog matches its repos.` : `${changeId} can't be archived yet (${plural(r.blockers.length, "blocker")}):`);
1163
+ io.out(r.pass ? `${changeId} may be archived: no blockers, its release PRs merged and built, and the catalog says what shipped.` : `${changeId} can't be archived yet (${plural2(r.blockers.length, "blocker")}):`);
1090
1164
  for (const b of r.blockers)
1091
1165
  io.out(`- ${b.message}`);
1092
1166
  for (const n of r.notes)
@@ -1094,7 +1168,7 @@ async function ciArchiveGate(root, changeId, o, io, deps = {}) {
1094
1168
  }
1095
1169
  return r.pass ? 0 : 1;
1096
1170
  }
1097
- var short = (s, n = 70) => s.length <= n ? s : `${s.slice(0, n - 3)}...`;
1171
+ var short2 = (s, n = 70) => s.length <= n ? s : `${s.slice(0, n - 3)}...`;
1098
1172
  var sourceOf = (flags, confidence) => confidence === "asserted" ? "person" : flags?.includes("ai-proposed") ? "ai" : flags?.includes("undefined") ? "code" : "wiki";
1099
1173
  async function glossaryList(root, o, io) {
1100
1174
  const g = await loadGlossary(root);
@@ -1118,10 +1192,10 @@ async function glossaryList(root, o, io) {
1118
1192
  t.id,
1119
1193
  sourceOf(t.flags, t.confidence),
1120
1194
  (t.flags ?? []).join(","),
1121
- short(t.definition)
1195
+ short2(t.definition)
1122
1196
  ])))
1123
1197
  io.out(l);
1124
- io.out(`${plural(g.terms.length, "term")}, ${plural(g.build.conflicts.filter((c) => !c.resolved).length, "conflict")}.`);
1198
+ io.out(`${plural2(g.terms.length, "term")}, ${plural2(g.build.conflicts.filter((c) => !c.resolved).length, "conflict")}.`);
1125
1199
  return 0;
1126
1200
  }
1127
1201
  async function glossaryScan(root, o, io, deps = {}) {
@@ -1154,9 +1228,9 @@ function printGlossaryScan(r, io) {
1154
1228
  for (const p of r.problems)
1155
1229
  io.err(p);
1156
1230
  const open = r.build.conflicts.filter((c) => !c.resolved);
1157
- io.out(`The glossary has ${plural(r.terms.length, "term")}; ${plural(r.written.length, "file")} written and ${plural(r.removed.length, "file")} removed in catalog/generated.`);
1231
+ io.out(`The glossary has ${plural2(r.terms.length, "term")}; ${plural2(r.written.length, "file")} written and ${plural2(r.removed.length, "file")} removed in catalog/generated.`);
1158
1232
  if (r.propose)
1159
- io.out(r.propose.waiting ? `The glossary definer is with your assistant (run ${r.propose.waiting}). When it is done, run: atticus handoff done ${r.propose.waiting}` : `The glossary definer proposed ${plural(r.propose.proposals.length, "definition")} (kept inferred until a person defines the term).`);
1233
+ io.out(r.propose.waiting ? `The glossary definer is with your assistant (run ${r.propose.waiting}). When it is done, run: atticus handoff done ${r.propose.waiting}` : `The glossary definer proposed ${plural2(r.propose.proposals.length, "definition")} (kept inferred until a person defines the term).`);
1160
1234
  for (const d of r.propose?.discarded ?? [])
1161
1235
  if (d.term && !r.propose?.waiting)
1162
1236
  io.err(`Discarded ${d.term}: ${d.reason}`);
@@ -4,31 +4,33 @@ var require = __atticusCreateRequire(import.meta.url);
4
4
  var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
+ completeCriticBatch,
7
8
  completeCriticLens,
8
9
  critic,
9
10
  criticStats,
10
11
  findingAction,
11
12
  findings,
12
13
  statusLine
13
- } from "./chunk-6M5NK3K3.js";
14
+ } from "./chunk-PTQ3ZALZ.js";
14
15
  import "./chunk-VOGCSYOI.js";
15
- import "./chunk-3HI6Z55Y.js";
16
- import "./chunk-XY3P7JW7.js";
17
- import "./chunk-4AK7IBVP.js";
18
- import "./chunk-7JUKDRSZ.js";
19
- import "./chunk-27NKUS3X.js";
20
- import "./chunk-L24C55VN.js";
21
- import "./chunk-PAMPPUR6.js";
22
- import "./chunk-23W7VWKR.js";
23
- import "./chunk-7EKXJZ2Y.js";
24
- import "./chunk-MC3H7736.js";
25
- import "./chunk-EFHQ3TWP.js";
26
- import "./chunk-GQ4N4WKF.js";
27
- import "./chunk-CNUKCS2T.js";
28
- import "./chunk-S2A7YC3Q.js";
29
- import "./chunk-D3PO4DOZ.js";
16
+ import "./chunk-K332XW7K.js";
17
+ import "./chunk-HSZMPH5T.js";
18
+ import "./chunk-D2WSW4GU.js";
19
+ import "./chunk-4KNOJC6J.js";
20
+ import "./chunk-4SLBCEPD.js";
21
+ import "./chunk-64AADMTW.js";
22
+ import "./chunk-JYMIB5XY.js";
23
+ import "./chunk-CPK7QSBG.js";
24
+ import "./chunk-YO2PKTXT.js";
25
+ import "./chunk-TWQRPM76.js";
26
+ import "./chunk-XOL3GFW2.js";
27
+ import "./chunk-QHJJMZLX.js";
28
+ import "./chunk-7AB6OWTV.js";
29
+ import "./chunk-PAINMSID.js";
30
+ import "./chunk-ODMBPDDV.js";
30
31
  import "./chunk-TV45EUGM.js";
31
32
  export {
33
+ completeCriticBatch,
32
34
  completeCriticLens,
33
35
  critic,
34
36
  criticStats,