@maycombhq/atticus 2.0.0-beta.21 → 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 +3 -3
- package/dist/{chunk-TJH2EUAZ.js → chunk-23XVSEV5.js} +20 -18
- package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
- package/dist/{chunk-DCWN3HFV.js → chunk-24XLDU72.js} +4 -3
- package/dist/{chunk-Q46QDDMF.js → chunk-2F4CYZKJ.js} +14 -9
- package/dist/{chunk-75ASLHBT.js → chunk-2GF7OLF3.js} +17 -15
- package/dist/chunk-2IIMFOPM.js +41 -0
- package/dist/{chunk-JRVNXLZP.js → chunk-2LGRMVCA.js} +14 -12
- package/dist/{chunk-62DLJSLV.js → chunk-2MMCFP5C.js} +10 -8
- package/dist/{chunk-UF4UHCIG.js → chunk-2Q56PQPS.js} +6 -4
- package/dist/{chunk-5TDRBOAV.js → chunk-2Q5EDGEO.js} +7 -5
- package/dist/{chunk-NYOABJNK.js → chunk-2RLKFUUL.js} +26 -24
- package/dist/chunk-2SKB4O2E.js +59 -0
- package/dist/{chunk-GCS3FZOB.js → chunk-34S2WGOB.js} +13 -4
- package/dist/{chunk-7AB6OWTV.js → chunk-3NFFJL5D.js} +31 -25
- package/dist/{chunk-GC2VK3JT.js → chunk-3NWDLGG6.js} +28 -25
- package/dist/{chunk-FLVZFTLQ.js → chunk-3RM4UK6W.js} +20 -18
- package/dist/{chunk-CNU5Q2D5.js → chunk-42SIDKEU.js} +37 -29
- package/dist/{chunk-K6JB6XTX.js → chunk-4EURQWQD.js} +20 -15
- package/dist/{chunk-OMPENNWY.js → chunk-4U276ICE.js} +1 -1
- package/dist/{chunk-JAABT3DA.js → chunk-53T4O55J.js} +4 -3
- package/dist/{chunk-YTTNTQOX.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-KYZMRSPS.js → chunk-5NMKONLP.js} +5 -3
- package/dist/{chunk-5CMPVC3N.js → chunk-5SJZW52K.js} +25 -23
- package/dist/{chunk-YAH5IQAL.js → chunk-63YRMR6J.js} +6 -5
- package/dist/{chunk-GUYL7RMK.js → chunk-66PPNOON.js} +27 -25
- package/dist/chunk-6H3Z5JHH.js +64 -0
- package/dist/{chunk-Y6K3CJBU.js → chunk-6MUGR4LS.js} +75 -27
- package/dist/{chunk-DDJPM5YX.js → chunk-6OJQOPUN.js} +5 -3
- package/dist/{chunk-2V2ZPQQU.js → chunk-6PPOWY5E.js} +9 -7
- package/dist/{chunk-YO2PKTXT.js → chunk-6ZGLAACW.js} +5 -3
- package/dist/{chunk-LIJJCBQI.js → chunk-6ZJ5A7AF.js} +15 -16
- package/dist/{chunk-64AADMTW.js → chunk-745DAZ4L.js} +50 -12
- package/dist/{chunk-VYOCPTUB.js → chunk-7ASNL4Q4.js} +17 -15
- package/dist/{chunk-XEQCQO66.js → chunk-7BR7IPOH.js} +10 -8
- package/dist/{chunk-X2CUXTWU.js → chunk-7DOR27HL.js} +6 -6
- package/dist/{chunk-G6IQYM25.js → chunk-7FTTA3HD.js} +8 -6
- package/dist/{chunk-FAJDKNSD.js → chunk-7GJS6DNX.js} +8 -3
- package/dist/{chunk-4KNOJC6J.js → chunk-7IGKHZ4Z.js} +55 -13
- package/dist/{chunk-3WON4G3M.js → chunk-7IOWA5D5.js} +11 -6
- package/dist/{chunk-PNQLCRSS.js → chunk-7JITZFJC.js} +7 -5
- package/dist/{chunk-2D7PWSOK.js → chunk-7MJSQTL5.js} +22 -20
- package/dist/{chunk-AE4P57KK.js → chunk-7UOMVMFG.js} +17 -15
- package/dist/{chunk-GK4PYVEC.js → chunk-AFWUDXEM.js} +10 -8
- package/dist/chunk-AFZ3QA6W.js +47 -0
- package/dist/{chunk-7FUIVIBG.js → chunk-AJQ72EBM.js} +13 -8
- package/dist/{chunk-QOOEYDNJ.js → chunk-AJYXNTNZ.js} +6 -6
- package/dist/chunk-AVTBS4OW.js +49 -0
- package/dist/{chunk-WFU77T3A.js → chunk-BDKC6H5P.js} +5 -5
- package/dist/{chunk-3AQ2R5NL.js → chunk-BEVTIBRH.js} +9 -7
- package/dist/{chunk-J5AAZ6OJ.js → chunk-BHT7QK4G.js} +5 -4
- package/dist/{chunk-UFE36WJH.js → chunk-BIGDQDHD.js} +6 -4
- package/dist/{chunk-WNTIOBOG.js → chunk-BO4KX37X.js} +20 -18
- package/dist/{chunk-455SYIIE.js → chunk-BPK5P77O.js} +5 -3
- package/dist/{chunk-OZJ3JLYI.js → chunk-BQ4SQQC6.js} +10 -9
- package/dist/chunk-BQGDB6ZL.js +7342 -0
- package/dist/{chunk-EZIN5E5B.js → chunk-BTGPE6CR.js} +11 -9
- package/dist/{chunk-265LWMOA.js → chunk-BTY3HZBO.js} +18 -16
- package/dist/{chunk-TW3KOSQK.js → chunk-BXYMYEJ4.js} +7 -6
- package/dist/{chunk-HK3VOHIE.js → chunk-C3RY6KU6.js} +119 -18
- package/dist/chunk-C4R4JLHE.js +40 -0
- package/dist/{chunk-Z3QFH7YG.js → chunk-CADWLE2T.js} +5 -4
- package/dist/{chunk-J2O4LFVI.js → chunk-CBGGOQWU.js} +6 -4
- package/dist/chunk-CMDXGQTS.js +47 -0
- package/dist/{chunk-TWQRPM76.js → chunk-CQDGOPGH.js} +23 -16
- package/dist/{chunk-5PV7S2ZP.js → chunk-CX4RZ2KS.js} +4 -3
- package/dist/{chunk-JYMIB5XY.js → chunk-CXJ6FUKN.js} +164 -44
- package/dist/{chunk-D57MFJPP.js → chunk-D73UEXYW.js} +3 -3
- package/dist/{chunk-UYLBRRFK.js → chunk-DCZWQLYT.js} +125 -26
- package/dist/chunk-DLOBCJL6.js +48 -0
- package/dist/{chunk-IFHDV6KQ.js → chunk-DOBQKHIF.js} +23 -23
- package/dist/{chunk-QJCJOMW3.js → chunk-E3ISYXO3.js} +19 -21
- package/dist/{chunk-VAMHOHUU.js → chunk-E6ZIEVOI.js} +16 -13
- package/dist/{chunk-EFCQSMXB.js → chunk-EBL2R3YG.js} +10 -4
- package/dist/{chunk-HGHRSF3E.js → chunk-EGQRREQH.js} +25 -17
- package/dist/{chunk-3J5I7ZOU.js → chunk-EHA7RMZ3.js} +4 -4
- package/dist/{chunk-7CZHUZBL.js → chunk-EIPTLPFC.js} +38 -27
- package/dist/{chunk-UZACEG2C.js → chunk-EMRIQUND.js} +17 -15
- package/dist/{chunk-RALY3E5U.js → chunk-EPCJQQWD.js} +6 -4
- package/dist/{chunk-VUVGX5L2.js → chunk-F3P7N7SF.js} +1 -1
- package/dist/{chunk-RA33EYS4.js → chunk-FFLNS6VP.js} +19 -17
- package/dist/{chunk-OPQZISG3.js → chunk-FFTRTL6R.js} +5 -4
- package/dist/{chunk-DUPZPDCJ.js → chunk-FPJPLKDW.js} +18 -14
- package/dist/{chunk-2HH3UCZM.js → chunk-FSMSFDLD.js} +5 -4
- package/dist/{chunk-AHW3RY3X.js → chunk-FUJM6RTF.js} +8 -7
- package/dist/{chunk-2UCRFXFZ.js → chunk-FZOJFH7Q.js} +13 -11
- package/dist/{chunk-BVWWPBKD.js → chunk-G6X77UJZ.js} +20 -18
- package/dist/{chunk-BPPU3PW7.js → chunk-GCWRWSU7.js} +10 -4
- package/dist/chunk-GIW4ZVDB.js +39 -0
- package/dist/{chunk-FY3QIRTL.js → chunk-GUX3PTYM.js} +3 -3
- package/dist/{chunk-BA2HUMDN.js → chunk-GZY6RUZ6.js} +2 -2
- package/dist/chunk-H4VO6WG3.js +10 -0
- package/dist/{chunk-UEVZZZU2.js → chunk-H5HBGNXU.js} +5 -4
- package/dist/{chunk-GS76RXQE.js → chunk-H7KM7LZE.js} +15 -12
- package/dist/{chunk-I2A3Z5AK.js → chunk-HNM2YQT2.js} +4 -4
- package/dist/{chunk-3UTYPHN3.js → chunk-HYU5VLGA.js} +1 -1
- package/dist/{chunk-HSZMPH5T.js → chunk-IDKCWSM5.js} +225 -50
- package/dist/{chunk-BXZ4PKIT.js → chunk-IFKEI4SA.js} +15 -11
- package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
- package/dist/{chunk-GNWAOVFQ.js → chunk-IH2XURVQ.js} +5 -5
- package/dist/{chunk-YIGBJNH4.js → chunk-INQHESFB.js} +5 -4
- package/dist/chunk-IP74LCOQ.js +57 -0
- package/dist/chunk-IPHHDDC6.js +45 -0
- package/dist/{chunk-5WERBKLE.js → chunk-ISUAAMGS.js} +42 -221
- package/dist/{chunk-7FHNFCHK.js → chunk-IUPG3UKI.js} +154 -368
- package/dist/{chunk-HWD4JPU7.js → chunk-IVBOQAGB.js} +4 -2
- package/dist/{chunk-4SLBCEPD.js → chunk-J2JAKCIW.js} +88 -57
- package/dist/{chunk-G5YJBNDZ.js → chunk-J3IOLXWM.js} +8 -6
- package/dist/{chunk-FQ6WH6PB.js → chunk-JA5FI3QV.js} +6 -4
- package/dist/chunk-JAVI7JSP.js +49 -0
- package/dist/{chunk-ZFQMMU5Y.js → chunk-JB5LINEM.js} +6 -2
- package/dist/{chunk-LQH4P45K.js → chunk-JENSEMXF.js} +1 -1
- package/dist/{chunk-M6D2U3YM.js → chunk-JJF6HALY.js} +4 -3
- package/dist/chunk-JLUCKAEL.js +38 -0
- package/dist/{chunk-M4H2UG4R.js → chunk-JRBFANFE.js} +19 -16
- package/dist/{chunk-YZDZOEV4.js → chunk-KDNTAPLX.js} +3 -3
- package/dist/{chunk-IFFRGC3N.js → chunk-KFAVQZSX.js} +14 -12
- package/dist/chunk-KJXD4PNL.js +50 -0
- package/dist/chunk-KN5BXMWN.js +44 -0
- package/dist/{chunk-HXXP2NTE.js → chunk-KQGURXFU.js} +9 -7
- package/dist/{chunk-PQH56YF6.js → chunk-KXITGYLF.js} +6 -4
- package/dist/{chunk-MMZUN7ZO.js → chunk-L27SV425.js} +22 -20
- package/dist/{chunk-XQ3YZ4QW.js → chunk-LDLL7LB3.js} +24 -22
- package/dist/{chunk-6DQYZU2W.js → chunk-LFGTYX5U.js} +15 -15
- package/dist/{chunk-4D62IZII.js → chunk-LGBMTVNT.js} +7 -5
- package/dist/{chunk-YKTE2RU3.js → chunk-LGFL54FP.js} +3 -2
- package/dist/{chunk-GDZB57IU.js → chunk-LJXMYKZJ.js} +7 -5
- package/dist/{chunk-YJ3TBOTK.js → chunk-LKOR5UET.js} +29 -26
- package/dist/{chunk-WIWTJMMR.js → chunk-LNBQOP7D.js} +23 -21
- package/dist/{chunk-TGVVUKTG.js → chunk-LO6P2VYG.js} +2 -2
- package/dist/{chunk-HE3HRDNZ.js → chunk-LQJPN536.js} +2 -2
- package/dist/{chunk-PRW3HXM3.js → chunk-LYBNHMVZ.js} +29 -5
- package/dist/{chunk-75ZOZFGH.js → chunk-LZ7NUC62.js} +20 -18
- package/dist/chunk-M32BLWDH.js +37 -0
- package/dist/{chunk-QKMRFNMA.js → chunk-M3NANSDZ.js} +17 -15
- package/dist/chunk-MFHL5URL.js +31 -0
- package/dist/{chunk-TYD6I4CZ.js → chunk-MFR5OPBD.js} +6 -6
- package/dist/{chunk-LIRVU3HW.js → chunk-MG4ZL5RW.js} +32 -20
- package/dist/{chunk-ICHDSWEY.js → chunk-MO6P2JZH.js} +10 -8
- package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
- package/dist/{chunk-E57AOFYN.js → chunk-MZCGSXVR.js} +15 -13
- package/dist/{chunk-77O633L5.js → chunk-N3XIYPU3.js} +14 -12
- package/dist/{chunk-CG6CULP6.js → chunk-NDCF4R6S.js} +7 -5
- package/dist/{chunk-JS6WMC3J.js → chunk-NR2UJWOC.js} +10 -8
- package/dist/chunk-NXJ5URP6.js +51 -0
- package/dist/{chunk-NTAVOWYD.js → chunk-NY2XSR5K.js} +20 -18
- package/dist/{chunk-PUEWDYGP.js → chunk-O45HFTFS.js} +3 -2
- package/dist/{chunk-URIKUID7.js → chunk-O4GXGGBX.js} +14 -12
- package/dist/{chunk-C7CEK3KW.js → chunk-O5PXQR67.js} +7 -5
- package/dist/{chunk-E2VXBSIR.js → chunk-O66DM6DJ.js} +6 -4
- package/dist/{chunk-P2VBXX7N.js → chunk-O7FDLW7L.js} +11 -9
- package/dist/{chunk-COYN3UAN.js → chunk-O7XLYEFA.js} +59 -22
- package/dist/{chunk-5QUOPNLN.js → chunk-OHNCWBKF.js} +4 -4
- package/dist/{chunk-AZDITBCT.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-L4CESDPB.js → chunk-OUBGGKDU.js} +1 -1
- package/dist/{chunk-4FOAYLI4.js → chunk-OWNCM4ZN.js} +9 -7
- package/dist/{chunk-4B6BT75O.js → chunk-P2V7QW4D.js} +81 -24
- package/dist/{chunk-QHJJMZLX.js → chunk-P32RUW3B.js} +167 -92
- package/dist/{chunk-F6H2RJ3N.js → chunk-PAQ2AS5E.js} +1 -1
- package/dist/{chunk-ZLS6PU2O.js → chunk-PBPBMP2B.js} +4 -3
- package/dist/{chunk-ZOSD4FXV.js → chunk-PJSJPMJI.js} +3 -3
- package/dist/{chunk-XOL3GFW2.js → chunk-PKBHS4AA.js} +68 -31
- package/dist/{chunk-ZZFHLRQW.js → chunk-PMUAJGLI.js} +18 -16
- package/dist/{chunk-SH27FYPF.js → chunk-PPD7HTDP.js} +20 -18
- package/dist/chunk-PSOFBQWB.js +42 -0
- package/dist/{chunk-PAINMSID.js → chunk-Q2TECDIT.js} +987 -7619
- package/dist/{chunk-LU4MQVAL.js → chunk-Q4K5WB2W.js} +11 -10
- package/dist/{chunk-ECLXZWAG.js → chunk-Q6DFNVRJ.js} +14 -12
- package/dist/chunk-QA4O2GGC.js +265 -0
- package/dist/{chunk-4WXRPQDE.js → chunk-QAXW2N3B.js} +182 -33
- package/dist/{chunk-WCEF7H6L.js → chunk-QFWA2DPH.js} +8 -5
- package/dist/{chunk-CPK7QSBG.js → chunk-QKUJMING.js} +8 -6
- package/dist/{chunk-LEBR5NHW.js → chunk-R44CYFPV.js} +18 -15
- package/dist/{chunk-BEPCKDCP.js → chunk-R7NYHMUU.js} +153 -84
- package/dist/{chunk-G6X4YL4D.js → chunk-REWWDVQB.js} +5 -4
- package/dist/{chunk-LN77DXBM.js → chunk-RGERPOIV.js} +10 -10
- package/dist/{chunk-UDXWIPCB.js → chunk-RLDGWLQ7.js} +9 -7
- package/dist/chunk-RUGXBPWI.js +384 -0
- package/dist/{chunk-FYBF5MB2.js → chunk-RXPJMEOW.js} +13 -11
- package/dist/{chunk-K332XW7K.js → chunk-S4PMJU6H.js} +20 -9
- package/dist/{chunk-THN26IEF.js → chunk-S7FCV7S5.js} +4 -1
- package/dist/{chunk-OV57AHCG.js → chunk-SDKLKB6I.js} +26 -24
- package/dist/{chunk-O4IKAIZ2.js → chunk-SFSPGFCV.js} +28 -22
- package/dist/{chunk-TQ4TG57V.js → chunk-SFUP7TTO.js} +4 -4
- package/dist/{chunk-YBOVNMHC.js → chunk-SLXZOMA6.js} +29 -16
- package/dist/{chunk-LWDNKE4X.js → chunk-SQV37XO2.js} +6 -6
- package/dist/{chunk-67BP7HXL.js → chunk-SU74NDMQ.js} +19 -17
- package/dist/{chunk-JKIGL3XQ.js → chunk-SYV5LHML.js} +36 -33
- package/dist/chunk-T4YPZIQN.js +36 -0
- package/dist/{chunk-GX74YWR7.js → chunk-T6DQR5TV.js} +16 -14
- package/dist/{chunk-LNWEWYCM.js → chunk-THDMSZ3R.js} +345 -253
- package/dist/{chunk-NCB6656Z.js → chunk-TNR75OXT.js} +7 -7
- package/dist/{chunk-ODMBPDDV.js → chunk-TUULXQRW.js} +124 -2
- package/dist/{chunk-MD7KUEJ3.js → chunk-TYQBFTBR.js} +9 -7
- package/dist/chunk-U76OWS3Q.js +49 -0
- package/dist/{chunk-GSGIZ2OO.js → chunk-UCROWG2D.js} +27 -24
- package/dist/{chunk-PTQ3ZALZ.js → chunk-UF4AZOZB.js} +14 -12
- package/dist/{chunk-QE527XRY.js → chunk-UF4GLFBX.js} +26 -23
- package/dist/{chunk-YWAKDNMH.js → chunk-UGUP3ZM6.js} +70 -19
- package/dist/{chunk-3G6S7LAA.js → chunk-UNAGJYET.js} +14 -12
- package/dist/{chunk-EDZ45WIR.js → chunk-UOR2DTHH.js} +16 -14
- package/dist/{chunk-42EPP7OB.js → chunk-UPOY4YSQ.js} +14 -12
- package/dist/{chunk-API5TOUB.js → chunk-UPS2DGFC.js} +1 -1
- package/dist/{chunk-D2WSW4GU.js → chunk-UUU4CLJG.js} +4 -2
- package/dist/{chunk-ZKYRDV7A.js → chunk-UWMJKX5U.js} +14 -12
- package/dist/{chunk-HS4BGB4G.js → chunk-UWOJLHFT.js} +25 -23
- package/dist/{chunk-OKUB6RJA.js → chunk-VBTP56CE.js} +8 -6
- package/dist/{chunk-3SSTNB4E.js → chunk-VCTWPLAO.js} +34 -14
- package/dist/{chunk-YF5DZCPN.js → chunk-VNU26RCO.js} +37 -34
- package/dist/{chunk-AOCWFA7T.js → chunk-VTZMAJ3W.js} +8 -8
- package/dist/{chunk-ZQLRCA2V.js → chunk-VW62D6QE.js} +10 -8
- package/dist/{chunk-WAZEXEJH.js → chunk-VY72R2XZ.js} +45 -2
- package/dist/{chunk-WEOMJHPV.js → chunk-VZALIKIF.js} +18 -15
- package/dist/{chunk-TSM6T6GQ.js → chunk-W62H2XSO.js} +25 -23
- package/dist/{chunk-BC6KKZ67.js → chunk-W7VWI2YH.js} +9 -6
- package/dist/{chunk-LO3BLMVG.js → chunk-WERM6KPJ.js} +7 -4
- package/dist/{chunk-36RY7ZXM.js → chunk-WF7B67YE.js} +88 -26
- package/dist/{chunk-TQTRWENN.js → chunk-WG5U3F5V.js} +14 -12
- package/dist/{chunk-NRQ65LTQ.js → chunk-WJF2CS6M.js} +6 -5
- package/dist/{chunk-FVMPFCDS.js → chunk-WKUJ3KPV.js} +4 -4
- package/dist/{chunk-BA3U7ALS.js → chunk-WMTRHUI5.js} +26 -22
- package/dist/chunk-WNKPRSGI.js +36 -0
- package/dist/{chunk-GIFMBCTW.js → chunk-WXFLMQSR.js} +10 -8
- package/dist/{chunk-JYTIHTIK.js → chunk-X3WY6MN3.js} +4 -4
- package/dist/{chunk-S2RY3BOD.js → chunk-X4CXA2IL.js} +31 -21
- package/dist/{chunk-26Z7OGQW.js → chunk-X5F3Q5LV.js} +60 -30
- package/dist/{chunk-4CLK2RJO.js → chunk-XD75VZIH.js} +6 -4
- package/dist/{chunk-KDAHXQIE.js → chunk-XERYFDB5.js} +37 -34
- package/dist/{chunk-U3NBK4EU.js → chunk-XI2LCCYQ.js} +8 -8
- package/dist/{chunk-MZGRDONP.js → chunk-Y2EQNWKV.js} +55 -38
- package/dist/{chunk-A2G72UI4.js → chunk-YHCMZC2J.js} +7 -7
- package/dist/{chunk-4TKVU2I2.js → chunk-YYY3AZFE.js} +2 -2
- package/dist/{chunk-2HTEMYTB.js → chunk-Z5IA3WDR.js} +17 -15
- package/dist/{chunk-FRHD22WM.js → chunk-ZFFYNRIO.js} +25 -23
- package/dist/{chunk-6EXDI5GI.js → chunk-ZFL7NY4F.js} +43 -40
- package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
- package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
- package/dist/{chunk-CNPY4NTZ.js → chunk-ZJFRMSJT.js} +15 -13
- package/dist/{chunk-Q26LDIUV.js → chunk-ZJXLNDH4.js} +18 -15
- package/dist/{chunk-LPV6T362.js → chunk-ZQ3ON2VQ.js} +8 -6
- package/dist/{chunk-ZX7235KR.js → chunk-ZQ7SKESZ.js} +44 -383
- package/dist/{chunk-7QPCGTPS.js → chunk-ZQXZ2SES.js} +24 -21
- package/dist/{chunk-4CYTJ5TZ.js → chunk-ZX57KSEQ.js} +4 -3
- package/dist/{chunk-37WE3LS2.js → chunk-ZZK56BLP.js} +5 -3
- package/dist/files.json +533 -509
- package/dist/packages/sdk/npm/index.js +448 -67
- package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.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/index.html +2 -1
- package/package.json +4 -4
- package/dist/chunk-26WBY34Y.js +0 -37
- package/dist/chunk-3TD6S4TC.js +0 -49
- package/dist/chunk-5G7ILBUG.js +0 -66
- package/dist/chunk-6FNAKCET.js +0 -38
- package/dist/chunk-AM6FP6JW.js +0 -43
- package/dist/chunk-CFH3QH26.js +0 -29
- package/dist/chunk-CLD4RVTA.js +0 -45
- package/dist/chunk-D5KV5PSK.js +0 -45
- package/dist/chunk-D5MASS4I.js +0 -48
- package/dist/chunk-DN4A2Q2O.js +0 -57
- package/dist/chunk-FGAGWYZB.js +0 -47
- package/dist/chunk-JITJP64K.js +0 -34
- package/dist/chunk-JRXHON4E.js +0 -41
- package/dist/chunk-JU4QNJSR.js +0 -62
- package/dist/chunk-N3RUGTGV.js +0 -39
- package/dist/chunk-PKJAV25S.js +0 -43
- package/dist/chunk-PRTBPXYA.js +0 -50
- package/dist/chunk-PRZ7KMWL.js +0 -42
- package/dist/chunk-QSIDVFB7.js +0 -45
- package/dist/chunk-SB5GRUFM.js +0 -54
- package/dist/chunk-T74WQQGS.js +0 -40
- package/dist/chunk-X7EMBM5X.js +0 -34
- package/dist/chunk-Z6VLC5X4.js +0 -36
- package/dist/chunk-ZPDDEVQX.js +0 -47
- package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +0 -47
|
@@ -6,11 +6,7 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
|
6
6
|
import {
|
|
7
7
|
historyEntry,
|
|
8
8
|
listHistory
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-JYTIHTIK.js";
|
|
11
|
-
import {
|
|
12
|
-
uiComponentTypeRoutes
|
|
13
|
-
} from "./chunk-CG6CULP6.js";
|
|
9
|
+
} from "./chunk-7IOWA5D5.js";
|
|
14
10
|
import {
|
|
15
11
|
answerAudit,
|
|
16
12
|
auditLines,
|
|
@@ -18,52 +14,20 @@ import {
|
|
|
18
14
|
precisionOf,
|
|
19
15
|
prepareAudit,
|
|
20
16
|
writeAudit
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import {
|
|
23
|
-
listRuns,
|
|
24
|
-
partStates,
|
|
25
|
-
runTranscript
|
|
26
|
-
} from "./chunk-BA2HUMDN.js";
|
|
17
|
+
} from "./chunk-AJQ72EBM.js";
|
|
27
18
|
import {
|
|
28
19
|
uiCiteRoutes
|
|
29
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QFWA2DPH.js";
|
|
21
|
+
import "./chunk-X3WY6MN3.js";
|
|
30
22
|
import {
|
|
31
23
|
isHandoffStep
|
|
32
24
|
} from "./chunk-4Q3NN7VF.js";
|
|
33
25
|
import {
|
|
34
|
-
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import {
|
|
37
|
-
changeMapBody,
|
|
38
|
-
changeMapOf,
|
|
39
|
-
targetFlowsOf
|
|
40
|
-
} from "./chunk-GNWAOVFQ.js";
|
|
41
|
-
import {
|
|
42
|
-
changeArchive,
|
|
43
|
-
changeHandoff,
|
|
44
|
-
changeNew,
|
|
45
|
-
changeReleasePrs,
|
|
46
|
-
changeSync
|
|
47
|
-
} from "./chunk-COYN3UAN.js";
|
|
48
|
-
import {
|
|
49
|
-
isSandbox,
|
|
50
|
-
learnCheck,
|
|
51
|
-
learnStart,
|
|
52
|
-
lessonsFor,
|
|
53
|
-
readProgress,
|
|
54
|
-
sandboxCreate
|
|
55
|
-
} from "./chunk-ZQLRCA2V.js";
|
|
56
|
-
import {
|
|
57
|
-
defencesScan,
|
|
58
|
-
evalRun
|
|
59
|
-
} from "./chunk-FVMPFCDS.js";
|
|
60
|
-
import {
|
|
61
|
-
listReports,
|
|
62
|
-
readQuality
|
|
63
|
-
} from "./chunk-FYBF5MB2.js";
|
|
26
|
+
uiComponentTypeRoutes
|
|
27
|
+
} from "./chunk-NDCF4R6S.js";
|
|
64
28
|
import {
|
|
65
29
|
conformanceCommand
|
|
66
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-J3IOLXWM.js";
|
|
67
31
|
import {
|
|
68
32
|
outcomeList,
|
|
69
33
|
outcomeRecord,
|
|
@@ -72,118 +36,172 @@ import {
|
|
|
72
36
|
releaseNotesCommand,
|
|
73
37
|
releasePlanCommand,
|
|
74
38
|
releaseSecurityCommand
|
|
75
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-OHVTTOPS.js";
|
|
76
40
|
import {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
taskRun,
|
|
82
|
-
taskRunNotWaiting
|
|
83
|
-
} from "./chunk-AOCWFA7T.js";
|
|
41
|
+
listRuns,
|
|
42
|
+
partStates,
|
|
43
|
+
runTranscript
|
|
44
|
+
} from "./chunk-GZY6RUZ6.js";
|
|
84
45
|
import {
|
|
85
46
|
executorsCheck,
|
|
86
47
|
todoDone,
|
|
87
48
|
todoRun,
|
|
88
49
|
todoShow
|
|
89
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-JB5LINEM.js";
|
|
90
51
|
import {
|
|
91
52
|
inputsSha256,
|
|
92
53
|
loadExecutors
|
|
93
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-6OJQOPUN.js";
|
|
94
55
|
import {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
56
|
+
isSandbox,
|
|
57
|
+
learnCheck,
|
|
58
|
+
learnStart,
|
|
59
|
+
lessonsFor,
|
|
60
|
+
readProgress,
|
|
61
|
+
sandboxCreate
|
|
62
|
+
} from "./chunk-VW62D6QE.js";
|
|
98
63
|
import {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
64
|
+
defencesScan,
|
|
65
|
+
evalRun
|
|
66
|
+
} from "./chunk-WKUJ3KPV.js";
|
|
67
|
+
import {
|
|
68
|
+
listReports,
|
|
69
|
+
readQuality
|
|
70
|
+
} from "./chunk-RXPJMEOW.js";
|
|
71
|
+
import {
|
|
72
|
+
estimateOf
|
|
73
|
+
} from "./chunk-BDKC6H5P.js";
|
|
74
|
+
import {
|
|
75
|
+
changeMapBody,
|
|
76
|
+
changeMapOf,
|
|
77
|
+
targetFlowsOf
|
|
78
|
+
} from "./chunk-IH2XURVQ.js";
|
|
79
|
+
import {
|
|
80
|
+
changeArchive,
|
|
81
|
+
changeHandoff,
|
|
82
|
+
changeNew,
|
|
83
|
+
changeReleasePrs,
|
|
84
|
+
changeSync,
|
|
85
|
+
syncAfterManualStep
|
|
86
|
+
} from "./chunk-O7XLYEFA.js";
|
|
104
87
|
import {
|
|
105
88
|
boxesOf,
|
|
106
89
|
candidatesOf,
|
|
107
90
|
uiLinkRoutes
|
|
108
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-LFGTYX5U.js";
|
|
109
92
|
import {
|
|
110
93
|
matchDone,
|
|
111
94
|
quotesOf,
|
|
112
95
|
readMatch,
|
|
113
96
|
runMatch
|
|
114
|
-
} from "./chunk-
|
|
115
|
-
import "./chunk-
|
|
116
|
-
import "./chunk-
|
|
97
|
+
} from "./chunk-E3ISYXO3.js";
|
|
98
|
+
import "./chunk-2LGRMVCA.js";
|
|
99
|
+
import "./chunk-VCTWPLAO.js";
|
|
117
100
|
import {
|
|
118
|
-
|
|
119
|
-
} from "./chunk-
|
|
120
|
-
import
|
|
121
|
-
|
|
101
|
+
readServiceRequests
|
|
102
|
+
} from "./chunk-WF7B67YE.js";
|
|
103
|
+
import {
|
|
104
|
+
initiativeStatus,
|
|
105
|
+
readView
|
|
106
|
+
} from "./chunk-6PPOWY5E.js";
|
|
107
|
+
import {
|
|
108
|
+
runDone,
|
|
109
|
+
taskRun,
|
|
110
|
+
taskRunNotWaiting
|
|
111
|
+
} from "./chunk-VTZMAJ3W.js";
|
|
122
112
|
import {
|
|
123
113
|
filesUnder,
|
|
124
114
|
memoByFiles,
|
|
125
115
|
recheckNow,
|
|
126
116
|
uiFactsRoutes
|
|
127
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-AJYXNTNZ.js";
|
|
128
118
|
import {
|
|
129
119
|
HttpError,
|
|
130
120
|
badRequest,
|
|
131
121
|
conflict,
|
|
132
122
|
notFound,
|
|
123
|
+
requireConfirmation,
|
|
133
124
|
startServer,
|
|
134
125
|
strParam
|
|
135
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-C3RY6KU6.js";
|
|
127
|
+
import {
|
|
128
|
+
DecideError,
|
|
129
|
+
correctDecision,
|
|
130
|
+
decisionsView,
|
|
131
|
+
undoBatch
|
|
132
|
+
} from "./chunk-DCZWQLYT.js";
|
|
133
|
+
import {
|
|
134
|
+
copilotAcpAllowed
|
|
135
|
+
} from "./chunk-6ZJ5A7AF.js";
|
|
136
|
+
import "./chunk-X5F3Q5LV.js";
|
|
137
|
+
import "./chunk-VBTP56CE.js";
|
|
136
138
|
import {
|
|
137
139
|
safeMessage,
|
|
138
140
|
withFileLock
|
|
139
|
-
} from "./chunk-
|
|
140
|
-
import
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
import "./chunk-
|
|
141
|
+
} from "./chunk-S7FCV7S5.js";
|
|
142
|
+
import {
|
|
143
|
+
readRepos
|
|
144
|
+
} from "./chunk-YYY3AZFE.js";
|
|
145
|
+
import "./chunk-RGERPOIV.js";
|
|
146
|
+
import "./chunk-OUBGGKDU.js";
|
|
147
|
+
import "./chunk-XI2LCCYQ.js";
|
|
148
|
+
import "./chunk-BPK5P77O.js";
|
|
149
|
+
import {
|
|
150
|
+
digestCommand
|
|
151
|
+
} from "./chunk-7DOR27HL.js";
|
|
144
152
|
import {
|
|
145
153
|
reconcileCommand
|
|
146
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-KDNTAPLX.js";
|
|
147
155
|
import {
|
|
148
156
|
sourcesAdd,
|
|
149
157
|
sourcesSync
|
|
150
|
-
} from "./chunk-
|
|
158
|
+
} from "./chunk-KQGURXFU.js";
|
|
151
159
|
import {
|
|
152
160
|
INPUTS_SOURCE_ID
|
|
153
|
-
} from "./chunk-
|
|
154
|
-
import "./chunk-
|
|
155
|
-
import {
|
|
156
|
-
readRepos
|
|
157
|
-
} from "./chunk-4TKVU2I2.js";
|
|
161
|
+
} from "./chunk-D73UEXYW.js";
|
|
162
|
+
import "./chunk-OHNCWBKF.js";
|
|
158
163
|
import {
|
|
159
164
|
uiOnboardingRoutes
|
|
160
|
-
} from "./chunk-
|
|
161
|
-
import "./chunk-
|
|
165
|
+
} from "./chunk-7JITZFJC.js";
|
|
166
|
+
import "./chunk-EHA7RMZ3.js";
|
|
162
167
|
import {
|
|
163
168
|
uiTrustRoutes
|
|
164
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-OWNCM4ZN.js";
|
|
165
170
|
import {
|
|
166
171
|
contractCheckOf,
|
|
167
172
|
estateJoinOnFile,
|
|
168
173
|
stampOf
|
|
169
|
-
} from "./chunk-
|
|
170
|
-
import "./chunk-
|
|
171
|
-
import "./chunk-
|
|
174
|
+
} from "./chunk-T6DQR5TV.js";
|
|
175
|
+
import "./chunk-WXFLMQSR.js";
|
|
176
|
+
import "./chunk-TYQBFTBR.js";
|
|
172
177
|
import {
|
|
173
|
-
|
|
174
|
-
} from "./chunk-
|
|
178
|
+
checkoutOf
|
|
179
|
+
} from "./chunk-2F4CYZKJ.js";
|
|
180
|
+
import "./chunk-LO6P2VYG.js";
|
|
181
|
+
import {
|
|
182
|
+
intakeContext
|
|
183
|
+
} from "./chunk-SFUP7TTO.js";
|
|
184
|
+
import "./chunk-7FTTA3HD.js";
|
|
185
|
+
import "./chunk-ZQ3ON2VQ.js";
|
|
175
186
|
import {
|
|
176
187
|
baselineCommand,
|
|
177
188
|
setupSteps
|
|
178
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-AFWUDXEM.js";
|
|
190
|
+
import {
|
|
191
|
+
catalogRecords,
|
|
192
|
+
openChanges,
|
|
193
|
+
systemGuide
|
|
194
|
+
} from "./chunk-GUX3PTYM.js";
|
|
179
195
|
import {
|
|
180
196
|
doctorChecks
|
|
181
|
-
} from "./chunk-
|
|
182
|
-
import "./chunk-
|
|
197
|
+
} from "./chunk-EGQRREQH.js";
|
|
198
|
+
import "./chunk-3G4YI4ZU.js";
|
|
199
|
+
import "./chunk-P2V7QW4D.js";
|
|
200
|
+
import "./chunk-Z5IA3WDR.js";
|
|
183
201
|
import {
|
|
184
202
|
readMe,
|
|
185
203
|
writeMe
|
|
186
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-2Q56PQPS.js";
|
|
187
205
|
import {
|
|
188
206
|
cancelTaskRunWait,
|
|
189
207
|
findTaskRunOfRun,
|
|
@@ -196,63 +214,38 @@ import {
|
|
|
196
214
|
settleTaskPr,
|
|
197
215
|
stopAllBuilds,
|
|
198
216
|
taskRunOfRun
|
|
199
|
-
} from "./chunk-
|
|
200
|
-
import "./chunk-GIFMBCTW.js";
|
|
201
|
-
import "./chunk-MD7KUEJ3.js";
|
|
202
|
-
import {
|
|
203
|
-
checkoutOf
|
|
204
|
-
} from "./chunk-Q46QDDMF.js";
|
|
205
|
-
import "./chunk-TGVVUKTG.js";
|
|
206
|
-
import {
|
|
207
|
-
intakeContext
|
|
208
|
-
} from "./chunk-TQ4TG57V.js";
|
|
217
|
+
} from "./chunk-6MUGR4LS.js";
|
|
209
218
|
import {
|
|
210
219
|
workspaceOpen,
|
|
211
220
|
workspaceSync
|
|
212
|
-
} from "./chunk-
|
|
213
|
-
import "./chunk-
|
|
214
|
-
import "./chunk-
|
|
221
|
+
} from "./chunk-DOBQKHIF.js";
|
|
222
|
+
import "./chunk-JENSEMXF.js";
|
|
223
|
+
import "./chunk-O7FDLW7L.js";
|
|
224
|
+
import {
|
|
225
|
+
planStories,
|
|
226
|
+
snowDraft,
|
|
227
|
+
snowSubmit
|
|
228
|
+
} from "./chunk-HNM2YQT2.js";
|
|
229
|
+
import "./chunk-PAQ2AS5E.js";
|
|
215
230
|
import {
|
|
216
|
-
archiveGate,
|
|
217
231
|
ciArchiveGate
|
|
218
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-RUGXBPWI.js";
|
|
219
233
|
import {
|
|
220
234
|
traceMatrix
|
|
221
|
-
} from "./chunk-
|
|
222
|
-
import "./chunk-
|
|
235
|
+
} from "./chunk-BTGPE6CR.js";
|
|
236
|
+
import "./chunk-MUWDB4R4.js";
|
|
237
|
+
import {
|
|
238
|
+
archiveGate
|
|
239
|
+
} from "./chunk-ZQ7SKESZ.js";
|
|
223
240
|
import {
|
|
224
241
|
scanCommand
|
|
225
|
-
} from "./chunk-
|
|
226
|
-
import "./chunk-
|
|
242
|
+
} from "./chunk-TNR75OXT.js";
|
|
243
|
+
import "./chunk-MFR5OPBD.js";
|
|
227
244
|
import {
|
|
228
245
|
readChangeTasks,
|
|
229
246
|
readStory,
|
|
230
247
|
setTaskDone
|
|
231
|
-
} from "./chunk-
|
|
232
|
-
import {
|
|
233
|
-
catalogRecords,
|
|
234
|
-
openChanges,
|
|
235
|
-
systemGuide
|
|
236
|
-
} from "./chunk-FY3QIRTL.js";
|
|
237
|
-
import "./chunk-3G4YI4ZU.js";
|
|
238
|
-
import "./chunk-2HTEMYTB.js";
|
|
239
|
-
import {
|
|
240
|
-
ASSISTANT_FORMATS,
|
|
241
|
-
readProbes,
|
|
242
|
-
whatRunsWhere
|
|
243
|
-
} from "./chunk-3AQ2R5NL.js";
|
|
244
|
-
import {
|
|
245
|
-
critic,
|
|
246
|
-
criticStats,
|
|
247
|
-
findingAction
|
|
248
|
-
} from "./chunk-PTQ3ZALZ.js";
|
|
249
|
-
import "./chunk-A2G72UI4.js";
|
|
250
|
-
import {
|
|
251
|
-
planStories,
|
|
252
|
-
snowDraft,
|
|
253
|
-
snowSubmit
|
|
254
|
-
} from "./chunk-I2A3Z5AK.js";
|
|
255
|
-
import "./chunk-F6H2RJ3N.js";
|
|
248
|
+
} from "./chunk-UGUP3ZM6.js";
|
|
256
249
|
import {
|
|
257
250
|
CORRECTIONS_FILE,
|
|
258
251
|
FEATURE_FILE,
|
|
@@ -289,15 +282,26 @@ import {
|
|
|
289
282
|
stageComments,
|
|
290
283
|
stageGate,
|
|
291
284
|
writeSketch
|
|
292
|
-
} from "./chunk-
|
|
285
|
+
} from "./chunk-R7NYHMUU.js";
|
|
293
286
|
import {
|
|
294
287
|
FeaturePlacement,
|
|
295
288
|
STAGES,
|
|
296
289
|
STAGE_PHASE,
|
|
297
290
|
fieldNames,
|
|
298
291
|
rerunOf
|
|
299
|
-
} from "./chunk-
|
|
300
|
-
import "./chunk-
|
|
292
|
+
} from "./chunk-IVBOQAGB.js";
|
|
293
|
+
import "./chunk-ISUAAMGS.js";
|
|
294
|
+
import {
|
|
295
|
+
ASSISTANT_FORMATS,
|
|
296
|
+
readProbes,
|
|
297
|
+
whatRunsWhere
|
|
298
|
+
} from "./chunk-BEVTIBRH.js";
|
|
299
|
+
import {
|
|
300
|
+
critic,
|
|
301
|
+
criticStats,
|
|
302
|
+
findingAction
|
|
303
|
+
} from "./chunk-UF4AZOZB.js";
|
|
304
|
+
import "./chunk-YHCMZC2J.js";
|
|
301
305
|
import "./chunk-VOGCSYOI.js";
|
|
302
306
|
import {
|
|
303
307
|
layerRules,
|
|
@@ -311,7 +315,7 @@ import {
|
|
|
311
315
|
readStoryIndex,
|
|
312
316
|
reviewedGates,
|
|
313
317
|
roundsOf
|
|
314
|
-
} from "./chunk-
|
|
318
|
+
} from "./chunk-S4PMJU6H.js";
|
|
315
319
|
import {
|
|
316
320
|
ChangeOwnersError,
|
|
317
321
|
artifactFiles,
|
|
@@ -325,13 +329,13 @@ import {
|
|
|
325
329
|
loadChangeContext,
|
|
326
330
|
requiredArtifacts,
|
|
327
331
|
setChangeOwners
|
|
328
|
-
} from "./chunk-
|
|
329
|
-
import "./chunk-
|
|
332
|
+
} from "./chunk-IDKCWSM5.js";
|
|
333
|
+
import "./chunk-UUU4CLJG.js";
|
|
330
334
|
import {
|
|
331
335
|
fileStepStore,
|
|
332
336
|
manualAdapter,
|
|
333
337
|
stepOfProvisional
|
|
334
|
-
} from "./chunk-
|
|
338
|
+
} from "./chunk-7IGKHZ4Z.js";
|
|
335
339
|
import {
|
|
336
340
|
componentRenames,
|
|
337
341
|
estateFacts,
|
|
@@ -343,7 +347,7 @@ import {
|
|
|
343
347
|
outsideProfileSystems,
|
|
344
348
|
readCatalog,
|
|
345
349
|
targetPicker
|
|
346
|
-
} from "./chunk-
|
|
350
|
+
} from "./chunk-J2JAKCIW.js";
|
|
347
351
|
import {
|
|
348
352
|
OrgPackProposal,
|
|
349
353
|
SNAPSHOT_FILE,
|
|
@@ -367,38 +371,40 @@ import {
|
|
|
367
371
|
snapshotDates,
|
|
368
372
|
snapshotSources,
|
|
369
373
|
writeReview
|
|
370
|
-
} from "./chunk-
|
|
374
|
+
} from "./chunk-745DAZ4L.js";
|
|
371
375
|
import {
|
|
372
376
|
NoSuchNode,
|
|
373
377
|
buildEstate,
|
|
374
378
|
focusView,
|
|
375
379
|
nodeView,
|
|
376
380
|
viewKey
|
|
377
|
-
} from "./chunk-
|
|
381
|
+
} from "./chunk-CXJ6FUKN.js";
|
|
378
382
|
import {
|
|
379
383
|
readServiceRequestExports,
|
|
380
384
|
readVendorSpec,
|
|
381
385
|
readWorkItemExports
|
|
382
|
-
} from "./chunk-
|
|
383
|
-
import "./chunk-
|
|
384
|
-
import "./chunk-
|
|
385
|
-
import "./chunk-
|
|
386
|
-
import "./chunk-
|
|
386
|
+
} from "./chunk-QKUJMING.js";
|
|
387
|
+
import "./chunk-6ZGLAACW.js";
|
|
388
|
+
import "./chunk-CQDGOPGH.js";
|
|
389
|
+
import "./chunk-3NFFJL5D.js";
|
|
390
|
+
import "./chunk-F3P7N7SF.js";
|
|
391
|
+
import "./chunk-UPS2DGFC.js";
|
|
387
392
|
import {
|
|
388
393
|
baseClonePath,
|
|
389
394
|
loadRepos,
|
|
390
395
|
readChangeRepos
|
|
391
|
-
} from "./chunk-
|
|
396
|
+
} from "./chunk-PKBHS4AA.js";
|
|
392
397
|
import {
|
|
393
398
|
COMMON_SETTINGS,
|
|
394
399
|
PROVIDER_SETTINGS,
|
|
395
400
|
defaultKeyStore,
|
|
401
|
+
keyEnvFromEnvironment,
|
|
396
402
|
looksLikeKey
|
|
397
|
-
} from "./chunk-
|
|
403
|
+
} from "./chunk-LYBNHMVZ.js";
|
|
398
404
|
import {
|
|
399
405
|
providerFactoryFor
|
|
400
|
-
} from "./chunk-
|
|
401
|
-
import "./chunk-
|
|
406
|
+
} from "./chunk-P32RUW3B.js";
|
|
407
|
+
import "./chunk-QA4O2GGC.js";
|
|
402
408
|
import {
|
|
403
409
|
ASSISTANTS,
|
|
404
410
|
ChangeArtifact,
|
|
@@ -467,7 +473,6 @@ import {
|
|
|
467
473
|
readQuestion,
|
|
468
474
|
readRepoSpec,
|
|
469
475
|
readSharedMaps,
|
|
470
|
-
require_dist,
|
|
471
476
|
runsDirOf,
|
|
472
477
|
runsRelOf,
|
|
473
478
|
setManifestField,
|
|
@@ -475,13 +480,16 @@ import {
|
|
|
475
480
|
specRelOf,
|
|
476
481
|
specRepos,
|
|
477
482
|
undeclareLink
|
|
478
|
-
} from "./chunk-
|
|
483
|
+
} from "./chunk-Q2TECDIT.js";
|
|
479
484
|
import {
|
|
480
485
|
FileChangedError,
|
|
481
486
|
createLog,
|
|
482
487
|
writeFileAtomic,
|
|
483
488
|
writeFileIfUnchanged
|
|
484
|
-
} from "./chunk-
|
|
489
|
+
} from "./chunk-TUULXQRW.js";
|
|
490
|
+
import {
|
|
491
|
+
require_dist
|
|
492
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
485
493
|
import {
|
|
486
494
|
__toESM
|
|
487
495
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -776,8 +784,9 @@ async function artifactPath(root, id, artifact, o = {}) {
|
|
|
776
784
|
}
|
|
777
785
|
function uiRoutes(r, ctx, deps = {}) {
|
|
778
786
|
const { root, user, jobs } = ctx;
|
|
787
|
+
const confirmed2 = (write, target, given) => requireConfirmation(ctx.confirmations, write, target, given);
|
|
779
788
|
const readyView = async (change) => {
|
|
780
|
-
const { deployOrderOf } = await import("./chunk-
|
|
789
|
+
const { deployOrderOf } = await import("./chunk-SYV5LHML.js");
|
|
781
790
|
const repoOrder = await deployOrderOf(root, change);
|
|
782
791
|
const prStates = /* @__PURE__ */ new Map();
|
|
783
792
|
for (const t of await taskViews(root, change, {
|
|
@@ -814,7 +823,7 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
814
823
|
return { status: 202, body: { jobId: job.id } };
|
|
815
824
|
};
|
|
816
825
|
return r.add("POST", "/api/facts/{repo}/apply", async ({ params }) => {
|
|
817
|
-
const { verifyCommand } = await import("./chunk-
|
|
826
|
+
const { verifyCommand } = await import("./chunk-PSOFBQWB.js");
|
|
818
827
|
const repo = params.repo;
|
|
819
828
|
if (!FACTS_REPO.test(repo))
|
|
820
829
|
throw badRequest(`${JSON.stringify(repo)} isn't a repo name.`);
|
|
@@ -822,25 +831,26 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
822
831
|
throw notFound(`There is no repo ${repo} in this workspace.`);
|
|
823
832
|
return asJob(`Applying to ${repo}`, () => run((io) => verifyCommand(root, repo, { write: true, verbose: false, json: false }, io)));
|
|
824
833
|
}).add("GET", "/api/upgrade", async () => {
|
|
825
|
-
const { upgradeCheck } = await import("./chunk-
|
|
834
|
+
const { newerAtticusOf, upgradeCheck } = await import("./chunk-AVTBS4OW.js");
|
|
826
835
|
const c = await upgradeCheck(root);
|
|
836
|
+
const stamp2 = c.stamp?.atticus ?? newerAtticusOf(c);
|
|
827
837
|
const body = {
|
|
828
838
|
atticus: c.atticus,
|
|
829
839
|
newer: c.newer,
|
|
830
|
-
...
|
|
840
|
+
...stamp2 ? { stamp: stamp2 } : {},
|
|
831
841
|
pending: c.pending
|
|
832
842
|
};
|
|
833
843
|
return { status: 200, body };
|
|
834
844
|
}).add("POST", "/api/upgrade", async () => {
|
|
835
|
-
const { upgradeCheck, upgradeCommand } = await import("./chunk-
|
|
845
|
+
const { newerThan, newerWords, upgradeCheck, upgradeCommand } = await import("./chunk-AVTBS4OW.js");
|
|
836
846
|
const c = await upgradeCheck(root);
|
|
837
847
|
if (c.newer)
|
|
838
|
-
throw conflict(
|
|
839
|
-
if (!c.pending.length)
|
|
848
|
+
throw conflict(newerWords(c));
|
|
849
|
+
if (!c.pending.length && c.stamp && !newerThan(c.atticus, c.stamp.atticus))
|
|
840
850
|
throw conflict(`Nothing to upgrade: up to date for Atticus ${c.atticus}.`);
|
|
841
851
|
return asJob("Upgrading the metarepo", () => run((io) => upgradeCommand(root, { by: user }, io)));
|
|
842
852
|
}).add("GET", "/api/propose", async ({ query }) => {
|
|
843
|
-
const { proposePlan, PROPOSE_SCOPES } = await import("./chunk-
|
|
853
|
+
const { proposePlan, PROPOSE_SCOPES } = await import("./chunk-EMRIQUND.js");
|
|
844
854
|
const scope = query.get("scope") ?? "";
|
|
845
855
|
if (!PROPOSE_SCOPES.includes(scope))
|
|
846
856
|
throw refused({
|
|
@@ -862,7 +872,8 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
862
872
|
return { status: 200, body: { ...plan, applyFirst: await applyFirstOf(root, plan.files) } };
|
|
863
873
|
}).add("POST", "/api/propose", async ({ body }) => {
|
|
864
874
|
const b = parseBody(api_exports.ProposeRequest, body);
|
|
865
|
-
|
|
875
|
+
confirmed2("propose", b.scope, b.confirmation);
|
|
876
|
+
const { proposeForReview } = await import("./chunk-EMRIQUND.js");
|
|
866
877
|
return asJob("Proposing for review", () => run((io) => proposeForReview(root, {
|
|
867
878
|
scope: b.scope,
|
|
868
879
|
by: user,
|
|
@@ -871,11 +882,11 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
871
882
|
...b.branch ? { branch: b.branch } : {}
|
|
872
883
|
}, io)));
|
|
873
884
|
}).add("POST", "/api/propose/bring-in", async () => {
|
|
874
|
-
const { bringInMerged } = await import("./chunk-
|
|
885
|
+
const { bringInMerged } = await import("./chunk-EMRIQUND.js");
|
|
875
886
|
return asJob("Bringing in what merged", () => run((io) => bringInMerged(root, io)));
|
|
876
887
|
}).add("POST", "/api/changes/{changeId}/conformance", async ({ params }) => {
|
|
877
888
|
await readChange(root, params.changeId);
|
|
878
|
-
const { changeConformCommand } = await import("./chunk-
|
|
889
|
+
const { changeConformCommand } = await import("./chunk-5SJZW52K.js");
|
|
879
890
|
return asJob(`Checking ${params.changeId}'s code against its design`, () => run((io) => changeConformCommand(root, params.changeId, { findingsAnswer: true }, io)));
|
|
880
891
|
}).add("GET", "/api/change-types", async () => {
|
|
881
892
|
const op = await loadOrgPack(orgPackDirOf(root));
|
|
@@ -978,7 +989,7 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
978
989
|
throw conflict(`${rel} changed since you opened it. Reload it, then make your edit again.`);
|
|
979
990
|
await mkdir(dirname2(file), { recursive: true });
|
|
980
991
|
await writeFileIfUnchanged(file, was, b.content);
|
|
981
|
-
const { recordPersonSave: recordPersonSave2 } = await import("./chunk-
|
|
992
|
+
const { recordPersonSave: recordPersonSave2 } = await import("./chunk-NY2XSR5K.js");
|
|
982
993
|
await recordPersonSave2(join2(changesDirOf(root), params.changeId), params.changeId, {
|
|
983
994
|
file: rel,
|
|
984
995
|
who: user,
|
|
@@ -1101,12 +1112,14 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1101
1112
|
};
|
|
1102
1113
|
});
|
|
1103
1114
|
return { status: 202, body: api_exports.RunReadyAccepted.parse({ jobId: job.id, tasks }) };
|
|
1104
|
-
}).add("POST", "/api/changes/{changeId}/tasks/{taskId}/pr", async ({ params }) => {
|
|
1115
|
+
}).add("POST", "/api/changes/{changeId}/tasks/{taskId}/pr", async ({ params, body }) => {
|
|
1105
1116
|
await readChange(root, params.changeId);
|
|
1106
1117
|
const change = params.changeId;
|
|
1107
1118
|
const task = params.taskId;
|
|
1119
|
+
const b = parseBody(api_exports.ConfirmedRequest, body ?? {});
|
|
1108
1120
|
if (!(await taskViews(root, change)).some((t) => t.id === task))
|
|
1109
1121
|
throw notFound(`Change ${change} has no task ${task}.`);
|
|
1122
|
+
confirmed2("task-pr", `${change}/${task}`, b.confirmation);
|
|
1110
1123
|
let raised;
|
|
1111
1124
|
try {
|
|
1112
1125
|
raised = await raiseTaskPr(root, change, task, {
|
|
@@ -1148,6 +1161,7 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1148
1161
|
}).add("POST", "/api/changes/{changeId}/handoff", async ({ params, body }) => {
|
|
1149
1162
|
await readChange(root, params.changeId);
|
|
1150
1163
|
const b = parseBody(api_exports.HandoffRequest, body);
|
|
1164
|
+
confirmed2("handoff", params.changeId, b.confirmation);
|
|
1151
1165
|
const res = await run((io) => changeHandoff(root, params.changeId, { by: user, approve: true, ...b.repo ? { repo: b.repo } : {} }, io, changeDeps));
|
|
1152
1166
|
if (res.code !== 0)
|
|
1153
1167
|
throw refused(res);
|
|
@@ -1158,7 +1172,8 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1158
1172
|
}).add("POST", "/api/changes/{changeId}/release-prs", async ({ params, body }) => {
|
|
1159
1173
|
const id = params.changeId;
|
|
1160
1174
|
await readChange(root, id);
|
|
1161
|
-
parseBody(api_exports.ReleasePrsRequest, body);
|
|
1175
|
+
const b = parseBody(api_exports.ReleasePrsRequest, body);
|
|
1176
|
+
confirmed2("release-prs", id, b.confirmation);
|
|
1162
1177
|
const res = await run((io) => changeReleasePrs(root, id, { by: user, approve: true }, io, changeDeps));
|
|
1163
1178
|
ctx.events.publish({ type: "file.changed", path: `${id}/repos.yaml` });
|
|
1164
1179
|
if (res.code !== 0)
|
|
@@ -1167,10 +1182,13 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1167
1182
|
}).add("POST", "/api/changes/{changeId}/sync", async ({ params, body }) => {
|
|
1168
1183
|
await readChange(root, params.changeId);
|
|
1169
1184
|
const b = parseBody(api_exports.SyncRequest, body);
|
|
1170
|
-
const
|
|
1185
|
+
const approve = b.confirmation !== void 0;
|
|
1186
|
+
if (approve)
|
|
1187
|
+
confirmed2("merge", params.changeId, b.confirmation);
|
|
1188
|
+
const res = await run((io) => changeSync(root, params.changeId, { by: user, approve, ...b.repo ? { repo: b.repo } : {} }, io, changeDeps));
|
|
1171
1189
|
if (res.code === 2)
|
|
1172
1190
|
throw refused(res);
|
|
1173
|
-
const { appLines } = await import("./chunk-
|
|
1191
|
+
const { appLines } = await import("./chunk-CBGGOQWU.js");
|
|
1174
1192
|
return {
|
|
1175
1193
|
status: 200,
|
|
1176
1194
|
body: {
|
|
@@ -1180,14 +1198,14 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1180
1198
|
};
|
|
1181
1199
|
}).add("GET", "/api/changes/{changeId}/inputs", async ({ params }) => {
|
|
1182
1200
|
const c = await readChange(root, params.changeId);
|
|
1183
|
-
const { readChangeInputs } = await import("./chunk-
|
|
1201
|
+
const { readChangeInputs } = await import("./chunk-RLDGWLQ7.js");
|
|
1184
1202
|
return {
|
|
1185
1203
|
status: 200,
|
|
1186
1204
|
body: api_exports.ChangeInputList.parse(await readChangeInputs(join2(changesDirOf(root), c.id)))
|
|
1187
1205
|
};
|
|
1188
1206
|
}).add("GET", "/api/changes/{changeId}/prototypes", async ({ params }) => {
|
|
1189
1207
|
const c = await readChange(root, params.changeId);
|
|
1190
|
-
const { changePrototypes } = await import("./chunk-
|
|
1208
|
+
const { changePrototypes } = await import("./chunk-7ASNL4Q4.js");
|
|
1191
1209
|
return {
|
|
1192
1210
|
status: 200,
|
|
1193
1211
|
body: api_exports.ChangePrototypeList.parse(await changePrototypes(root, c.id))
|
|
@@ -1195,7 +1213,7 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1195
1213
|
}).add("POST", "/api/changes/{changeId}/prototypes", async ({ params, body }) => {
|
|
1196
1214
|
const c = await readChange(root, params.changeId);
|
|
1197
1215
|
const b = parseBody(api_exports.ComparePrototypeRequest, body);
|
|
1198
|
-
const { attachPrototype, changePrototypes } = await import("./chunk-
|
|
1216
|
+
const { attachPrototype, changePrototypes } = await import("./chunk-7ASNL4Q4.js");
|
|
1199
1217
|
const res = await run((io) => attachPrototype(root, c.id, b.repo, { by: user, ...deps.now ? { now: new Date(deps.now) } : {} }, io));
|
|
1200
1218
|
if (res.code !== 0)
|
|
1201
1219
|
throw refused(res);
|
|
@@ -1213,7 +1231,7 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1213
1231
|
const bytes = new Uint8Array(Buffer.from(b.content, "base64"));
|
|
1214
1232
|
if (bytes.length > MAX_ATTACH)
|
|
1215
1233
|
throw new HttpError(413, "The file is too large", "Attach a file of 15 MB or less.");
|
|
1216
|
-
const { attachFiles } = await import("./chunk-
|
|
1234
|
+
const { attachFiles } = await import("./chunk-LDLL7LB3.js");
|
|
1217
1235
|
const r2 = await attachFiles(root, c.id, [{ name: b.name, bytes }], user);
|
|
1218
1236
|
if (!r2.added.length)
|
|
1219
1237
|
throw new HttpError(422, "Atticus can't attach that", r2.refused[0]?.why ?? "", {
|
|
@@ -1332,11 +1350,11 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1332
1350
|
}
|
|
1333
1351
|
const after = await findRun(root, params.runId);
|
|
1334
1352
|
ctx.events.publish({ type: "run.changed", runId: after.runId, state: after.state });
|
|
1335
|
-
const { resumeAfterDone, appLines } = await import("./chunk-
|
|
1353
|
+
const { resumeAfterDone, appLines } = await import("./chunk-CBGGOQWU.js");
|
|
1336
1354
|
if (res.code !== 0)
|
|
1337
1355
|
throw refused({ ...res, out: appLines(res.out), err: appLines(res.err) });
|
|
1338
1356
|
const stepRunner = deps.runStep ?? (async (args) => {
|
|
1339
|
-
const { main } = await import("./chunk-
|
|
1357
|
+
const { main } = await import("./chunk-IUPG3UKI.js");
|
|
1340
1358
|
const out = [];
|
|
1341
1359
|
const err = [];
|
|
1342
1360
|
const code = await main([...args, "--root", root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
|
|
@@ -1481,6 +1499,9 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1481
1499
|
return { status: 202, body: { jobId: job.id } };
|
|
1482
1500
|
}).add("POST", "/api/workspace/sync", ({ body }) => {
|
|
1483
1501
|
const b = parseBody(api_exports.ScanRequest.pick({ repos: true }), body);
|
|
1502
|
+
const busy = jobs.runningOf("sync");
|
|
1503
|
+
if (busy)
|
|
1504
|
+
throw conflict(`A sync is already running (${busy.id}): wait for it to finish.`);
|
|
1484
1505
|
const job = jobs.start("sync", async (c) => {
|
|
1485
1506
|
c.progress(0, 1, "Syncing base clones");
|
|
1486
1507
|
const res = await run((io) => workspaceSync(root, b.repos, io));
|
|
@@ -1490,6 +1511,9 @@ function uiRoutes(r, ctx, deps = {}) {
|
|
|
1490
1511
|
return { status: 202, body: { jobId: job.id } };
|
|
1491
1512
|
}).add("POST", "/api/reconcile", ({ body }) => {
|
|
1492
1513
|
const b = parseBody(api_exports.ReconcileRequest, body);
|
|
1514
|
+
const busy = jobs.runningOf("reconcile");
|
|
1515
|
+
if (busy)
|
|
1516
|
+
throw conflict(`A reconcile is already running (${busy.id}): wait for it to finish.`);
|
|
1493
1517
|
const job = jobs.start("reconcile", async (c) => {
|
|
1494
1518
|
c.progress(0, 1, `Reconciling ${b.diagram}`);
|
|
1495
1519
|
const res = await run((io) => reconcileCommand(root, [b.diagram], { json: true }, io));
|
|
@@ -1729,19 +1753,16 @@ function uiRunRoutes(r, ctx, deps = {}) {
|
|
|
1729
1753
|
const pack = () => loadOrgPack(orgPackDirOf(root));
|
|
1730
1754
|
const rel = deps.now ? { now: () => new Date(deps.now) } : {};
|
|
1731
1755
|
const syncAfterStep = async (s) => {
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1756
|
+
let synced = false;
|
|
1757
|
+
const res = await run2(async (io) => {
|
|
1758
|
+
synced = await syncAfterManualStep(root, s, user, io, {
|
|
1759
|
+
...deps.gitHost ? { gitHost: deps.gitHost } : {},
|
|
1760
|
+
...deps.now ? { now: deps.now } : {}
|
|
1761
|
+
});
|
|
1762
|
+
return 0;
|
|
1763
|
+
});
|
|
1764
|
+
if (!synced)
|
|
1739
1765
|
return void 0;
|
|
1740
|
-
const repo = typeof open.inputs.repo === "string" ? open.inputs.repo : void 0;
|
|
1741
|
-
const res = await run2((io) => changeSync(root, s.change, { by: user, ...repo ? { repo } : {} }, io, {
|
|
1742
|
-
...deps.gitHost ? { gitHost: deps.gitHost } : {},
|
|
1743
|
-
...deps.now ? { now: deps.now } : {}
|
|
1744
|
-
}));
|
|
1745
1766
|
ctx.events.publish({ type: "file.changed", path: `${changesRelOf(root)}/${s.change}` });
|
|
1746
1767
|
return [...res.out, ...res.err];
|
|
1747
1768
|
};
|
|
@@ -1806,12 +1827,19 @@ function uiRunRoutes(r, ctx, deps = {}) {
|
|
|
1806
1827
|
}).add("POST", "/api/todo/{stepId}/done", async ({ params, body }) => {
|
|
1807
1828
|
const b = parseBody2(api_exports.StepDoneRequest, body);
|
|
1808
1829
|
const ref = stepRef(params.stepId, b.change);
|
|
1809
|
-
const res = await run2((io) => todoDone(
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1830
|
+
const res = await run2((io) => todoDone(
|
|
1831
|
+
root,
|
|
1832
|
+
ref,
|
|
1833
|
+
{
|
|
1834
|
+
by: user,
|
|
1835
|
+
result: b.values,
|
|
1836
|
+
...b.skip ? { skip: true } : {},
|
|
1837
|
+
...b.note ? { note: b.note } : {}
|
|
1838
|
+
},
|
|
1839
|
+
io,
|
|
1840
|
+
// the step's sync is said apart, as `synced`, below
|
|
1841
|
+
{ ...deps.todo, sync: false }
|
|
1842
|
+
));
|
|
1815
1843
|
if (res.code !== 0) {
|
|
1816
1844
|
if (res.err.some((l) => /^There is no step/.test(l)))
|
|
1817
1845
|
throw notFound(res.err.join("\n"));
|
|
@@ -1843,12 +1871,20 @@ function uiRunRoutes(r, ctx, deps = {}) {
|
|
|
1843
1871
|
};
|
|
1844
1872
|
}).add("POST", "/api/todo/{stepId}/run", async ({ params, body }) => {
|
|
1845
1873
|
const b = parseBody2(api_exports.StepRunRequest, body);
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1874
|
+
requireConfirmation(ctx.confirmations, "step-run", params.stepId, b.confirmation);
|
|
1875
|
+
const res = await run2((io) => todoRun(
|
|
1876
|
+
root,
|
|
1877
|
+
stepRef(params.stepId, b.change),
|
|
1878
|
+
{
|
|
1879
|
+
with: b.with,
|
|
1880
|
+
approve: user,
|
|
1881
|
+
inputs: b.inputsSha256,
|
|
1882
|
+
...b.fillOnly ? { fillOnly: true } : {}
|
|
1883
|
+
},
|
|
1884
|
+
io,
|
|
1885
|
+
// the step's sync is said apart, as `synced`, below
|
|
1886
|
+
{ ...deps.todo, sync: false }
|
|
1887
|
+
));
|
|
1852
1888
|
if (res.code !== 0) {
|
|
1853
1889
|
if (res.err.some((l) => /^There is no step/.test(l)))
|
|
1854
1890
|
throw notFound(res.err.join("\n"));
|
|
@@ -2395,6 +2431,8 @@ function uiMeRoutes(r, ctx, deps = {}) {
|
|
|
2395
2431
|
const b = api_exports.SendDigestRequest.safeParse(body ?? {});
|
|
2396
2432
|
if (!b.success)
|
|
2397
2433
|
throw badRequest("Send { send: true } to post it, or {} to see it.");
|
|
2434
|
+
if (b.data.send)
|
|
2435
|
+
requireConfirmation(ctx.confirmations, "digest-send", "me", b.data.confirmation);
|
|
2398
2436
|
const me = await readMe(ctx.root);
|
|
2399
2437
|
const out = [];
|
|
2400
2438
|
const err = [];
|
|
@@ -2448,7 +2486,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
|
|
|
2448
2486
|
if (o.warm)
|
|
2449
2487
|
void machine().catch(() => void 0);
|
|
2450
2488
|
const view3 = async (name, arg) => {
|
|
2451
|
-
const build = VIEWS[name];
|
|
2489
|
+
const build = Object.hasOwn(VIEWS, name) ? VIEWS[name] : void 0;
|
|
2452
2490
|
if (!build)
|
|
2453
2491
|
throw notFound(`There is no view ${name}.`);
|
|
2454
2492
|
if (arg !== void 0 && !ID.test(arg))
|
|
@@ -2456,7 +2494,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
|
|
|
2456
2494
|
const args = build(arg);
|
|
2457
2495
|
if (!args)
|
|
2458
2496
|
throw badRequest(`The ${name} view needs an id: /api/view/${name}/<id>.`);
|
|
2459
|
-
const { main } = await import("./chunk-
|
|
2497
|
+
const { main } = await import("./chunk-IUPG3UKI.js");
|
|
2460
2498
|
const out = [];
|
|
2461
2499
|
const err = [];
|
|
2462
2500
|
const code = await main([...args, "--json", "--root", ctx.root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
|
|
@@ -2486,7 +2524,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
|
|
|
2486
2524
|
return { status: 200, body: { code, data: body, problems: err } };
|
|
2487
2525
|
};
|
|
2488
2526
|
const text = async (args) => {
|
|
2489
|
-
const { main } = await import("./chunk-
|
|
2527
|
+
const { main } = await import("./chunk-IUPG3UKI.js");
|
|
2490
2528
|
const out = [];
|
|
2491
2529
|
const err = [];
|
|
2492
2530
|
const code = await main([...args, "--root", ctx.root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
|
|
@@ -2504,7 +2542,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
|
|
|
2504
2542
|
throw badRequest("Some fields aren't right.", {
|
|
2505
2543
|
errors: b.error.issues.map((i) => ({ path: i.path.join("."), message: i.message }))
|
|
2506
2544
|
});
|
|
2507
|
-
const { triageDecide } = await import("./chunk-
|
|
2545
|
+
const { triageDecide } = await import("./chunk-UWMJKX5U.js");
|
|
2508
2546
|
const out = [];
|
|
2509
2547
|
const err = [];
|
|
2510
2548
|
const code = await triageDecide(ctx.root, params.itemId, b.data.option, { by: ctx.user, ...b.data.reason ? { reason: b.data.reason } : {} }, { out: (l) => out.push(l), err: (l) => err.push(l) });
|
|
@@ -2620,7 +2658,7 @@ function refused3(r) {
|
|
|
2620
2658
|
return r.code === 2 ? badRequest(detail) : new HttpError(422, "Atticus refused", detail);
|
|
2621
2659
|
}
|
|
2622
2660
|
function uiInitiativeRoutes(r, ctx) {
|
|
2623
|
-
const commands = () => import("./chunk-
|
|
2661
|
+
const commands = () => import("./chunk-7UOMVMFG.js");
|
|
2624
2662
|
const changed = () => ctx.events.publish({ type: "file.changed", path: "catalog/curated" });
|
|
2625
2663
|
return r.add("POST", "/api/initiatives", async ({ body }) => {
|
|
2626
2664
|
const b = parseBody3(api_exports.NewInitiativeRequest, body);
|
|
@@ -2698,9 +2736,9 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
|
|
|
2698
2736
|
throw badRequest("role is product, architecture, analysis or delivery, or left out.");
|
|
2699
2737
|
const onFile = await listQuestions(ctx.root);
|
|
2700
2738
|
const every = { ...onFile, questions: onFile.questions.filter((q) => !q.finding) };
|
|
2701
|
-
const { routeQuestions } = await import("./chunk-
|
|
2739
|
+
const { routeQuestions } = await import("./chunk-CADWLE2T.js");
|
|
2702
2740
|
const routedAll = await routeQuestions(ctx.root, every.questions, mine ? { mine: ctx.user } : {});
|
|
2703
|
-
const { stageQuestions, roleWithStage, isChangeQuestion, countByRole, personsRoles } = await import("./chunk-
|
|
2741
|
+
const { stageQuestions, roleWithStage, isChangeQuestion, countByRole, personsRoles } = await import("./chunk-5NMKONLP.js");
|
|
2704
2742
|
const stages = await stageQuestions(ctx.root);
|
|
2705
2743
|
const roleOf = (q) => roleWithStage(q, stages);
|
|
2706
2744
|
for (const q of every.questions) {
|
|
@@ -2710,20 +2748,21 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
|
|
|
2710
2748
|
a.role = r2;
|
|
2711
2749
|
}
|
|
2712
2750
|
const base = change ? routedAll.questions.filter((q) => isChangeQuestion(q, change, { stages, restsOn: routedAll.about[q.id]?.restsOn })) : routedAll.questions;
|
|
2751
|
+
const ofRole = role ? base.filter((q) => roleOf(q) === role) : base;
|
|
2713
2752
|
const routed = {
|
|
2714
2753
|
...routedAll,
|
|
2715
|
-
questions:
|
|
2754
|
+
questions: ofRole.filter((q) => !state || q.state === state)
|
|
2716
2755
|
};
|
|
2717
2756
|
const listed = { problems: every.problems };
|
|
2718
|
-
const n = (s) =>
|
|
2757
|
+
const n = (s) => ofRole.filter((q) => q.state === s).length;
|
|
2719
2758
|
const body = {
|
|
2720
2759
|
counts: {
|
|
2721
2760
|
open: n("open"),
|
|
2722
2761
|
answered: n("answered"),
|
|
2723
2762
|
retired: n("retired"),
|
|
2724
|
-
total:
|
|
2725
|
-
byRepo: Object.fromEntries([...new Set(
|
|
2726
|
-
const of =
|
|
2763
|
+
total: ofRole.length,
|
|
2764
|
+
byRepo: Object.fromEntries([...new Set(ofRole.map((q) => q.repo))].sort().map((r2) => {
|
|
2765
|
+
const of = ofRole.filter((q) => q.repo === r2);
|
|
2727
2766
|
const k = (s) => of.filter((q) => q.state === s).length;
|
|
2728
2767
|
return [
|
|
2729
2768
|
r2,
|
|
@@ -2745,13 +2784,13 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
|
|
|
2745
2784
|
};
|
|
2746
2785
|
return { status: 200, body };
|
|
2747
2786
|
}).add("GET", "/api/owner-questions", async () => {
|
|
2748
|
-
const { ownerQuestions } = await import("./chunk-
|
|
2787
|
+
const { ownerQuestions } = await import("./chunk-JRBFANFE.js");
|
|
2749
2788
|
return { status: 200, body: await ownerQuestions(ctx.root, { now: now() }) };
|
|
2750
2789
|
}).add("POST", "/api/owner-questions/{id}/answer", async ({ params, body }) => {
|
|
2751
2790
|
const b = api_exports.OwnerAnswerRequest.safeParse(body ?? {});
|
|
2752
2791
|
if (!b.success || !b.data.answer.trim())
|
|
2753
2792
|
throw badRequest('Answer with { answer: "what the owner said" }.');
|
|
2754
|
-
const { answerOwnerQuestion, OwnerQuestionError } = await import("./chunk-
|
|
2793
|
+
const { answerOwnerQuestion, OwnerQuestionError } = await import("./chunk-JRBFANFE.js");
|
|
2755
2794
|
try {
|
|
2756
2795
|
const r2 = await answerOwnerQuestion(ctx.root, params.id, b.data.answer, {
|
|
2757
2796
|
by: ctx.user,
|
|
@@ -2776,13 +2815,13 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
|
|
|
2776
2815
|
throw notFound(`There is no question ${params.id}.`);
|
|
2777
2816
|
if (q.askedBy.step !== TARGETS_STEP_ID && q.askedBy.step !== TOPICS_STEP_ID)
|
|
2778
2817
|
throw new HttpError(422, "That question doesn't ask where a call goes or who owns a topic", `${q.id} isn't a targets or topics question, so it has no picker.`);
|
|
2779
|
-
const { pickerOf } = await import("./chunk-
|
|
2818
|
+
const { pickerOf } = await import("./chunk-KFAVQZSX.js");
|
|
2780
2819
|
return { status: 200, body: { picks: await pickerOf(ctx.root) } };
|
|
2781
2820
|
}).add("GET", "/api/questions/{id}/evidence", async ({ params }) => {
|
|
2782
2821
|
const q = await readQuestion(ctx.root, params.id).catch(() => void 0);
|
|
2783
2822
|
if (!q)
|
|
2784
2823
|
throw notFound(`There is no question ${params.id}.`);
|
|
2785
|
-
const { evidenceExcerpts } = await import("./chunk-
|
|
2824
|
+
const { evidenceExcerpts } = await import("./chunk-BIGDQDHD.js");
|
|
2786
2825
|
return {
|
|
2787
2826
|
status: 200,
|
|
2788
2827
|
body: {
|
|
@@ -2805,7 +2844,7 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
|
|
|
2805
2844
|
const q0 = await readQuestion(ctx.root, params.id).catch(() => void 0);
|
|
2806
2845
|
if (!q0)
|
|
2807
2846
|
throw notFound(`There is no question ${params.id}.`);
|
|
2808
|
-
const { targetAnswerOf, offerLine } = await import("./chunk-
|
|
2847
|
+
const { targetAnswerOf, offerLine } = await import("./chunk-KFAVQZSX.js");
|
|
2809
2848
|
const t = await targetAnswerOf(ctx.root, q0, target, {
|
|
2810
2849
|
...addSystem ? { addSystem } : {},
|
|
2811
2850
|
...name ? { name } : {}
|
|
@@ -3049,8 +3088,9 @@ async function hopsFromTargetFlows(dir, mappings, interfaces) {
|
|
|
3049
3088
|
rows: names.map((name, i) => ({
|
|
3050
3089
|
line: i + 1,
|
|
3051
3090
|
source: name,
|
|
3052
|
-
|
|
3053
|
-
|
|
3091
|
+
// Review round 48: a field named toString or constructor is a field, not the prototype's.
|
|
3092
|
+
target: (Object.hasOwn(as, name) ? as[name] : void 0) ?? name,
|
|
3093
|
+
rule: (Object.hasOwn(derived, name) ? derived[name] : void 0) ?? "",
|
|
3054
3094
|
whenMissing: ""
|
|
3055
3095
|
})),
|
|
3056
3096
|
asIs: asIsFor(mappings, ifIds),
|
|
@@ -3388,7 +3428,7 @@ function uiSpecRoutes(r, ctx) {
|
|
|
3388
3428
|
});
|
|
3389
3429
|
r.add("GET", "/api/changes/{changeId}/conformance", async ({ params }) => {
|
|
3390
3430
|
const change = idOf2(params.changeId, "change");
|
|
3391
|
-
const { conformanceOf } = await import("./chunk-
|
|
3431
|
+
const { conformanceOf } = await import("./chunk-ZFFYNRIO.js");
|
|
3392
3432
|
const c = await conformanceOf(root, change);
|
|
3393
3433
|
if (!c)
|
|
3394
3434
|
throw notFound(`There is no change ${change}.`);
|
|
@@ -3403,7 +3443,7 @@ function uiSpecRoutes(r, ctx) {
|
|
|
3403
3443
|
});
|
|
3404
3444
|
r.add("GET", "/api/changes/{changeId}/impact", async ({ params }) => {
|
|
3405
3445
|
const change = idOf2(params.changeId, "change");
|
|
3406
|
-
const { changeImpactOf } = await import("./chunk-
|
|
3446
|
+
const { changeImpactOf } = await import("./chunk-7MJSQTL5.js");
|
|
3407
3447
|
const i = await changeImpactOf(root, change);
|
|
3408
3448
|
if (!i)
|
|
3409
3449
|
throw notFound(`There is no change ${change}.`);
|
|
@@ -4010,7 +4050,7 @@ async function configuredModel(root) {
|
|
|
4010
4050
|
function uiModelRunRoutes(r, ctx, deps = {}) {
|
|
4011
4051
|
const root = ctx.root;
|
|
4012
4052
|
const runStep = deps.runStep ?? (async (args) => {
|
|
4013
|
-
const { main } = await import("./chunk-
|
|
4053
|
+
const { main } = await import("./chunk-IUPG3UKI.js");
|
|
4014
4054
|
const out = [];
|
|
4015
4055
|
const err = [];
|
|
4016
4056
|
const code = await main([...args, "--root", root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
|
|
@@ -4018,7 +4058,7 @@ function uiModelRunRoutes(r, ctx, deps = {}) {
|
|
|
4018
4058
|
});
|
|
4019
4059
|
return r.add("POST", "/api/runs/handoff", async ({ body }) => {
|
|
4020
4060
|
const words = stepWords(body);
|
|
4021
|
-
const { prepareStep } = await import("./chunk-
|
|
4061
|
+
const { prepareStep } = await import("./chunk-CBGGOQWU.js");
|
|
4022
4062
|
const { code, prepared } = await prepareStep(root, runStep, words);
|
|
4023
4063
|
ctx.events.publish({ type: "file.changed", path: runsRelOf(root) });
|
|
4024
4064
|
if (!prepared.runId && code !== 0)
|
|
@@ -4213,10 +4253,10 @@ var CopilotRun = class {
|
|
|
4213
4253
|
|
|
4214
4254
|
// packages/cli/dist/ui-api-copilot-runs.js
|
|
4215
4255
|
var defaultStarter = (root) => async (o, io, deps) => {
|
|
4216
|
-
const { mapAllCommand } = await import("./chunk-
|
|
4256
|
+
const { mapAllCommand } = await import("./chunk-VNU26RCO.js");
|
|
4217
4257
|
return mapAllCommand(root, o, io, {
|
|
4218
4258
|
...deps,
|
|
4219
|
-
makeAcp: async () => (await import("./chunk-
|
|
4259
|
+
makeAcp: async () => (await import("./chunk-JAVI7JSP.js")).acpStepRunner(root)
|
|
4220
4260
|
});
|
|
4221
4261
|
};
|
|
4222
4262
|
var TAIL = 200;
|
|
@@ -4537,7 +4577,7 @@ function uiDecisionRoutes(r, ctx, deps = {}) {
|
|
|
4537
4577
|
ctx.events.publish({ type: "file.changed", path });
|
|
4538
4578
|
return { status: 200, body: out };
|
|
4539
4579
|
}).add("GET", "/api/propose-answers", async () => {
|
|
4540
|
-
const { openDecideRun, PROPOSE_CHANGE } = await import("./chunk-
|
|
4580
|
+
const { openDecideRun, PROPOSE_CHANGE } = await import("./chunk-EBL2R3YG.js");
|
|
4541
4581
|
const run4 = await openDecideRun(ctx.root, PROPOSE_CHANGE);
|
|
4542
4582
|
const body = run4 ? {
|
|
4543
4583
|
state: "waiting",
|
|
@@ -4551,7 +4591,7 @@ function uiDecisionRoutes(r, ctx, deps = {}) {
|
|
|
4551
4591
|
const op = await loadOrgPack(orgPackDirOf(ctx.root));
|
|
4552
4592
|
if (op.runtime.ai === "off")
|
|
4553
4593
|
throw conflict("runtime.yaml turns AI off here (ai: off): answer the questions yourself.");
|
|
4554
|
-
const { startProposeHandoff } = await import("./chunk-
|
|
4594
|
+
const { startProposeHandoff } = await import("./chunk-JAVI7JSP.js");
|
|
4555
4595
|
const h = await startProposeHandoff(ctx.root, { now: now() });
|
|
4556
4596
|
const body = {
|
|
4557
4597
|
state: "waiting",
|
|
@@ -5000,11 +5040,38 @@ function uiHistoryRoutes(r, ctx) {
|
|
|
5000
5040
|
|
|
5001
5041
|
// packages/cli/dist/ui-api-ai.js
|
|
5002
5042
|
var import_yaml6 = __toESM(require_dist(), 1);
|
|
5043
|
+
import { execFileSync } from "node:child_process";
|
|
5003
5044
|
import { existsSync as existsSync3 } from "node:fs";
|
|
5004
5045
|
import { readFile as readFile8 } from "node:fs/promises";
|
|
5005
|
-
import { join as join10, relative, sep } from "node:path";
|
|
5046
|
+
import { basename, dirname as dirname3, join as join10, relative, sep } from "node:path";
|
|
5006
5047
|
var unprocessable = (detail) => new HttpError(422, "The settings aren't valid", detail);
|
|
5007
5048
|
var ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,127}$/;
|
|
5049
|
+
function whereKeyGoes(m) {
|
|
5050
|
+
const s = m?.settings ?? {};
|
|
5051
|
+
const picked = Object.keys(s).filter((k) => k === "keyEnv" || k === "caFile" || /url|endpoint|host|address/i.test(k)).sort().map((k) => [k, s[k]]);
|
|
5052
|
+
return JSON.stringify([m?.type ?? null, picked]);
|
|
5053
|
+
}
|
|
5054
|
+
function canonical(v) {
|
|
5055
|
+
if (Array.isArray(v))
|
|
5056
|
+
return `[${v.map(canonical).join(",")}]`;
|
|
5057
|
+
if (v && typeof v === "object")
|
|
5058
|
+
return `{${Object.keys(v).sort().map((k) => `${JSON.stringify(k)}:${canonical(v[k])}`).join(",")}}`;
|
|
5059
|
+
return JSON.stringify(v ?? null);
|
|
5060
|
+
}
|
|
5061
|
+
function committedModel(file) {
|
|
5062
|
+
try {
|
|
5063
|
+
const text = execFileSync("git", ["show", `HEAD:./${basename(file)}`], {
|
|
5064
|
+
cwd: dirname3(file),
|
|
5065
|
+
encoding: "utf8",
|
|
5066
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
5067
|
+
env: { ...process.env, GIT_TERMINAL_PROMPT: "0" }
|
|
5068
|
+
});
|
|
5069
|
+
const raw = (0, import_yaml6.parse)(text) ?? {};
|
|
5070
|
+
return { model: raw.adapters?.model };
|
|
5071
|
+
} catch {
|
|
5072
|
+
return void 0;
|
|
5073
|
+
}
|
|
5074
|
+
}
|
|
5008
5075
|
var FIELDS = ["ai", "modes", "assistants", "models", "budgets", "decide"];
|
|
5009
5076
|
function uiAiRoutes(r, ctx, deps = {}) {
|
|
5010
5077
|
const root = ctx.root;
|
|
@@ -5055,7 +5122,8 @@ function uiAiRoutes(r, ctx, deps = {}) {
|
|
|
5055
5122
|
],
|
|
5056
5123
|
model: model ? { type: model.type, settings: model.settings } : null,
|
|
5057
5124
|
// Whether the key's variable is set here, by name: its value is never read out.
|
|
5058
|
-
|
|
5125
|
+
// Review round 48: as the provider reads it, the environment only for a model's key.
|
|
5126
|
+
keySet: keyEnv ? keyEnvFromEnvironment(keyEnv) && !!env[keyEnv]?.trim() || !!keys().get(keyEnv) : false,
|
|
5059
5127
|
models: rt.models,
|
|
5060
5128
|
budgets: rt.budgets,
|
|
5061
5129
|
// Ninth UX walk (ADR 0181): whether the AI decides first, and the bar that pauses it.
|
|
@@ -5084,8 +5152,14 @@ function uiAiRoutes(r, ctx, deps = {}) {
|
|
|
5084
5152
|
throw unprocessable(`${name} looks like a key. A key never goes in runtime.yaml: keep it in an environment variable (or the OS's credential store) and give that variable's name as keyEnv.`);
|
|
5085
5153
|
if (settings.keyEnv !== void 0 && !ENV_NAME.test(String(settings.keyEnv)))
|
|
5086
5154
|
throw unprocessable(`keyEnv is the name of an environment variable, such as ATTICUS_MODEL_KEY.`);
|
|
5155
|
+
const keyEnv = settings.keyEnv === void 0 ? void 0 : String(settings.keyEnv);
|
|
5156
|
+
if (keyEnv && !keyEnvFromEnvironment(keyEnv) && !keys().get(keyEnv))
|
|
5157
|
+
throw unprocessable(`keyEnv ${keyEnv} isn't a model's key: name a variable starting ATTICUS_ (such as ATTICUS_MODEL_KEY) or the provider's own (such as ANTHROPIC_API_KEY or OPENAI_API_KEY), or keep the key in this machine's credential store under that name first ("Set the key on this machine", or atticus secret set ${keyEnv}). Another variable (a Git or pipeline token, cloud credentials) is never sent to a model.`);
|
|
5087
5158
|
adapters.model = { type: m.type, settings };
|
|
5088
5159
|
}
|
|
5160
|
+
const was = raw.adapters?.model;
|
|
5161
|
+
if (adapters.model !== void 0 && whereKeyGoes(was) !== whereKeyGoes(adapters.model))
|
|
5162
|
+
requireConfirmation(ctx.confirmations, "ai-model", "model", b.confirmation);
|
|
5089
5163
|
raw.adapters = adapters;
|
|
5090
5164
|
}
|
|
5091
5165
|
const names = (m) => {
|
|
@@ -5133,11 +5207,14 @@ function uiAiRoutes(r, ctx, deps = {}) {
|
|
|
5133
5207
|
throw unprocessable("No key was given.");
|
|
5134
5208
|
keys().set(name, value);
|
|
5135
5209
|
return { status: 200, body: { ok: true, name } };
|
|
5136
|
-
}).add("POST", "/api/settings/ai/test", async () => {
|
|
5210
|
+
}).add("POST", "/api/settings/ai/test", async ({ body }) => {
|
|
5137
5211
|
const op = await loadOrgPack(orgPackDirOf(root));
|
|
5138
5212
|
const model = op.runtime.adapters.model;
|
|
5139
5213
|
if (!model || model.type === "mock")
|
|
5140
5214
|
throw conflict("No model provider is set in runtime.yaml: choose one first.");
|
|
5215
|
+
const committed = committedModel(file());
|
|
5216
|
+
if (!committed || canonical(committed.model) !== canonical(model))
|
|
5217
|
+
requireConfirmation(ctx.confirmations, "ai-test", "model", body?.confirmation);
|
|
5141
5218
|
const started = Date.now();
|
|
5142
5219
|
try {
|
|
5143
5220
|
const p = await build(op, model.type, model.settings);
|
|
@@ -5167,7 +5244,7 @@ function uiDocumentRoutes(r, ctx) {
|
|
|
5167
5244
|
const root = ctx.root;
|
|
5168
5245
|
const changed = (path) => ctx.events.publish({ type: "file.changed", path });
|
|
5169
5246
|
return r.add("GET", "/api/knowledge/documents", async () => {
|
|
5170
|
-
const { listDocuments } = await import("./chunk-
|
|
5247
|
+
const { listDocuments } = await import("./chunk-O4GXGGBX.js");
|
|
5171
5248
|
return { status: 200, body: api_exports.DocumentList.parse(await listDocuments(root)) };
|
|
5172
5249
|
}).add("POST", "/api/knowledge/documents", async ({ body }) => {
|
|
5173
5250
|
const b = api_exports.AttachFileRequest.safeParse(body ?? {});
|
|
@@ -5176,7 +5253,7 @@ function uiDocumentRoutes(r, ctx) {
|
|
|
5176
5253
|
const bytes = new Uint8Array(Buffer.from(b.data.content, "base64"));
|
|
5177
5254
|
if (bytes.length > MAX_FILE)
|
|
5178
5255
|
throw new HttpError(413, "The file is too large", "Add a file of 15 MB or less.");
|
|
5179
|
-
const { addToInbox } = await import("./chunk-
|
|
5256
|
+
const { addToInbox } = await import("./chunk-UWMJKX5U.js");
|
|
5180
5257
|
const res = await addToInbox(root, [{ name: b.data.name, bytes }]);
|
|
5181
5258
|
if (!res.added.length)
|
|
5182
5259
|
throw new HttpError(422, "Atticus can't add that", res.refused[0]?.why ?? "", {
|
|
@@ -5186,7 +5263,7 @@ function uiDocumentRoutes(r, ctx) {
|
|
|
5186
5263
|
changed(a.path);
|
|
5187
5264
|
return { status: 201, body: api_exports.AddDocumentResult.parse(res) };
|
|
5188
5265
|
}, { maxBody: Math.ceil(MAX_FILE * 4 / 3) + 64 * 1024 }).add("POST", "/api/changes/{changeId}/inputs/{name}/promote", async ({ params }) => {
|
|
5189
|
-
const { AttachError, promoteChangeInput } = await import("./chunk-
|
|
5266
|
+
const { AttachError, promoteChangeInput } = await import("./chunk-LDLL7LB3.js");
|
|
5190
5267
|
try {
|
|
5191
5268
|
const res = await promoteChangeInput(root, params.changeId, params.name);
|
|
5192
5269
|
changed(res.path);
|
|
@@ -5203,13 +5280,13 @@ function uiDocumentRoutes(r, ctx) {
|
|
|
5203
5280
|
function uiRepoRoutes(r, ctx) {
|
|
5204
5281
|
const root = ctx.root;
|
|
5205
5282
|
return r.add("GET", "/api/repos/branches", async () => {
|
|
5206
|
-
const { repoBranches } = await import("./chunk-
|
|
5283
|
+
const { repoBranches } = await import("./chunk-M32BLWDH.js");
|
|
5207
5284
|
return { status: 200, body: api_exports.RepoBranchesList.parse(await repoBranches(root)) };
|
|
5208
5285
|
}).add("GET", "/api/repos/compare", async ({ query }) => {
|
|
5209
5286
|
const branch = query.get("branch")?.trim() ?? "";
|
|
5210
5287
|
if (!branch)
|
|
5211
5288
|
throw badRequest("Say which branch: ?branch=<name>.");
|
|
5212
|
-
const { compareBranch } = await import("./chunk-
|
|
5289
|
+
const { compareBranch } = await import("./chunk-M32BLWDH.js");
|
|
5213
5290
|
const c = await compareBranch(root, branch);
|
|
5214
5291
|
if (!c)
|
|
5215
5292
|
throw notFound(`${branch} hasn't been scanned beside the baseline yet.`);
|
|
@@ -5218,7 +5295,7 @@ function uiRepoRoutes(r, ctx) {
|
|
|
5218
5295
|
const b = api_exports.EditRepoBranchesRequest.safeParse(body ?? {});
|
|
5219
5296
|
if (!b.success)
|
|
5220
5297
|
throw badRequest("Send defaultBranch and branches as branch names.");
|
|
5221
|
-
const { editRepoBranches, RepoEditError } = await import("./chunk-
|
|
5298
|
+
const { editRepoBranches, RepoEditError } = await import("./chunk-M32BLWDH.js");
|
|
5222
5299
|
try {
|
|
5223
5300
|
const file = await editRepoBranches(root, params.repoId, b.data);
|
|
5224
5301
|
ctx.events.publish({ type: "file.changed", path: file });
|
|
@@ -5238,7 +5315,7 @@ function uiRepoRoutes(r, ctx) {
|
|
|
5238
5315
|
const b = api_exports.EditRepoBuildRequest.safeParse(body ?? {});
|
|
5239
5316
|
if (!b.success)
|
|
5240
5317
|
throw badRequest('Send the build command as build ("" clears it), up to 500 characters.');
|
|
5241
|
-
const { editRepoBuild, RepoEditError } = await import("./chunk-
|
|
5318
|
+
const { editRepoBuild, RepoEditError } = await import("./chunk-M32BLWDH.js");
|
|
5242
5319
|
try {
|
|
5243
5320
|
const r2 = await editRepoBuild(root, params.repoId, b.data);
|
|
5244
5321
|
ctx.events.publish({ type: "file.changed", path: r2.file });
|
|
@@ -5259,7 +5336,7 @@ function uiRepoRoutes(r, ctx) {
|
|
|
5259
5336
|
const b = api_exports.SetOrgPackOwnerRequest.safeParse(body ?? {});
|
|
5260
5337
|
if (!b.success)
|
|
5261
5338
|
throw badRequest("Send the owner as one handle: { owner }.");
|
|
5262
|
-
const { setOrgPackOwner, OwnerEditError } = await import("./chunk-
|
|
5339
|
+
const { setOrgPackOwner, OwnerEditError } = await import("./chunk-KXITGYLF.js");
|
|
5263
5340
|
try {
|
|
5264
5341
|
const r2 = await setOrgPackOwner(root, b.data.owner, b.data.was);
|
|
5265
5342
|
ctx.events.publish({ type: "file.changed", path: r2.file });
|
|
@@ -5280,7 +5357,7 @@ function uiRepoRoutes(r, ctx) {
|
|
|
5280
5357
|
const b = api_exports.EditRepoDescriptionRequest.safeParse(body ?? {});
|
|
5281
5358
|
if (!b.success)
|
|
5282
5359
|
throw badRequest("Send what the repo is as text, or accept: true to confirm the draft, or reject: true to drop it.");
|
|
5283
|
-
const { editRepoDescription, RepoEditError } = await import("./chunk-
|
|
5360
|
+
const { editRepoDescription, RepoEditError } = await import("./chunk-M32BLWDH.js");
|
|
5284
5361
|
try {
|
|
5285
5362
|
const r2 = await editRepoDescription(root, params.repoId, b.data);
|
|
5286
5363
|
ctx.events.publish({ type: "file.changed", path: r2.file });
|
|
@@ -5301,13 +5378,19 @@ function uiRepoRoutes(r, ctx) {
|
|
|
5301
5378
|
}
|
|
5302
5379
|
|
|
5303
5380
|
// packages/cli/dist/ui-api-cockpit.js
|
|
5381
|
+
function changeIdOf(v) {
|
|
5382
|
+
if (!RecordId.safeParse(v).success)
|
|
5383
|
+
throw badRequest(`${JSON.stringify(v.slice(0, 120))} isn't a change id.`);
|
|
5384
|
+
return v;
|
|
5385
|
+
}
|
|
5304
5386
|
function uiCockpitRoutes(r, ctx) {
|
|
5305
5387
|
return r.add("GET", "/api/changes/{changeId}/cockpit", async ({ params }) => {
|
|
5306
|
-
const
|
|
5388
|
+
const id = changeIdOf(params.changeId);
|
|
5389
|
+
const { cockpit } = await import("./chunk-ZFL7NY4F.js");
|
|
5307
5390
|
try {
|
|
5308
5391
|
return {
|
|
5309
5392
|
status: 200,
|
|
5310
|
-
body: api_exports.ChangeCockpit.parse(await cockpit(ctx.root,
|
|
5393
|
+
body: api_exports.ChangeCockpit.parse(await cockpit(ctx.root, id, { user: ctx.user }))
|
|
5311
5394
|
};
|
|
5312
5395
|
} catch (e) {
|
|
5313
5396
|
if (e instanceof Error && e.name === "ChangeFileError")
|
|
@@ -5315,8 +5398,9 @@ function uiCockpitRoutes(r, ctx) {
|
|
|
5315
5398
|
throw e;
|
|
5316
5399
|
}
|
|
5317
5400
|
}).add("GET", "/api/past-changes", async ({ query }) => {
|
|
5318
|
-
const { changeAboutText, similarChanges } = await import("./chunk-
|
|
5319
|
-
const
|
|
5401
|
+
const { changeAboutText, similarChanges } = await import("./chunk-W7VWI2YH.js");
|
|
5402
|
+
const given = query.get("change");
|
|
5403
|
+
const change = given ? changeIdOf(given) : void 0;
|
|
5320
5404
|
const text = change ? await changeAboutText(ctx.root, change) : query.get("text")?.trim();
|
|
5321
5405
|
if (change && !text)
|
|
5322
5406
|
throw notFound(`There is no change ${change}.`);
|
|
@@ -5333,11 +5417,11 @@ function uiCockpitRoutes(r, ctx) {
|
|
|
5333
5417
|
const b = api_exports.AttachPastChangeRequest.safeParse(body ?? {});
|
|
5334
5418
|
if (!b.success)
|
|
5335
5419
|
throw badRequest("Say which archived change: { like: <its folder or id> }.");
|
|
5336
|
-
const { attachPastChange, findPastChange } = await import("./chunk-
|
|
5420
|
+
const { attachPastChange, findPastChange } = await import("./chunk-W7VWI2YH.js");
|
|
5337
5421
|
const folder = await findPastChange(ctx.root, b.data.like);
|
|
5338
5422
|
if (!folder)
|
|
5339
5423
|
throw notFound(`There is no archived change ${b.data.like}.`);
|
|
5340
|
-
const { AttachError } = await import("./chunk-
|
|
5424
|
+
const { AttachError } = await import("./chunk-LDLL7LB3.js");
|
|
5341
5425
|
try {
|
|
5342
5426
|
const name = await attachPastChange(ctx.root, params.changeId, folder, ctx.user);
|
|
5343
5427
|
ctx.events.publish({ type: "file.changed", path: `inputs/${name}` });
|
|
@@ -6142,6 +6226,7 @@ async function startUi(root, o = {}, deps = {}) {
|
|
|
6142
6226
|
...o.embed ? { embed: o.embed } : {},
|
|
6143
6227
|
...o.full ? { full: true } : {},
|
|
6144
6228
|
...o.token ? { token: o.token } : {},
|
|
6229
|
+
...o.pageKey ? { pageKey: o.pageKey } : {},
|
|
6145
6230
|
staticDir: o.staticDir ?? uiDistDir(),
|
|
6146
6231
|
...o.user ? { user: o.user } : {},
|
|
6147
6232
|
...o.version ? { version: o.version } : {},
|
|
@@ -6222,16 +6307,23 @@ function untilStopped(embedded, stdin = process.stdin, o = {}) {
|
|
|
6222
6307
|
function startedLines(url, token, o) {
|
|
6223
6308
|
return [
|
|
6224
6309
|
`Atticus is running at ${url} (Ctrl+C stops it).`,
|
|
6225
|
-
o.embed || o.parent !== void 0 ? "The session token isn't printed: the editor that started the app has it." : o.showToken ? `For assistants and scripts, the session token is ${token}` : "The page has the session token; --show-token prints it for an assistant or a script."
|
|
6310
|
+
o.embed || o.parent !== void 0 ? "The session token isn't printed: the editor that started the app has it." : o.showToken ? `For assistants and scripts, the session token is ${token}` : "The page has the session token; --show-token prints it for an assistant or a script.",
|
|
6311
|
+
// ADR 0186: what the printed token can't do, said where it is printed.
|
|
6312
|
+
...o.showToken && !o.embed && o.parent === void 0 ? [
|
|
6313
|
+
"It doesn't approve a write to a shared system (a PR, a push, a merge, a message): a person confirms those in the app, or runs the command with --approve."
|
|
6314
|
+
] : []
|
|
6226
6315
|
];
|
|
6227
6316
|
}
|
|
6228
6317
|
async function uiCommand(root, o, io) {
|
|
6229
6318
|
const given = o.embed ? process.env.ATTICUS_UI_TOKEN : void 0;
|
|
6230
6319
|
delete process.env.ATTICUS_UI_TOKEN;
|
|
6320
|
+
const pageKey = o.embed ? process.env.ATTICUS_UI_PAGE_KEY : void 0;
|
|
6321
|
+
delete process.env.ATTICUS_UI_PAGE_KEY;
|
|
6231
6322
|
let srv;
|
|
6232
6323
|
try {
|
|
6233
6324
|
srv = await startUi(root, {
|
|
6234
6325
|
...given ? { token: given } : {},
|
|
6326
|
+
...pageKey ? { pageKey } : {},
|
|
6235
6327
|
warm: true,
|
|
6236
6328
|
...o.full ? { full: true } : {},
|
|
6237
6329
|
...o.port !== void 0 ? { port: o.port } : {},
|