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

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 (299) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
  3. package/dist/{chunk-PRW3HXM3.js → chunk-27AJAKX7.js} +29 -5
  4. package/dist/{chunk-PQH56YF6.js → chunk-2QPJ4E4Z.js} +6 -4
  5. package/dist/{chunk-7CZHUZBL.js → chunk-2UMSHYCB.js} +38 -27
  6. package/dist/{chunk-2V2ZPQQU.js → chunk-2WUTCPPJ.js} +9 -7
  7. package/dist/{chunk-YF5DZCPN.js → chunk-2YSD6E6V.js} +38 -34
  8. package/dist/{chunk-QHJJMZLX.js → chunk-3424TLIJ.js} +204 -97
  9. package/dist/{chunk-62DLJSLV.js → chunk-3ASYYMOX.js} +10 -8
  10. package/dist/{chunk-XOL3GFW2.js → chunk-3EWKO457.js} +111 -43
  11. package/dist/{chunk-G5YJBNDZ.js → chunk-3EX5HCZD.js} +8 -6
  12. package/dist/{chunk-WFU77T3A.js → chunk-3MYBT62N.js} +5 -5
  13. package/dist/{chunk-6EXDI5GI.js → chunk-3UHV76UD.js} +72 -41
  14. package/dist/{chunk-LU4MQVAL.js → chunk-3ZA3AK2D.js} +11 -10
  15. package/dist/{chunk-P2VBXX7N.js → chunk-4ETO2FXE.js} +11 -9
  16. package/dist/{chunk-GK4PYVEC.js → chunk-4FLNCK6Q.js} +31 -14
  17. package/dist/{chunk-64AADMTW.js → chunk-4GAB5ZOZ.js} +943 -336
  18. package/dist/{chunk-FLVZFTLQ.js → chunk-4MYHETJ3.js} +20 -18
  19. package/dist/chunk-4R3TO4VL.js +94 -0
  20. package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
  21. package/dist/chunk-5MYE42AP.js +43 -0
  22. package/dist/chunk-5O7U67UA.js +57 -0
  23. package/dist/{chunk-MZGRDONP.js → chunk-5OXKCH4Z.js} +54 -37
  24. package/dist/{chunk-PUEWDYGP.js → chunk-5VTIWEWP.js} +3 -2
  25. package/dist/{chunk-3G6S7LAA.js → chunk-63NFFAGI.js} +14 -12
  26. package/dist/{chunk-LIJJCBQI.js → chunk-66AQ2JIU.js} +15 -16
  27. package/dist/chunk-6JVPBGQG.js +50 -0
  28. package/dist/{chunk-WAZEXEJH.js → chunk-6NCPLIIP.js} +167 -2
  29. package/dist/{chunk-D57MFJPP.js → chunk-6NN36LVK.js} +3 -3
  30. package/dist/{chunk-G6IQYM25.js → chunk-6R5VHR3N.js} +8 -6
  31. package/dist/{chunk-Z3QFH7YG.js → chunk-6RQOINER.js} +5 -4
  32. package/dist/{chunk-TQTRWENN.js → chunk-6RYB3EET.js} +14 -12
  33. package/dist/{chunk-FYBF5MB2.js → chunk-6SNTHK43.js} +13 -11
  34. package/dist/{chunk-FRHD22WM.js → chunk-6Y4FXOMI.js} +27 -23
  35. package/dist/{chunk-LWDNKE4X.js → chunk-6ZFF7XSL.js} +6 -6
  36. package/dist/{chunk-FQ6WH6PB.js → chunk-6ZSYLZ7O.js} +6 -4
  37. package/dist/{chunk-LQH4P45K.js → chunk-73CC73I4.js} +1 -1
  38. package/dist/{chunk-Q46QDDMF.js → chunk-73GFVW2L.js} +14 -9
  39. package/dist/{chunk-QKMRFNMA.js → chunk-73V2OONC.js} +17 -15
  40. package/dist/{chunk-FVMPFCDS.js → chunk-75OMRKY2.js} +4 -4
  41. package/dist/{chunk-XEQCQO66.js → chunk-7IFTSAHP.js} +10 -8
  42. package/dist/{chunk-4FOAYLI4.js → chunk-7K5OH45X.js} +139 -17
  43. package/dist/{chunk-3SSTNB4E.js → chunk-7NQAGYK4.js} +34 -14
  44. package/dist/{chunk-URIKUID7.js → chunk-7XWJ6ED2.js} +14 -12
  45. package/dist/{chunk-TYD6I4CZ.js → chunk-7XYLNQFO.js} +7 -7
  46. package/dist/{chunk-BPPU3PW7.js → chunk-7YQBDE5W.js} +10 -4
  47. package/dist/{chunk-CPK7QSBG.js → chunk-A4JXVO5O.js} +8 -6
  48. package/dist/{chunk-YJ3TBOTK.js → chunk-AFBCNZRZ.js} +29 -26
  49. package/dist/{chunk-TW3KOSQK.js → chunk-AGOLEMHK.js} +13 -13
  50. package/dist/chunk-AHFQHPFF.js +49 -0
  51. package/dist/{chunk-NTAVOWYD.js → chunk-APDN6UOR.js} +118 -18
  52. package/dist/chunk-AQRUQNFB.js +322 -0
  53. package/dist/{chunk-KYZMRSPS.js → chunk-AVMWESFZ.js} +6 -3
  54. package/dist/chunk-B4AEL3RF.js +1011 -0
  55. package/dist/{chunk-GS76RXQE.js → chunk-BAY4K55I.js} +15 -12
  56. package/dist/{chunk-4CLK2RJO.js → chunk-BFL4PO64.js} +9 -7
  57. package/dist/{chunk-GCS3FZOB.js → chunk-BFMTGNAQ.js} +15 -4
  58. package/dist/{chunk-YBOVNMHC.js → chunk-BP33TBLI.js} +29 -16
  59. package/dist/chunk-BQGDB6ZL.js +7342 -0
  60. package/dist/{chunk-BXZ4PKIT.js → chunk-BUUJ7N4O.js} +15 -11
  61. package/dist/{chunk-HGHRSF3E.js → chunk-BYBU2EIB.js} +38 -19
  62. package/dist/{chunk-TQ4TG57V.js → chunk-C6ORPLCN.js} +4 -4
  63. package/dist/{chunk-HWD4JPU7.js → chunk-CA3DKO4D.js} +27 -3
  64. package/dist/{chunk-YTTNTQOX.js → chunk-CFUDAW3R.js} +17 -15
  65. package/dist/{chunk-OPQZISG3.js → chunk-CJEBRJBS.js} +5 -4
  66. package/dist/{chunk-RALY3E5U.js → chunk-CKVBDVIW.js} +6 -4
  67. package/dist/{chunk-DUPZPDCJ.js → chunk-CMB7FXHJ.js} +42 -16
  68. package/dist/{chunk-YIGBJNH4.js → chunk-CQ7RF4QN.js} +5 -4
  69. package/dist/{chunk-YAH5IQAL.js → chunk-CS4BMJLL.js} +6 -5
  70. package/dist/{chunk-455SYIIE.js → chunk-CT6NINGR.js} +5 -3
  71. package/dist/chunk-CXTG6AWM.js +40 -0
  72. package/dist/{chunk-JYMIB5XY.js → chunk-CZ2ZS7AT.js} +170 -45
  73. package/dist/{chunk-K332XW7K.js → chunk-D6BVLTDV.js} +100 -33
  74. package/dist/chunk-DCRYOMTM.js +37 -0
  75. package/dist/{chunk-G6X4YL4D.js → chunk-DHKDH464.js} +5 -4
  76. package/dist/{chunk-JRVNXLZP.js → chunk-DSHRA72L.js} +14 -12
  77. package/dist/{chunk-LNWEWYCM.js → chunk-E3PDCQRH.js} +2813 -621
  78. package/dist/chunk-EHXDB3SA.js +25 -0
  79. package/dist/{chunk-EZIN5E5B.js → chunk-EMVZIOOD.js} +11 -9
  80. package/dist/{chunk-IFHDV6KQ.js → chunk-ENH6Z4TY.js} +21 -20
  81. package/dist/{chunk-YKTE2RU3.js → chunk-EVTI22PQ.js} +7 -2
  82. package/dist/{chunk-2D7PWSOK.js → chunk-EXJZBL5N.js} +22 -20
  83. package/dist/{chunk-77O633L5.js → chunk-FBCVC2GJ.js} +14 -12
  84. package/dist/{chunk-HS4BGB4G.js → chunk-FJVUHQPS.js} +37 -24
  85. package/dist/{chunk-4KNOJC6J.js → chunk-FL344WQD.js} +270 -221
  86. package/dist/{chunk-GNWAOVFQ.js → chunk-FMJYKLDY.js} +5 -5
  87. package/dist/chunk-FMR2D3AZ.js +41 -0
  88. package/dist/{chunk-PAINMSID.js → chunk-FPBUTZI5.js} +3102 -7859
  89. package/dist/{chunk-ZOSD4FXV.js → chunk-FQVSLBTV.js} +3 -3
  90. package/dist/chunk-FRAEQVYN.js +52 -0
  91. package/dist/{chunk-UDXWIPCB.js → chunk-FRCOKUU4.js} +9 -7
  92. package/dist/{chunk-UYLBRRFK.js → chunk-FSN6JFXB.js} +129 -27
  93. package/dist/{chunk-BC6KKZ67.js → chunk-FTLYXMHA.js} +9 -6
  94. package/dist/{chunk-FAJDKNSD.js → chunk-FVYZ4Y52.js} +16 -3
  95. package/dist/{chunk-TWQRPM76.js → chunk-G6EFXTUO.js} +23 -16
  96. package/dist/{chunk-ZFQMMU5Y.js → chunk-G7VBMOZH.js} +6 -2
  97. package/dist/{chunk-VYOCPTUB.js → chunk-GM4EFHUX.js} +17 -15
  98. package/dist/chunk-GOZLTLRY.js +232 -0
  99. package/dist/chunk-GPNMSX5H.js +36 -0
  100. package/dist/{chunk-OZJ3JLYI.js → chunk-GUGQSIQM.js} +10 -9
  101. package/dist/chunk-H4VO6WG3.js +10 -0
  102. package/dist/{chunk-QJCJOMW3.js → chunk-HJQVUOUL.js} +16 -18
  103. package/dist/chunk-HMWJWYE2.js +31 -0
  104. package/dist/{chunk-4TKVU2I2.js → chunk-HMZ2DRBC.js} +2 -2
  105. package/dist/{chunk-HK3VOHIE.js → chunk-HRS5O7VV.js} +609 -171
  106. package/dist/{chunk-7FUIVIBG.js → chunk-HUGQZQ2K.js} +13 -8
  107. package/dist/{chunk-QOOEYDNJ.js → chunk-ICBGVVRI.js} +10 -10
  108. package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
  109. package/dist/{chunk-4SLBCEPD.js → chunk-IKAW2KJU.js} +95 -64
  110. package/dist/{chunk-L4CESDPB.js → chunk-IMZFOMVX.js} +1 -1
  111. package/dist/{chunk-XQ3YZ4QW.js → chunk-ISG547IS.js} +24 -22
  112. package/dist/{chunk-BA2HUMDN.js → chunk-IYNCSYU4.js} +5 -2
  113. package/dist/{chunk-UEVZZZU2.js → chunk-J25YOUIZ.js} +5 -4
  114. package/dist/chunk-J2CDBSFP.js +69 -0
  115. package/dist/chunk-J2H7YG3K.js +34 -0
  116. package/dist/{chunk-O4IKAIZ2.js → chunk-J32IPTVQ.js} +28 -22
  117. package/dist/{chunk-3AQ2R5NL.js → chunk-J4CPHJUL.js} +11 -9
  118. package/dist/{chunk-VUVGX5L2.js → chunk-JFFKHIM6.js} +1 -1
  119. package/dist/chunk-JMEWJPF2.js +384 -0
  120. package/dist/{chunk-LO3BLMVG.js → chunk-JSP73CDW.js} +13 -5
  121. package/dist/chunk-JXAKYP45.js +63 -0
  122. package/dist/{chunk-PNQLCRSS.js → chunk-K4OXYSGS.js} +7 -5
  123. package/dist/{chunk-3J5I7ZOU.js → chunk-K4RNVDR4.js} +4 -4
  124. package/dist/{chunk-LEBR5NHW.js → chunk-K757G7AD.js} +18 -15
  125. package/dist/{chunk-AHW3RY3X.js → chunk-KDJ2YKAZ.js} +8 -7
  126. package/dist/{chunk-4WXRPQDE.js → chunk-KT6Q44CA.js} +178 -31
  127. package/dist/{chunk-EFCQSMXB.js → chunk-KTNOBTV5.js} +10 -4
  128. package/dist/chunk-KVVNAUIG.js +66 -0
  129. package/dist/{chunk-26Z7OGQW.js → chunk-L3RCQWVQ.js} +64 -31
  130. package/dist/{chunk-3WON4G3M.js → chunk-LHH5KG5A.js} +21 -6
  131. package/dist/{chunk-NCB6656Z.js → chunk-LM45GMMB.js} +11 -8
  132. package/dist/{chunk-2HH3UCZM.js → chunk-LO6Y7OTG.js} +5 -4
  133. package/dist/{chunk-36RY7ZXM.js → chunk-LPDTDFKA.js} +88 -26
  134. package/dist/{chunk-67BP7HXL.js → chunk-LSHSDC6S.js} +19 -17
  135. package/dist/{chunk-GDZB57IU.js → chunk-LZVHP7CT.js} +7 -5
  136. package/dist/{chunk-GC2VK3JT.js → chunk-M3EOFSPY.js} +28 -25
  137. package/dist/chunk-MBYYQHPM.js +31 -0
  138. package/dist/{chunk-HXXP2NTE.js → chunk-MEJ63LDG.js} +35 -12
  139. package/dist/{chunk-2UCRFXFZ.js → chunk-MH2ZK67S.js} +13 -11
  140. package/dist/{chunk-BEPCKDCP.js → chunk-MLGWSBF4.js} +5447 -4165
  141. package/dist/{chunk-NRQ65LTQ.js → chunk-MNIPPBCT.js} +6 -5
  142. package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/{chunk-KDAHXQIE.js → chunk-MWF4PXQR.js} +38 -34
  144. package/dist/{chunk-WNTIOBOG.js → chunk-N2YX6JMY.js} +20 -18
  145. package/dist/{chunk-FY3QIRTL.js → chunk-NAPHHWW2.js} +3 -3
  146. package/dist/{chunk-D2WSW4GU.js → chunk-NC755EKE.js} +8 -2
  147. package/dist/{chunk-BA3U7ALS.js → chunk-NCLZJCXA.js} +26 -22
  148. package/dist/chunk-NKJDO4UC.js +39 -0
  149. package/dist/chunk-NOYOFYAJ.js +59 -0
  150. package/dist/{chunk-LPV6T362.js → chunk-NROSSWMS.js} +8 -6
  151. package/dist/{chunk-ZKYRDV7A.js → chunk-OBUB3H72.js} +14 -12
  152. package/dist/{chunk-ZQLRCA2V.js → chunk-OCQWSFJD.js} +10 -8
  153. package/dist/{chunk-42EPP7OB.js → chunk-OK6JGLE7.js} +14 -12
  154. package/dist/{chunk-MD7KUEJ3.js → chunk-OPWGPQ2N.js} +9 -7
  155. package/dist/{chunk-SH27FYPF.js → chunk-OSYHGGL3.js} +20 -18
  156. package/dist/chunk-OXXZZ7HQ.js +50 -0
  157. package/dist/chunk-P22EPEBR.js +57 -0
  158. package/dist/chunk-P4YUT7W7.js +45 -0
  159. package/dist/chunk-PCCLVIDP.js +217 -0
  160. package/dist/chunk-PFULMC2D.js +48 -0
  161. package/dist/chunk-PGAMTKBI.js +16 -0
  162. package/dist/{chunk-Y6K3CJBU.js → chunk-PNSSE7JM.js} +152 -29
  163. package/dist/{chunk-3UTYPHN3.js → chunk-POEMZECG.js} +1 -1
  164. package/dist/{chunk-GSGIZ2OO.js → chunk-POSDBRKV.js} +27 -24
  165. package/dist/{chunk-YZDZOEV4.js → chunk-POSZFDSQ.js} +3 -3
  166. package/dist/{chunk-7AB6OWTV.js → chunk-PQQKZPBU.js} +31 -25
  167. package/dist/{chunk-K6JB6XTX.js → chunk-PRMUQUWN.js} +20 -15
  168. package/dist/{chunk-ICHDSWEY.js → chunk-PT4USJNN.js} +10 -8
  169. package/dist/{chunk-265LWMOA.js → chunk-PWXB5GBB.js} +18 -16
  170. package/dist/{chunk-DCWN3HFV.js → chunk-PXMV2LLY.js} +6 -5
  171. package/dist/{chunk-THN26IEF.js → chunk-PXW2RZGQ.js} +4 -1
  172. package/dist/{chunk-CG6CULP6.js → chunk-Q367UGYN.js} +7 -5
  173. package/dist/chunk-QA4O2GGC.js +265 -0
  174. package/dist/{chunk-7FHNFCHK.js → chunk-QAVRDONY.js} +225 -375
  175. package/dist/{chunk-VAMHOHUU.js → chunk-QBMLBCQH.js} +16 -13
  176. package/dist/{chunk-WEOMJHPV.js → chunk-QLQIFJP3.js} +18 -15
  177. package/dist/{chunk-UZACEG2C.js → chunk-QLWDIKO4.js} +84 -27
  178. package/dist/{chunk-ZZFHLRQW.js → chunk-QVVGJVVX.js} +18 -16
  179. package/dist/{chunk-WIWTJMMR.js → chunk-QX4MAMUG.js} +23 -21
  180. package/dist/{chunk-JYTIHTIK.js → chunk-QZWRPQTI.js} +6 -6
  181. package/dist/{chunk-5WERBKLE.js → chunk-RCG5IAAT.js} +55 -227
  182. package/dist/chunk-RGZFOKVO.js +106 -0
  183. package/dist/{chunk-C7CEK3KW.js → chunk-RLZFL76D.js} +7 -5
  184. package/dist/{chunk-PTQ3ZALZ.js → chunk-RPQITJNX.js} +14 -12
  185. package/dist/{chunk-JS6WMC3J.js → chunk-RQQYEDAC.js} +10 -8
  186. package/dist/chunk-RQSLHZ7T.js +36 -0
  187. package/dist/{chunk-API5TOUB.js → chunk-RRQUQAXP.js} +1 -1
  188. package/dist/chunk-RYQ4JCFT.js +65 -0
  189. package/dist/chunk-S35DIFJH.js +38 -0
  190. package/dist/{chunk-YWAKDNMH.js → chunk-S5GSQPIN.js} +70 -19
  191. package/dist/chunk-S5XFO4GY.js +42 -0
  192. package/dist/chunk-S6LW2RRC.js +25 -0
  193. package/dist/{chunk-TSM6T6GQ.js → chunk-S6W3D5GS.js} +25 -23
  194. package/dist/{chunk-5PV7S2ZP.js → chunk-S7GUZ45I.js} +4 -3
  195. package/dist/{chunk-MMZUN7ZO.js → chunk-SCT4CEF7.js} +22 -20
  196. package/dist/{chunk-AOCWFA7T.js → chunk-SK5RVP7X.js} +8 -8
  197. package/dist/chunk-SRTUETF5.js +50 -0
  198. package/dist/{chunk-E57AOFYN.js → chunk-SVGGMBJI.js} +15 -13
  199. package/dist/{chunk-OV57AHCG.js → chunk-SWNKO4C4.js} +35 -26
  200. package/dist/chunk-SYP56T2D.js +65 -0
  201. package/dist/{chunk-5CMPVC3N.js → chunk-T33TPFGI.js} +25 -23
  202. package/dist/{chunk-Q26LDIUV.js → chunk-T3FNG2H2.js} +18 -15
  203. package/dist/{chunk-UFE36WJH.js → chunk-T6MAWL5P.js} +6 -4
  204. package/dist/{chunk-LN77DXBM.js → chunk-T6MX7WXM.js} +14 -11
  205. package/dist/{chunk-WCEF7H6L.js → chunk-T7IIEDA3.js} +10 -7
  206. package/dist/{chunk-2HTEMYTB.js → chunk-TABH4RBZ.js} +163 -84
  207. package/dist/{chunk-YO2PKTXT.js → chunk-TDSCKP3V.js} +5 -3
  208. package/dist/{chunk-BVWWPBKD.js → chunk-TMFMXQEN.js} +23 -21
  209. package/dist/{chunk-4B6BT75O.js → chunk-TNCF26JK.js} +83 -26
  210. package/dist/{chunk-75ASLHBT.js → chunk-TUM52SOE.js} +21 -15
  211. package/dist/{chunk-ZLS6PU2O.js → chunk-TV56QLLV.js} +4 -3
  212. package/dist/{chunk-JKIGL3XQ.js → chunk-TVQSXWWV.js} +36 -33
  213. package/dist/{chunk-OKUB6RJA.js → chunk-TXNSQ24G.js} +14 -11
  214. package/dist/{chunk-4CYTJ5TZ.js → chunk-UALE35WK.js} +4 -3
  215. package/dist/{chunk-CNU5Q2D5.js → chunk-UJF7PIMP.js} +35 -27
  216. package/dist/chunk-UMCDODBX.js +53 -0
  217. package/dist/{chunk-M6D2U3YM.js → chunk-UTPIFH4I.js} +4 -3
  218. package/dist/{chunk-COYN3UAN.js → chunk-V7PEHQZU.js} +95 -26
  219. package/dist/{chunk-U3NBK4EU.js → chunk-VJFXQISZ.js} +8 -8
  220. package/dist/chunk-VJZI6KFP.js +47 -0
  221. package/dist/{chunk-ECLXZWAG.js → chunk-VK7WYA64.js} +14 -12
  222. package/dist/{chunk-DDJPM5YX.js → chunk-VKTXFFOZ.js} +5 -3
  223. package/dist/{chunk-LIRVU3HW.js → chunk-VNIN7Q6Q.js} +32 -20
  224. package/dist/{chunk-7QPCGTPS.js → chunk-VRO7KSGL.js} +24 -21
  225. package/dist/{chunk-AZDITBCT.js → chunk-W3AZE7LN.js} +3 -3
  226. package/dist/chunk-W4TNCEI4.js +44 -0
  227. package/dist/{chunk-S2RY3BOD.js → chunk-W5VYJWOG.js} +31 -21
  228. package/dist/{chunk-X2CUXTWU.js → chunk-WF3RCZNO.js} +6 -6
  229. package/dist/{chunk-4D62IZII.js → chunk-WOMQQWTO.js} +7 -5
  230. package/dist/{chunk-UF4UHCIG.js → chunk-WXVTYLVH.js} +6 -4
  231. package/dist/{chunk-EDZ45WIR.js → chunk-WYGTSZHR.js} +18 -14
  232. package/dist/{chunk-HSZMPH5T.js → chunk-WZYM5M4U.js} +592 -133
  233. package/dist/chunk-X5ZHDSLU.js +49 -0
  234. package/dist/chunk-X7XVMYIL.js +5 -0
  235. package/dist/chunk-X7ZKNSK4.js +41 -0
  236. package/dist/{chunk-QE527XRY.js → chunk-XAPXKFIS.js} +26 -23
  237. package/dist/{chunk-HE3HRDNZ.js → chunk-XF6TSZW2.js} +2 -2
  238. package/dist/{chunk-GX74YWR7.js → chunk-XFDDJQT7.js} +16 -14
  239. package/dist/{chunk-5QUOPNLN.js → chunk-XGO74QWR.js} +4 -4
  240. package/dist/chunk-XLZAAAPX.js +43 -0
  241. package/dist/{chunk-NYOABJNK.js → chunk-XMUWPA56.js} +26 -24
  242. package/dist/{chunk-M4H2UG4R.js → chunk-XNFM6WUK.js} +19 -16
  243. package/dist/{chunk-TGVVUKTG.js → chunk-XOMEQVLK.js} +2 -2
  244. package/dist/{chunk-A2G72UI4.js → chunk-Y2H7X3VI.js} +7 -7
  245. package/dist/{chunk-37WE3LS2.js → chunk-Y5IE6YKD.js} +5 -3
  246. package/dist/{chunk-IFFRGC3N.js → chunk-YD3KTW4H.js} +14 -12
  247. package/dist/{chunk-75ZOZFGH.js → chunk-YDCOZOER.js} +20 -18
  248. package/dist/{chunk-6DQYZU2W.js → chunk-YERAAEO4.js} +20 -20
  249. package/dist/{chunk-J5AAZ6OJ.js → chunk-YHMPDIRG.js} +5 -4
  250. package/dist/{chunk-CNPY4NTZ.js → chunk-Z2D4P3R3.js} +15 -13
  251. package/dist/{chunk-E2VXBSIR.js → chunk-Z3H27OMV.js} +6 -4
  252. package/dist/{chunk-AE4P57KK.js → chunk-Z3RAFU5B.js} +17 -15
  253. package/dist/{chunk-RA33EYS4.js → chunk-ZENHDXRZ.js} +23 -17
  254. package/dist/{chunk-TJH2EUAZ.js → chunk-ZFHFC74B.js} +20 -18
  255. package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
  256. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  257. package/dist/{chunk-JAABT3DA.js → chunk-ZJGCGKA4.js} +4 -3
  258. package/dist/{chunk-GIFMBCTW.js → chunk-ZLQEQR3D.js} +10 -8
  259. package/dist/{chunk-I2A3Z5AK.js → chunk-ZNHQGG7J.js} +7 -7
  260. package/dist/{chunk-5TDRBOAV.js → chunk-ZNTTW4IT.js} +7 -5
  261. package/dist/{chunk-ZX7235KR.js → chunk-ZR6J4QFQ.js} +44 -383
  262. package/dist/{chunk-F6H2RJ3N.js → chunk-ZSNOILL5.js} +1 -1
  263. package/dist/files.json +585 -509
  264. package/dist/packages/sdk/npm/index.js +1491 -110
  265. package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.js → elk-api-DxfAMOJq.js} +2 -2
  266. package/dist/packages/ui/dist/assets/index-Buit9TfP.js +62 -0
  267. package/dist/packages/ui/dist/assets/index-Jyc9dFeZ.css +1 -0
  268. package/dist/packages/ui/dist/index.html +3 -2
  269. package/package.json +3 -3
  270. package/dist/chunk-26WBY34Y.js +0 -37
  271. package/dist/chunk-3TD6S4TC.js +0 -49
  272. package/dist/chunk-5G7ILBUG.js +0 -66
  273. package/dist/chunk-6FNAKCET.js +0 -38
  274. package/dist/chunk-AM6FP6JW.js +0 -43
  275. package/dist/chunk-CFH3QH26.js +0 -29
  276. package/dist/chunk-CLD4RVTA.js +0 -45
  277. package/dist/chunk-D5KV5PSK.js +0 -45
  278. package/dist/chunk-D5MASS4I.js +0 -48
  279. package/dist/chunk-DN4A2Q2O.js +0 -57
  280. package/dist/chunk-FGAGWYZB.js +0 -47
  281. package/dist/chunk-GUYL7RMK.js +0 -60
  282. package/dist/chunk-J2O4LFVI.js +0 -80
  283. package/dist/chunk-JITJP64K.js +0 -34
  284. package/dist/chunk-JRXHON4E.js +0 -41
  285. package/dist/chunk-JU4QNJSR.js +0 -62
  286. package/dist/chunk-N3RUGTGV.js +0 -39
  287. package/dist/chunk-ODMBPDDV.js +0 -298
  288. package/dist/chunk-OMPENNWY.js +0 -39
  289. package/dist/chunk-PKJAV25S.js +0 -43
  290. package/dist/chunk-PRTBPXYA.js +0 -50
  291. package/dist/chunk-PRZ7KMWL.js +0 -42
  292. package/dist/chunk-QSIDVFB7.js +0 -45
  293. package/dist/chunk-SB5GRUFM.js +0 -54
  294. package/dist/chunk-T74WQQGS.js +0 -40
  295. package/dist/chunk-X7EMBM5X.js +0 -34
  296. package/dist/chunk-Z6VLC5X4.js +0 -36
  297. package/dist/chunk-ZPDDEVQX.js +0 -47
  298. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  299. package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +0 -47
@@ -3,63 +3,42 @@ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
3
3
  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
- import {
7
- generateTests,
8
- matrixCsv,
9
- matrixMarkdown,
10
- traceMatrix,
11
- writeTraceFindings
12
- } from "./chunk-EZIN5E5B.js";
13
- import {
14
- table
15
- } from "./chunk-VOGCSYOI.js";
16
6
  import {
17
7
  readChangeFiles,
18
8
  readDataChanges,
19
9
  readHops,
20
10
  reviewedGates
21
- } from "./chunk-K332XW7K.js";
11
+ } from "./chunk-D6BVLTDV.js";
22
12
  import {
23
13
  assess,
24
14
  changeFolder,
25
15
  changeStore,
26
16
  checkFindings,
27
17
  loadChangeContext,
28
- nothingToRelease
29
- } from "./chunk-HSZMPH5T.js";
18
+ nothingToRelease,
19
+ staleReleasePrs
20
+ } from "./chunk-WZYM5M4U.js";
30
21
  import {
31
- GlossaryError,
32
- aliasDecision,
33
- completeGlossaryDefinitions,
34
- defineDecision,
35
- linkDecision,
36
- loadGlossary,
37
- readCatalog,
38
- resolveTermId,
39
- scanGlossary,
40
- writeDecisions
41
- } from "./chunk-4SLBCEPD.js";
22
+ readCatalog
23
+ } from "./chunk-IKAW2KJU.js";
42
24
  import {
43
25
  BUILT_IN_EXTRACTORS,
44
26
  SHIPPED_DIALECTS_DIR,
45
27
  dialectExtractor,
46
28
  loadShippedDialects,
47
29
  runDialectTests
48
- } from "./chunk-TWQRPM76.js";
30
+ } from "./chunk-G6EFXTUO.js";
31
+ import {
32
+ DEFAULT_IGNORES,
33
+ fsRepo,
34
+ scanRepo
35
+ } from "./chunk-PQQKZPBU.js";
49
36
  import {
50
37
  baseClonePath,
51
38
  checkoutState,
52
39
  createGit,
53
40
  readChangeRepos
54
- } from "./chunk-XOL3GFW2.js";
55
- import {
56
- runtimeForCli
57
- } from "./chunk-QHJJMZLX.js";
58
- import {
59
- DEFAULT_IGNORES,
60
- fsRepo,
61
- scanRepo
62
- } from "./chunk-7AB6OWTV.js";
41
+ } from "./chunk-3EWKO457.js";
63
42
  import {
64
43
  catalogDirOf,
65
44
  effectiveComponentTypes,
@@ -69,17 +48,15 @@ import {
69
48
  mergeCatalog,
70
49
  normalizePath,
71
50
  orgPackDirOf,
72
- parseFacts,
51
+ parseFacts
52
+ } from "./chunk-FPBUTZI5.js";
53
+ import {
73
54
  require_dist
74
- } from "./chunk-PAINMSID.js";
55
+ } from "./chunk-BQGDB6ZL.js";
75
56
  import {
76
57
  __toESM
77
58
  } from "./chunk-TV45EUGM.js";
78
59
 
79
- // packages/cli/dist/quality-commands.js
80
- import { appendFile, mkdir, writeFile } from "node:fs/promises";
81
- import { dirname, join as join4 } from "node:path";
82
-
83
60
  // packages/ci/dist/config.js
84
61
  var import_yaml = __toESM(require_dist(), 1);
85
62
  import { readFile } from "node:fs/promises";
@@ -663,17 +640,17 @@ function driftMarkdown(r) {
663
640
  const n = r.items.filter((i) => i.kind !== "planned").length;
664
641
  const planned = r.counts.planned;
665
642
  const head = !r.drift ? `No drift: ${r.repo} matches the catalog${planned ? ` (${planned} planned by approved changes)` : ""}.` : `${n} drift ${n === 1 ? "finding" : "findings"} in ${r.repo}${r.mode === "warn" ? " (warn-only: the pipeline passes)" : ""}.`;
666
- const lines2 = [`## Atticus drift check: ${r.repo}`, "", head];
643
+ const lines = [`## Atticus drift check: ${r.repo}`, "", head];
667
644
  if (r.items.length) {
668
- lines2.push("", "| What | Kind | Id | Details |", "| --- | --- | --- | --- |");
645
+ lines.push("", "| What | Kind | Id | Details |", "| --- | --- | --- | --- |");
669
646
  for (const i of r.items)
670
- lines2.push(`| ${KIND_WORD[i.kind]} | ${i.subject} | ${cell(i.id)} | ${cell(i.summary)}${where(i).length ? ` (${where(i).join(", ")})` : ""} |`);
647
+ lines.push(`| ${KIND_WORD[i.kind]} | ${i.subject} | ${cell(i.id)} | ${cell(i.summary)}${where(i).length ? ` (${where(i).join(", ")})` : ""} |`);
671
648
  }
672
649
  if (r.drift && r.mode === "block")
673
- lines2.push("", "Fix the code, or record the change in the catalog: plan it in an approved change's design, or rescan the estate once it is merged.");
650
+ lines.push("", "Fix the code, or record the change in the catalog: plan it in an approved change's design, or rescan the estate once it is merged.");
674
651
  if (r.problems.length)
675
- lines2.push("", "Problems:", ...r.problems.map((p) => `- ${p}`));
676
- return `${lines2.join("\n")}
652
+ lines.push("", "Problems:", ...r.problems.map((p) => `- ${p}`));
653
+ return `${lines.join("\n")}
677
654
  `;
678
655
  }
679
656
 
@@ -868,6 +845,7 @@ async function archiveGate(root, changeId, o = {}) {
868
845
  const repos = (await readChangeRepos(root, change.id))?.repos ?? [];
869
846
  const mustMerge = config.archive.requireMergedPrs;
870
847
  const nothing = await nothingToRelease(root, change.id, o.git ? { git: o.git } : {});
848
+ const stale = await staleReleasePrs(root, change.id, o.git ? { git: o.git } : {});
871
849
  for (const r of repos) {
872
850
  if (!r.pr && nothing.has(r.id))
873
851
  continue;
@@ -881,6 +859,11 @@ async function archiveGate(root, changeId, o = {}) {
881
859
  code: "pr-open",
882
860
  message: `${r.id}: release PR #${r.pr.number} is ${r.pr.state}; a person merges it on the Git host before archiving.`
883
861
  });
862
+ else if (mustMerge && r.pr?.state === "merged" && stale.has(r.id))
863
+ blockers.push({
864
+ code: "release-pr-stale",
865
+ message: `${r.id}: the change branch moved past release PR #${r.pr.number} after it merged, so the newer work isn't in ${r.base}: raise the release PRs again (atticus change release-prs ${change.id} --approve) and merge the new one.`
866
+ });
884
867
  if (r.build.status === "failed")
885
868
  blockers.push({
886
869
  code: "build-failed",
@@ -980,342 +963,20 @@ async function archiveGate(root, changeId, o = {}) {
980
963
  };
981
964
  }
982
965
 
983
- // packages/cli/dist/quality-commands.js
984
- var KNOWN = /* @__PURE__ */ new Set([
985
- "TestgenError",
986
- "PlannerError",
987
- "ChangeError",
988
- "ChangeFileError",
989
- "GlossaryError",
990
- "RuntimeConfigError"
991
- ]);
992
- function fail(io, e) {
993
- if (e instanceof Error && KNOWN.has(e.name)) {
994
- io.err(e.message);
995
- return e.code === "invalid" ? 2 : 1;
996
- }
997
- throw e;
998
- }
999
- var iso = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");
1000
- var lines = (io, text) => {
1001
- for (const l of text.trimEnd().split("\n"))
1002
- io.out(l);
1003
- };
1004
- var plural2 = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
1005
- async function runtimeOf(root, mode, deps) {
1006
- if (deps.runtime)
1007
- return deps.runtime;
1008
- if (!mode && !process.env.ATTICUS_RUNTIME)
1009
- return void 0;
1010
- return (await runtimeForCli(root, mode ? { mode } : {})).runtime;
1011
- }
1012
- async function testsGenerate(root, changeId, storyId, o, io, deps = {}) {
1013
- if (!changeId || !storyId) {
1014
- io.err("Usage: atticus tests generate <change> <story> [--framework <id>] [--force] [--check] [--mode <mode>] [--json]");
1015
- return 2;
1016
- }
1017
- try {
1018
- const runtime = await runtimeOf(root, o.mode, deps);
1019
- const r = await generateTests(root, changeId, storyId, {
1020
- ...o.framework ? { framework: o.framework } : {},
1021
- ...o.force ? { force: true } : {},
1022
- ...o.check ? { check: true } : {},
1023
- ...o.resume ? { resume: o.resume } : {},
1024
- ...runtime ? { runtime } : {},
1025
- now: deps.now?.() ?? /* @__PURE__ */ new Date()
1026
- });
1027
- const kept = r.files.filter((f) => f.action === "kept-edited" || f.action === "kept-not-generated");
1028
- if (o.json) {
1029
- io.out(JSON.stringify({
1030
- change: r.change,
1031
- story: r.story,
1032
- strategy: r.model.strategy,
1033
- kinds: r.model.kinds,
1034
- names: r.names.by,
1035
- ...r.names.waiting ? { waiting: r.names.waiting } : {},
1036
- files: r.files,
1037
- manifest: r.manifest,
1038
- notes: r.notes,
1039
- gaps: r.gaps
1040
- }, null, 2));
1041
- return kept.length ? 1 : 0;
1042
- }
1043
- const count = (a) => r.files.filter((f) => f.action === a).length;
1044
- const cases = r.model.repos.reduce((n, x) => n + x.cases.length, 0);
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` : ""}.`);
1046
- for (const l of table(["ACTION", "REPO", "FRAMEWORK", "FILE"], r.files.map((f) => [f.action, f.repo || "-", f.generator, f.path])))
1047
- io.out(l);
1048
- for (const k of r.model.kinds.filter((x) => !x.generated))
1049
- io.out(`No ${k.type} tests: ${k.why}`);
1050
- for (const n of r.notes)
1051
- io.out(n);
1052
- for (const g of r.gaps)
1053
- io.out(`Gap: ${g}`);
1054
- if (r.names.waiting)
1055
- io.out(`The test writer is with your assistant (run ${r.names.waiting}); the files use plain names until you run: atticus tests generate ${changeId} ${storyId} --resume ${r.names.waiting}`);
1056
- if (!o.check)
1057
- io.out(`Manifest: ${r.manifest}`);
1058
- return kept.length ? 1 : 0;
1059
- } catch (e) {
1060
- return fail(io, e);
1061
- }
1062
- }
1063
- async function traceCommand(root, changeId, o, io, deps = {}) {
1064
- if (!changeId) {
1065
- io.err("Usage: atticus trace <change> [--json | --csv] [--no-write]");
1066
- return 2;
1067
- }
1068
- try {
1069
- const m = await traceMatrix(root, changeId, { git: deps.git ?? createGit() });
1070
- for (const p of m.problems)
1071
- io.err(p);
1072
- const w = o.write === false ? void 0 : await writeTraceFindings(root, m, iso(deps.now?.() ?? /* @__PURE__ */ new Date()));
1073
- if (o.json)
1074
- io.out(JSON.stringify({ ...m, ...w ? { round: w.round ?? null } : {} }, null, 2));
1075
- else if (o.csv)
1076
- lines(io, matrixCsv(m));
1077
- else {
1078
- lines(io, matrixMarkdown(m));
1079
- if (w)
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}/.`);
1081
- }
1082
- return m.gaps.some((g) => g.kind !== "test-without-requirement") ? 1 : 0;
1083
- } catch (e) {
1084
- return fail(io, e);
1085
- }
1086
- }
1087
- async function ciDrift(repoDir, o, io, deps = {}) {
1088
- if (!o.catalog) {
1089
- io.err("Usage: atticus ci drift [repo-dir] --catalog <metarepo or catalog folder> [--repo <id>] [--json [file]] [--junit <file>] [--summary <file>] [--warn-only]");
1090
- return 2;
1091
- }
1092
- try {
1093
- const r = await repoDrift({
1094
- repoDir,
1095
- catalog: o.catalog,
1096
- ...o.repo ? { repo: o.repo } : {},
1097
- ...o.warnOnly ? { warnOnly: true } : {},
1098
- ...deps.commit ? { commit: deps.commit } : {},
1099
- ...deps.git ? { git: deps.git } : {}
1100
- });
1101
- const put = async (file, text) => {
1102
- await mkdir(dirname(file), { recursive: true });
1103
- await writeFile(file, text, "utf8");
1104
- };
1105
- if (typeof o.json === "string")
1106
- await put(o.json, driftJson(r));
1107
- if (o.junit)
1108
- await put(o.junit, driftJUnit(r));
1109
- if (o.summary) {
1110
- await mkdir(dirname(o.summary), { recursive: true });
1111
- await appendFile(o.summary, driftMarkdown(r), "utf8");
1112
- }
1113
- if (o.json === true)
1114
- io.out(driftJson(r).trimEnd());
1115
- else
1116
- lines(io, driftMarkdown(r));
1117
- return driftExitCode(r);
1118
- } catch (e) {
1119
- if (e instanceof DriftError) {
1120
- io.err(e.message);
1121
- return 2;
1122
- }
1123
- throw e;
1124
- }
1125
- }
1126
- async function ciSnippet(kind, io, o = {}) {
1127
- const s = kind ? pipelineSnippet(kind) : void 0;
1128
- if (!s) {
1129
- io.err(`Usage: atticus ci snippet <${SNIPPET_KINDS.join("|")}> [--write <repo-dir>]`);
1130
- return 2;
1131
- }
1132
- if (o.write) {
1133
- const file = join4(o.write, ...s.path.split("/"));
1134
- await mkdir(dirname(file), { recursive: true });
1135
- await writeFile(file, s.content, "utf8");
1136
- io.out(`Wrote ${s.path}. Set the variables its first lines name, then commit it.`);
1137
- return 0;
1138
- }
1139
- lines(io, s.content);
1140
- return 0;
1141
- }
1142
- async function ciArchiveGate(root, changeId, o, io, deps = {}) {
1143
- if (!changeId) {
1144
- io.err("Usage: atticus ci archive-gate <change> [--drift <report.json>...] [--json]");
1145
- return 2;
1146
- }
1147
- let r;
1148
- try {
1149
- r = await archiveGate(root, changeId, {
1150
- ...o.drift?.length ? { driftReports: o.drift } : {},
1151
- ...deps.commit ? { commit: deps.commit } : {}
1152
- });
1153
- } catch (e) {
1154
- if (e instanceof Error && e.name === "ChangeFileError") {
1155
- io.err(e.message);
1156
- return 2;
1157
- }
1158
- throw e;
1159
- }
1160
- if (o.json)
1161
- io.out(JSON.stringify(r, null, 2));
1162
- else {
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")}):`);
1164
- for (const b of r.blockers)
1165
- io.out(`- ${b.message}`);
1166
- for (const n of r.notes)
1167
- io.out(n);
1168
- }
1169
- return r.pass ? 0 : 1;
1170
- }
1171
- var short2 = (s, n = 70) => s.length <= n ? s : `${s.slice(0, n - 3)}...`;
1172
- var sourceOf = (flags, confidence) => confidence === "asserted" ? "person" : flags?.includes("ai-proposed") ? "ai" : flags?.includes("undefined") ? "code" : "wiki";
1173
- async function glossaryList(root, o, io) {
1174
- const g = await loadGlossary(root);
1175
- for (const p of g.problems)
1176
- io.err(p);
1177
- if (o.json) {
1178
- io.out(JSON.stringify({
1179
- terms: g.terms,
1180
- conflicts: g.build.conflicts,
1181
- hints: g.build.hints,
1182
- synonyms: Object.fromEntries(g.build.entries.filter((e) => e.aliases.length).map((e) => [e.id, e.aliases]))
1183
- }, null, 2));
1184
- return 0;
1185
- }
1186
- if (!g.terms.length) {
1187
- io.out("The glossary is empty: no wiki page defines a term and the catalog has no domain words yet.");
1188
- return 0;
1189
- }
1190
- for (const l of table(["TERM", "ID", "FROM", "FLAGS", "DEFINITION"], g.terms.map((t) => [
1191
- t.term,
1192
- t.id,
1193
- sourceOf(t.flags, t.confidence),
1194
- (t.flags ?? []).join(","),
1195
- short2(t.definition)
1196
- ])))
1197
- io.out(l);
1198
- io.out(`${plural2(g.terms.length, "term")}, ${plural2(g.build.conflicts.filter((c) => !c.resolved).length, "conflict")}.`);
1199
- return 0;
1200
- }
1201
- async function glossaryScan(root, o, io, deps = {}) {
1202
- try {
1203
- const runtime = await runtimeOf(root, o.mode, deps);
1204
- const r = await scanGlossary(root, {
1205
- ...runtime ? { runtime } : {},
1206
- ...deps.now ? { now: deps.now() } : {}
1207
- });
1208
- if (o.json) {
1209
- for (const p of r.problems)
1210
- io.err(p);
1211
- io.out(JSON.stringify({
1212
- terms: r.terms.length,
1213
- written: r.written,
1214
- removed: r.removed,
1215
- conflicts: r.build.conflicts,
1216
- hints: r.build.hints,
1217
- ...r.propose ? { proposals: r.propose.proposals.length, discarded: r.propose.discarded } : {}
1218
- }, null, 2));
1219
- return 0;
1220
- }
1221
- printGlossaryScan(r, io);
1222
- return 0;
1223
- } catch (e) {
1224
- return fail(io, e);
1225
- }
1226
- }
1227
- function printGlossaryScan(r, io) {
1228
- for (const p of r.problems)
1229
- io.err(p);
1230
- const open = r.build.conflicts.filter((c) => !c.resolved);
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.`);
1232
- if (r.propose)
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).`);
1234
- for (const d of r.propose?.discarded ?? [])
1235
- if (d.term && !r.propose?.waiting)
1236
- io.err(`Discarded ${d.term}: ${d.reason}`);
1237
- for (const c of open)
1238
- io.out(`Conflict: ${c.message}`);
1239
- for (const h of r.build.hints)
1240
- io.out(`Naming: ${h.message}`);
1241
- }
1242
- async function completeGlossaryScan(root, run, io, deps = {}) {
1243
- try {
1244
- const r = await completeGlossaryDefinitions(root, run, deps.now ? { now: deps.now } : {});
1245
- printGlossaryScan(r, io);
1246
- return 0;
1247
- } catch (e) {
1248
- return fail(io, e);
1249
- }
1250
- }
1251
- async function decide(root, io, make, said) {
1252
- try {
1253
- const g = await loadGlossary(root);
1254
- const ds = make(g);
1255
- const files = await writeDecisions(join4(g.catalogDir, "curated"), ds);
1256
- await scanGlossary(root);
1257
- io.out(`Wrote ${files.map((f) => `catalog/curated/${f}`).join(" and ")}: ${said}. Commit it so every scan keeps it.`);
1258
- return 0;
1259
- } catch (e) {
1260
- if (e instanceof GlossaryError) {
1261
- io.err(e.message);
1262
- return e.code === "invalid" ? 2 : 1;
1263
- }
1264
- throw e;
1265
- }
1266
- }
1267
- async function glossaryDefine(root, term, definition, o, io) {
1268
- if (!term || !definition || !o.by) {
1269
- io.err('Usage: atticus glossary define <term> "<definition>" [--by <handle>] [--owner <team>]');
1270
- return 2;
1271
- }
1272
- return decide(root, io, (g) => {
1273
- const existing = g.terms.find((t) => t.id === resolveTermId(term));
1274
- return [
1275
- defineDecision(term, definition, {
1276
- by: o.by,
1277
- ...o.owner ? { owner: o.owner } : {},
1278
- ...existing ? { existing } : {}
1279
- })
1280
- ];
1281
- }, `${resolveTermId(term)} is defined and asserted`);
1282
- }
1283
- async function glossaryLink(root, term, recordId, o, io) {
1284
- if (!term || !recordId || !o.by) {
1285
- io.err("Usage: atticus glossary link <term> <record-id | schema#field> [--by <handle>]");
1286
- return 2;
1287
- }
1288
- return decide(root, io, (g) => {
1289
- const id = resolveTermId(term);
1290
- const t = g.terms.find((x) => x.id === id);
1291
- if (!t)
1292
- throw new GlossaryError("not-found", `There is no term ${id}. Define it first: atticus glossary define`);
1293
- return [linkDecision(t, recordId, g.base, { by: o.by })];
1294
- }, `${recordId} is linked to ${resolveTermId(term)}`);
1295
- }
1296
- async function glossaryAlias(root, term, names, o, io) {
1297
- if (!term || !names.length || !o.by) {
1298
- io.err('Usage: atticus glossary alias <term> "<other name>"... [--by <handle>]');
1299
- return 2;
1300
- }
1301
- return decide(root, io, (g) => {
1302
- const id = resolveTermId(term);
1303
- const before = g.build.entries.find((e) => e.id === id)?.aliases ?? [];
1304
- return [aliasDecision(id, [...before, ...names], { by: o.by })];
1305
- }, `${names.join(", ")} ${names.length === 1 ? "is another name" : "are other names"} for ${resolveTermId(term)}`);
1306
- }
1307
-
1308
966
  export {
1309
- archiveGate,
1310
- testsGenerate,
1311
- traceCommand,
1312
- ciDrift,
1313
- ciSnippet,
1314
- ciArchiveGate,
1315
- glossaryList,
1316
- glossaryScan,
1317
- completeGlossaryScan,
1318
- glossaryDefine,
1319
- glossaryLink,
1320
- glossaryAlias
967
+ CiConfig,
968
+ DEFAULT_CI_CONFIG,
969
+ loadCiConfig,
970
+ ignored,
971
+ DRIFT_SCHEMA_VERSION,
972
+ DriftError,
973
+ resolveCatalog,
974
+ repoDrift,
975
+ driftExitCode,
976
+ driftJson,
977
+ driftJUnit,
978
+ driftMarkdown,
979
+ SNIPPET_KINDS,
980
+ pipelineSnippet,
981
+ archiveGate
1321
982
  };
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  runtimeForCli
8
- } from "./chunk-QHJJMZLX.js";
8
+ } from "./chunk-3424TLIJ.js";
9
9
 
10
10
  // packages/cli/dist/judging.js
11
11
  async function judgingRuntime(root, given) {