@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
@@ -0,0 +1,34 @@
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
+ addressRefusal,
8
+ asTheApp,
9
+ atProvidersOwnAddress,
10
+ confirmedAddress,
11
+ guardModelAddress,
12
+ recordConfirmedAddress,
13
+ requireConfirmedModel,
14
+ servingTheApp,
15
+ whereKeyGoes,
16
+ whoStarts
17
+ } from "./chunk-RGZFOKVO.js";
18
+ import "./chunk-KVVNAUIG.js";
19
+ import "./chunk-FPBUTZI5.js";
20
+ import "./chunk-B4AEL3RF.js";
21
+ import "./chunk-BQGDB6ZL.js";
22
+ import "./chunk-TV45EUGM.js";
23
+ export {
24
+ addressRefusal,
25
+ asTheApp,
26
+ atProvidersOwnAddress,
27
+ confirmedAddress,
28
+ guardModelAddress,
29
+ recordConfirmedAddress,
30
+ requireConfirmedModel,
31
+ servingTheApp,
32
+ whereKeyGoes,
33
+ whoStarts
34
+ };
@@ -15,29 +15,33 @@ import {
15
15
  changeReturn,
16
16
  changeStatus,
17
17
  changeSync,
18
+ handoffPrStep,
18
19
  handoffPublisherFor,
19
- parseOwners
20
- } from "./chunk-COYN3UAN.js";
21
- import "./chunk-LQH4P45K.js";
22
- import "./chunk-BEPCKDCP.js";
23
- import "./chunk-HWD4JPU7.js";
24
- import "./chunk-5WERBKLE.js";
20
+ parseOwners,
21
+ syncAfterManualStep
22
+ } from "./chunk-V7PEHQZU.js";
23
+ import "./chunk-73CC73I4.js";
25
24
  import "./chunk-VOGCSYOI.js";
26
- import "./chunk-K332XW7K.js";
27
- import "./chunk-HSZMPH5T.js";
28
- import "./chunk-D2WSW4GU.js";
29
- import "./chunk-4KNOJC6J.js";
30
- import "./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-XOL3GFW2.js";
37
- import "./chunk-QHJJMZLX.js";
38
- import "./chunk-7AB6OWTV.js";
39
- import "./chunk-PAINMSID.js";
40
- import "./chunk-ODMBPDDV.js";
25
+ import "./chunk-MLGWSBF4.js";
26
+ import "./chunk-CA3DKO4D.js";
27
+ import "./chunk-D6BVLTDV.js";
28
+ import "./chunk-RCG5IAAT.js";
29
+ import "./chunk-WZYM5M4U.js";
30
+ import "./chunk-NC755EKE.js";
31
+ import "./chunk-FL344WQD.js";
32
+ import "./chunk-IKAW2KJU.js";
33
+ import "./chunk-CZ2ZS7AT.js";
34
+ import "./chunk-4GAB5ZOZ.js";
35
+ import "./chunk-A4JXVO5O.js";
36
+ import "./chunk-TDSCKP3V.js";
37
+ import "./chunk-G6EFXTUO.js";
38
+ import "./chunk-PQQKZPBU.js";
39
+ import "./chunk-3EWKO457.js";
40
+ import "./chunk-3424TLIJ.js";
41
+ import "./chunk-QA4O2GGC.js";
42
+ import "./chunk-FPBUTZI5.js";
43
+ import "./chunk-B4AEL3RF.js";
44
+ import "./chunk-BQGDB6ZL.js";
41
45
  import "./chunk-TV45EUGM.js";
42
46
  export {
43
47
  captureLine,
@@ -51,6 +55,8 @@ export {
51
55
  changeReturn,
52
56
  changeStatus,
53
57
  changeSync,
58
+ handoffPrStep,
54
59
  handoffPublisherFor,
55
- parseOwners
60
+ parseOwners,
61
+ syncAfterManualStep
56
62
  };
@@ -6,7 +6,7 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  loadRepos,
8
8
  readChangeRepos
9
- } from "./chunk-XOL3GFW2.js";
9
+ } from "./chunk-3EWKO457.js";
10
10
  import {
11
11
  AssistantId,
12
12
  RecordId,
@@ -15,13 +15,15 @@ import {
15
15
  external_exports,
16
16
  factsJsonSchemas,
17
17
  loadOrgPack,
18
- orgPackDirOf,
19
- require_dist
20
- } from "./chunk-PAINMSID.js";
18
+ orgPackDirOf
19
+ } from "./chunk-FPBUTZI5.js";
21
20
  import {
22
21
  ensureLocalIgnore,
23
22
  renameRetrying
24
- } from "./chunk-ODMBPDDV.js";
23
+ } from "./chunk-B4AEL3RF.js";
24
+ import {
25
+ require_dist
26
+ } from "./chunk-BQGDB6ZL.js";
25
27
  import {
26
28
  __toESM
27
29
  } from "./chunk-TV45EUGM.js";
@@ -315,7 +317,7 @@ var FACT_RULE_PARTS = [
315
317
  [
316
318
  {
317
319
  when: ["routes", "frontend"],
318
- text: "An entry's `path` is the full path a caller uses: class-level and group prefixes, and a context or base path the code or config sets (`server.servlet.context-path`, `UsePathBase`), joined; record that base as a `config` fact too. A route served as HTML (a server-rendered page or form post) is `entryType: rest` with its method, and so is a route that receives webhooks; `screen` is for a front end's own routes."
320
+ text: "An entry's `path` is the full path a caller uses: class-level and group prefixes, and a context or base path the code or config sets (`server.servlet.context-path`, `UsePathBase`), joined; record each such setting as a `config` fact too, its whole key and value as written (`server.servlet.context-path`, `spring.mvc.servlet.path`, `spring.webflux.base-path`), whether or not the entries' paths include it. A route served as HTML (a server-rendered page or form post) is `entryType: rest` with its method, and so is a route that receives webhooks; `screen` is for a front end's own routes."
319
321
  },
320
322
  {
321
323
  when: ["routes", "protocols", "gateway"],
@@ -474,7 +476,7 @@ var FACT_RULE_PARTS = [
474
476
  [
475
477
  {
476
478
  when: ["gateway"],
477
- text: "An Apigee proxy (`apiproxy/`): each conditional `<Flow>` is a `rest` entry, `method` from `request.verb` (`ANY` without one), `path` the `<BasePath>` and the `proxy.pathsuffix` pattern joined, each `*` a parameter (`/forge/v1/accounts/{id}`), `handler` `<proxy>/<flow>`, cited on the `<Condition>` with the `<BasePath>` line in `cite.with`; a proxy with no conditional flow is one `ANY` entry at `<BasePath>/**`."
479
+ text: "An Apigee proxy (`apiproxy/`): each conditional `<Flow>` is a `rest` entry, `method` from `request.verb` (`ANY` without one), `path` the `<BasePath>` and the `proxy.pathsuffix` pattern joined, each `*` a parameter (`/forge/v1/accounts/{id}`), `handler` `<proxy>/<flow>`, cited on the `<Condition>` with the `<BasePath>` line in `cite.with`; a proxy with no conditional flow is one `ANY` entry at `<BasePath>/**` cited on the `<BasePath>` line, its forwarding call's `path` `/**` (the target's `<Path>` or `<URL>` path before it, if it has one) cited on the target's `<URL>` line or the `<RouteRule>` line, the `<Server>` line in `cite.with`."
478
480
  },
479
481
  {
480
482
  when: ["gateway"],
@@ -482,7 +484,7 @@ var FACT_RULE_PARTS = [
482
484
  },
483
485
  {
484
486
  when: ["gateway"],
485
- text: "Each route has a forwarding `call` (`from` the entry, no `to`) to its `RouteRule`'s target. Its `path` is what the service receives: the target's `<Path>` and the suffix (base path dropped), or, when `target.copy.pathsuffix` is false or an AssignMessage or JavaScript policy sets the path, the path set there. Cite it where the path comes from (the rewrite, else the `<Condition>`), with the target's `<Server>` or `<URL>` line and the rewrite's other lines in `cite.with`. `base` is the TargetServer's name (or the KVM key), with a `config` fact of that `key` whose `value` is its host, cited on the host line; a `<URL>`'s host goes in `host`."
487
+ text: "Each route has a forwarding `call` (`from` the entry, no `to`) to its `RouteRule`'s target. Its `path` is what the service receives: the target's `<Path>` and the suffix (base path dropped), or, when `target.copy.pathsuffix` is false or an AssignMessage or JavaScript policy sets the path, the path set there. Cite it where the path comes from (the rewrite, else the `<Condition>`), with the target's `<Server>` or `<URL>` line and the rewrite's other lines in `cite.with`. `base` is the TargetServer's name (or the KVM key), with a `config` fact of that `key` whose `value` is its host, cited on the host line; a `<URL>`'s host goes in `host`. Where you can't put the path together, it is the target's `<URL>` or `<Path>` path as written: Apigee adds each route's suffix after it, and so does the join. `target.copy.pathsuffix` set false is a `config` fact (`key` `target.copy.pathsuffix`, `value` `false`, `target` the proxy) cited on the line that sets it: an `<AssignVariable>`'s `<Name>` line, a JavaScript policy's `context.setVariable`."
486
488
  },
487
489
  {
488
490
  when: ["gateway"],
@@ -547,7 +549,7 @@ var FACT_RULE_PARTS = [
547
549
  [
548
550
  {
549
551
  when: ["backend", "frontend", "deploy", "config"],
550
- text: "A config fact's `key` is written as it appears on its line (the last part of a YAML path, a `:` or `__` key, or a flag is enough: `path` for `livenessProbe.httpGet.path`)."
552
+ text: "A config fact's `key` is the setting's full name: a YAML or properties key's whole dotted path (`gateway.url`, `livenessProbe.httpGet.path`, not `url` or `path`), a `:` or `__` key as written, or a flag; two settings in one file never share a key."
551
553
  },
552
554
  {
553
555
  when: ["deploy", "config"],
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
 
7
7
  // packages/cli/dist/version.js
8
- var VERSION = "2.0.0-beta.21";
8
+ var VERSION = "2.0.0-beta.23";
9
9
  function versionAtLeast(v, min) {
10
10
  const a = v.replace(/^v/, "").split(/[.+-]/).map(Number);
11
11
  const b = min.split(".").map(Number);
@@ -0,0 +1,384 @@
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
+ generateTests,
8
+ matrixCsv,
9
+ matrixMarkdown,
10
+ traceMatrix,
11
+ writeTraceFindings
12
+ } from "./chunk-EMVZIOOD.js";
13
+ import {
14
+ table
15
+ } from "./chunk-VOGCSYOI.js";
16
+ import {
17
+ DriftError,
18
+ SNIPPET_KINDS,
19
+ archiveGate,
20
+ driftExitCode,
21
+ driftJUnit,
22
+ driftJson,
23
+ driftMarkdown,
24
+ pipelineSnippet,
25
+ repoDrift
26
+ } from "./chunk-ZR6J4QFQ.js";
27
+ import {
28
+ GlossaryError,
29
+ aliasDecision,
30
+ completeGlossaryDefinitions,
31
+ defineDecision,
32
+ linkDecision,
33
+ loadGlossary,
34
+ resolveTermId,
35
+ scanGlossary,
36
+ writeDecisions
37
+ } from "./chunk-IKAW2KJU.js";
38
+ import {
39
+ createGit
40
+ } from "./chunk-3EWKO457.js";
41
+ import {
42
+ runtimeForCli
43
+ } from "./chunk-3424TLIJ.js";
44
+
45
+ // packages/cli/dist/quality-commands.js
46
+ import { appendFile, mkdir, writeFile } from "node:fs/promises";
47
+ import { dirname, join } from "node:path";
48
+ var KNOWN = /* @__PURE__ */ new Set([
49
+ "TestgenError",
50
+ "PlannerError",
51
+ "ChangeError",
52
+ "ChangeFileError",
53
+ "GlossaryError",
54
+ "RuntimeConfigError"
55
+ ]);
56
+ function fail(io, e) {
57
+ if (e instanceof Error && KNOWN.has(e.name)) {
58
+ io.err(e.message);
59
+ return e.code === "invalid" ? 2 : 1;
60
+ }
61
+ throw e;
62
+ }
63
+ var iso = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");
64
+ var lines = (io, text) => {
65
+ for (const l of text.trimEnd().split("\n"))
66
+ io.out(l);
67
+ };
68
+ var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
69
+ async function runtimeOf(root, mode, deps) {
70
+ if (deps.runtime)
71
+ return deps.runtime;
72
+ if (!mode && !process.env.ATTICUS_RUNTIME)
73
+ return void 0;
74
+ return (await runtimeForCli(root, mode ? { mode } : {})).runtime;
75
+ }
76
+ async function testsGenerate(root, changeId, storyId, o, io, deps = {}) {
77
+ if (!changeId || !storyId) {
78
+ io.err("Usage: atticus tests generate <change> <story> [--framework <id>] [--force] [--check] [--mode <mode>] [--json]");
79
+ return 2;
80
+ }
81
+ try {
82
+ const runtime = await runtimeOf(root, o.mode, deps);
83
+ const r = await generateTests(root, changeId, storyId, {
84
+ ...o.framework ? { framework: o.framework } : {},
85
+ ...o.force ? { force: true } : {},
86
+ ...o.check ? { check: true } : {},
87
+ ...o.resume ? { resume: o.resume } : {},
88
+ ...runtime ? { runtime } : {},
89
+ now: deps.now?.() ?? /* @__PURE__ */ new Date()
90
+ });
91
+ const kept = r.files.filter((f) => f.action === "kept-edited" || f.action === "kept-not-generated");
92
+ if (o.json) {
93
+ io.out(JSON.stringify({
94
+ change: r.change,
95
+ story: r.story,
96
+ strategy: r.model.strategy,
97
+ kinds: r.model.kinds,
98
+ names: r.names.by,
99
+ ...r.names.waiting ? { waiting: r.names.waiting } : {},
100
+ files: r.files,
101
+ manifest: r.manifest,
102
+ notes: r.notes,
103
+ gaps: r.gaps
104
+ }, null, 2));
105
+ return kept.length ? 1 : 0;
106
+ }
107
+ const count = (a) => r.files.filter((f) => f.action === a).length;
108
+ const cases = r.model.repos.reduce((n, x) => n + x.cases.length, 0);
109
+ 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` : ""}.`);
110
+ for (const l of table(["ACTION", "REPO", "FRAMEWORK", "FILE"], r.files.map((f) => [f.action, f.repo || "-", f.generator, f.path])))
111
+ io.out(l);
112
+ for (const k of r.model.kinds.filter((x) => !x.generated))
113
+ io.out(`No ${k.type} tests: ${k.why}`);
114
+ for (const n of r.notes)
115
+ io.out(n);
116
+ for (const g of r.gaps)
117
+ io.out(`Gap: ${g}`);
118
+ if (r.names.waiting)
119
+ 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}`);
120
+ if (!o.check)
121
+ io.out(`Manifest: ${r.manifest}`);
122
+ return kept.length ? 1 : 0;
123
+ } catch (e) {
124
+ return fail(io, e);
125
+ }
126
+ }
127
+ async function traceCommand(root, changeId, o, io, deps = {}) {
128
+ if (!changeId) {
129
+ io.err("Usage: atticus trace <change> [--json | --csv] [--no-write]");
130
+ return 2;
131
+ }
132
+ try {
133
+ const m = await traceMatrix(root, changeId, { git: deps.git ?? createGit() });
134
+ for (const p of m.problems)
135
+ io.err(p);
136
+ const w = o.write === false ? void 0 : await writeTraceFindings(root, m, iso(deps.now?.() ?? /* @__PURE__ */ new Date()));
137
+ if (o.json)
138
+ io.out(JSON.stringify({ ...m, ...w ? { round: w.round ?? null } : {} }, null, 2));
139
+ else if (o.csv)
140
+ lines(io, matrixCsv(m));
141
+ else {
142
+ lines(io, matrixMarkdown(m));
143
+ if (w)
144
+ 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}/.`);
145
+ }
146
+ return m.gaps.some((g) => g.kind !== "test-without-requirement") ? 1 : 0;
147
+ } catch (e) {
148
+ return fail(io, e);
149
+ }
150
+ }
151
+ async function ciDrift(repoDir, o, io, deps = {}) {
152
+ if (!o.catalog) {
153
+ io.err("Usage: atticus ci drift [repo-dir] --catalog <metarepo or catalog folder> [--repo <id>] [--json [file]] [--junit <file>] [--summary <file>] [--warn-only]");
154
+ return 2;
155
+ }
156
+ try {
157
+ const r = await repoDrift({
158
+ repoDir,
159
+ catalog: o.catalog,
160
+ ...o.repo ? { repo: o.repo } : {},
161
+ ...o.warnOnly ? { warnOnly: true } : {},
162
+ ...deps.commit ? { commit: deps.commit } : {},
163
+ ...deps.git ? { git: deps.git } : {}
164
+ });
165
+ const put = async (file, text) => {
166
+ await mkdir(dirname(file), { recursive: true });
167
+ await writeFile(file, text, "utf8");
168
+ };
169
+ if (typeof o.json === "string")
170
+ await put(o.json, driftJson(r));
171
+ if (o.junit)
172
+ await put(o.junit, driftJUnit(r));
173
+ if (o.summary) {
174
+ await mkdir(dirname(o.summary), { recursive: true });
175
+ await appendFile(o.summary, driftMarkdown(r), "utf8");
176
+ }
177
+ if (o.json === true)
178
+ io.out(driftJson(r).trimEnd());
179
+ else
180
+ lines(io, driftMarkdown(r));
181
+ return driftExitCode(r);
182
+ } catch (e) {
183
+ if (e instanceof DriftError) {
184
+ io.err(e.message);
185
+ return 2;
186
+ }
187
+ throw e;
188
+ }
189
+ }
190
+ async function ciSnippet(kind, io, o = {}) {
191
+ const s = kind ? pipelineSnippet(kind) : void 0;
192
+ if (!s) {
193
+ io.err(`Usage: atticus ci snippet <${SNIPPET_KINDS.join("|")}> [--write <repo-dir>]`);
194
+ return 2;
195
+ }
196
+ if (o.write) {
197
+ const file = join(o.write, ...s.path.split("/"));
198
+ await mkdir(dirname(file), { recursive: true });
199
+ await writeFile(file, s.content, "utf8");
200
+ io.out(`Wrote ${s.path}. Set the variables its first lines name, then commit it.`);
201
+ return 0;
202
+ }
203
+ lines(io, s.content);
204
+ return 0;
205
+ }
206
+ async function ciArchiveGate(root, changeId, o, io, deps = {}) {
207
+ if (!changeId) {
208
+ io.err("Usage: atticus ci archive-gate <change> [--drift <report.json>...] [--json]");
209
+ return 2;
210
+ }
211
+ let r;
212
+ try {
213
+ r = await archiveGate(root, changeId, {
214
+ ...o.drift?.length ? { driftReports: o.drift } : {},
215
+ ...deps.commit ? { commit: deps.commit } : {}
216
+ });
217
+ } catch (e) {
218
+ if (e instanceof Error && e.name === "ChangeFileError") {
219
+ io.err(e.message);
220
+ return 2;
221
+ }
222
+ throw e;
223
+ }
224
+ if (o.json)
225
+ io.out(JSON.stringify(r, null, 2));
226
+ else {
227
+ 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 (${plural(r.blockers.length, "blocker")}):`);
228
+ for (const b of r.blockers)
229
+ io.out(`- ${b.message}`);
230
+ for (const n of r.notes)
231
+ io.out(n);
232
+ }
233
+ return r.pass ? 0 : 1;
234
+ }
235
+ var short = (s, n = 70) => s.length <= n ? s : `${s.slice(0, n - 3)}...`;
236
+ var sourceOf = (flags, confidence) => confidence === "asserted" ? "person" : flags?.includes("ai-proposed") ? "ai" : flags?.includes("undefined") ? "code" : "wiki";
237
+ async function glossaryList(root, o, io) {
238
+ const g = await loadGlossary(root);
239
+ for (const p of g.problems)
240
+ io.err(p);
241
+ if (o.json) {
242
+ io.out(JSON.stringify({
243
+ terms: g.terms,
244
+ conflicts: g.build.conflicts,
245
+ hints: g.build.hints,
246
+ synonyms: Object.fromEntries(g.build.entries.filter((e) => e.aliases.length).map((e) => [e.id, e.aliases]))
247
+ }, null, 2));
248
+ return 0;
249
+ }
250
+ if (!g.terms.length) {
251
+ io.out("The glossary is empty: no wiki page defines a term and the catalog has no domain words yet.");
252
+ return 0;
253
+ }
254
+ for (const l of table(["TERM", "ID", "FROM", "FLAGS", "DEFINITION"], g.terms.map((t) => [
255
+ t.term,
256
+ t.id,
257
+ sourceOf(t.flags, t.confidence),
258
+ (t.flags ?? []).join(","),
259
+ short(t.definition)
260
+ ])))
261
+ io.out(l);
262
+ io.out(`${plural(g.terms.length, "term")}, ${plural(g.build.conflicts.filter((c) => !c.resolved).length, "conflict")}.`);
263
+ return 0;
264
+ }
265
+ async function glossaryScan(root, o, io, deps = {}) {
266
+ try {
267
+ const runtime = await runtimeOf(root, o.mode, deps);
268
+ const r = await scanGlossary(root, {
269
+ ...runtime ? { runtime } : {},
270
+ ...deps.now ? { now: deps.now() } : {}
271
+ });
272
+ if (o.json) {
273
+ for (const p of r.problems)
274
+ io.err(p);
275
+ io.out(JSON.stringify({
276
+ terms: r.terms.length,
277
+ written: r.written,
278
+ removed: r.removed,
279
+ conflicts: r.build.conflicts,
280
+ hints: r.build.hints,
281
+ ...r.propose ? { proposals: r.propose.proposals.length, discarded: r.propose.discarded } : {}
282
+ }, null, 2));
283
+ return 0;
284
+ }
285
+ printGlossaryScan(r, io);
286
+ return 0;
287
+ } catch (e) {
288
+ return fail(io, e);
289
+ }
290
+ }
291
+ function printGlossaryScan(r, io) {
292
+ for (const p of r.problems)
293
+ io.err(p);
294
+ const open = r.build.conflicts.filter((c) => !c.resolved);
295
+ 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.`);
296
+ if (r.propose)
297
+ 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).`);
298
+ for (const d of r.propose?.discarded ?? [])
299
+ if (d.term && !r.propose?.waiting)
300
+ io.err(`Discarded ${d.term}: ${d.reason}`);
301
+ for (const c of open)
302
+ io.out(`Conflict: ${c.message}`);
303
+ for (const h of r.build.hints)
304
+ io.out(`Naming: ${h.message}`);
305
+ }
306
+ async function completeGlossaryScan(root, run, io, deps = {}) {
307
+ try {
308
+ const r = await completeGlossaryDefinitions(root, run, deps.now ? { now: deps.now } : {});
309
+ printGlossaryScan(r, io);
310
+ return 0;
311
+ } catch (e) {
312
+ return fail(io, e);
313
+ }
314
+ }
315
+ async function decide(root, io, make, said) {
316
+ try {
317
+ const g = await loadGlossary(root);
318
+ const ds = make(g);
319
+ const files = await writeDecisions(join(g.catalogDir, "curated"), ds);
320
+ await scanGlossary(root);
321
+ io.out(`Wrote ${files.map((f) => `catalog/curated/${f}`).join(" and ")}: ${said}. Commit it so every scan keeps it.`);
322
+ return 0;
323
+ } catch (e) {
324
+ if (e instanceof GlossaryError) {
325
+ io.err(e.message);
326
+ return e.code === "invalid" ? 2 : 1;
327
+ }
328
+ throw e;
329
+ }
330
+ }
331
+ async function glossaryDefine(root, term, definition, o, io) {
332
+ if (!term || !definition || !o.by) {
333
+ io.err('Usage: atticus glossary define <term> "<definition>" [--by <handle>] [--owner <team>]');
334
+ return 2;
335
+ }
336
+ return decide(root, io, (g) => {
337
+ const existing = g.terms.find((t) => t.id === resolveTermId(term));
338
+ return [
339
+ defineDecision(term, definition, {
340
+ by: o.by,
341
+ ...o.owner ? { owner: o.owner } : {},
342
+ ...existing ? { existing } : {}
343
+ })
344
+ ];
345
+ }, `${resolveTermId(term)} is defined and asserted`);
346
+ }
347
+ async function glossaryLink(root, term, recordId, o, io) {
348
+ if (!term || !recordId || !o.by) {
349
+ io.err("Usage: atticus glossary link <term> <record-id | schema#field> [--by <handle>]");
350
+ return 2;
351
+ }
352
+ return decide(root, io, (g) => {
353
+ const id = resolveTermId(term);
354
+ const t = g.terms.find((x) => x.id === id);
355
+ if (!t)
356
+ throw new GlossaryError("not-found", `There is no term ${id}. Define it first: atticus glossary define`);
357
+ return [linkDecision(t, recordId, g.base, { by: o.by })];
358
+ }, `${recordId} is linked to ${resolveTermId(term)}`);
359
+ }
360
+ async function glossaryAlias(root, term, names, o, io) {
361
+ if (!term || !names.length || !o.by) {
362
+ io.err('Usage: atticus glossary alias <term> "<other name>"... [--by <handle>]');
363
+ return 2;
364
+ }
365
+ return decide(root, io, (g) => {
366
+ const id = resolveTermId(term);
367
+ const before = g.build.entries.find((e) => e.id === id)?.aliases ?? [];
368
+ return [aliasDecision(id, [...before, ...names], { by: o.by })];
369
+ }, `${names.join(", ")} ${names.length === 1 ? "is another name" : "are other names"} for ${resolveTermId(term)}`);
370
+ }
371
+
372
+ export {
373
+ testsGenerate,
374
+ traceCommand,
375
+ ciDrift,
376
+ ciSnippet,
377
+ ciArchiveGate,
378
+ glossaryList,
379
+ glossaryScan,
380
+ completeGlossaryScan,
381
+ glossaryDefine,
382
+ glossaryLink,
383
+ glossaryAlias
384
+ };
@@ -5,16 +5,19 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  quantize
8
- } from "./chunk-QHJJMZLX.js";
8
+ } from "./chunk-3424TLIJ.js";
9
+ import "./chunk-QA4O2GGC.js";
9
10
  import {
10
11
  Runtime,
11
12
  external_exports,
12
13
  orgPackDirOf,
13
14
  readTarGz,
14
- require_dist,
15
15
  retrievalOf
16
- } from "./chunk-PAINMSID.js";
17
- import "./chunk-ODMBPDDV.js";
16
+ } from "./chunk-FPBUTZI5.js";
17
+ import "./chunk-B4AEL3RF.js";
18
+ import {
19
+ require_dist
20
+ } from "./chunk-BQGDB6ZL.js";
18
21
  import {
19
22
  __toESM
20
23
  } from "./chunk-TV45EUGM.js";
@@ -341,7 +344,12 @@ function installedModelDir() {
341
344
  var embeddingsOffByEnv = () => process.env.ATTICUS_EMBEDDINGS === "off";
342
345
  async function settingsOf(root) {
343
346
  const text = await readFile2(join2(orgPackDirOf(root), "runtime.yaml"), "utf8").catch(() => void 0);
344
- const raw = text ? (0, import_yaml2.parse)(text) : void 0;
347
+ let raw;
348
+ try {
349
+ raw = text ? (0, import_yaml2.parse)(text) : void 0;
350
+ } catch {
351
+ raw = void 0;
352
+ }
345
353
  const r = raw === void 0 ? void 0 : Runtime.safeParse(raw);
346
354
  const e = retrievalOf(r?.success ? r.data : void 0).embeddings;
347
355
  const said = raw?.retrieval?.embeddings?.model;
@@ -0,0 +1,63 @@
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
+ READS_AS_RULE,
8
+ dataBlock,
9
+ draftPrompt,
10
+ missedOf,
11
+ rulesAddCommand,
12
+ rulesDraftCommand,
13
+ rulesImportCommand,
14
+ rulesListCommand,
15
+ rulesNotesCommand,
16
+ rulesSetCommand,
17
+ rulesTryCommand,
18
+ scopeFile,
19
+ tryDiff
20
+ } from "./chunk-DSHRA72L.js";
21
+ import "./chunk-66AQ2JIU.js";
22
+ import "./chunk-L3RCQWVQ.js";
23
+ import "./chunk-TXNSQ24G.js";
24
+ import "./chunk-PXW2RZGQ.js";
25
+ import "./chunk-EHXDB3SA.js";
26
+ import "./chunk-IMZFOMVX.js";
27
+ import "./chunk-CT6NINGR.js";
28
+ import "./chunk-K4RNVDR4.js";
29
+ import "./chunk-ZLQEQR3D.js";
30
+ import "./chunk-OPWGPQ2N.js";
31
+ import "./chunk-73GFVW2L.js";
32
+ import "./chunk-XOMEQVLK.js";
33
+ import "./chunk-J4CPHJUL.js";
34
+ import "./chunk-IKAW2KJU.js";
35
+ import "./chunk-CZ2ZS7AT.js";
36
+ import "./chunk-4GAB5ZOZ.js";
37
+ import "./chunk-A4JXVO5O.js";
38
+ import "./chunk-TDSCKP3V.js";
39
+ import "./chunk-G6EFXTUO.js";
40
+ import "./chunk-PQQKZPBU.js";
41
+ import "./chunk-JFFKHIM6.js";
42
+ import "./chunk-3EWKO457.js";
43
+ import "./chunk-3424TLIJ.js";
44
+ import "./chunk-QA4O2GGC.js";
45
+ import "./chunk-FPBUTZI5.js";
46
+ import "./chunk-B4AEL3RF.js";
47
+ import "./chunk-BQGDB6ZL.js";
48
+ import "./chunk-TV45EUGM.js";
49
+ export {
50
+ READS_AS_RULE,
51
+ dataBlock,
52
+ draftPrompt,
53
+ missedOf,
54
+ rulesAddCommand,
55
+ rulesDraftCommand,
56
+ rulesImportCommand,
57
+ rulesListCommand,
58
+ rulesNotesCommand,
59
+ rulesSetCommand,
60
+ rulesTryCommand,
61
+ scopeFile,
62
+ tryDiff
63
+ };