@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
|
@@ -0,0 +1,273 @@
|
|
|
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
|
+
rulesLackingAll
|
|
8
|
+
} from "./chunk-WXFLMQSR.js";
|
|
9
|
+
import {
|
|
10
|
+
loadReadPlan
|
|
11
|
+
} from "./chunk-TYQBFTBR.js";
|
|
12
|
+
import {
|
|
13
|
+
carryOf,
|
|
14
|
+
checkoutOf,
|
|
15
|
+
excludesOf
|
|
16
|
+
} from "./chunk-2F4CYZKJ.js";
|
|
17
|
+
import {
|
|
18
|
+
isMetarepo,
|
|
19
|
+
notMetarepo
|
|
20
|
+
} from "./chunk-3G4YI4ZU.js";
|
|
21
|
+
import {
|
|
22
|
+
dirSource,
|
|
23
|
+
rereadPlan,
|
|
24
|
+
sameCommit
|
|
25
|
+
} from "./chunk-CXJ6FUKN.js";
|
|
26
|
+
import {
|
|
27
|
+
loadRepos
|
|
28
|
+
} from "./chunk-PKBHS4AA.js";
|
|
29
|
+
import {
|
|
30
|
+
citedFiles,
|
|
31
|
+
factsDirOf,
|
|
32
|
+
factsFileOf,
|
|
33
|
+
factsRelOf,
|
|
34
|
+
headFromFiles,
|
|
35
|
+
parseFacts
|
|
36
|
+
} from "./chunk-Q2TECDIT.js";
|
|
37
|
+
|
|
38
|
+
// packages/cli/dist/estate-fresh.js
|
|
39
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
40
|
+
import { join } from "node:path";
|
|
41
|
+
var FRESH_STATES = [
|
|
42
|
+
/** Facts cite files that changed, or source files changed: read again. */
|
|
43
|
+
"stale",
|
|
44
|
+
/** The clone doesn't have the commit the facts were read at: they can't be compared. */
|
|
45
|
+
"unknown-commit",
|
|
46
|
+
/** The clone moved, but nothing the facts cite changed and no source file did: carry them. */
|
|
47
|
+
"moved",
|
|
48
|
+
/**
|
|
49
|
+
* ADR 0167: the facts are of the clone's commit, but the read lacked rule sets added since
|
|
50
|
+
* (or recorded none, before 2.0.0-beta.12): a top-up reads the files those sets apply to.
|
|
51
|
+
*/
|
|
52
|
+
"rules-changed",
|
|
53
|
+
/** No clone to compare with. */
|
|
54
|
+
"no-checkout",
|
|
55
|
+
/** The facts are of the commit the clone is at. */
|
|
56
|
+
"fresh",
|
|
57
|
+
/** No facts yet: the repo isn't read. */
|
|
58
|
+
"not-read"
|
|
59
|
+
];
|
|
60
|
+
var RANK = Object.fromEntries(FRESH_STATES.map((s, i) => [s, i]));
|
|
61
|
+
function freshOrder(a, b) {
|
|
62
|
+
return RANK[a.state] - RANK[b.state] || b.reread - a.reread || b.citedChanged - a.citedChanged || b.toRead - a.toRead || b.changed - a.changed || (a.repo < b.repo ? -1 : a.repo > b.repo ? 1 : 0);
|
|
63
|
+
}
|
|
64
|
+
async function pool(xs, n, f) {
|
|
65
|
+
const out = new Array(xs.length);
|
|
66
|
+
let next = 0;
|
|
67
|
+
const worker = async () => {
|
|
68
|
+
for (let i = next++; i < xs.length; i = next++)
|
|
69
|
+
out[i] = await f(xs[i]);
|
|
70
|
+
};
|
|
71
|
+
await Promise.all(Array.from({ length: Math.min(n, xs.length) }, worker));
|
|
72
|
+
return out;
|
|
73
|
+
}
|
|
74
|
+
var firstLine = (e) => String(e?.message ?? e).split("\n")[0];
|
|
75
|
+
async function freshOf(root, repo, o, problems) {
|
|
76
|
+
const factsFile = `${factsRelOf(root)}/${repo}.jsonl`;
|
|
77
|
+
const base = {
|
|
78
|
+
repo,
|
|
79
|
+
factsFile,
|
|
80
|
+
facts: 0,
|
|
81
|
+
factsCommits: [],
|
|
82
|
+
current: 0,
|
|
83
|
+
carried: 0,
|
|
84
|
+
reread: 0,
|
|
85
|
+
citedChanged: 0,
|
|
86
|
+
changed: 0,
|
|
87
|
+
toRead: 0,
|
|
88
|
+
unknown: []
|
|
89
|
+
};
|
|
90
|
+
const read = { command: `atticus map ${repo}`, slash: `/atticus-map ${repo}` };
|
|
91
|
+
const text = await readFile(join(factsDirOf(root), `${repo}.jsonl`), "utf8").catch(() => void 0);
|
|
92
|
+
if (text === void 0 || !text.trim())
|
|
93
|
+
return { ...base, state: "not-read", ...read };
|
|
94
|
+
const parsed = parseFacts(text);
|
|
95
|
+
if (!parsed.ok) {
|
|
96
|
+
problems.push({
|
|
97
|
+
file: factsFile,
|
|
98
|
+
message: `doesn't read as facts: ${parsed.issues[0]?.message ?? "invalid"}`
|
|
99
|
+
});
|
|
100
|
+
return { ...base, state: "not-read", ...read };
|
|
101
|
+
}
|
|
102
|
+
const facts = parsed.facts;
|
|
103
|
+
const commits = [...new Set(facts.map((f) => f.commit))].sort();
|
|
104
|
+
const counted = { ...base, facts: facts.length, factsCommits: commits };
|
|
105
|
+
const dir = await checkoutOf(root, repo).catch(() => void 0);
|
|
106
|
+
const head = dir ? await headFromFiles(dir) : void 0;
|
|
107
|
+
if (!dir || !head)
|
|
108
|
+
return { ...counted, state: "no-checkout", command: "atticus workspace sync" };
|
|
109
|
+
const at = { ...counted, head };
|
|
110
|
+
if (facts.every((f) => sameCommit(f.commit, head))) {
|
|
111
|
+
const lacking = await rulesLackingAll(root, repo, (await loadReadPlan(root, repo).catch(() => void 0))?.rules, { dir });
|
|
112
|
+
return lacking.length ? {
|
|
113
|
+
...at,
|
|
114
|
+
state: "rules-changed",
|
|
115
|
+
current: facts.length,
|
|
116
|
+
rulesLacking: lacking,
|
|
117
|
+
command: `atticus map ${repo} --rules`,
|
|
118
|
+
slash: `/atticus-map ${repo} --rules`
|
|
119
|
+
} : { ...at, state: "fresh", current: facts.length };
|
|
120
|
+
}
|
|
121
|
+
let carry;
|
|
122
|
+
try {
|
|
123
|
+
carry = await carryOf(dir, facts, head, o.git);
|
|
124
|
+
} catch (e) {
|
|
125
|
+
problems.push({
|
|
126
|
+
file: factsFile,
|
|
127
|
+
message: `git couldn't compare the commits: ${firstLine(e)}`
|
|
128
|
+
});
|
|
129
|
+
return { ...at, state: "unknown-commit", unknown: commits, reread: facts.length, ...read };
|
|
130
|
+
}
|
|
131
|
+
const plan = rereadPlan({
|
|
132
|
+
facts,
|
|
133
|
+
commit: head,
|
|
134
|
+
carry: carry.carry,
|
|
135
|
+
source: dirSource(dir),
|
|
136
|
+
exclude: await excludesOf(root, repo)
|
|
137
|
+
});
|
|
138
|
+
const unknown = [.../* @__PURE__ */ new Set([...plan.unknown, ...carry.missing])].sort();
|
|
139
|
+
const lost = facts.filter((f) => unknown.some((c) => sameCommit(c, f.commit))).length;
|
|
140
|
+
const changedPaths = /* @__PURE__ */ new Set();
|
|
141
|
+
for (const cs of Object.values(carry.carry))
|
|
142
|
+
for (const c of cs) {
|
|
143
|
+
changedPaths.add(c.path);
|
|
144
|
+
if (c.from)
|
|
145
|
+
changedPaths.add(c.from);
|
|
146
|
+
}
|
|
147
|
+
const cited = /* @__PURE__ */ new Set();
|
|
148
|
+
for (const f of facts) {
|
|
149
|
+
if (sameCommit(f.commit, head) || unknown.some((c) => sameCommit(c, f.commit)))
|
|
150
|
+
continue;
|
|
151
|
+
for (const p of citedFiles(f))
|
|
152
|
+
if (changedPaths.has(p))
|
|
153
|
+
cited.add(p);
|
|
154
|
+
}
|
|
155
|
+
const changed = new Set(Object.values(carry.carry).flatMap((cs) => cs.map((c) => c.path))).size;
|
|
156
|
+
const out = {
|
|
157
|
+
...at,
|
|
158
|
+
current: plan.current,
|
|
159
|
+
carried: plan.carried,
|
|
160
|
+
reread: plan.reread.length + lost,
|
|
161
|
+
citedChanged: cited.size,
|
|
162
|
+
changed,
|
|
163
|
+
toRead: plan.files.length,
|
|
164
|
+
unknown
|
|
165
|
+
};
|
|
166
|
+
if (unknown.length)
|
|
167
|
+
return { ...out, state: "unknown-commit", command: "atticus workspace sync" };
|
|
168
|
+
if (!out.reread && !out.toRead)
|
|
169
|
+
return { ...out, state: "moved", command: `atticus verify ${repo} --write` };
|
|
170
|
+
return { ...out, state: "stale", ...read };
|
|
171
|
+
}
|
|
172
|
+
async function estateFreshness(root, o = {}) {
|
|
173
|
+
const problems = [];
|
|
174
|
+
const ids = [];
|
|
175
|
+
try {
|
|
176
|
+
for (const r of await loadRepos(root))
|
|
177
|
+
if (!r.archived)
|
|
178
|
+
ids.push(r.id);
|
|
179
|
+
} catch (e) {
|
|
180
|
+
problems.push({ file: "org-pack/profiles", message: firstLine(e) });
|
|
181
|
+
}
|
|
182
|
+
for (const n of (await readdir(factsDirOf(root)).catch(() => [])).sort()) {
|
|
183
|
+
const of = factsFileOf(n);
|
|
184
|
+
if (of?.facts && !ids.includes(of.repo))
|
|
185
|
+
ids.push(of.repo);
|
|
186
|
+
}
|
|
187
|
+
const want = o.repos ? ids.filter((id) => o.repos.includes(id)) : ids;
|
|
188
|
+
const repos = await pool(want, 4, (id) => freshOf(root, id, o, problems));
|
|
189
|
+
return { factsDir: factsRelOf(root), repos: repos.sort(freshOrder), problems };
|
|
190
|
+
}
|
|
191
|
+
var short = (c) => c.slice(0, 12);
|
|
192
|
+
var plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
|
|
193
|
+
var factsCommitWords = (r) => r.factsCommits.length === 0 ? "-" : r.factsCommits.length === 1 ? short(r.factsCommits[0]) : `${short(r.factsCommits[0])} +${r.factsCommits.length - 1}`;
|
|
194
|
+
function freshWhy(r) {
|
|
195
|
+
switch (r.state) {
|
|
196
|
+
case "stale":
|
|
197
|
+
return `${plural(r.reread, "fact")} to read again (${plural(r.citedChanged, "file")} they cite changed), ${r.carried} carried as they are; ${plural(r.toRead, "source file")} to read.`;
|
|
198
|
+
case "unknown-commit":
|
|
199
|
+
return `The clone doesn't have ${r.unknown.map(short).join(", ")}, the commit the facts were read at: sync it, or read the repo again whole.`;
|
|
200
|
+
case "moved":
|
|
201
|
+
return `The clone moved, but nothing the facts cite changed and no source file did: verify carries all ${plural(r.carried + r.current, "fact")}.`;
|
|
202
|
+
case "rules-changed":
|
|
203
|
+
return `Its facts are of the clone's commit, but it was read before these reading rules: ${(r.rulesLacking ?? []).join(", ")}. A top-up reads only the files they apply to.`;
|
|
204
|
+
case "no-checkout":
|
|
205
|
+
return "No clone to compare the facts with.";
|
|
206
|
+
case "fresh":
|
|
207
|
+
return "The facts are of the commit the clone is at.";
|
|
208
|
+
default:
|
|
209
|
+
return "Not read yet.";
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
async function estateFresh(root, o, io) {
|
|
213
|
+
if (!isMetarepo(root)) {
|
|
214
|
+
io.err(notMetarepo(root));
|
|
215
|
+
return 2;
|
|
216
|
+
}
|
|
217
|
+
const v = await estateFreshness(root, o.git ? { git: o.git } : {});
|
|
218
|
+
if (o.json) {
|
|
219
|
+
io.out(JSON.stringify(v, null, 2));
|
|
220
|
+
return 0;
|
|
221
|
+
}
|
|
222
|
+
for (const p of v.problems)
|
|
223
|
+
io.err(`Couldn't read ${p.file}: ${p.message}`);
|
|
224
|
+
const read = v.repos.filter((r) => r.state !== "not-read");
|
|
225
|
+
if (!read.length) {
|
|
226
|
+
io.out(v.repos.length ? `No repo is read yet, so none can be stale: atticus next says which to read first.` : "No repo is listed yet: atticus next says how to start.");
|
|
227
|
+
return 0;
|
|
228
|
+
}
|
|
229
|
+
const stale = read.filter((r) => r.state !== "fresh");
|
|
230
|
+
const moved = stale.filter((r) => r.state !== "rules-changed");
|
|
231
|
+
const rules = stale.length - moved.length;
|
|
232
|
+
const facts = moved.reduce((n, r) => n + r.reread, 0);
|
|
233
|
+
if (moved.length || !rules)
|
|
234
|
+
io.out(moved.length ? `${plural(moved.length, "repo")} of ${read.length} read ${moved.length === 1 ? "has" : "have"} moved past ${moved.length === 1 ? "its" : "their"} facts' commit: ${plural(facts, "fact")} to read again. Most stale first:` : `All ${plural(read.length, "repo")} read are fresh: each one's facts are of the commit its clone is at.`);
|
|
235
|
+
if (rules)
|
|
236
|
+
io.out(`${plural(rules, "repo")} of ${read.length} read ${rules === 1 ? "was" : "were"} read before reading rules added since: atticus map --all --stale tops ${rules === 1 ? "it" : "them"} up, reading only the files the new rules apply to.`);
|
|
237
|
+
const shown = o.all ? read : stale;
|
|
238
|
+
if (shown.length) {
|
|
239
|
+
const rows = shown.map((r) => [
|
|
240
|
+
r.repo,
|
|
241
|
+
r.state,
|
|
242
|
+
factsCommitWords(r),
|
|
243
|
+
r.head ? short(r.head) : "-",
|
|
244
|
+
String(r.citedChanged),
|
|
245
|
+
String(r.reread),
|
|
246
|
+
r.command ?? ""
|
|
247
|
+
]);
|
|
248
|
+
const head = ["repo", "state", "facts at", "clone at", "cited changed", "to read again", "run"];
|
|
249
|
+
const w = head.map((h, i) => Math.max(h.length, ...rows.map((x) => x[i].length)));
|
|
250
|
+
const line = (cells) => cells.map((c, i) => i === cells.length - 1 ? c : c.padEnd(w[i])).join(" ").trimEnd();
|
|
251
|
+
io.out(line(head));
|
|
252
|
+
for (const r of rows)
|
|
253
|
+
io.out(line(r));
|
|
254
|
+
for (const r of shown.filter((x) => x.state !== "fresh"))
|
|
255
|
+
io.out(` ${r.repo}: ${freshWhy(r)}`);
|
|
256
|
+
}
|
|
257
|
+
const fresh = read.length - stale.length;
|
|
258
|
+
if (fresh && !o.all && stale.length)
|
|
259
|
+
io.out(`${plural(fresh, "repo")} fresh (--all lists them too).`);
|
|
260
|
+
const unread = v.repos.length - read.length;
|
|
261
|
+
if (unread)
|
|
262
|
+
io.out(`${plural(unread, "repo")} not read yet: atticus next says which to read first.`);
|
|
263
|
+
return 0;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export {
|
|
267
|
+
FRESH_STATES,
|
|
268
|
+
freshOrder,
|
|
269
|
+
estateFreshness,
|
|
270
|
+
factsCommitWords,
|
|
271
|
+
freshWhy,
|
|
272
|
+
estateFresh
|
|
273
|
+
};
|
|
@@ -14,25 +14,27 @@ import {
|
|
|
14
14
|
onboardFrameworkCheck,
|
|
15
15
|
scanReview,
|
|
16
16
|
scanSurvey
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-4EURQWQD.js";
|
|
18
|
+
import "./chunk-OHNCWBKF.js";
|
|
19
19
|
import {
|
|
20
20
|
repoFor
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
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-
|
|
21
|
+
} from "./chunk-LO6P2VYG.js";
|
|
22
|
+
import "./chunk-O7FDLW7L.js";
|
|
23
|
+
import "./chunk-PJSJPMJI.js";
|
|
24
|
+
import "./chunk-ISUAAMGS.js";
|
|
25
|
+
import "./chunk-J2JAKCIW.js";
|
|
26
|
+
import "./chunk-745DAZ4L.js";
|
|
27
|
+
import "./chunk-CXJ6FUKN.js";
|
|
28
|
+
import "./chunk-QKUJMING.js";
|
|
29
|
+
import "./chunk-6ZGLAACW.js";
|
|
30
|
+
import "./chunk-CQDGOPGH.js";
|
|
31
|
+
import "./chunk-3NFFJL5D.js";
|
|
32
|
+
import "./chunk-PKBHS4AA.js";
|
|
33
|
+
import "./chunk-P32RUW3B.js";
|
|
34
|
+
import "./chunk-QA4O2GGC.js";
|
|
35
|
+
import "./chunk-Q2TECDIT.js";
|
|
36
|
+
import "./chunk-TUULXQRW.js";
|
|
37
|
+
import "./chunk-BQGDB6ZL.js";
|
|
36
38
|
import "./chunk-TV45EUGM.js";
|
|
37
39
|
export {
|
|
38
40
|
matchedRepoType,
|
|
@@ -0,0 +1,165 @@
|
|
|
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
|
+
describeRun
|
|
8
|
+
} from "./chunk-VTZMAJ3W.js";
|
|
9
|
+
import {
|
|
10
|
+
RunLevel,
|
|
11
|
+
readyTasksOf,
|
|
12
|
+
runReadyTasks
|
|
13
|
+
} from "./chunk-6MUGR4LS.js";
|
|
14
|
+
import "./chunk-DOBQKHIF.js";
|
|
15
|
+
import "./chunk-JENSEMXF.js";
|
|
16
|
+
import "./chunk-O7FDLW7L.js";
|
|
17
|
+
import "./chunk-HNM2YQT2.js";
|
|
18
|
+
import "./chunk-PAQ2AS5E.js";
|
|
19
|
+
import "./chunk-RUGXBPWI.js";
|
|
20
|
+
import "./chunk-BTGPE6CR.js";
|
|
21
|
+
import "./chunk-MUWDB4R4.js";
|
|
22
|
+
import "./chunk-ZQ7SKESZ.js";
|
|
23
|
+
import "./chunk-UGUP3ZM6.js";
|
|
24
|
+
import "./chunk-R7NYHMUU.js";
|
|
25
|
+
import "./chunk-IVBOQAGB.js";
|
|
26
|
+
import "./chunk-ISUAAMGS.js";
|
|
27
|
+
import "./chunk-BEVTIBRH.js";
|
|
28
|
+
import "./chunk-UF4AZOZB.js";
|
|
29
|
+
import "./chunk-YHCMZC2J.js";
|
|
30
|
+
import "./chunk-VOGCSYOI.js";
|
|
31
|
+
import "./chunk-S4PMJU6H.js";
|
|
32
|
+
import "./chunk-IDKCWSM5.js";
|
|
33
|
+
import "./chunk-UUU4CLJG.js";
|
|
34
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
35
|
+
import "./chunk-J2JAKCIW.js";
|
|
36
|
+
import "./chunk-745DAZ4L.js";
|
|
37
|
+
import "./chunk-CXJ6FUKN.js";
|
|
38
|
+
import "./chunk-QKUJMING.js";
|
|
39
|
+
import "./chunk-6ZGLAACW.js";
|
|
40
|
+
import "./chunk-CQDGOPGH.js";
|
|
41
|
+
import "./chunk-3NFFJL5D.js";
|
|
42
|
+
import "./chunk-PKBHS4AA.js";
|
|
43
|
+
import {
|
|
44
|
+
RUNTIME_MODES
|
|
45
|
+
} from "./chunk-P32RUW3B.js";
|
|
46
|
+
import "./chunk-QA4O2GGC.js";
|
|
47
|
+
import "./chunk-Q2TECDIT.js";
|
|
48
|
+
import "./chunk-TUULXQRW.js";
|
|
49
|
+
import "./chunk-BQGDB6ZL.js";
|
|
50
|
+
import "./chunk-TV45EUGM.js";
|
|
51
|
+
|
|
52
|
+
// packages/cli/dist/run-ready-commands.js
|
|
53
|
+
async function deployOrderOf(root, change) {
|
|
54
|
+
try {
|
|
55
|
+
const { loadRelease, deploymentPlan } = await import("./chunk-WMTRHUI5.js");
|
|
56
|
+
const plan = await deploymentPlan(await loadRelease(root, change));
|
|
57
|
+
const out = [];
|
|
58
|
+
for (const s of [...plan.steps].sort((a, b) => a.n - b.n))
|
|
59
|
+
if (!out.includes(s.repo))
|
|
60
|
+
out.push(s.repo);
|
|
61
|
+
return out;
|
|
62
|
+
} catch {
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function readyLines(change, p) {
|
|
67
|
+
if (!p.tasks.length)
|
|
68
|
+
return [`Every task of ${change} is done.`];
|
|
69
|
+
const repoOf = new Map(p.tasks.map((t) => [t.id, t.repo]));
|
|
70
|
+
const out = p.ready.length ? [
|
|
71
|
+
`Ready to run, in cross-repo order: ${p.ready.map((id) => `${id} (${repoOf.get(id)})`).join(", ")}.`
|
|
72
|
+
] : [`No task of ${change} is ready to run.`];
|
|
73
|
+
for (const t of p.tasks.filter((x) => !x.ready))
|
|
74
|
+
out.push(` Not ready: task ${t.id}: ${t.why}.`);
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
async function taskRunReady(root, changeId, o, io, deps = {}) {
|
|
78
|
+
if (!changeId) {
|
|
79
|
+
io.err("Usage: atticus task run-ready <change> [--level draft|pr] [--mode hand-off|model|headless-claude-code] [--approve] [--dry-run]");
|
|
80
|
+
return 2;
|
|
81
|
+
}
|
|
82
|
+
if (!o.by) {
|
|
83
|
+
io.err("Say who is running the tasks: set your Git user (git config user.name), or pass --by <you>.");
|
|
84
|
+
return 2;
|
|
85
|
+
}
|
|
86
|
+
if (o.level !== void 0 && !RunLevel.safeParse(o.level).success) {
|
|
87
|
+
io.err(`Unknown level ${o.level}. Use one of: plan, draft, pr.`);
|
|
88
|
+
return 2;
|
|
89
|
+
}
|
|
90
|
+
const env = deps.env ?? process.env;
|
|
91
|
+
const mode = o.mode ?? env.ATTICUS_RUNTIME;
|
|
92
|
+
if (mode !== void 0 && (!RUNTIME_MODES.includes(mode) || mode === "mock")) {
|
|
93
|
+
io.err(`Unknown mode ${mode}. Use one of: hand-off, model, headless-claude-code, replay.`);
|
|
94
|
+
return 2;
|
|
95
|
+
}
|
|
96
|
+
const repoOrder = deps.repoOrder ?? await deployOrderOf(root, changeId);
|
|
97
|
+
let plan;
|
|
98
|
+
try {
|
|
99
|
+
plan = await readyTasksOf(root, changeId, repoOrder ? { repoOrder } : {});
|
|
100
|
+
} catch (e) {
|
|
101
|
+
io.err(e.message);
|
|
102
|
+
return 1;
|
|
103
|
+
}
|
|
104
|
+
const level = o.level;
|
|
105
|
+
const dry = o.dryRun === true || level === "pr" && !o.approve;
|
|
106
|
+
const now = deps.now ?? (() => /* @__PURE__ */ new Date());
|
|
107
|
+
let r;
|
|
108
|
+
try {
|
|
109
|
+
r = await runReadyTasks(root, changeId, {
|
|
110
|
+
by: o.by,
|
|
111
|
+
...level ? { level } : {},
|
|
112
|
+
...mode ? { mode } : {},
|
|
113
|
+
...env.ATTICUS_REPLAY_DIR ? { replayDir: env.ATTICUS_REPLAY_DIR } : {},
|
|
114
|
+
...repoOrder ? { repoOrder } : {},
|
|
115
|
+
...dry ? { dryRun: true } : {},
|
|
116
|
+
...o.approve ? {
|
|
117
|
+
approval: {
|
|
118
|
+
by: o.by,
|
|
119
|
+
at: now().toISOString(),
|
|
120
|
+
ref: `the ready tasks of ${changeId}: push and PR each (Run all ready tasks)`
|
|
121
|
+
}
|
|
122
|
+
} : {},
|
|
123
|
+
...deps.runtime ? { runtime: deps.runtime } : {},
|
|
124
|
+
...deps.runtimeOptions ? { runtimeOptions: deps.runtimeOptions } : {},
|
|
125
|
+
...deps.commands ? { commands: deps.commands } : {},
|
|
126
|
+
...deps.git ? { git: deps.git } : {},
|
|
127
|
+
...deps.gitHost ? { gitHost: deps.gitHost } : {},
|
|
128
|
+
now
|
|
129
|
+
});
|
|
130
|
+
} catch (e) {
|
|
131
|
+
io.err(e.message);
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
if (o.json) {
|
|
135
|
+
io.out(JSON.stringify({ change: changeId, ...plan, ...r, ...dry ? { dryRun: true } : {} }, null, 2));
|
|
136
|
+
return r.stopped ? 1 : 0;
|
|
137
|
+
}
|
|
138
|
+
for (const l of readyLines(changeId, plan))
|
|
139
|
+
io.out(l);
|
|
140
|
+
if (dry) {
|
|
141
|
+
for (const p of r.previews ?? [])
|
|
142
|
+
io.out("refused" in p ? `Task ${p.task}: ${p.refused}` : `Task ${p.task} on ${p.repo} at the ${p.level} level, on ${p.branch}${p.level === "pr" ? p.gitHost ? ", then its PR into the change branch." : "; no Git host is connected, so you push it and open the PR." : "."}`);
|
|
143
|
+
io.out(level === "pr" && !o.approve && !o.dryRun ? "Nothing was done: run it again with --approve to let each task's branch be pushed and its PR opened (the person's yes; an assistant never approves a push)." : "Nothing was done: this was a dry run.");
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
for (const x of r.ran) {
|
|
147
|
+
if ("record" in x)
|
|
148
|
+
describeRun(root, x.record, io);
|
|
149
|
+
else
|
|
150
|
+
io.out(`Task ${x.task} wasn't run: ${x.refused}`);
|
|
151
|
+
}
|
|
152
|
+
if (r.stopped) {
|
|
153
|
+
const left = r.planned.slice(r.planned.indexOf(r.stopped.task) + 1);
|
|
154
|
+
io.out(`Stopped at task ${r.stopped.task}, which needs a person${left.length ? `; not run yet: ${left.join(", ")}` : ""}. Run atticus task run-ready ${changeId} again once it is picked up.`);
|
|
155
|
+
return 1;
|
|
156
|
+
}
|
|
157
|
+
if (r.ran.length)
|
|
158
|
+
io.out(`Ran ${r.ran.length} ${r.ran.length === 1 ? "task" : "tasks"}. A person reviews and merges each PR on the Git host; nothing was merged.`);
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
export {
|
|
162
|
+
deployOrderOf,
|
|
163
|
+
readyLines,
|
|
164
|
+
taskRunReady
|
|
165
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
citesCli,
|
|
8
|
+
fileInRepo,
|
|
9
|
+
uiCiteRoutes
|
|
10
|
+
} from "./chunk-QFWA2DPH.js";
|
|
11
|
+
import "./chunk-C3RY6KU6.js";
|
|
12
|
+
import "./chunk-GUX3PTYM.js";
|
|
13
|
+
import "./chunk-ISUAAMGS.js";
|
|
14
|
+
import "./chunk-S4PMJU6H.js";
|
|
15
|
+
import "./chunk-IDKCWSM5.js";
|
|
16
|
+
import "./chunk-UUU4CLJG.js";
|
|
17
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
18
|
+
import "./chunk-J2JAKCIW.js";
|
|
19
|
+
import "./chunk-745DAZ4L.js";
|
|
20
|
+
import "./chunk-CXJ6FUKN.js";
|
|
21
|
+
import "./chunk-QKUJMING.js";
|
|
22
|
+
import "./chunk-6ZGLAACW.js";
|
|
23
|
+
import "./chunk-CQDGOPGH.js";
|
|
24
|
+
import "./chunk-3NFFJL5D.js";
|
|
25
|
+
import "./chunk-PKBHS4AA.js";
|
|
26
|
+
import "./chunk-P32RUW3B.js";
|
|
27
|
+
import "./chunk-QA4O2GGC.js";
|
|
28
|
+
import "./chunk-Q2TECDIT.js";
|
|
29
|
+
import "./chunk-TUULXQRW.js";
|
|
30
|
+
import "./chunk-BQGDB6ZL.js";
|
|
31
|
+
import "./chunk-TV45EUGM.js";
|
|
32
|
+
export {
|
|
33
|
+
citesCli,
|
|
34
|
+
fileInRepo,
|
|
35
|
+
uiCiteRoutes
|
|
36
|
+
};
|