@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.
- package/dist/bin.js +12 -7
- package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
- package/dist/{chunk-PRW3HXM3.js → chunk-27AJAKX7.js} +29 -5
- package/dist/{chunk-PQH56YF6.js → chunk-2QPJ4E4Z.js} +6 -4
- package/dist/{chunk-7CZHUZBL.js → chunk-2UMSHYCB.js} +38 -27
- package/dist/{chunk-2V2ZPQQU.js → chunk-2WUTCPPJ.js} +9 -7
- package/dist/{chunk-YF5DZCPN.js → chunk-2YSD6E6V.js} +38 -34
- package/dist/{chunk-QHJJMZLX.js → chunk-3424TLIJ.js} +204 -97
- package/dist/{chunk-62DLJSLV.js → chunk-3ASYYMOX.js} +10 -8
- package/dist/{chunk-XOL3GFW2.js → chunk-3EWKO457.js} +111 -43
- package/dist/{chunk-G5YJBNDZ.js → chunk-3EX5HCZD.js} +8 -6
- package/dist/{chunk-WFU77T3A.js → chunk-3MYBT62N.js} +5 -5
- package/dist/{chunk-6EXDI5GI.js → chunk-3UHV76UD.js} +72 -41
- package/dist/{chunk-LU4MQVAL.js → chunk-3ZA3AK2D.js} +11 -10
- package/dist/{chunk-P2VBXX7N.js → chunk-4ETO2FXE.js} +11 -9
- package/dist/{chunk-GK4PYVEC.js → chunk-4FLNCK6Q.js} +31 -14
- package/dist/{chunk-64AADMTW.js → chunk-4GAB5ZOZ.js} +943 -336
- package/dist/{chunk-FLVZFTLQ.js → chunk-4MYHETJ3.js} +20 -18
- package/dist/chunk-4R3TO4VL.js +94 -0
- package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
- package/dist/chunk-5MYE42AP.js +43 -0
- package/dist/chunk-5O7U67UA.js +57 -0
- package/dist/{chunk-MZGRDONP.js → chunk-5OXKCH4Z.js} +54 -37
- package/dist/{chunk-PUEWDYGP.js → chunk-5VTIWEWP.js} +3 -2
- package/dist/{chunk-3G6S7LAA.js → chunk-63NFFAGI.js} +14 -12
- package/dist/{chunk-LIJJCBQI.js → chunk-66AQ2JIU.js} +15 -16
- package/dist/chunk-6JVPBGQG.js +50 -0
- package/dist/{chunk-WAZEXEJH.js → chunk-6NCPLIIP.js} +167 -2
- package/dist/{chunk-D57MFJPP.js → chunk-6NN36LVK.js} +3 -3
- package/dist/{chunk-G6IQYM25.js → chunk-6R5VHR3N.js} +8 -6
- package/dist/{chunk-Z3QFH7YG.js → chunk-6RQOINER.js} +5 -4
- package/dist/{chunk-TQTRWENN.js → chunk-6RYB3EET.js} +14 -12
- package/dist/{chunk-FYBF5MB2.js → chunk-6SNTHK43.js} +13 -11
- package/dist/{chunk-FRHD22WM.js → chunk-6Y4FXOMI.js} +27 -23
- package/dist/{chunk-LWDNKE4X.js → chunk-6ZFF7XSL.js} +6 -6
- package/dist/{chunk-FQ6WH6PB.js → chunk-6ZSYLZ7O.js} +6 -4
- package/dist/{chunk-LQH4P45K.js → chunk-73CC73I4.js} +1 -1
- package/dist/{chunk-Q46QDDMF.js → chunk-73GFVW2L.js} +14 -9
- package/dist/{chunk-QKMRFNMA.js → chunk-73V2OONC.js} +17 -15
- package/dist/{chunk-FVMPFCDS.js → chunk-75OMRKY2.js} +4 -4
- package/dist/{chunk-XEQCQO66.js → chunk-7IFTSAHP.js} +10 -8
- package/dist/{chunk-4FOAYLI4.js → chunk-7K5OH45X.js} +139 -17
- package/dist/{chunk-3SSTNB4E.js → chunk-7NQAGYK4.js} +34 -14
- package/dist/{chunk-URIKUID7.js → chunk-7XWJ6ED2.js} +14 -12
- package/dist/{chunk-TYD6I4CZ.js → chunk-7XYLNQFO.js} +7 -7
- package/dist/{chunk-BPPU3PW7.js → chunk-7YQBDE5W.js} +10 -4
- package/dist/{chunk-CPK7QSBG.js → chunk-A4JXVO5O.js} +8 -6
- package/dist/{chunk-YJ3TBOTK.js → chunk-AFBCNZRZ.js} +29 -26
- package/dist/{chunk-TW3KOSQK.js → chunk-AGOLEMHK.js} +13 -13
- package/dist/chunk-AHFQHPFF.js +49 -0
- package/dist/{chunk-NTAVOWYD.js → chunk-APDN6UOR.js} +118 -18
- package/dist/chunk-AQRUQNFB.js +322 -0
- package/dist/{chunk-KYZMRSPS.js → chunk-AVMWESFZ.js} +6 -3
- package/dist/chunk-B4AEL3RF.js +1011 -0
- package/dist/{chunk-GS76RXQE.js → chunk-BAY4K55I.js} +15 -12
- package/dist/{chunk-4CLK2RJO.js → chunk-BFL4PO64.js} +9 -7
- package/dist/{chunk-GCS3FZOB.js → chunk-BFMTGNAQ.js} +15 -4
- package/dist/{chunk-YBOVNMHC.js → chunk-BP33TBLI.js} +29 -16
- package/dist/chunk-BQGDB6ZL.js +7342 -0
- package/dist/{chunk-BXZ4PKIT.js → chunk-BUUJ7N4O.js} +15 -11
- package/dist/{chunk-HGHRSF3E.js → chunk-BYBU2EIB.js} +38 -19
- package/dist/{chunk-TQ4TG57V.js → chunk-C6ORPLCN.js} +4 -4
- package/dist/{chunk-HWD4JPU7.js → chunk-CA3DKO4D.js} +27 -3
- package/dist/{chunk-YTTNTQOX.js → chunk-CFUDAW3R.js} +17 -15
- package/dist/{chunk-OPQZISG3.js → chunk-CJEBRJBS.js} +5 -4
- package/dist/{chunk-RALY3E5U.js → chunk-CKVBDVIW.js} +6 -4
- package/dist/{chunk-DUPZPDCJ.js → chunk-CMB7FXHJ.js} +42 -16
- package/dist/{chunk-YIGBJNH4.js → chunk-CQ7RF4QN.js} +5 -4
- package/dist/{chunk-YAH5IQAL.js → chunk-CS4BMJLL.js} +6 -5
- package/dist/{chunk-455SYIIE.js → chunk-CT6NINGR.js} +5 -3
- package/dist/chunk-CXTG6AWM.js +40 -0
- package/dist/{chunk-JYMIB5XY.js → chunk-CZ2ZS7AT.js} +170 -45
- package/dist/{chunk-K332XW7K.js → chunk-D6BVLTDV.js} +100 -33
- package/dist/chunk-DCRYOMTM.js +37 -0
- package/dist/{chunk-G6X4YL4D.js → chunk-DHKDH464.js} +5 -4
- package/dist/{chunk-JRVNXLZP.js → chunk-DSHRA72L.js} +14 -12
- package/dist/{chunk-LNWEWYCM.js → chunk-E3PDCQRH.js} +2813 -621
- package/dist/chunk-EHXDB3SA.js +25 -0
- package/dist/{chunk-EZIN5E5B.js → chunk-EMVZIOOD.js} +11 -9
- package/dist/{chunk-IFHDV6KQ.js → chunk-ENH6Z4TY.js} +21 -20
- package/dist/{chunk-YKTE2RU3.js → chunk-EVTI22PQ.js} +7 -2
- package/dist/{chunk-2D7PWSOK.js → chunk-EXJZBL5N.js} +22 -20
- package/dist/{chunk-77O633L5.js → chunk-FBCVC2GJ.js} +14 -12
- package/dist/{chunk-HS4BGB4G.js → chunk-FJVUHQPS.js} +37 -24
- package/dist/{chunk-4KNOJC6J.js → chunk-FL344WQD.js} +270 -221
- package/dist/{chunk-GNWAOVFQ.js → chunk-FMJYKLDY.js} +5 -5
- package/dist/chunk-FMR2D3AZ.js +41 -0
- package/dist/{chunk-PAINMSID.js → chunk-FPBUTZI5.js} +3102 -7859
- package/dist/{chunk-ZOSD4FXV.js → chunk-FQVSLBTV.js} +3 -3
- package/dist/chunk-FRAEQVYN.js +52 -0
- package/dist/{chunk-UDXWIPCB.js → chunk-FRCOKUU4.js} +9 -7
- package/dist/{chunk-UYLBRRFK.js → chunk-FSN6JFXB.js} +129 -27
- package/dist/{chunk-BC6KKZ67.js → chunk-FTLYXMHA.js} +9 -6
- package/dist/{chunk-FAJDKNSD.js → chunk-FVYZ4Y52.js} +16 -3
- package/dist/{chunk-TWQRPM76.js → chunk-G6EFXTUO.js} +23 -16
- package/dist/{chunk-ZFQMMU5Y.js → chunk-G7VBMOZH.js} +6 -2
- package/dist/{chunk-VYOCPTUB.js → chunk-GM4EFHUX.js} +17 -15
- package/dist/chunk-GOZLTLRY.js +232 -0
- package/dist/chunk-GPNMSX5H.js +36 -0
- package/dist/{chunk-OZJ3JLYI.js → chunk-GUGQSIQM.js} +10 -9
- package/dist/chunk-H4VO6WG3.js +10 -0
- package/dist/{chunk-QJCJOMW3.js → chunk-HJQVUOUL.js} +16 -18
- package/dist/chunk-HMWJWYE2.js +31 -0
- package/dist/{chunk-4TKVU2I2.js → chunk-HMZ2DRBC.js} +2 -2
- package/dist/{chunk-HK3VOHIE.js → chunk-HRS5O7VV.js} +609 -171
- package/dist/{chunk-7FUIVIBG.js → chunk-HUGQZQ2K.js} +13 -8
- package/dist/{chunk-QOOEYDNJ.js → chunk-ICBGVVRI.js} +10 -10
- package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
- package/dist/{chunk-4SLBCEPD.js → chunk-IKAW2KJU.js} +95 -64
- package/dist/{chunk-L4CESDPB.js → chunk-IMZFOMVX.js} +1 -1
- package/dist/{chunk-XQ3YZ4QW.js → chunk-ISG547IS.js} +24 -22
- package/dist/{chunk-BA2HUMDN.js → chunk-IYNCSYU4.js} +5 -2
- package/dist/{chunk-UEVZZZU2.js → chunk-J25YOUIZ.js} +5 -4
- package/dist/chunk-J2CDBSFP.js +69 -0
- package/dist/chunk-J2H7YG3K.js +34 -0
- package/dist/{chunk-O4IKAIZ2.js → chunk-J32IPTVQ.js} +28 -22
- package/dist/{chunk-3AQ2R5NL.js → chunk-J4CPHJUL.js} +11 -9
- package/dist/{chunk-VUVGX5L2.js → chunk-JFFKHIM6.js} +1 -1
- package/dist/chunk-JMEWJPF2.js +384 -0
- package/dist/{chunk-LO3BLMVG.js → chunk-JSP73CDW.js} +13 -5
- package/dist/chunk-JXAKYP45.js +63 -0
- package/dist/{chunk-PNQLCRSS.js → chunk-K4OXYSGS.js} +7 -5
- package/dist/{chunk-3J5I7ZOU.js → chunk-K4RNVDR4.js} +4 -4
- package/dist/{chunk-LEBR5NHW.js → chunk-K757G7AD.js} +18 -15
- package/dist/{chunk-AHW3RY3X.js → chunk-KDJ2YKAZ.js} +8 -7
- package/dist/{chunk-4WXRPQDE.js → chunk-KT6Q44CA.js} +178 -31
- package/dist/{chunk-EFCQSMXB.js → chunk-KTNOBTV5.js} +10 -4
- package/dist/chunk-KVVNAUIG.js +66 -0
- package/dist/{chunk-26Z7OGQW.js → chunk-L3RCQWVQ.js} +64 -31
- package/dist/{chunk-3WON4G3M.js → chunk-LHH5KG5A.js} +21 -6
- package/dist/{chunk-NCB6656Z.js → chunk-LM45GMMB.js} +11 -8
- package/dist/{chunk-2HH3UCZM.js → chunk-LO6Y7OTG.js} +5 -4
- package/dist/{chunk-36RY7ZXM.js → chunk-LPDTDFKA.js} +88 -26
- package/dist/{chunk-67BP7HXL.js → chunk-LSHSDC6S.js} +19 -17
- package/dist/{chunk-GDZB57IU.js → chunk-LZVHP7CT.js} +7 -5
- package/dist/{chunk-GC2VK3JT.js → chunk-M3EOFSPY.js} +28 -25
- package/dist/chunk-MBYYQHPM.js +31 -0
- package/dist/{chunk-HXXP2NTE.js → chunk-MEJ63LDG.js} +35 -12
- package/dist/{chunk-2UCRFXFZ.js → chunk-MH2ZK67S.js} +13 -11
- package/dist/{chunk-BEPCKDCP.js → chunk-MLGWSBF4.js} +5447 -4165
- package/dist/{chunk-NRQ65LTQ.js → chunk-MNIPPBCT.js} +6 -5
- package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
- package/dist/{chunk-KDAHXQIE.js → chunk-MWF4PXQR.js} +38 -34
- package/dist/{chunk-WNTIOBOG.js → chunk-N2YX6JMY.js} +20 -18
- package/dist/{chunk-FY3QIRTL.js → chunk-NAPHHWW2.js} +3 -3
- package/dist/{chunk-D2WSW4GU.js → chunk-NC755EKE.js} +8 -2
- package/dist/{chunk-BA3U7ALS.js → chunk-NCLZJCXA.js} +26 -22
- package/dist/chunk-NKJDO4UC.js +39 -0
- package/dist/chunk-NOYOFYAJ.js +59 -0
- package/dist/{chunk-LPV6T362.js → chunk-NROSSWMS.js} +8 -6
- package/dist/{chunk-ZKYRDV7A.js → chunk-OBUB3H72.js} +14 -12
- package/dist/{chunk-ZQLRCA2V.js → chunk-OCQWSFJD.js} +10 -8
- package/dist/{chunk-42EPP7OB.js → chunk-OK6JGLE7.js} +14 -12
- package/dist/{chunk-MD7KUEJ3.js → chunk-OPWGPQ2N.js} +9 -7
- package/dist/{chunk-SH27FYPF.js → chunk-OSYHGGL3.js} +20 -18
- package/dist/chunk-OXXZZ7HQ.js +50 -0
- package/dist/chunk-P22EPEBR.js +57 -0
- package/dist/chunk-P4YUT7W7.js +45 -0
- package/dist/chunk-PCCLVIDP.js +217 -0
- package/dist/chunk-PFULMC2D.js +48 -0
- package/dist/chunk-PGAMTKBI.js +16 -0
- package/dist/{chunk-Y6K3CJBU.js → chunk-PNSSE7JM.js} +152 -29
- package/dist/{chunk-3UTYPHN3.js → chunk-POEMZECG.js} +1 -1
- package/dist/{chunk-GSGIZ2OO.js → chunk-POSDBRKV.js} +27 -24
- package/dist/{chunk-YZDZOEV4.js → chunk-POSZFDSQ.js} +3 -3
- package/dist/{chunk-7AB6OWTV.js → chunk-PQQKZPBU.js} +31 -25
- package/dist/{chunk-K6JB6XTX.js → chunk-PRMUQUWN.js} +20 -15
- package/dist/{chunk-ICHDSWEY.js → chunk-PT4USJNN.js} +10 -8
- package/dist/{chunk-265LWMOA.js → chunk-PWXB5GBB.js} +18 -16
- package/dist/{chunk-DCWN3HFV.js → chunk-PXMV2LLY.js} +6 -5
- package/dist/{chunk-THN26IEF.js → chunk-PXW2RZGQ.js} +4 -1
- package/dist/{chunk-CG6CULP6.js → chunk-Q367UGYN.js} +7 -5
- package/dist/chunk-QA4O2GGC.js +265 -0
- package/dist/{chunk-7FHNFCHK.js → chunk-QAVRDONY.js} +225 -375
- package/dist/{chunk-VAMHOHUU.js → chunk-QBMLBCQH.js} +16 -13
- package/dist/{chunk-WEOMJHPV.js → chunk-QLQIFJP3.js} +18 -15
- package/dist/{chunk-UZACEG2C.js → chunk-QLWDIKO4.js} +84 -27
- package/dist/{chunk-ZZFHLRQW.js → chunk-QVVGJVVX.js} +18 -16
- package/dist/{chunk-WIWTJMMR.js → chunk-QX4MAMUG.js} +23 -21
- package/dist/{chunk-JYTIHTIK.js → chunk-QZWRPQTI.js} +6 -6
- package/dist/{chunk-5WERBKLE.js → chunk-RCG5IAAT.js} +55 -227
- package/dist/chunk-RGZFOKVO.js +106 -0
- package/dist/{chunk-C7CEK3KW.js → chunk-RLZFL76D.js} +7 -5
- package/dist/{chunk-PTQ3ZALZ.js → chunk-RPQITJNX.js} +14 -12
- package/dist/{chunk-JS6WMC3J.js → chunk-RQQYEDAC.js} +10 -8
- package/dist/chunk-RQSLHZ7T.js +36 -0
- package/dist/{chunk-API5TOUB.js → chunk-RRQUQAXP.js} +1 -1
- package/dist/chunk-RYQ4JCFT.js +65 -0
- package/dist/chunk-S35DIFJH.js +38 -0
- package/dist/{chunk-YWAKDNMH.js → chunk-S5GSQPIN.js} +70 -19
- package/dist/chunk-S5XFO4GY.js +42 -0
- package/dist/chunk-S6LW2RRC.js +25 -0
- package/dist/{chunk-TSM6T6GQ.js → chunk-S6W3D5GS.js} +25 -23
- package/dist/{chunk-5PV7S2ZP.js → chunk-S7GUZ45I.js} +4 -3
- package/dist/{chunk-MMZUN7ZO.js → chunk-SCT4CEF7.js} +22 -20
- package/dist/{chunk-AOCWFA7T.js → chunk-SK5RVP7X.js} +8 -8
- package/dist/chunk-SRTUETF5.js +50 -0
- package/dist/{chunk-E57AOFYN.js → chunk-SVGGMBJI.js} +15 -13
- package/dist/{chunk-OV57AHCG.js → chunk-SWNKO4C4.js} +35 -26
- package/dist/chunk-SYP56T2D.js +65 -0
- package/dist/{chunk-5CMPVC3N.js → chunk-T33TPFGI.js} +25 -23
- package/dist/{chunk-Q26LDIUV.js → chunk-T3FNG2H2.js} +18 -15
- package/dist/{chunk-UFE36WJH.js → chunk-T6MAWL5P.js} +6 -4
- package/dist/{chunk-LN77DXBM.js → chunk-T6MX7WXM.js} +14 -11
- package/dist/{chunk-WCEF7H6L.js → chunk-T7IIEDA3.js} +10 -7
- package/dist/{chunk-2HTEMYTB.js → chunk-TABH4RBZ.js} +163 -84
- package/dist/{chunk-YO2PKTXT.js → chunk-TDSCKP3V.js} +5 -3
- package/dist/{chunk-BVWWPBKD.js → chunk-TMFMXQEN.js} +23 -21
- package/dist/{chunk-4B6BT75O.js → chunk-TNCF26JK.js} +83 -26
- package/dist/{chunk-75ASLHBT.js → chunk-TUM52SOE.js} +21 -15
- package/dist/{chunk-ZLS6PU2O.js → chunk-TV56QLLV.js} +4 -3
- package/dist/{chunk-JKIGL3XQ.js → chunk-TVQSXWWV.js} +36 -33
- package/dist/{chunk-OKUB6RJA.js → chunk-TXNSQ24G.js} +14 -11
- package/dist/{chunk-4CYTJ5TZ.js → chunk-UALE35WK.js} +4 -3
- package/dist/{chunk-CNU5Q2D5.js → chunk-UJF7PIMP.js} +35 -27
- package/dist/chunk-UMCDODBX.js +53 -0
- package/dist/{chunk-M6D2U3YM.js → chunk-UTPIFH4I.js} +4 -3
- package/dist/{chunk-COYN3UAN.js → chunk-V7PEHQZU.js} +95 -26
- package/dist/{chunk-U3NBK4EU.js → chunk-VJFXQISZ.js} +8 -8
- package/dist/chunk-VJZI6KFP.js +47 -0
- package/dist/{chunk-ECLXZWAG.js → chunk-VK7WYA64.js} +14 -12
- package/dist/{chunk-DDJPM5YX.js → chunk-VKTXFFOZ.js} +5 -3
- package/dist/{chunk-LIRVU3HW.js → chunk-VNIN7Q6Q.js} +32 -20
- package/dist/{chunk-7QPCGTPS.js → chunk-VRO7KSGL.js} +24 -21
- package/dist/{chunk-AZDITBCT.js → chunk-W3AZE7LN.js} +3 -3
- package/dist/chunk-W4TNCEI4.js +44 -0
- package/dist/{chunk-S2RY3BOD.js → chunk-W5VYJWOG.js} +31 -21
- package/dist/{chunk-X2CUXTWU.js → chunk-WF3RCZNO.js} +6 -6
- package/dist/{chunk-4D62IZII.js → chunk-WOMQQWTO.js} +7 -5
- package/dist/{chunk-UF4UHCIG.js → chunk-WXVTYLVH.js} +6 -4
- package/dist/{chunk-EDZ45WIR.js → chunk-WYGTSZHR.js} +18 -14
- package/dist/{chunk-HSZMPH5T.js → chunk-WZYM5M4U.js} +592 -133
- package/dist/chunk-X5ZHDSLU.js +49 -0
- package/dist/chunk-X7XVMYIL.js +5 -0
- package/dist/chunk-X7ZKNSK4.js +41 -0
- package/dist/{chunk-QE527XRY.js → chunk-XAPXKFIS.js} +26 -23
- package/dist/{chunk-HE3HRDNZ.js → chunk-XF6TSZW2.js} +2 -2
- package/dist/{chunk-GX74YWR7.js → chunk-XFDDJQT7.js} +16 -14
- package/dist/{chunk-5QUOPNLN.js → chunk-XGO74QWR.js} +4 -4
- package/dist/chunk-XLZAAAPX.js +43 -0
- package/dist/{chunk-NYOABJNK.js → chunk-XMUWPA56.js} +26 -24
- package/dist/{chunk-M4H2UG4R.js → chunk-XNFM6WUK.js} +19 -16
- package/dist/{chunk-TGVVUKTG.js → chunk-XOMEQVLK.js} +2 -2
- package/dist/{chunk-A2G72UI4.js → chunk-Y2H7X3VI.js} +7 -7
- package/dist/{chunk-37WE3LS2.js → chunk-Y5IE6YKD.js} +5 -3
- package/dist/{chunk-IFFRGC3N.js → chunk-YD3KTW4H.js} +14 -12
- package/dist/{chunk-75ZOZFGH.js → chunk-YDCOZOER.js} +20 -18
- package/dist/{chunk-6DQYZU2W.js → chunk-YERAAEO4.js} +20 -20
- package/dist/{chunk-J5AAZ6OJ.js → chunk-YHMPDIRG.js} +5 -4
- package/dist/{chunk-CNPY4NTZ.js → chunk-Z2D4P3R3.js} +15 -13
- package/dist/{chunk-E2VXBSIR.js → chunk-Z3H27OMV.js} +6 -4
- package/dist/{chunk-AE4P57KK.js → chunk-Z3RAFU5B.js} +17 -15
- package/dist/{chunk-RA33EYS4.js → chunk-ZENHDXRZ.js} +23 -17
- package/dist/{chunk-TJH2EUAZ.js → chunk-ZFHFC74B.js} +20 -18
- package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
- package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
- package/dist/{chunk-JAABT3DA.js → chunk-ZJGCGKA4.js} +4 -3
- package/dist/{chunk-GIFMBCTW.js → chunk-ZLQEQR3D.js} +10 -8
- package/dist/{chunk-I2A3Z5AK.js → chunk-ZNHQGG7J.js} +7 -7
- package/dist/{chunk-5TDRBOAV.js → chunk-ZNTTW4IT.js} +7 -5
- package/dist/{chunk-ZX7235KR.js → chunk-ZR6J4QFQ.js} +44 -383
- package/dist/{chunk-F6H2RJ3N.js → chunk-ZSNOILL5.js} +1 -1
- package/dist/files.json +585 -509
- package/dist/packages/sdk/npm/index.js +1491 -110
- package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.js → elk-api-DxfAMOJq.js} +2 -2
- package/dist/packages/ui/dist/assets/index-Buit9TfP.js +62 -0
- package/dist/packages/ui/dist/assets/index-Jyc9dFeZ.css +1 -0
- package/dist/packages/ui/dist/index.html +3 -2
- package/package.json +3 -3
- package/dist/chunk-26WBY34Y.js +0 -37
- package/dist/chunk-3TD6S4TC.js +0 -49
- package/dist/chunk-5G7ILBUG.js +0 -66
- package/dist/chunk-6FNAKCET.js +0 -38
- package/dist/chunk-AM6FP6JW.js +0 -43
- package/dist/chunk-CFH3QH26.js +0 -29
- package/dist/chunk-CLD4RVTA.js +0 -45
- package/dist/chunk-D5KV5PSK.js +0 -45
- package/dist/chunk-D5MASS4I.js +0 -48
- package/dist/chunk-DN4A2Q2O.js +0 -57
- package/dist/chunk-FGAGWYZB.js +0 -47
- package/dist/chunk-GUYL7RMK.js +0 -60
- package/dist/chunk-J2O4LFVI.js +0 -80
- package/dist/chunk-JITJP64K.js +0 -34
- package/dist/chunk-JRXHON4E.js +0 -41
- package/dist/chunk-JU4QNJSR.js +0 -62
- package/dist/chunk-N3RUGTGV.js +0 -39
- package/dist/chunk-ODMBPDDV.js +0 -298
- package/dist/chunk-OMPENNWY.js +0 -39
- package/dist/chunk-PKJAV25S.js +0 -43
- package/dist/chunk-PRTBPXYA.js +0 -50
- package/dist/chunk-PRZ7KMWL.js +0 -42
- package/dist/chunk-QSIDVFB7.js +0 -45
- package/dist/chunk-SB5GRUFM.js +0 -54
- package/dist/chunk-T74WQQGS.js +0 -40
- package/dist/chunk-X7EMBM5X.js +0 -34
- package/dist/chunk-Z6VLC5X4.js +0 -36
- package/dist/chunk-ZPDDEVQX.js +0 -47
- package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
- 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
|
-
|
|
21
|
-
|
|
22
|
-
import "./chunk-
|
|
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-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
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-
|
|
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
|
-
|
|
20
|
-
} from "./chunk-PAINMSID.js";
|
|
18
|
+
orgPackDirOf
|
|
19
|
+
} from "./chunk-FPBUTZI5.js";
|
|
21
20
|
import {
|
|
22
21
|
ensureLocalIgnore,
|
|
23
22
|
renameRetrying
|
|
24
|
-
} from "./chunk-
|
|
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
|
|
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
|
|
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.
|
|
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-
|
|
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-
|
|
17
|
-
import "./chunk-
|
|
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
|
-
|
|
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
|
+
};
|