@maycombhq/atticus 2.0.0-beta.2 → 2.0.0-beta.22
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 +8 -4
- package/dist/chunk-23XVSEV5.js +49 -0
- package/dist/{chunk-ZDPAS56H.js → chunk-24OXGB3P.js} +8 -2
- package/dist/{chunk-7EOBHUMC.js → chunk-24XLDU72.js} +4 -3
- package/dist/{chunk-CR3MTH32.js → chunk-2F4CYZKJ.js} +86 -11
- package/dist/{chunk-6IU67AEK.js → chunk-2GF7OLF3.js} +23 -15
- package/dist/chunk-2IIMFOPM.js +41 -0
- package/dist/chunk-2LGRMVCA.js +617 -0
- package/dist/{chunk-XPCM366L.js → chunk-2MMCFP5C.js} +10 -8
- package/dist/{chunk-JBTK5OP2.js → chunk-2Q56PQPS.js} +6 -4
- package/dist/{chunk-Z6LF7HQN.js → chunk-2Q5EDGEO.js} +7 -5
- package/dist/{chunk-3USYZGRF.js → chunk-2RLKFUUL.js} +38 -27
- package/dist/chunk-2SKB4O2E.js +59 -0
- package/dist/{chunk-SP2I63OO.js → chunk-34S2WGOB.js} +87 -4
- package/dist/{chunk-GQ4N4WKF.js → chunk-3NFFJL5D.js} +33 -27
- package/dist/{chunk-SJRGMG6A.js → chunk-3NWDLGG6.js} +28 -25
- package/dist/{chunk-4WBVUHXN.js → chunk-3RM4UK6W.js} +20 -18
- package/dist/chunk-42SIDKEU.js +583 -0
- package/dist/{chunk-GLUX4EEP.js → chunk-4EURQWQD.js} +20 -15
- package/dist/chunk-4U276ICE.js +39 -0
- package/dist/{chunk-ZMFPW66A.js → chunk-53T4O55J.js} +4 -3
- package/dist/{chunk-6J5OKA4Y.js → chunk-57TDNMI3.js} +17 -15
- package/dist/chunk-5BD2KYLE.js +57 -0
- package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
- package/dist/chunk-5NMKONLP.js +95 -0
- package/dist/{chunk-7ZUIMTOU.js → chunk-5SJZW52K.js} +26 -24
- package/dist/{chunk-4RS5KZQD.js → chunk-63YRMR6J.js} +6 -5
- package/dist/chunk-66PPNOON.js +62 -0
- package/dist/chunk-6H3Z5JHH.js +64 -0
- package/dist/{chunk-CEXSU4S6.js → chunk-6MUGR4LS.js} +775 -89
- package/dist/{chunk-QSXK2RGH.js → chunk-6OJQOPUN.js} +5 -3
- package/dist/{chunk-MVZVGYXH.js → chunk-6PPOWY5E.js} +84 -14
- package/dist/{chunk-7EKXJZ2Y.js → chunk-6ZGLAACW.js} +299 -38
- package/dist/chunk-6ZJ5A7AF.js +222 -0
- package/dist/{chunk-L24C55VN.js → chunk-745DAZ4L.js} +142 -30
- package/dist/{chunk-Q4D5X7QB.js → chunk-7ASNL4Q4.js} +46 -24
- package/dist/chunk-7BR7IPOH.js +35 -0
- package/dist/{chunk-7WD63HU2.js → chunk-7DOR27HL.js} +6 -6
- package/dist/chunk-7FTTA3HD.js +341 -0
- package/dist/{chunk-OLQJTJJU.js → chunk-7GJS6DNX.js} +12 -3
- package/dist/{chunk-7JUKDRSZ.js → chunk-7IGKHZ4Z.js} +347 -226
- package/dist/{chunk-G2B4ZQGH.js → chunk-7IOWA5D5.js} +11 -6
- package/dist/{chunk-EBEW3XXQ.js → chunk-7JITZFJC.js} +7 -5
- package/dist/chunk-7MJSQTL5.js +174 -0
- package/dist/{chunk-I4JRCD6M.js → chunk-7UOMVMFG.js} +25 -17
- package/dist/{chunk-YY6ZQQBP.js → chunk-AFWUDXEM.js} +19 -7
- package/dist/chunk-AFZ3QA6W.js +47 -0
- package/dist/chunk-AJQ72EBM.js +420 -0
- package/dist/chunk-AJYXNTNZ.js +317 -0
- package/dist/chunk-AVTBS4OW.js +49 -0
- package/dist/{chunk-FHH4I4ZV.js → chunk-BDKC6H5P.js} +12 -6
- package/dist/{chunk-IPKHE5D6.js → chunk-BEVTIBRH.js} +1526 -875
- package/dist/chunk-BHT7QK4G.js +162 -0
- package/dist/{chunk-6JUBZBMW.js → chunk-BIGDQDHD.js} +6 -4
- package/dist/{chunk-2BFCZ3RK.js → chunk-BO4KX37X.js} +20 -18
- package/dist/chunk-BPK5P77O.js +115 -0
- package/dist/chunk-BQ4SQQC6.js +59 -0
- package/dist/chunk-BQGDB6ZL.js +7342 -0
- package/dist/{chunk-2ANOROX3.js → chunk-BTGPE6CR.js} +11 -9
- package/dist/chunk-BTY3HZBO.js +93 -0
- package/dist/{chunk-DPZHZQKE.js → chunk-BXYMYEJ4.js} +44 -10
- package/dist/{chunk-2RMYG36Q.js → chunk-C3RY6KU6.js} +309 -346
- package/dist/chunk-C4R4JLHE.js +40 -0
- package/dist/chunk-CADWLE2T.js +18 -0
- package/dist/chunk-CBGGOQWU.js +82 -0
- package/dist/chunk-CMDXGQTS.js +47 -0
- package/dist/{chunk-MC3H7736.js → chunk-CQDGOPGH.js} +58 -18
- package/dist/{chunk-HFQCFSJR.js → chunk-CX4RZ2KS.js} +4 -3
- package/dist/{chunk-PAMPPUR6.js → chunk-CXJ6FUKN.js} +1852 -207
- package/dist/{chunk-ABWHYWNI.js → chunk-D73UEXYW.js} +3 -3
- package/dist/chunk-DCZWQLYT.js +1205 -0
- package/dist/chunk-DLOBCJL6.js +48 -0
- package/dist/{chunk-4BN53TG3.js → chunk-DOBQKHIF.js} +31 -23
- package/dist/chunk-E3ISYXO3.js +423 -0
- package/dist/{chunk-7SW2QWLU.js → chunk-E6ZIEVOI.js} +16 -13
- package/dist/chunk-EBL2R3YG.js +43 -0
- package/dist/{chunk-AIOQPLA5.js → chunk-EGQRREQH.js} +41 -15
- package/dist/chunk-EHA7RMZ3.js +58 -0
- package/dist/{chunk-M766ZJ6W.js → chunk-EIPTLPFC.js} +38 -27
- package/dist/chunk-EMRIQUND.js +517 -0
- package/dist/{chunk-DFBCSHVT.js → chunk-EPCJQQWD.js} +6 -4
- package/dist/{chunk-RZPYKDWS.js → chunk-F3P7N7SF.js} +1 -1
- package/dist/{chunk-R77KLRB3.js → chunk-FFLNS6VP.js} +21 -18
- package/dist/chunk-FFTRTL6R.js +26 -0
- package/dist/{chunk-IHMLFRVV.js → chunk-FPJPLKDW.js} +62 -16
- package/dist/{chunk-JCZIKA4C.js → chunk-FSMSFDLD.js} +5 -4
- package/dist/{chunk-AVJDSJ2F.js → chunk-FUJM6RTF.js} +8 -7
- package/dist/chunk-FZOJFH7Q.js +132 -0
- package/dist/{chunk-QRAOANID.js → chunk-G6X77UJZ.js} +23 -21
- package/dist/{chunk-3ALD2W2A.js → chunk-GCWRWSU7.js} +10 -4
- package/dist/chunk-GIW4ZVDB.js +39 -0
- package/dist/{chunk-B2WLAWNJ.js → chunk-GUX3PTYM.js} +3 -3
- package/dist/{chunk-DPUYDDQG.js → chunk-GZY6RUZ6.js} +25 -3
- package/dist/chunk-H4VO6WG3.js +10 -0
- package/dist/{chunk-MMOSZPWJ.js → chunk-H5HBGNXU.js} +5 -4
- package/dist/chunk-H7KM7LZE.js +229 -0
- package/dist/{chunk-AA6YULYB.js → chunk-HNM2YQT2.js} +7 -7
- package/dist/{chunk-3C7EYRFZ.js → chunk-HYU5VLGA.js} +1 -1
- package/dist/{chunk-XY3P7JW7.js → chunk-IDKCWSM5.js} +1032 -172
- package/dist/chunk-IFKEI4SA.js +237 -0
- package/dist/{chunk-F7HYOUFF.js → chunk-IGOE6KPG.js} +67 -22
- package/dist/{chunk-TDD55CJH.js → chunk-IH2XURVQ.js} +6 -5
- package/dist/chunk-INQHESFB.js +38 -0
- package/dist/chunk-IP74LCOQ.js +57 -0
- package/dist/chunk-IPHHDDC6.js +45 -0
- package/dist/{chunk-T6AIP7H5.js → chunk-ISUAAMGS.js} +110 -153
- package/dist/{chunk-A7UPUQFY.js → chunk-IUPG3UKI.js} +624 -319
- package/dist/{chunk-L6SGQIR3.js → chunk-IVBOQAGB.js} +7 -3
- package/dist/{chunk-27NKUS3X.js → chunk-J2JAKCIW.js} +2205 -796
- package/dist/{chunk-V2YTAIQO.js → chunk-J3IOLXWM.js} +24 -7
- package/dist/chunk-JA5FI3QV.js +142 -0
- package/dist/chunk-JAVI7JSP.js +49 -0
- package/dist/{chunk-HLJAXMM4.js → chunk-JB5LINEM.js} +6 -2
- package/dist/{chunk-2VHF7OXM.js → chunk-JENSEMXF.js} +1 -1
- package/dist/{chunk-6BVONWJ7.js → chunk-JJF6HALY.js} +4 -3
- package/dist/chunk-JLUCKAEL.js +38 -0
- package/dist/chunk-JRBFANFE.js +221 -0
- package/dist/{chunk-R6XF6UR3.js → chunk-KDNTAPLX.js} +4 -4
- package/dist/chunk-KFAVQZSX.js +33 -0
- package/dist/chunk-KJXD4PNL.js +50 -0
- package/dist/chunk-KN5BXMWN.js +44 -0
- package/dist/{chunk-PCVDV3UZ.js → chunk-KQGURXFU.js} +9 -7
- package/dist/{chunk-WY6PP6AA.js → chunk-KXITGYLF.js} +40 -6
- package/dist/{chunk-66YVAGGM.js → chunk-L27SV425.js} +22 -20
- package/dist/{chunk-NE2W3OO7.js → chunk-LDLL7LB3.js} +24 -22
- package/dist/chunk-LFGTYX5U.js +379 -0
- package/dist/{chunk-EYWIDJFU.js → chunk-LGBMTVNT.js} +7 -5
- package/dist/{chunk-Q5AMFEWD.js → chunk-LGFL54FP.js} +3 -2
- package/dist/{chunk-6TACQN3N.js → chunk-LJXMYKZJ.js} +7 -5
- package/dist/{chunk-BKVWTZ6A.js → chunk-LKOR5UET.js} +29 -26
- package/dist/chunk-LNBQOP7D.js +294 -0
- package/dist/{chunk-O3WI5KWW.js → chunk-LO6P2VYG.js} +2 -2
- package/dist/chunk-LQJPN536.js +122 -0
- package/dist/{chunk-YEDDOYSC.js → chunk-LYBNHMVZ.js} +29 -5
- package/dist/{chunk-A3GY6SOA.js → chunk-LZ7NUC62.js} +20 -18
- package/dist/chunk-M32BLWDH.js +37 -0
- package/dist/{chunk-VYDBJ73M.js → chunk-M3NANSDZ.js} +17 -15
- package/dist/chunk-MFHL5URL.js +31 -0
- package/dist/chunk-MFR5OPBD.js +109 -0
- package/dist/{chunk-DE76JROX.js → chunk-MG4ZL5RW.js} +32 -20
- package/dist/{chunk-N7IXEHK3.js → chunk-MO6P2JZH.js} +10 -8
- package/dist/{chunk-65NYPGRC.js → chunk-MUWDB4R4.js} +1 -1
- package/dist/chunk-MZCGSXVR.js +34 -0
- package/dist/{chunk-MGYZM27B.js → chunk-N3XIYPU3.js} +51 -23
- package/dist/chunk-NDCF4R6S.js +172 -0
- package/dist/{chunk-DHPACDG7.js → chunk-NR2UJWOC.js} +10 -8
- package/dist/chunk-NXJ5URP6.js +51 -0
- package/dist/{chunk-UNM6ZOKP.js → chunk-NY2XSR5K.js} +147 -18
- package/dist/{chunk-5GDRCDQB.js → chunk-O45HFTFS.js} +3 -2
- package/dist/{chunk-ONLS5QA5.js → chunk-O4GXGGBX.js} +14 -12
- package/dist/chunk-O5PXQR67.js +249 -0
- package/dist/{chunk-PRPPGYZG.js → chunk-O66DM6DJ.js} +6 -4
- package/dist/{chunk-KEM4SDDP.js → chunk-O7FDLW7L.js} +11 -8
- package/dist/{chunk-T2UYZSCQ.js → chunk-O7XLYEFA.js} +169 -29
- package/dist/{chunk-FITWGOJ2.js → chunk-OHNCWBKF.js} +4 -4
- package/dist/{chunk-652QWTLZ.js → chunk-OHVTTOPS.js} +3 -3
- package/dist/chunk-OMI6FPPN.js +43 -0
- package/dist/chunk-ONUPY3H6.js +53 -0
- package/dist/chunk-OTLDSZDV.js +69 -0
- package/dist/chunk-OUBGGKDU.js +22 -0
- package/dist/chunk-OWNCM4ZN.js +330 -0
- package/dist/{chunk-YISXLPHN.js → chunk-P2V7QW4D.js} +235 -35
- package/dist/{chunk-CNUKCS2T.js → chunk-P32RUW3B.js} +1632 -93
- package/dist/{chunk-BWZ77RQT.js → chunk-PAQ2AS5E.js} +1 -1
- package/dist/{chunk-ZMAINWBW.js → chunk-PBPBMP2B.js} +4 -3
- package/dist/{chunk-ZVM6AKKM.js → chunk-PJSJPMJI.js} +3 -3
- package/dist/{chunk-EFHQ3TWP.js → chunk-PKBHS4AA.js} +233 -56
- package/dist/{chunk-GT4I4ZWM.js → chunk-PMUAJGLI.js} +20 -16
- package/dist/chunk-PPD7HTDP.js +152 -0
- package/dist/chunk-PSOFBQWB.js +42 -0
- package/dist/{chunk-S2A7YC3Q.js → chunk-Q2TECDIT.js} +10694 -8896
- package/dist/chunk-Q4K5WB2W.js +42 -0
- package/dist/{chunk-UGLN7QHV.js → chunk-Q6DFNVRJ.js} +14 -12
- package/dist/chunk-QA4O2GGC.js +265 -0
- package/dist/chunk-QAXW2N3B.js +1216 -0
- package/dist/chunk-QBNWF5ZU.js +19 -0
- package/dist/chunk-QFWA2DPH.js +224 -0
- package/dist/{chunk-23W7VWKR.js → chunk-QKUJMING.js} +1363 -114
- package/dist/{chunk-NXFPS2LR.js → chunk-R44CYFPV.js} +16 -13
- package/dist/{chunk-CKSITVS4.js → chunk-R7NYHMUU.js} +2687 -786
- package/dist/chunk-REWWDVQB.js +162 -0
- package/dist/{chunk-JMSCMUCA.js → chunk-RGERPOIV.js} +145 -21
- package/dist/{chunk-6JCPI55B.js → chunk-RLDGWLQ7.js} +49 -7
- package/dist/chunk-RUGXBPWI.js +384 -0
- package/dist/{chunk-CPA6HPVR.js → chunk-RXPJMEOW.js} +18 -12
- package/dist/{chunk-3HI6Z55Y.js → chunk-S4PMJU6H.js} +339 -43
- package/dist/chunk-S5LSDXV4.js +40 -0
- package/dist/chunk-S7FCV7S5.js +51 -0
- package/dist/{chunk-5GGOLAKC.js → chunk-SDKLKB6I.js} +28 -26
- package/dist/chunk-SFSPGFCV.js +62 -0
- package/dist/{chunk-ZNCEKR4J.js → chunk-SFUP7TTO.js} +12 -8
- package/dist/{chunk-64EQYWCA.js → chunk-SLXZOMA6.js} +69 -19
- package/dist/chunk-SQV37XO2.js +273 -0
- package/dist/{chunk-K65BJIMT.js → chunk-SU74NDMQ.js} +19 -17
- package/dist/chunk-SYV5LHML.js +165 -0
- package/dist/chunk-T4YPZIQN.js +36 -0
- package/dist/chunk-T6DQR5TV.js +323 -0
- package/dist/{chunk-JIITQXFB.js → chunk-THDMSZ3R.js} +3075 -802
- package/dist/{chunk-JGZCG5VM.js → chunk-TNR75OXT.js} +7 -7
- package/dist/{chunk-D3PO4DOZ.js → chunk-TUULXQRW.js} +174 -15
- package/dist/chunk-TYQBFTBR.js +516 -0
- package/dist/chunk-U76OWS3Q.js +49 -0
- package/dist/{chunk-YYQN46FY.js → chunk-UCROWG2D.js} +27 -24
- package/dist/{chunk-6M5NK3K3.js → chunk-UF4AZOZB.js} +50 -10
- package/dist/chunk-UF4GLFBX.js +345 -0
- package/dist/{chunk-OT2O76OS.js → chunk-UGUP3ZM6.js} +240 -39
- package/dist/chunk-UNAGJYET.js +45 -0
- package/dist/{chunk-5WG5YP4T.js → chunk-UOR2DTHH.js} +16 -14
- package/dist/{chunk-S3QNRWYR.js → chunk-UPOY4YSQ.js} +14 -12
- package/dist/{chunk-EPTBZ3GP.js → chunk-UPS2DGFC.js} +1 -1
- package/dist/{chunk-4AK7IBVP.js → chunk-UUU4CLJG.js} +4 -2
- package/dist/{chunk-W3BQAZ3Q.js → chunk-UWMJKX5U.js} +14 -12
- package/dist/{chunk-QZSX3F7C.js → chunk-UWOJLHFT.js} +27 -23
- package/dist/chunk-VBTP56CE.js +535 -0
- package/dist/chunk-VCTWPLAO.js +211 -0
- package/dist/chunk-VNU26RCO.js +1215 -0
- package/dist/{chunk-CSZ4C5N6.js → chunk-VTZMAJ3W.js} +93 -10
- package/dist/{chunk-TXLH6WHQ.js → chunk-VW62D6QE.js} +14 -12
- package/dist/{chunk-CAQZUNOH.js → chunk-VY72R2XZ.js} +610 -3
- package/dist/{chunk-2DIQQJCB.js → chunk-VZALIKIF.js} +18 -15
- package/dist/{chunk-TYAID7B7.js → chunk-W62H2XSO.js} +25 -23
- package/dist/{chunk-HVUPKCGJ.js → chunk-W7VWI2YH.js} +9 -6
- package/dist/{chunk-TANFV3MZ.js → chunk-WERM6KPJ.js} +7 -4
- package/dist/{chunk-BOHJZTEQ.js → chunk-WF7B67YE.js} +208 -87
- package/dist/{chunk-7FBGJFEE.js → chunk-WG5U3F5V.js} +14 -12
- package/dist/{chunk-4NDAAFQT.js → chunk-WJF2CS6M.js} +8 -5
- package/dist/{chunk-XAKWMCXI.js → chunk-WKUJ3KPV.js} +4 -4
- package/dist/chunk-WMTRHUI5.js +103 -0
- package/dist/chunk-WNKPRSGI.js +36 -0
- package/dist/chunk-WXFLMQSR.js +223 -0
- package/dist/{chunk-RRTKKSLQ.js → chunk-X3WY6MN3.js} +8 -6
- package/dist/{chunk-ZCJDOK2S.js → chunk-X4CXA2IL.js} +47 -23
- package/dist/{chunk-UBBC2XSG.js → chunk-X5F3Q5LV.js} +560 -105
- package/dist/{chunk-C6EKFH7J.js → chunk-XD75VZIH.js} +9 -7
- package/dist/chunk-XERYFDB5.js +297 -0
- package/dist/chunk-XI2LCCYQ.js +420 -0
- package/dist/chunk-Y2EQNWKV.js +933 -0
- package/dist/{chunk-LR3R6Z2A.js → chunk-YHCMZC2J.js} +7 -7
- package/dist/chunk-YYY3AZFE.js +122 -0
- package/dist/{chunk-GDLULHTC.js → chunk-Z5IA3WDR.js} +19 -31
- package/dist/{chunk-T6XQL73F.js → chunk-ZFFYNRIO.js} +63 -23
- package/dist/{chunk-EDS2L2LD.js → chunk-ZFL7NY4F.js} +56 -27
- package/dist/{chunk-YMZ3TNYB.js → chunk-ZGULQAPZ.js} +7 -4
- package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
- package/dist/{chunk-DKJA76CJ.js → chunk-ZJFRMSJT.js} +15 -13
- package/dist/chunk-ZJXLNDH4.js +239 -0
- package/dist/chunk-ZQ3ON2VQ.js +252 -0
- package/dist/{chunk-HITVBIJS.js → chunk-ZQ7SKESZ.js} +150 -415
- package/dist/{chunk-6QSERWXH.js → chunk-ZQXZ2SES.js} +24 -21
- package/dist/chunk-ZX57KSEQ.js +39 -0
- package/dist/{chunk-I3E7CX4H.js → chunk-ZZK56BLP.js} +5 -3
- package/dist/files.json +664 -368
- package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
- package/dist/packages/sdk/npm/index.js +6194 -2542
- package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CIf-0gz5.js} +2 -2
- package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
- package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
- package/dist/packages/ui/dist/index.html +3 -2
- package/package.json +5 -5
- package/dist/chunk-2BF2EYJV.js +0 -174
- package/dist/chunk-42EVSKME.js +0 -37
- package/dist/chunk-4BKGMUIK.js +0 -53
- package/dist/chunk-5KLGBXG5.js +0 -48
- package/dist/chunk-6BNC6EQ4.js +0 -41
- package/dist/chunk-6D2CQ5II.js +0 -41
- package/dist/chunk-7AVHLZGD.js +0 -45
- package/dist/chunk-D46WUV3T.js +0 -33
- package/dist/chunk-E36QOJMD.js +0 -47
- package/dist/chunk-FQXYPF7E.js +0 -147
- package/dist/chunk-GBRFVT63.js +0 -45
- package/dist/chunk-ICY36XCH.js +0 -34
- package/dist/chunk-J4K3KVLD.js +0 -131
- package/dist/chunk-JZU3H6UQ.js +0 -54
- package/dist/chunk-NN2ZQEB4.js +0 -38
- package/dist/chunk-PCOCACY3.js +0 -385
- package/dist/chunk-RTEYOSJY.js +0 -29
- package/dist/chunk-RUVFXE2L.js +0 -666
- package/dist/chunk-RVH5SUW5.js +0 -69
- package/dist/chunk-VN3DP4LQ.js +0 -43
- package/dist/chunk-W5BVQF44.js +0 -36
- package/dist/chunk-WVPJSRRJ.js +0 -52
- package/dist/chunk-XPTOBS2D.js +0 -48
- package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
- package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
|
@@ -5,18 +5,20 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
metarepoToolBox
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PJSJPMJI.js";
|
|
9
9
|
import {
|
|
10
10
|
CONTEXT_TOOLS
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ISUAAMGS.js";
|
|
12
12
|
import {
|
|
13
13
|
TOOL_LIMITS,
|
|
14
14
|
ToolSession,
|
|
15
15
|
readToolCalls,
|
|
16
16
|
recordToolCalls
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-P32RUW3B.js";
|
|
18
|
+
import "./chunk-QA4O2GGC.js";
|
|
19
|
+
import "./chunk-Q2TECDIT.js";
|
|
20
|
+
import "./chunk-TUULXQRW.js";
|
|
21
|
+
import "./chunk-BQGDB6ZL.js";
|
|
20
22
|
import "./chunk-TV45EUGM.js";
|
|
21
23
|
|
|
22
24
|
// packages/cli/dist/context-commands.js
|
|
@@ -15,8 +15,9 @@ import {
|
|
|
15
15
|
rulesJsonSchemas,
|
|
16
16
|
serializeRecord,
|
|
17
17
|
workspaceJsonSchemas
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-Q2TECDIT.js";
|
|
19
|
+
import "./chunk-TUULXQRW.js";
|
|
20
|
+
import "./chunk-BQGDB6ZL.js";
|
|
20
21
|
import "./chunk-TV45EUGM.js";
|
|
21
22
|
|
|
22
23
|
// packages/cli/dist/commands.js
|
|
@@ -5,18 +5,20 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
PluginProvider
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LYBNHMVZ.js";
|
|
9
9
|
import {
|
|
10
10
|
RuntimeConfigError,
|
|
11
11
|
registerModelProviderPluginLoader
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-P32RUW3B.js";
|
|
13
|
+
import "./chunk-QA4O2GGC.js";
|
|
14
|
+
import "./chunk-Q2TECDIT.js";
|
|
15
|
+
import "./chunk-TUULXQRW.js";
|
|
16
|
+
import "./chunk-BQGDB6ZL.js";
|
|
15
17
|
import "./chunk-TV45EUGM.js";
|
|
16
18
|
|
|
17
19
|
// packages/cli/dist/model-plugins.js
|
|
18
20
|
async function pluginProviderFactory(p, deps = {}) {
|
|
19
|
-
const { readPinnedEntry, runTranslator } = await import("./chunk-
|
|
21
|
+
const { readPinnedEntry, runTranslator } = await import("./chunk-CX4RZ2KS.js");
|
|
20
22
|
const entry = await readPinnedEntry(p.dir, p.manifest);
|
|
21
23
|
if (!entry.ok)
|
|
22
24
|
throw new RuntimeConfigError(`The model-provider plugin org-pack/plugins/model-providers/${p.manifest.id}/ ${entry.message}.`);
|
|
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
benchFactsCommand
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MO6P2JZH.js";
|
|
9
9
|
import {
|
|
10
10
|
BenchStory,
|
|
11
11
|
benchKnownFields,
|
|
@@ -15,36 +15,39 @@ import {
|
|
|
15
15
|
parseReference,
|
|
16
16
|
parseReferenceStory,
|
|
17
17
|
scoreStory
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-RXPJMEOW.js";
|
|
19
|
+
import "./chunk-WF7B67YE.js";
|
|
20
|
+
import "./chunk-6PPOWY5E.js";
|
|
21
|
+
import "./chunk-O7FDLW7L.js";
|
|
22
|
+
import "./chunk-BTGPE6CR.js";
|
|
23
|
+
import "./chunk-MUWDB4R4.js";
|
|
24
24
|
import {
|
|
25
25
|
draftedStories
|
|
26
|
-
} from "./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-
|
|
41
|
-
import "./chunk-
|
|
26
|
+
} from "./chunk-R7NYHMUU.js";
|
|
27
|
+
import "./chunk-IVBOQAGB.js";
|
|
28
|
+
import "./chunk-ISUAAMGS.js";
|
|
29
|
+
import "./chunk-S4PMJU6H.js";
|
|
30
|
+
import "./chunk-IDKCWSM5.js";
|
|
31
|
+
import "./chunk-UUU4CLJG.js";
|
|
32
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
33
|
+
import "./chunk-J2JAKCIW.js";
|
|
34
|
+
import "./chunk-745DAZ4L.js";
|
|
35
|
+
import "./chunk-CXJ6FUKN.js";
|
|
36
|
+
import "./chunk-QKUJMING.js";
|
|
37
|
+
import "./chunk-6ZGLAACW.js";
|
|
38
|
+
import "./chunk-CQDGOPGH.js";
|
|
39
|
+
import "./chunk-3NFFJL5D.js";
|
|
40
|
+
import "./chunk-PKBHS4AA.js";
|
|
41
|
+
import "./chunk-P32RUW3B.js";
|
|
42
|
+
import "./chunk-QA4O2GGC.js";
|
|
42
43
|
import {
|
|
43
44
|
changesDirOf,
|
|
44
|
-
parseFacts
|
|
45
|
+
parseFacts
|
|
46
|
+
} from "./chunk-Q2TECDIT.js";
|
|
47
|
+
import "./chunk-TUULXQRW.js";
|
|
48
|
+
import {
|
|
45
49
|
require_dist
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import "./chunk-D3PO4DOZ.js";
|
|
50
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
48
51
|
import {
|
|
49
52
|
__toESM
|
|
50
53
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -0,0 +1,294 @@
|
|
|
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
|
+
targetFlowsOf
|
|
8
|
+
} from "./chunk-IH2XURVQ.js";
|
|
9
|
+
import {
|
|
10
|
+
withFileLock
|
|
11
|
+
} from "./chunk-S7FCV7S5.js";
|
|
12
|
+
import "./chunk-OHNCWBKF.js";
|
|
13
|
+
import {
|
|
14
|
+
TARGET_DIR,
|
|
15
|
+
applyStroke,
|
|
16
|
+
endpointKey,
|
|
17
|
+
loadEstate,
|
|
18
|
+
planSketchWrite,
|
|
19
|
+
readDeltas,
|
|
20
|
+
writeSketch
|
|
21
|
+
} from "./chunk-R7NYHMUU.js";
|
|
22
|
+
import "./chunk-IVBOQAGB.js";
|
|
23
|
+
import "./chunk-ISUAAMGS.js";
|
|
24
|
+
import "./chunk-S4PMJU6H.js";
|
|
25
|
+
import {
|
|
26
|
+
changeFolder
|
|
27
|
+
} from "./chunk-IDKCWSM5.js";
|
|
28
|
+
import "./chunk-UUU4CLJG.js";
|
|
29
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
30
|
+
import "./chunk-J2JAKCIW.js";
|
|
31
|
+
import "./chunk-745DAZ4L.js";
|
|
32
|
+
import "./chunk-CXJ6FUKN.js";
|
|
33
|
+
import "./chunk-QKUJMING.js";
|
|
34
|
+
import {
|
|
35
|
+
labelText,
|
|
36
|
+
readDrawio
|
|
37
|
+
} from "./chunk-6ZGLAACW.js";
|
|
38
|
+
import "./chunk-CQDGOPGH.js";
|
|
39
|
+
import "./chunk-3NFFJL5D.js";
|
|
40
|
+
import "./chunk-PKBHS4AA.js";
|
|
41
|
+
import "./chunk-P32RUW3B.js";
|
|
42
|
+
import "./chunk-QA4O2GGC.js";
|
|
43
|
+
import {
|
|
44
|
+
changesRelOf
|
|
45
|
+
} from "./chunk-Q2TECDIT.js";
|
|
46
|
+
import "./chunk-TUULXQRW.js";
|
|
47
|
+
import "./chunk-BQGDB6ZL.js";
|
|
48
|
+
import "./chunk-TV45EUGM.js";
|
|
49
|
+
|
|
50
|
+
// packages/cli/dist/change-sketch.js
|
|
51
|
+
import { readFile } from "node:fs/promises";
|
|
52
|
+
import { basename, extname, join } from "node:path";
|
|
53
|
+
var METHODS = /* @__PURE__ */ new Set(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
|
|
54
|
+
function lineParts(text) {
|
|
55
|
+
const toks = text.trim().split(/\s+/).filter(Boolean);
|
|
56
|
+
if (toks.length >= 2 && METHODS.has(toks[0].toUpperCase()) && toks[1].startsWith("/"))
|
|
57
|
+
return { method: toks[0].toUpperCase(), path: toks[1] };
|
|
58
|
+
if (toks.length === 1 && /^[A-Za-z0-9][\w.-]*\.[\w.-]+$/.test(toks[0]))
|
|
59
|
+
return { topic: toks[0] };
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
function readMermaidSketch(text) {
|
|
63
|
+
const labels = /* @__PURE__ */ new Map();
|
|
64
|
+
const lines = [];
|
|
65
|
+
const problems = [];
|
|
66
|
+
const legendOf = (s) => {
|
|
67
|
+
const m = /^\s*[[(]\s*(new|modify|modified|changed|retire|retired|removed)\s*[\])]\s*(.*)$/i.exec(s);
|
|
68
|
+
if (!m)
|
|
69
|
+
return { text: s.trim() };
|
|
70
|
+
const w = m[1].toLowerCase();
|
|
71
|
+
return {
|
|
72
|
+
legend: w.startsWith("new") ? "new" : w.startsWith("ret") || w === "removed" ? "retire" : "modify",
|
|
73
|
+
text: m[2].trim()
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
const node = (tok) => {
|
|
77
|
+
const m = /^([A-Za-z0-9_.-]+)(?:\[\s*"?([^\]"]*)"?\s*\]|\(+\s*"?([^)"]*)"?\s*\)+|\{+\s*"?([^}"]*)"?\s*\}+|>\s*"?([^\]"]*)"?\s*\])?$/.exec(tok.trim());
|
|
78
|
+
if (!m)
|
|
79
|
+
return tok.trim();
|
|
80
|
+
const label = (m[2] ?? m[3] ?? m[4] ?? m[5])?.trim();
|
|
81
|
+
if (label)
|
|
82
|
+
labels.set(m[1], label);
|
|
83
|
+
return m[1];
|
|
84
|
+
};
|
|
85
|
+
const rows = text.split(/\r?\n/);
|
|
86
|
+
rows.forEach((raw, i) => {
|
|
87
|
+
const row = raw.replace(/%%.*$/, "").trim();
|
|
88
|
+
if (!row || /^(flowchart|graph)\b/i.test(row) || /^(subgraph|end|classDef|class|style|direction)\b/i.test(row))
|
|
89
|
+
return;
|
|
90
|
+
if (/<\s*[-=.]/.test(row)) {
|
|
91
|
+
problems.push(`line ${i + 1}: a two-way line: draw one line each way: ${row}`);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const m = /^(.+?)\s*(?:--+|==+|-\.+-?)\s*(?:\|([^|]*)\||"?([^">=-]*?)"?\s*(?:--+|==+|\.-+))?\s*>\s*(?:\|([^|]*)\|)?\s*(.+)$/.exec(row);
|
|
95
|
+
if (!m) {
|
|
96
|
+
if (/^[A-Za-z0-9_.-]+\s*[[({]/.test(row))
|
|
97
|
+
node(row);
|
|
98
|
+
else
|
|
99
|
+
problems.push(`line ${i + 1}: not a box or a line: ${row}`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (/-->|==>|\.->|&/.test(m[1]) || /-->|==>|\.->|&/.test(m[5])) {
|
|
103
|
+
problems.push(`line ${i + 1}: one line between two boxes at a time (no chains or &): ${row}`);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const from = node(m[1]);
|
|
107
|
+
const to = node(m[5]);
|
|
108
|
+
const { legend, text: label } = legendOf((m[2] ?? m[3] ?? m[4] ?? "").trim().replace(/^"(.*)"$/, "$1"));
|
|
109
|
+
lines.push({
|
|
110
|
+
from: labels.get(from) ?? from,
|
|
111
|
+
to: labels.get(to) ?? to,
|
|
112
|
+
label,
|
|
113
|
+
...lineParts(label),
|
|
114
|
+
...legend ? { legend } : {},
|
|
115
|
+
at: `line ${i + 1}`
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
for (const l of lines) {
|
|
119
|
+
l.from = labels.get(l.from) ?? l.from;
|
|
120
|
+
l.to = labels.get(l.to) ?? l.to;
|
|
121
|
+
}
|
|
122
|
+
return { lines, problems };
|
|
123
|
+
}
|
|
124
|
+
function readDrawioSketch(xml) {
|
|
125
|
+
const d = readDrawio(xml);
|
|
126
|
+
const lines = d.edges.map((e) => ({
|
|
127
|
+
from: e.from,
|
|
128
|
+
to: e.to,
|
|
129
|
+
label: labelText(e.label),
|
|
130
|
+
...e.method ? { method: e.method } : {},
|
|
131
|
+
...e.path ? { path: e.path } : {},
|
|
132
|
+
...e.topic ? { topic: e.topic } : {},
|
|
133
|
+
...e.legend ? { legend: e.legend } : {},
|
|
134
|
+
at: `${e.page}:${e.line}`
|
|
135
|
+
}));
|
|
136
|
+
return { lines, problems: d.problems.map((p) => `${p.cell}: ${p.message}`) };
|
|
137
|
+
}
|
|
138
|
+
var slug = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
139
|
+
function componentOf(label, estate) {
|
|
140
|
+
const s = slug(label);
|
|
141
|
+
const known = (id) => estate.ids.has(id) || estate.flows.some((f) => f.flow.component === id);
|
|
142
|
+
if (known(label))
|
|
143
|
+
return label;
|
|
144
|
+
if (known(s))
|
|
145
|
+
return s;
|
|
146
|
+
for (const r of estate.records)
|
|
147
|
+
if (r.kind === "Component" && (slug(("name" in r && typeof r.name === "string" ? r.name : "") ?? "") === s || slug(r.id) === s))
|
|
148
|
+
return r.id;
|
|
149
|
+
return void 0;
|
|
150
|
+
}
|
|
151
|
+
function strokesOfLines(lines, estate, drawnAlready = []) {
|
|
152
|
+
const plan = { strokes: [], skipped: [] };
|
|
153
|
+
for (const l of lines) {
|
|
154
|
+
const from = componentOf(l.from, estate);
|
|
155
|
+
const to = componentOf(l.to, estate) ?? slug(l.to);
|
|
156
|
+
if (!from) {
|
|
157
|
+
plan.skipped.push({
|
|
158
|
+
line: l,
|
|
159
|
+
why: `${l.from} isn't a component of the catalog: a stroke can't start from it here (a new box needs a flow name and a trigger; draw it in the app).`
|
|
160
|
+
});
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
const entry = l.topic ?? (l.method && l.path ? `${l.method} ${l.path}` : l.label);
|
|
164
|
+
if (!entry) {
|
|
165
|
+
plan.skipped.push({
|
|
166
|
+
line: l,
|
|
167
|
+
why: "the line has no label: say the API (METHOD /path) or the topic."
|
|
168
|
+
});
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const todaySteps = estate.flows.filter((f) => f.flow.component === from).flatMap((f) => f.flow.steps.map((s, i) => ({ flow: f.flow.id, step: i + 1, s })).filter(({ s }) => s.to?.component === to && (s.to.entry === entry || !!l.path && s.to.entry.replace(/^[A-Z]+\s+/, "") === l.path)));
|
|
172
|
+
if (l.legend === "retire") {
|
|
173
|
+
if (!todaySteps.length) {
|
|
174
|
+
plan.skipped.push({
|
|
175
|
+
line: l,
|
|
176
|
+
why: `marked retired, but today's map has no step from ${from} to ${to} ${entry}.`
|
|
177
|
+
});
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
for (const t of todaySteps)
|
|
181
|
+
plan.strokes.push({
|
|
182
|
+
line: l,
|
|
183
|
+
stroke: {
|
|
184
|
+
kind: "remove",
|
|
185
|
+
flow: t.flow,
|
|
186
|
+
step: t.step,
|
|
187
|
+
why: `Removed in the sketch (${l.at}).`
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (todaySteps.length && l.legend !== "new") {
|
|
193
|
+
plan.skipped.push({ line: l, why: "already on today's map; nothing to draw." });
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
const drawnBefore = drawnAlready.some((d) => (d.repo === from || d.runsOn?.component === from || d.flow.startsWith(`${from}.`)) && d.steps.some((st) => st.op === "add" && (l.topic && st.kind === "publish" && st.to?.entry === l.topic || !l.topic && st.to?.component === to && st.to.entry === entry)));
|
|
197
|
+
if (drawnBefore) {
|
|
198
|
+
plan.skipped.push({ line: l, why: "already drawn in this change; nothing to add." });
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
const isNew = !componentOf(l.to, estate) || !!l.method && !estate.endpoints.has(endpointKey(entry));
|
|
202
|
+
plan.strokes.push({
|
|
203
|
+
line: l,
|
|
204
|
+
stroke: l.topic ? {
|
|
205
|
+
kind: "topic",
|
|
206
|
+
from: { component: from },
|
|
207
|
+
topic: l.topic,
|
|
208
|
+
...componentOf(l.to, estate) && to !== from ? { listener: { component: to } } : {},
|
|
209
|
+
what: `Publishes ${l.topic} (${l.at}).`
|
|
210
|
+
} : {
|
|
211
|
+
kind: "call",
|
|
212
|
+
from: { component: from },
|
|
213
|
+
to: { component: to, entry, new: isNew },
|
|
214
|
+
what: `Calls ${to}'s ${entry} (${l.at}).`
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return plan;
|
|
219
|
+
}
|
|
220
|
+
async function changeSketchCommand(root, change, o, io) {
|
|
221
|
+
if (!change || !o.from) {
|
|
222
|
+
io.err("Usage: atticus change sketch <change> --from <file.drawio|.mmd> [--save]");
|
|
223
|
+
return 2;
|
|
224
|
+
}
|
|
225
|
+
const t = await targetFlowsOf(root, change);
|
|
226
|
+
if (!t) {
|
|
227
|
+
io.err(`There is no change ${change}.`);
|
|
228
|
+
return 2;
|
|
229
|
+
}
|
|
230
|
+
const text = await readFile(o.from, "utf8").catch(() => void 0);
|
|
231
|
+
if (text === void 0) {
|
|
232
|
+
io.err(`${o.from} can't be read.`);
|
|
233
|
+
return 2;
|
|
234
|
+
}
|
|
235
|
+
const ext = extname(o.from).toLowerCase();
|
|
236
|
+
const read = ext === ".drawio" || ext === ".xml" || text.trimStart().startsWith("<") ? readDrawioSketch(text) : readMermaidSketch(text);
|
|
237
|
+
const estate = await loadEstate(root, t.records);
|
|
238
|
+
const dir = changeFolder(root, change);
|
|
239
|
+
const plan = strokesOfLines(read.lines, estate, (await readDeltas(dir)).deltas);
|
|
240
|
+
const by = `${o.by ?? "a person"} from ${basename(o.from)}`;
|
|
241
|
+
const problems = [...read.problems];
|
|
242
|
+
const drawn = [];
|
|
243
|
+
await withFileLock(join(dir, TARGET_DIR), async () => {
|
|
244
|
+
const read2 = await readDeltas(dir);
|
|
245
|
+
if (read2.problems.length) {
|
|
246
|
+
problems.push(...read2.problems.map((x) => `${x} (fix it before drawing over it)`));
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
let deltas = read2.deltas;
|
|
250
|
+
const changed = [];
|
|
251
|
+
for (const s of plan.strokes) {
|
|
252
|
+
const r = applyStroke(deltas, s.stroke, estate, by);
|
|
253
|
+
if (r.problem) {
|
|
254
|
+
plan.skipped.push({ line: s.line, why: r.problem });
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
deltas = r.deltas;
|
|
258
|
+
changed.push(...r.changed);
|
|
259
|
+
drawn.push(`${s.line.from} \u2192 ${s.line.to} ${s.line.label} (${s.line.at})`);
|
|
260
|
+
}
|
|
261
|
+
if (o.save && drawn.length)
|
|
262
|
+
await writeSketch(dir, await planSketchWrite(dir, deltas, changed, estate, by));
|
|
263
|
+
});
|
|
264
|
+
if (o.json) {
|
|
265
|
+
io.out(JSON.stringify({
|
|
266
|
+
change,
|
|
267
|
+
written: !!o.save && drawn.length > 0,
|
|
268
|
+
drawn,
|
|
269
|
+
skipped: plan.skipped,
|
|
270
|
+
problems
|
|
271
|
+
}, null, 2));
|
|
272
|
+
return 0;
|
|
273
|
+
}
|
|
274
|
+
for (const d of drawn)
|
|
275
|
+
io.out(`${o.save ? "Drawn" : "Would draw"}: ${d}`);
|
|
276
|
+
for (const s of plan.skipped)
|
|
277
|
+
io.out(`Left out: ${s.line.from} \u2192 ${s.line.to} ${s.line.label} (${s.line.at}): ${s.why}`);
|
|
278
|
+
for (const p of problems)
|
|
279
|
+
io.out(`Didn't read: ${p}`);
|
|
280
|
+
if (!drawn.length) {
|
|
281
|
+
io.out("Nothing to draw from this file.");
|
|
282
|
+
return plan.skipped.length || problems.length ? 1 : 0;
|
|
283
|
+
}
|
|
284
|
+
io.out(o.save ? `${drawn.length} stroke${drawn.length === 1 ? "" : "s"} written to ${changesRelOf(root)}/${change}/${TARGET_DIR}/; the change diagram shows them, and atticus change architecture ${change} fills in the rest.` : `${drawn.length} stroke${drawn.length === 1 ? "" : "s"} to draw; nothing written. Add --save to draw them.`);
|
|
285
|
+
return 0;
|
|
286
|
+
}
|
|
287
|
+
export {
|
|
288
|
+
changeSketchCommand,
|
|
289
|
+
componentOf,
|
|
290
|
+
lineParts,
|
|
291
|
+
readDrawioSketch,
|
|
292
|
+
readMermaidSketch,
|
|
293
|
+
strokesOfLines
|
|
294
|
+
};
|
|
@@ -5,11 +5,11 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
baseClonePath
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PKBHS4AA.js";
|
|
9
9
|
import {
|
|
10
10
|
loadOrgPack,
|
|
11
11
|
orgPackDirOf
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q2TECDIT.js";
|
|
13
13
|
|
|
14
14
|
// packages/cli/dist/repo-for.js
|
|
15
15
|
import { stat } from "node:fs/promises";
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
+
estateRepos,
|
|
8
|
+
joinReposOf,
|
|
9
|
+
outsideSystems
|
|
10
|
+
} from "./chunk-J2JAKCIW.js";
|
|
11
|
+
import {
|
|
12
|
+
factIdPart,
|
|
13
|
+
factsDirOf,
|
|
14
|
+
joinConventions,
|
|
15
|
+
joinFacts,
|
|
16
|
+
loadOrgPack,
|
|
17
|
+
orgPackDirOf,
|
|
18
|
+
parseFacts
|
|
19
|
+
} from "./chunk-Q2TECDIT.js";
|
|
20
|
+
|
|
21
|
+
// packages/cli/dist/onboarding-queue.js
|
|
22
|
+
import { readFile } from "node:fs/promises";
|
|
23
|
+
import { join } from "node:path";
|
|
24
|
+
var reasonOf = (r) => r.started ? "started" : r.callers?.length ? "called" : r.gateway ? "gateway" : r.places ? "places" : "next";
|
|
25
|
+
function queueOrder(a, b) {
|
|
26
|
+
const rank = (r) => ["started", "called", "gateway", "places", "next"].indexOf(reasonOf(r));
|
|
27
|
+
return rank(a) - rank(b) || (b.callers?.length ?? 0) - (a.callers?.length ?? 0) || Number(!!b.gateway) - Number(!!a.gateway) || a.index - b.index;
|
|
28
|
+
}
|
|
29
|
+
function queueWhy(r) {
|
|
30
|
+
const callers = r.callers ?? [];
|
|
31
|
+
const named = callers.length > 3 ? `${callers.slice(0, 3).join(", ")} and ${callers.length - 3} more` : callers.join(", ");
|
|
32
|
+
switch (reasonOf(r)) {
|
|
33
|
+
case "started":
|
|
34
|
+
return "Its read is under way: finish it first.";
|
|
35
|
+
case "called":
|
|
36
|
+
return `${callers.length} read ${callers.length === 1 ? "repo calls" : "repos call"} it (${named})${r.gateway ? ", and it is a gateway" : ""}: read it next and ${callers.length === 1 ? "that link lands" : "those links land"}.`;
|
|
37
|
+
case "gateway":
|
|
38
|
+
return "It is a gateway (its manifest type): the calls through it join once it is read, so it goes before its callers.";
|
|
39
|
+
case "places":
|
|
40
|
+
return "It is a deploy or config repo (its manifest type): its Routes and values say where other repos are reached, so their links land once it is read.";
|
|
41
|
+
default:
|
|
42
|
+
return "Nothing read yet calls it: in the manifests' order.";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var firstLine = (e) => String(e?.message ?? e).split("\n")[0];
|
|
46
|
+
function callersOf(op, read, waiting) {
|
|
47
|
+
const out = /* @__PURE__ */ new Map();
|
|
48
|
+
if (!read.length || !waiting.length)
|
|
49
|
+
return /* @__PURE__ */ new Map();
|
|
50
|
+
const manifests = estateRepos(op);
|
|
51
|
+
const byTarget = /* @__PURE__ */ new Map();
|
|
52
|
+
for (const id of waiting) {
|
|
53
|
+
const m = manifests.find((r) => r.id === id);
|
|
54
|
+
byTarget.set(factIdPart(id), id);
|
|
55
|
+
if (m?.component)
|
|
56
|
+
byTarget.set(factIdPart(m.component), id);
|
|
57
|
+
for (const mod of m?.modules ?? [])
|
|
58
|
+
byTarget.set(factIdPart(mod.component), id);
|
|
59
|
+
}
|
|
60
|
+
const repos = joinReposOf(op, [
|
|
61
|
+
...read,
|
|
62
|
+
...waiting.filter((id) => !read.some((r) => r.repo === id)).map((repo) => ({ repo, facts: [] }))
|
|
63
|
+
]);
|
|
64
|
+
const join2 = joinFacts({ repos, outside: outsideSystems(op), ...joinConventions(op) });
|
|
65
|
+
for (const m of join2.misses) {
|
|
66
|
+
const to = byTarget.get(factIdPart(m.target));
|
|
67
|
+
if (!to || to === m.call.repo)
|
|
68
|
+
continue;
|
|
69
|
+
out.set(to, (out.get(to) ?? /* @__PURE__ */ new Set()).add(m.call.repo));
|
|
70
|
+
}
|
|
71
|
+
return new Map([...out].map(([k, v]) => [k, [...v].sort()]));
|
|
72
|
+
}
|
|
73
|
+
async function onboardingQueue(root, waiting) {
|
|
74
|
+
const problems = [];
|
|
75
|
+
let op;
|
|
76
|
+
try {
|
|
77
|
+
op = await loadOrgPack(orgPackDirOf(root));
|
|
78
|
+
} catch (e) {
|
|
79
|
+
problems.push({ file: "org-pack", message: firstLine(e) });
|
|
80
|
+
}
|
|
81
|
+
const manifests = op ? estateRepos(op) : [];
|
|
82
|
+
const ids = waiting.map((w) => w.repo);
|
|
83
|
+
let callers = /* @__PURE__ */ new Map();
|
|
84
|
+
if (op) {
|
|
85
|
+
const read = [];
|
|
86
|
+
for (const m of manifests) {
|
|
87
|
+
const text = await readFile(join(factsDirOf(root), `${m.id}.jsonl`), "utf8").catch(() => void 0);
|
|
88
|
+
if (!text?.trim())
|
|
89
|
+
continue;
|
|
90
|
+
const p = parseFacts(text);
|
|
91
|
+
if (p.ok)
|
|
92
|
+
read.push({ repo: m.id, facts: p.facts });
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
callers = callersOf(op, read, ids);
|
|
96
|
+
} catch (e) {
|
|
97
|
+
problems.push({
|
|
98
|
+
file: "facts",
|
|
99
|
+
message: `the join couldn't rank the queue: ${firstLine(e)}`
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const queue = waiting.map((w, index) => {
|
|
104
|
+
const m = manifests.find((r) => r.id === w.repo);
|
|
105
|
+
const by = callers.get(w.repo) ?? [];
|
|
106
|
+
return {
|
|
107
|
+
repo: w.repo,
|
|
108
|
+
index,
|
|
109
|
+
...w.started ? { started: true } : {},
|
|
110
|
+
...m && /^gateway(-|$)/.test(m.type) ? { gateway: true } : {},
|
|
111
|
+
...m && /^(deploy|config)(-|$)/.test(m.type) ? { places: true } : {},
|
|
112
|
+
...by.length ? { callers: by } : {}
|
|
113
|
+
};
|
|
114
|
+
}).sort(queueOrder);
|
|
115
|
+
return { queue, problems };
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export {
|
|
119
|
+
reasonOf,
|
|
120
|
+
queueWhy,
|
|
121
|
+
onboardingQueue
|
|
122
|
+
};
|
|
@@ -6,12 +6,14 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
|
6
6
|
import {
|
|
7
7
|
RuntimeConfigError,
|
|
8
8
|
RuntimeError,
|
|
9
|
-
estimateTokens,
|
|
10
9
|
registerModelProvider
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-P32RUW3B.js";
|
|
11
|
+
import {
|
|
12
|
+
estimateTokens
|
|
13
|
+
} from "./chunk-Q2TECDIT.js";
|
|
12
14
|
import {
|
|
13
15
|
redactText
|
|
14
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TUULXQRW.js";
|
|
15
17
|
import {
|
|
16
18
|
__commonJS,
|
|
17
19
|
__require,
|
|
@@ -26302,6 +26304,7 @@ var copy = {
|
|
|
26302
26304
|
literalKey: (provider, name) => `adapters.model.settings.${name} for the ${provider} model provider looks like a key or token itself. A key never goes in runtime.yaml: put it in an environment variable and give that variable's name as keyEnv (for example keyEnv: ATTICUS_MODEL_KEY).`,
|
|
26303
26305
|
keyEnvName: (provider) => `adapters.model.settings.keyEnv for the ${provider} model provider must be the name of an environment variable (letters, digits and _, for example ATTICUS_MODEL_KEY), not the key.`,
|
|
26304
26306
|
keyEnvUnset: (provider, keyEnv) => `The ${provider} model provider reads its key from ${keyEnv}, which is set neither in the environment nor in this machine's credential store. Keep it there with atticus secret set ${keyEnv} (or the AI tab's "Set the key on this machine"), or set the environment variable; the key never goes in runtime.yaml.`,
|
|
26307
|
+
keyEnvNotRead: (provider, keyEnv) => `The ${provider} model provider's keyEnv is ${keyEnv}, which isn't read from the environment: only a variable starting ATTICUS_ (such as ATTICUS_MODEL_KEY) or a model provider's own (such as ANTHROPIC_API_KEY or OPENAI_API_KEY) is, so a runtime.yaml can't send another secret (a Git or pipeline token, cloud credentials) to the model's address. Name one of those in keyEnv, or keep the key with atticus secret set ${keyEnv}.`,
|
|
26305
26308
|
plainHttp: (provider, url) => `The ${provider} model provider only calls https:// addresses (prompts carry your organisation's material), and ${url} isn't one. Plain http:// is accepted only for this machine (localhost or 127.0.0.1).`,
|
|
26306
26309
|
awsUnset: (missing) => `AWS Bedrock reads its credentials from the standard AWS environment variables, and ${missing.join(" and ")} ${missing.length === 1 ? "isn't" : "aren't"} set. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY (and AWS_SESSION_TOKEN for temporary credentials) in the environment that runs Atticus.`,
|
|
26307
26310
|
awsNoRegion: () => "AWS Bedrock needs a region: set adapters.model.settings.region in runtime.yaml (for example region: us-east-1), or AWS_REGION in the environment.",
|
|
@@ -26498,6 +26501,24 @@ function looksLikeKey(v) {
|
|
|
26498
26501
|
return false;
|
|
26499
26502
|
}
|
|
26500
26503
|
var ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,127}$/;
|
|
26504
|
+
var PROVIDER_KEY_ENVS = [
|
|
26505
|
+
"ANTHROPIC_API_KEY",
|
|
26506
|
+
"OPENAI_API_KEY",
|
|
26507
|
+
"AZURE_OPENAI_API_KEY",
|
|
26508
|
+
"AZURE_OPENAI_KEY",
|
|
26509
|
+
"GEMINI_API_KEY",
|
|
26510
|
+
"MISTRAL_API_KEY",
|
|
26511
|
+
"COHERE_API_KEY",
|
|
26512
|
+
"GROQ_API_KEY",
|
|
26513
|
+
"OPENROUTER_API_KEY",
|
|
26514
|
+
"TOGETHER_API_KEY",
|
|
26515
|
+
"DEEPSEEK_API_KEY",
|
|
26516
|
+
"XAI_API_KEY",
|
|
26517
|
+
"FIREWORKS_API_KEY"
|
|
26518
|
+
];
|
|
26519
|
+
function keyEnvFromEnvironment(name) {
|
|
26520
|
+
return /^ATTICUS_[A-Z0-9_]+$/.test(name) || PROVIDER_KEY_ENVS.includes(name);
|
|
26521
|
+
}
|
|
26501
26522
|
var SettingsReader = class {
|
|
26502
26523
|
provider;
|
|
26503
26524
|
raw;
|
|
@@ -26574,9 +26595,10 @@ var SettingsReader = class {
|
|
|
26574
26595
|
}
|
|
26575
26596
|
};
|
|
26576
26597
|
function readKey(provider, keyEnv, env, store = defaultKeyStore()) {
|
|
26577
|
-
const
|
|
26598
|
+
const fromEnv = keyEnvFromEnvironment(keyEnv);
|
|
26599
|
+
const v = (fromEnv ? env[keyEnv]?.trim() : void 0) || store.get(keyEnv)?.trim();
|
|
26578
26600
|
if (!v)
|
|
26579
|
-
throw new ModelProviderConfigError(copy.keyEnvUnset(provider, keyEnv));
|
|
26601
|
+
throw new ModelProviderConfigError(fromEnv ? copy.keyEnvUnset(provider, keyEnv) : copy.keyEnvNotRead(provider, keyEnv));
|
|
26580
26602
|
return v;
|
|
26581
26603
|
}
|
|
26582
26604
|
|
|
@@ -27771,6 +27793,8 @@ export {
|
|
|
27771
27793
|
ModelProviderConfigError,
|
|
27772
27794
|
ModelProviderError,
|
|
27773
27795
|
looksLikeKey,
|
|
27796
|
+
PROVIDER_KEY_ENVS,
|
|
27797
|
+
keyEnvFromEnvironment,
|
|
27774
27798
|
SettingsReader,
|
|
27775
27799
|
readKey,
|
|
27776
27800
|
TransportError,
|