@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,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
runtimeForCli
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-P32RUW3B.js";
|
|
9
9
|
|
|
10
10
|
// packages/cli/dist/judging.js
|
|
11
11
|
async function judgingRuntime(root, given) {
|
|
@@ -7,9 +7,10 @@ import {
|
|
|
7
7
|
ME_FILE,
|
|
8
8
|
readMe,
|
|
9
9
|
writeMe
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-2Q56PQPS.js";
|
|
11
|
+
import "./chunk-Q2TECDIT.js";
|
|
12
|
+
import "./chunk-TUULXQRW.js";
|
|
13
|
+
import "./chunk-BQGDB6ZL.js";
|
|
13
14
|
import "./chunk-TV45EUGM.js";
|
|
14
15
|
export {
|
|
15
16
|
ME_FILE,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
namesInCode,
|
|
10
10
|
openIndex,
|
|
11
11
|
workspaceRepos
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ISUAAMGS.js";
|
|
13
13
|
|
|
14
14
|
// packages/cli/dist/code-tools.js
|
|
15
15
|
var offered = /* @__PURE__ */ new Map();
|
|
@@ -21,7 +21,7 @@ function codeToolOptions(root) {
|
|
|
21
21
|
codeDir: (r) => offered.get(r) ?? defaultCodeDir(root, r),
|
|
22
22
|
repos: () => [.../* @__PURE__ */ new Set([...workspaceRepos(root), ...offered.keys()])].sort(),
|
|
23
23
|
// Loaded on first use: the readers are large, and most commands never outline a file.
|
|
24
|
-
outline: async (path, text) => (await import("./chunk-
|
|
24
|
+
outline: async (path, text) => (await import("./chunk-H5HBGNXU.js")).declarationOutline(path, text)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
function metarepoToolBox(root, calls) {
|
|
@@ -31,7 +31,7 @@ function metarepoToolBox(root, calls) {
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
async function criticCodeSearch(root, names) {
|
|
34
|
-
const x = await import("./chunk-
|
|
34
|
+
const x = await import("./chunk-H5HBGNXU.js");
|
|
35
35
|
const r = await namesInCode(root, names, {
|
|
36
36
|
...codeToolOptions(root),
|
|
37
37
|
outlines: (path) => x.syntaxLanguageOf(path) !== void 0
|
|
@@ -11,10 +11,15 @@ import {
|
|
|
11
11
|
changeBranch,
|
|
12
12
|
changesDirOf,
|
|
13
13
|
orgPackDirOf,
|
|
14
|
-
require_dist,
|
|
15
14
|
runsDirOf,
|
|
16
15
|
toCanonicalYaml
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-Q2TECDIT.js";
|
|
17
|
+
import {
|
|
18
|
+
withSharedFileLock
|
|
19
|
+
} from "./chunk-TUULXQRW.js";
|
|
20
|
+
import {
|
|
21
|
+
require_dist
|
|
22
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
18
23
|
import {
|
|
19
24
|
__toESM
|
|
20
25
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -40,8 +45,9 @@ function createGit(opts = {}) {
|
|
|
40
45
|
GIT_PAGER: "cat",
|
|
41
46
|
LC_ALL: "C"
|
|
42
47
|
};
|
|
48
|
+
const pre = process.platform === "win32" ? ["-c", "core.longpaths=true"] : [];
|
|
43
49
|
return (args, cwd) => new Promise((resolve, reject) => {
|
|
44
|
-
execFile("git", args, {
|
|
50
|
+
execFile("git", [...pre, ...args], {
|
|
45
51
|
cwd,
|
|
46
52
|
env,
|
|
47
53
|
timeout: opts.timeoutMs ?? 10 * 6e4,
|
|
@@ -70,23 +76,26 @@ var STATUS = {
|
|
|
70
76
|
T: "type-changed"
|
|
71
77
|
};
|
|
72
78
|
async function changedFiles(dir, from, to, git = createGit({ timeoutMs: 6e4 })) {
|
|
73
|
-
const r = await git(["diff", "--
|
|
79
|
+
const r = await git(["diff", "--raw", "--no-abbrev", "-M", "-z", "--no-color", "--no-ext-diff", from, to, "--"], dir);
|
|
74
80
|
const parts = r.stdout.split("\0");
|
|
75
81
|
const out = [];
|
|
76
82
|
for (let i = 0; i < parts.length; ) {
|
|
77
|
-
const
|
|
78
|
-
if (!
|
|
83
|
+
const head = parts[i++] ?? "";
|
|
84
|
+
if (!head)
|
|
79
85
|
continue;
|
|
80
|
-
const
|
|
86
|
+
const [oldMode, newMode, , , code = ""] = head.replace(/^:/, "").split(" ");
|
|
87
|
+
const gitlink = oldMode === "160000" || newMode === "160000";
|
|
88
|
+
const link = gitlink ? { gitlink: true } : {};
|
|
89
|
+
const status = STATUS[code[0] ?? ""];
|
|
81
90
|
if (status === "renamed" || status === "copied") {
|
|
82
91
|
const old = parts[i++] ?? "";
|
|
83
92
|
const path = parts[i++] ?? "";
|
|
84
93
|
if (old && path)
|
|
85
|
-
out.push({ status, path, from: old });
|
|
94
|
+
out.push({ status, path, from: old, ...link });
|
|
86
95
|
} else {
|
|
87
96
|
const path = parts[i++] ?? "";
|
|
88
97
|
if (path)
|
|
89
|
-
out.push({ status: status ?? "modified", path });
|
|
98
|
+
out.push({ status: status ?? "modified", path, ...link });
|
|
90
99
|
}
|
|
91
100
|
}
|
|
92
101
|
return out.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
@@ -97,6 +106,7 @@ async function changesSince(dir, commits, to, git) {
|
|
|
97
106
|
const missing = [];
|
|
98
107
|
for (const c of [...new Set(commits)].filter((x) => !sameCommit(x, to)).sort()) {
|
|
99
108
|
try {
|
|
109
|
+
await (git ?? createGit({ timeoutMs: 6e4 }))(["merge-base", "--is-ancestor", c, to], dir);
|
|
100
110
|
changes[c] = await changedFiles(dir, c, to, git);
|
|
101
111
|
} catch {
|
|
102
112
|
missing.push(c);
|
|
@@ -106,6 +116,7 @@ async function changesSince(dir, commits, to, git) {
|
|
|
106
116
|
}
|
|
107
117
|
|
|
108
118
|
// packages/workspace/dist/layout.js
|
|
119
|
+
import { createHash } from "node:crypto";
|
|
109
120
|
import { readFile, writeFile } from "node:fs/promises";
|
|
110
121
|
import { join, relative, sep } from "node:path";
|
|
111
122
|
var WORKSPACE_DIR = "workspace";
|
|
@@ -118,10 +129,20 @@ function id(what, value) {
|
|
|
118
129
|
function baseClonePath(root, repo) {
|
|
119
130
|
return join(root, WORKSPACE_DIR, id("repo id", repo));
|
|
120
131
|
}
|
|
121
|
-
var
|
|
132
|
+
var legacyBranchSlug = (branch) => branch.replace(/[^A-Za-z0-9.-]+/g, "-");
|
|
133
|
+
var branchSlug = (branch) => {
|
|
134
|
+
const s = legacyBranchSlug(branch);
|
|
135
|
+
if (!/[A-Z]/.test(s))
|
|
136
|
+
return s;
|
|
137
|
+
const hash = createHash("sha256").update(branch, "utf8").digest("hex").slice(0, 8);
|
|
138
|
+
return `${s.toLowerCase()}-${hash}`;
|
|
139
|
+
};
|
|
122
140
|
function branchCheckoutPath(root, repo, branch) {
|
|
123
141
|
return join(root, WORKSPACE_DIR, ".branches", id("repo id", repo), branchSlug(branch));
|
|
124
142
|
}
|
|
143
|
+
function legacyBranchCheckoutPath(root, repo, branch) {
|
|
144
|
+
return join(root, WORKSPACE_DIR, ".branches", id("repo id", repo), legacyBranchSlug(branch));
|
|
145
|
+
}
|
|
125
146
|
function changeWorktreesDir(root, change) {
|
|
126
147
|
return join(root, WORKSPACE_DIR, ".worktrees", id("change id", change));
|
|
127
148
|
}
|
|
@@ -244,7 +265,7 @@ async function writeChangeRepos(root, value) {
|
|
|
244
265
|
|
|
245
266
|
// packages/workspace/dist/editors.js
|
|
246
267
|
import { existsSync } from "node:fs";
|
|
247
|
-
import { mkdir as mkdir2, rm, writeFile as writeFile3 } from "node:fs/promises";
|
|
268
|
+
import { mkdir as mkdir2, readdir as readdir2, rm, writeFile as writeFile3 } from "node:fs/promises";
|
|
248
269
|
import { join as join3, relative as relative2, sep as sep2 } from "node:path";
|
|
249
270
|
var posix = (p) => p.split(sep2).join("/");
|
|
250
271
|
function xmlEscape(s) {
|
|
@@ -329,9 +350,12 @@ async function writeEditorWorkspaces(root, repos) {
|
|
|
329
350
|
await writeFile3(vscode, JSON.stringify(vscodeWorkspace(root, repos), null, 2) + "\n", "utf8");
|
|
330
351
|
const intellij = intellijProjectPath(root, repos.change);
|
|
331
352
|
const ideaDir = join3(intellij, ".idea");
|
|
332
|
-
await rm(ideaDir, { recursive: true, force: true });
|
|
333
353
|
await mkdir2(ideaDir, { recursive: true });
|
|
334
|
-
|
|
354
|
+
const files = intellijProject(root, repos);
|
|
355
|
+
for (const name of await readdir2(ideaDir).catch(() => []))
|
|
356
|
+
if (name.endsWith(".iml") && !(name in files))
|
|
357
|
+
await rm(join3(ideaDir, name), { force: true });
|
|
358
|
+
for (const [name, text] of Object.entries(files)) {
|
|
335
359
|
await writeFile3(join3(ideaDir, name), text, "utf8");
|
|
336
360
|
}
|
|
337
361
|
return { vscode, intellij };
|
|
@@ -350,10 +374,32 @@ async function checkoutState(dir, git = createGit()) {
|
|
|
350
374
|
|
|
351
375
|
// packages/workspace/dist/manager.js
|
|
352
376
|
import { existsSync as existsSync2 } from "node:fs";
|
|
353
|
-
import { mkdir as mkdir3, rm as rm2 } from "node:fs/promises";
|
|
354
|
-
import { dirname as dirname2 } from "node:path";
|
|
377
|
+
import { mkdir as mkdir3, readdir as readdir3, rm as rm2 } from "node:fs/promises";
|
|
378
|
+
import { basename, dirname as dirname2, join as join4 } from "node:path";
|
|
379
|
+
function withBaseClone(dest, id2, work) {
|
|
380
|
+
return withSharedFileLock(dest, work, {
|
|
381
|
+
staleMs: 30 * 6e4,
|
|
382
|
+
waitMs: 30 * 6e4,
|
|
383
|
+
what: `git work on the base clone of ${id2}`
|
|
384
|
+
});
|
|
385
|
+
}
|
|
355
386
|
function isInPlace(url) {
|
|
356
|
-
|
|
387
|
+
const u = url.replace(/\\/g, "/");
|
|
388
|
+
return u === "." || u.startsWith("./");
|
|
389
|
+
}
|
|
390
|
+
function inPlacePath(url) {
|
|
391
|
+
if (!isInPlace(url))
|
|
392
|
+
return void 0;
|
|
393
|
+
const segs = url.split(/[\\/]+/).filter((s) => s !== "" && s !== ".");
|
|
394
|
+
if (segs.includes(".."))
|
|
395
|
+
return void 0;
|
|
396
|
+
return segs.length ? segs.join("/") : ".";
|
|
397
|
+
}
|
|
398
|
+
function inPlaceDir(root, url) {
|
|
399
|
+
const p = inPlacePath(url);
|
|
400
|
+
if (p === void 0)
|
|
401
|
+
return void 0;
|
|
402
|
+
return p === "." ? root : join4(root, ...p.split("/"));
|
|
357
403
|
}
|
|
358
404
|
async function remoteDefaultBranch(dir, git = createGit()) {
|
|
359
405
|
if (!existsSync2(dir))
|
|
@@ -385,7 +431,44 @@ function createWorkspace(root, git = createGit()) {
|
|
|
385
431
|
const b = await remoteDefaultBranch(cwd, git);
|
|
386
432
|
return b ? { remoteDefault: b } : {};
|
|
387
433
|
};
|
|
388
|
-
async function
|
|
434
|
+
async function copyFrom(repo, from, dest) {
|
|
435
|
+
const branch = repo.defaultBranch;
|
|
436
|
+
const sha = async (ref) => {
|
|
437
|
+
try {
|
|
438
|
+
return (await g(["rev-parse", "--verify", "--quiet", `${ref}^{commit}`], from)).stdout.trim();
|
|
439
|
+
} catch {
|
|
440
|
+
return "";
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
const at = await sha(`refs/remotes/origin/${branch}`) || await sha(`refs/heads/${branch}`);
|
|
444
|
+
if (!at)
|
|
445
|
+
return {
|
|
446
|
+
id: repo.id,
|
|
447
|
+
action: "failed",
|
|
448
|
+
reason: `your clone at ${from} has no ${branch} branch; fetch it there, or sync without --from`
|
|
449
|
+
};
|
|
450
|
+
await g([
|
|
451
|
+
"clone",
|
|
452
|
+
"-c",
|
|
453
|
+
"core.longpaths=true",
|
|
454
|
+
"--quiet",
|
|
455
|
+
"--no-tags",
|
|
456
|
+
"--no-checkout",
|
|
457
|
+
"--",
|
|
458
|
+
from,
|
|
459
|
+
dest
|
|
460
|
+
]);
|
|
461
|
+
await g(["remote", "set-url", "origin", "--", repo.url], dest);
|
|
462
|
+
const refs = (await g(["for-each-ref", "--format=%(refname)", "refs/remotes/origin"], dest)).stdout.split("\n").filter(Boolean);
|
|
463
|
+
for (const r of refs)
|
|
464
|
+
await g(["update-ref", "-d", r], dest);
|
|
465
|
+
await g(["update-ref", `refs/remotes/origin/${branch}`, at], dest);
|
|
466
|
+
if (repo.sparse.length > 0)
|
|
467
|
+
await g(["sparse-checkout", "set", "--", ...repo.sparse], dest);
|
|
468
|
+
await g(["checkout", "--quiet", "-B", branch, at], dest);
|
|
469
|
+
return { id: repo.id, action: "cloned", sha: await head(dest), from };
|
|
470
|
+
}
|
|
471
|
+
async function syncOne(repo, local) {
|
|
389
472
|
if (repo.archived)
|
|
390
473
|
return { id: repo.id, action: "skipped", reason: "archived" };
|
|
391
474
|
if (isInPlace(repo.url))
|
|
@@ -396,10 +479,22 @@ function createWorkspace(root, git = createGit()) {
|
|
|
396
479
|
};
|
|
397
480
|
const dest = baseClonePath(root, repo.id);
|
|
398
481
|
const branch = repo.defaultBranch;
|
|
482
|
+
const made = !existsSync2(dest);
|
|
399
483
|
try {
|
|
400
|
-
if (
|
|
484
|
+
if (made) {
|
|
401
485
|
await mkdir3(dirname2(dest), { recursive: true });
|
|
402
|
-
const
|
|
486
|
+
const from = local && yourClone(local, repo);
|
|
487
|
+
if (from)
|
|
488
|
+
return await copyFrom(repo, from, dest);
|
|
489
|
+
const args = [
|
|
490
|
+
"clone",
|
|
491
|
+
"-c",
|
|
492
|
+
"core.longpaths=true",
|
|
493
|
+
"--no-tags",
|
|
494
|
+
"--branch",
|
|
495
|
+
branch,
|
|
496
|
+
"--filter=blob:none"
|
|
497
|
+
];
|
|
403
498
|
if (repo.sparse.length > 0)
|
|
404
499
|
args.push("--sparse");
|
|
405
500
|
args.push("--", repo.url, dest);
|
|
@@ -432,7 +527,14 @@ function createWorkspace(root, git = createGit()) {
|
|
|
432
527
|
...await remoteDefault(dest)
|
|
433
528
|
};
|
|
434
529
|
} catch (err) {
|
|
435
|
-
|
|
530
|
+
if (made)
|
|
531
|
+
await rm2(dest, { recursive: true, force: true }).catch(() => void 0);
|
|
532
|
+
const msg = err.message;
|
|
533
|
+
return {
|
|
534
|
+
id: repo.id,
|
|
535
|
+
action: "failed",
|
|
536
|
+
reason: /Filename too long/i.test(msg) ? `${msg.trim()} \u2014 a path in the repo is longer than Windows allows: run git config --global core.longpaths true, then sync again` : msg
|
|
537
|
+
};
|
|
436
538
|
}
|
|
437
539
|
}
|
|
438
540
|
async function worktreeFor(change, repo) {
|
|
@@ -466,40 +568,53 @@ function createWorkspace(root, git = createGit()) {
|
|
|
466
568
|
build: { status: "not-run" }
|
|
467
569
|
};
|
|
468
570
|
}
|
|
571
|
+
async function checkoutOne(repo, branch) {
|
|
572
|
+
const base = baseClonePath(root, repo.id);
|
|
573
|
+
if (!existsSync2(base))
|
|
574
|
+
throw new Error(`no base clone for ${repo.id}; run atticus workspace sync first`);
|
|
575
|
+
const ref = `refs/remotes/origin/${branch}`;
|
|
576
|
+
try {
|
|
577
|
+
await g(["fetch", "--no-tags", "origin", `+refs/heads/${branch}:${ref}`], base);
|
|
578
|
+
} catch {
|
|
579
|
+
throw new Error(`${repo.id} has no branch ${branch} on its remote`);
|
|
580
|
+
}
|
|
581
|
+
const dir = branchCheckoutPath(root, repo.id, branch);
|
|
582
|
+
const old = legacyBranchCheckoutPath(root, repo.id, branch);
|
|
583
|
+
if (old !== dir && !existsSync2(dir) && existsSync2(old))
|
|
584
|
+
await g(["worktree", "move", "--", old, dir], base).catch(() => void 0);
|
|
585
|
+
if (!existsSync2(dir)) {
|
|
586
|
+
await mkdir3(dirname2(dir), { recursive: true });
|
|
587
|
+
await g(["worktree", "add", "--detach", "--", dir, ref], base);
|
|
588
|
+
} else {
|
|
589
|
+
if (await dirty(dir))
|
|
590
|
+
throw new Error(`${repo.id}'s checkout of ${branch} has local changes: commit or stash them in ${dir}, then try again`);
|
|
591
|
+
await g(["checkout", "--quiet", "--force", "--detach", ref], dir);
|
|
592
|
+
}
|
|
593
|
+
return { dir, commit: await head(dir) };
|
|
594
|
+
}
|
|
469
595
|
return {
|
|
470
596
|
root,
|
|
471
|
-
async sync(repos) {
|
|
597
|
+
async sync(repos, opts = {}) {
|
|
472
598
|
if (repos.some((r) => !r.archived && !isInPlace(r.url)))
|
|
473
599
|
await ensureGitignore(root);
|
|
474
600
|
const out = [];
|
|
601
|
+
const local = opts.from ? await localClones(opts.from, git) : void 0;
|
|
475
602
|
for (const repo of repos)
|
|
476
|
-
out.push(
|
|
603
|
+
out.push(
|
|
604
|
+
// Nothing to lock (nor a folder to make) for an archived or in-place repo.
|
|
605
|
+
repo.archived || isInPlace(repo.url) ? await syncOne(repo, local) : await withBaseClone(baseClonePath(root, repo.id), repo.id, () => syncOne(repo, local))
|
|
606
|
+
);
|
|
477
607
|
return out;
|
|
478
608
|
},
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
if (!existsSync2(base))
|
|
482
|
-
throw new Error(`no base clone for ${repo.id}; run atticus workspace sync first`);
|
|
483
|
-
const ref = `refs/remotes/origin/${branch}`;
|
|
484
|
-
try {
|
|
485
|
-
await g(["fetch", "--no-tags", "origin", `+refs/heads/${branch}:${ref}`], base);
|
|
486
|
-
} catch {
|
|
487
|
-
throw new Error(`${repo.id} has no branch ${branch} on its remote`);
|
|
488
|
-
}
|
|
489
|
-
const dir = branchCheckoutPath(root, repo.id, branch);
|
|
490
|
-
if (!existsSync2(dir)) {
|
|
491
|
-
await mkdir3(dirname2(dir), { recursive: true });
|
|
492
|
-
await g(["worktree", "add", "--detach", "--", dir, ref], base);
|
|
493
|
-
} else
|
|
494
|
-
await g(["checkout", "--quiet", "--force", "--detach", ref], dir);
|
|
495
|
-
return { dir, commit: await head(dir) };
|
|
609
|
+
checkoutBranch(repo, branch) {
|
|
610
|
+
return withBaseClone(baseClonePath(root, repo.id), repo.id, () => checkoutOne(repo, branch));
|
|
496
611
|
},
|
|
497
612
|
async openChange(change, repos) {
|
|
498
613
|
await ensureGitignore(root);
|
|
499
614
|
const existing = await readChangeRepos(root, change);
|
|
500
615
|
const byId = new Map((existing?.repos ?? []).map((r) => [r.id, r]));
|
|
501
616
|
for (const repo of repos) {
|
|
502
|
-
const fresh = await worktreeFor(change, repo);
|
|
617
|
+
const fresh = await withBaseClone(baseClonePath(root, repo.id), repo.id, () => worktreeFor(change, repo));
|
|
503
618
|
const prior = byId.get(repo.id);
|
|
504
619
|
byId.set(repo.id, prior ? { ...fresh, ...prior, worktree: fresh.worktree } : fresh);
|
|
505
620
|
}
|
|
@@ -518,10 +633,27 @@ function createWorkspace(root, git = createGit()) {
|
|
|
518
633
|
const kept = [];
|
|
519
634
|
if (!repos)
|
|
520
635
|
return { removed, kept };
|
|
636
|
+
const removeOne = async (id2, path, repo) => {
|
|
637
|
+
try {
|
|
638
|
+
if (!opts.force && await dirty(path)) {
|
|
639
|
+
kept.push({ id: id2, reason: "uncommitted changes in the worktree" });
|
|
640
|
+
return;
|
|
641
|
+
}
|
|
642
|
+
const args = ["worktree", "remove"];
|
|
643
|
+
if (opts.force)
|
|
644
|
+
args.push("--force");
|
|
645
|
+
await g([...args, "--", path], baseClonePath(root, repo));
|
|
646
|
+
removed.push(id2);
|
|
647
|
+
} catch (err) {
|
|
648
|
+
kept.push({ id: id2, reason: err instanceof GitError ? err.message : String(err) });
|
|
649
|
+
}
|
|
650
|
+
};
|
|
651
|
+
const waiting = /* @__PURE__ */ new Set();
|
|
521
652
|
for (const r of repos.repos) {
|
|
522
653
|
const done = r.pr?.state === "merged" || r.pr?.state === "closed";
|
|
523
654
|
if (!done && !opts.all) {
|
|
524
655
|
kept.push({ id: r.id, reason: r.pr ? `PR is ${r.pr.state}` : "no PR yet" });
|
|
656
|
+
waiting.add(r.id);
|
|
525
657
|
continue;
|
|
526
658
|
}
|
|
527
659
|
const path = worktreePath(root, change, r.id);
|
|
@@ -529,24 +661,27 @@ function createWorkspace(root, git = createGit()) {
|
|
|
529
661
|
removed.push(r.id);
|
|
530
662
|
continue;
|
|
531
663
|
}
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
664
|
+
await removeOne(r.id, path, r.id);
|
|
665
|
+
}
|
|
666
|
+
const tasksDir = join4(changeWorktreesDir(root, change), ".tasks");
|
|
667
|
+
const subdirs = async (dir) => (await readdir3(dir, { withFileTypes: true }).catch(() => [])).filter((d) => d.isDirectory()).map((d) => d.name).sort();
|
|
668
|
+
const taskRepos = /* @__PURE__ */ new Set();
|
|
669
|
+
for (const task of await subdirs(tasksDir))
|
|
670
|
+
for (const repo of await subdirs(join4(tasksDir, task))) {
|
|
671
|
+
taskRepos.add(repo);
|
|
672
|
+
if (waiting.has(repo))
|
|
536
673
|
continue;
|
|
537
|
-
}
|
|
538
|
-
const args = ["worktree", "remove"];
|
|
539
|
-
if (opts.force)
|
|
540
|
-
args.push("--force");
|
|
541
|
-
await g([...args, "--", path], base);
|
|
542
|
-
removed.push(r.id);
|
|
543
|
-
} catch (err) {
|
|
544
|
-
kept.push({ id: r.id, reason: err instanceof GitError ? err.message : String(err) });
|
|
674
|
+
await removeOne(`${repo} task ${task}`, join4(tasksDir, task, repo), repo);
|
|
545
675
|
}
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
676
|
+
for (const id2 of /* @__PURE__ */ new Set([...repos.repos.map((r) => r.id), ...taskRepos])) {
|
|
677
|
+
let base;
|
|
678
|
+
try {
|
|
679
|
+
base = baseClonePath(root, id2);
|
|
680
|
+
} catch {
|
|
681
|
+
continue;
|
|
682
|
+
}
|
|
683
|
+
if (existsSync2(base))
|
|
684
|
+
await g(["worktree", "prune"], base).catch(() => void 0);
|
|
550
685
|
}
|
|
551
686
|
if (kept.length === 0) {
|
|
552
687
|
await removeEditorWorkspaces(root, change);
|
|
@@ -556,6 +691,44 @@ function createWorkspace(root, git = createGit()) {
|
|
|
556
691
|
}
|
|
557
692
|
};
|
|
558
693
|
}
|
|
694
|
+
function remoteKey(url) {
|
|
695
|
+
let u = url.trim().replace(/\\/g, "/");
|
|
696
|
+
const scp = /^[\w.-]+@([^:/]+):(.+)$/.exec(u);
|
|
697
|
+
if (scp)
|
|
698
|
+
u = `${scp[1]}/${scp[2]}`;
|
|
699
|
+
u = u.replace(/^[a-z+]+:\/\//i, "").replace(/^[^@/]+@/, "");
|
|
700
|
+
u = u.replace(/\/{2,}/g, "/").replace(/\/+$/, "").replace(/\.git$/i, "");
|
|
701
|
+
const slash = u.indexOf("/");
|
|
702
|
+
return slash < 0 ? u.toLowerCase() : u.slice(0, slash).toLowerCase() + u.slice(slash);
|
|
703
|
+
}
|
|
704
|
+
async function localClones(dir, g) {
|
|
705
|
+
const found = /* @__PURE__ */ new Map();
|
|
706
|
+
const visit = async (d, depth) => {
|
|
707
|
+
let names;
|
|
708
|
+
try {
|
|
709
|
+
names = await readdir3(d);
|
|
710
|
+
} catch {
|
|
711
|
+
return;
|
|
712
|
+
}
|
|
713
|
+
if (names.includes(".git")) {
|
|
714
|
+
const url = await g(["config", "--get", "remote.origin.url"], d).then((r) => r.stdout.trim(), () => "");
|
|
715
|
+
if (url && !found.has(`url:${remoteKey(url)}`))
|
|
716
|
+
found.set(`url:${remoteKey(url)}`, d);
|
|
717
|
+
if (!found.has(`name:${nameKey(basename(d))}`))
|
|
718
|
+
found.set(`name:${nameKey(basename(d))}`, d);
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
if (depth === 0)
|
|
722
|
+
return;
|
|
723
|
+
for (const n of names)
|
|
724
|
+
if (!n.startsWith(".") && n !== "node_modules")
|
|
725
|
+
await visit(join4(d, n), depth - 1);
|
|
726
|
+
};
|
|
727
|
+
await visit(dir, 2);
|
|
728
|
+
return found;
|
|
729
|
+
}
|
|
730
|
+
var yourClone = (local, repo) => local.get(`url:${remoteKey(repo.url)}`) ?? local.get(`name:${nameKey(repo.id)}`);
|
|
731
|
+
var nameKey = (s) => s.toLowerCase().replace(/[^a-z0-9._-]+/g, "-");
|
|
559
732
|
|
|
560
733
|
// packages/workspace/dist/identity.js
|
|
561
734
|
import { userInfo } from "node:os";
|
|
@@ -609,8 +782,10 @@ export {
|
|
|
609
782
|
WORKSPACE_DIR,
|
|
610
783
|
IGNORED,
|
|
611
784
|
baseClonePath,
|
|
785
|
+
legacyBranchSlug,
|
|
612
786
|
branchSlug,
|
|
613
787
|
branchCheckoutPath,
|
|
788
|
+
legacyBranchCheckoutPath,
|
|
614
789
|
changeWorktreesDir,
|
|
615
790
|
worktreePath,
|
|
616
791
|
changeDir,
|
|
@@ -630,6 +805,8 @@ export {
|
|
|
630
805
|
removeEditorWorkspaces,
|
|
631
806
|
checkoutState,
|
|
632
807
|
isInPlace,
|
|
808
|
+
inPlacePath,
|
|
809
|
+
inPlaceDir,
|
|
633
810
|
remoteDefaultBranch,
|
|
634
811
|
createWorkspace,
|
|
635
812
|
toHandle,
|
|
@@ -4,31 +4,35 @@ var require = __atticusCreateRequire(import.meta.url);
|
|
|
4
4
|
var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
|
+
completeCriticBatch,
|
|
7
8
|
completeCriticLens,
|
|
8
9
|
critic,
|
|
9
10
|
criticStats,
|
|
10
11
|
findingAction,
|
|
11
12
|
findings,
|
|
12
13
|
statusLine
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UF4AZOZB.js";
|
|
14
15
|
import "./chunk-VOGCSYOI.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./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-
|
|
16
|
+
import "./chunk-S4PMJU6H.js";
|
|
17
|
+
import "./chunk-IDKCWSM5.js";
|
|
18
|
+
import "./chunk-UUU4CLJG.js";
|
|
19
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
20
|
+
import "./chunk-J2JAKCIW.js";
|
|
21
|
+
import "./chunk-745DAZ4L.js";
|
|
22
|
+
import "./chunk-CXJ6FUKN.js";
|
|
23
|
+
import "./chunk-QKUJMING.js";
|
|
24
|
+
import "./chunk-6ZGLAACW.js";
|
|
25
|
+
import "./chunk-CQDGOPGH.js";
|
|
26
|
+
import "./chunk-3NFFJL5D.js";
|
|
27
|
+
import "./chunk-PKBHS4AA.js";
|
|
28
|
+
import "./chunk-P32RUW3B.js";
|
|
29
|
+
import "./chunk-QA4O2GGC.js";
|
|
30
|
+
import "./chunk-Q2TECDIT.js";
|
|
31
|
+
import "./chunk-TUULXQRW.js";
|
|
32
|
+
import "./chunk-BQGDB6ZL.js";
|
|
30
33
|
import "./chunk-TV45EUGM.js";
|
|
31
34
|
export {
|
|
35
|
+
completeCriticBatch,
|
|
32
36
|
completeCriticLens,
|
|
33
37
|
critic,
|
|
34
38
|
criticStats,
|