@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
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
exportFrameworksKit,
|
|
8
8
|
formatFrameworkSurvey,
|
|
9
9
|
surveyFrameworks
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-O7FDLW7L.js";
|
|
11
|
+
import "./chunk-J2JAKCIW.js";
|
|
12
|
+
import "./chunk-745DAZ4L.js";
|
|
13
|
+
import "./chunk-CXJ6FUKN.js";
|
|
14
|
+
import "./chunk-QKUJMING.js";
|
|
15
|
+
import "./chunk-6ZGLAACW.js";
|
|
16
16
|
import {
|
|
17
17
|
houseDependencies,
|
|
18
18
|
learnFramework,
|
|
@@ -20,23 +20,26 @@ import {
|
|
|
20
20
|
learnJsFramework,
|
|
21
21
|
learnJsFrameworkFromTarball,
|
|
22
22
|
runFrameworkTests
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import {
|
|
25
|
-
baseClonePath
|
|
26
|
-
} from "./chunk-EFHQ3TWP.js";
|
|
23
|
+
} from "./chunk-CQDGOPGH.js";
|
|
27
24
|
import {
|
|
28
25
|
fsRepo
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import
|
|
26
|
+
} from "./chunk-3NFFJL5D.js";
|
|
27
|
+
import {
|
|
28
|
+
baseClonePath
|
|
29
|
+
} from "./chunk-PKBHS4AA.js";
|
|
30
|
+
import "./chunk-P32RUW3B.js";
|
|
31
|
+
import "./chunk-QA4O2GGC.js";
|
|
31
32
|
import {
|
|
32
33
|
FrameworkModel,
|
|
33
34
|
RecordId,
|
|
34
35
|
loadOrgPack,
|
|
35
36
|
orgPackDirOf,
|
|
36
|
-
require_dist,
|
|
37
37
|
toCanonicalYaml
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-Q2TECDIT.js";
|
|
39
|
+
import "./chunk-TUULXQRW.js";
|
|
40
|
+
import {
|
|
41
|
+
require_dist
|
|
42
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
40
43
|
import {
|
|
41
44
|
__toESM
|
|
42
45
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -5,41 +5,42 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
matchedRepoType
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4EURQWQD.js";
|
|
9
9
|
import {
|
|
10
10
|
loadCatalog
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OHNCWBKF.js";
|
|
12
12
|
import {
|
|
13
13
|
repoFor
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-LO6P2VYG.js";
|
|
15
15
|
import {
|
|
16
16
|
draftSpec
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-O7FDLW7L.js";
|
|
18
|
+
import "./chunk-PJSJPMJI.js";
|
|
19
19
|
import {
|
|
20
20
|
stepJudges
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-R7NYHMUU.js";
|
|
22
|
+
import "./chunk-IVBOQAGB.js";
|
|
23
|
+
import "./chunk-ISUAAMGS.js";
|
|
24
|
+
import "./chunk-S4PMJU6H.js";
|
|
25
|
+
import "./chunk-IDKCWSM5.js";
|
|
26
|
+
import "./chunk-UUU4CLJG.js";
|
|
27
|
+
import "./chunk-7IGKHZ4Z.js";
|
|
27
28
|
import {
|
|
28
29
|
checkSpec,
|
|
29
30
|
citedFileHashes,
|
|
30
31
|
staleFlows
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-T6AIP7H5.js";
|
|
38
|
-
import "./chunk-EFHQ3TWP.js";
|
|
32
|
+
} from "./chunk-J2JAKCIW.js";
|
|
33
|
+
import "./chunk-745DAZ4L.js";
|
|
34
|
+
import "./chunk-CXJ6FUKN.js";
|
|
35
|
+
import "./chunk-QKUJMING.js";
|
|
36
|
+
import "./chunk-6ZGLAACW.js";
|
|
37
|
+
import "./chunk-CQDGOPGH.js";
|
|
39
38
|
import {
|
|
40
39
|
fsRepo
|
|
41
|
-
} from "./chunk-
|
|
42
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-3NFFJL5D.js";
|
|
41
|
+
import "./chunk-PKBHS4AA.js";
|
|
42
|
+
import "./chunk-P32RUW3B.js";
|
|
43
|
+
import "./chunk-QA4O2GGC.js";
|
|
43
44
|
import {
|
|
44
45
|
askedByStep,
|
|
45
46
|
listQuestions,
|
|
@@ -58,8 +59,9 @@ import {
|
|
|
58
59
|
writeFlow,
|
|
59
60
|
writeSpecFindings,
|
|
60
61
|
writeSpecHeader
|
|
61
|
-
} from "./chunk-
|
|
62
|
-
import "./chunk-
|
|
62
|
+
} from "./chunk-Q2TECDIT.js";
|
|
63
|
+
import "./chunk-TUULXQRW.js";
|
|
64
|
+
import "./chunk-BQGDB6ZL.js";
|
|
63
65
|
import "./chunk-TV45EUGM.js";
|
|
64
66
|
|
|
65
67
|
// packages/cli/dist/spec-commands.js
|
|
@@ -6,13 +6,16 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
|
6
6
|
import {
|
|
7
7
|
openIndex,
|
|
8
8
|
searchIndex
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-ISUAAMGS.js";
|
|
10
|
+
import "./chunk-P32RUW3B.js";
|
|
11
|
+
import "./chunk-QA4O2GGC.js";
|
|
12
|
+
import {
|
|
13
|
+
changesDirOf
|
|
14
|
+
} from "./chunk-Q2TECDIT.js";
|
|
15
|
+
import "./chunk-TUULXQRW.js";
|
|
11
16
|
import {
|
|
12
|
-
changesDirOf,
|
|
13
17
|
require_dist
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-D3PO4DOZ.js";
|
|
18
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
16
19
|
import {
|
|
17
20
|
__toESM
|
|
18
21
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -118,7 +121,7 @@ async function pastChangeMarkdown(root, folder) {
|
|
|
118
121
|
`;
|
|
119
122
|
}
|
|
120
123
|
async function attachPastChange(root, change, folder, by, now = /* @__PURE__ */ new Date()) {
|
|
121
|
-
const { attachFiles } = await import("./chunk-
|
|
124
|
+
const { attachFiles } = await import("./chunk-LDLL7LB3.js");
|
|
122
125
|
const name = `like-${folder.replace(DATED, "$2")}.md`;
|
|
123
126
|
await attachFiles(root, change, [{ name, bytes: new TextEncoder().encode(await pastChangeMarkdown(root, folder)) }], by, now);
|
|
124
127
|
return name;
|
|
@@ -5,16 +5,19 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
quantize
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-P32RUW3B.js";
|
|
9
|
+
import "./chunk-QA4O2GGC.js";
|
|
9
10
|
import {
|
|
10
11
|
Runtime,
|
|
11
12
|
external_exports,
|
|
12
13
|
orgPackDirOf,
|
|
13
14
|
readTarGz,
|
|
14
|
-
require_dist,
|
|
15
15
|
retrievalOf
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-Q2TECDIT.js";
|
|
17
|
+
import "./chunk-TUULXQRW.js";
|
|
18
|
+
import {
|
|
19
|
+
require_dist
|
|
20
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
18
21
|
import {
|
|
19
22
|
__toESM
|
|
20
23
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
readPlan,
|
|
13
13
|
readView,
|
|
14
14
|
workingDays
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6PPOWY5E.js";
|
|
16
16
|
import {
|
|
17
17
|
traceMatrix
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BTGPE6CR.js";
|
|
19
19
|
import {
|
|
20
20
|
SYNC_FILE
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-R7NYHMUU.js";
|
|
22
22
|
import {
|
|
23
23
|
contentLines,
|
|
24
24
|
docOf,
|
|
@@ -38,23 +38,26 @@ import {
|
|
|
38
38
|
sectionLines,
|
|
39
39
|
sectionMatching,
|
|
40
40
|
tableWith
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-S4PMJU6H.js";
|
|
42
42
|
import {
|
|
43
43
|
changeFolder,
|
|
44
44
|
changeReport,
|
|
45
45
|
changeStore,
|
|
46
|
-
loadChangeContext
|
|
47
|
-
|
|
46
|
+
loadChangeContext,
|
|
47
|
+
outsideKindOf,
|
|
48
|
+
outsideSystemsOf,
|
|
49
|
+
outsideWords
|
|
50
|
+
} from "./chunk-IDKCWSM5.js";
|
|
48
51
|
import {
|
|
49
52
|
fileStepStore,
|
|
50
53
|
stepOfProvisional
|
|
51
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-7IGKHZ4Z.js";
|
|
52
55
|
import {
|
|
53
56
|
readServiceRequestExports
|
|
54
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-QKUJMING.js";
|
|
55
58
|
import {
|
|
56
59
|
readChangeRepos
|
|
57
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-PKBHS4AA.js";
|
|
58
61
|
import {
|
|
59
62
|
BREAKING_SPEC,
|
|
60
63
|
NAMES_SECRET_SPEC,
|
|
@@ -64,7 +67,7 @@ import {
|
|
|
64
67
|
settle,
|
|
65
68
|
tokenFormatIn,
|
|
66
69
|
verdictOf
|
|
67
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-P32RUW3B.js";
|
|
68
71
|
import {
|
|
69
72
|
ChangeOutcomes,
|
|
70
73
|
WORKSPACE_SCHEMA_VERSION,
|
|
@@ -72,9 +75,11 @@ import {
|
|
|
72
75
|
fileJudgments,
|
|
73
76
|
inputsDirOf,
|
|
74
77
|
readRunSummary,
|
|
75
|
-
require_dist,
|
|
76
78
|
toCanonicalYaml
|
|
77
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-Q2TECDIT.js";
|
|
80
|
+
import {
|
|
81
|
+
require_dist
|
|
82
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
78
83
|
import {
|
|
79
84
|
__toESM
|
|
80
85
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -229,56 +234,6 @@ async function loadRelease(root, changeId, o = {}) {
|
|
|
229
234
|
};
|
|
230
235
|
}
|
|
231
236
|
|
|
232
|
-
// packages/release/dist/judged.js
|
|
233
|
-
function breakingItem(h, notes) {
|
|
234
|
-
return {
|
|
235
|
-
inputs: {
|
|
236
|
-
v: 1,
|
|
237
|
-
change: h.change,
|
|
238
|
-
operation: h.operation,
|
|
239
|
-
caller: h.caller,
|
|
240
|
-
callee: h.callee,
|
|
241
|
-
notes
|
|
242
|
-
},
|
|
243
|
-
texts: { notes },
|
|
244
|
-
facts: [
|
|
245
|
-
`operation: ${h.operation}`,
|
|
246
|
-
`caller: ${h.caller}`,
|
|
247
|
-
`callee: ${h.callee}`,
|
|
248
|
-
`change: ${h.change.replace(/^planned-/, "")}`
|
|
249
|
-
]
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
function undoesItem(sentence, step, others) {
|
|
253
|
-
return {
|
|
254
|
-
inputs: {
|
|
255
|
-
v: 1,
|
|
256
|
-
sentence,
|
|
257
|
-
step: step.key,
|
|
258
|
-
names: [...new Set(step.names)].sort(),
|
|
259
|
-
others: [...new Set(others.filter((n) => !step.names.includes(n)))].sort()
|
|
260
|
-
},
|
|
261
|
-
texts: { sentence },
|
|
262
|
-
facts: [
|
|
263
|
-
`the step: ${step.kind} in ${step.repo}`,
|
|
264
|
-
...step.what.map((w) => `it deploys: ${w}`),
|
|
265
|
-
`its names: ${[...new Set(step.names)].join(", ")}`
|
|
266
|
-
]
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
function secretItem(line) {
|
|
270
|
-
return { inputs: { v: 1, line }, texts: { line } };
|
|
271
|
-
}
|
|
272
|
-
async function judgedFor(ctx, spec, items) {
|
|
273
|
-
const results = items.length ? await settle(spec, items, {
|
|
274
|
-
store: ctx.judging.store,
|
|
275
|
-
runtime: ctx.judging.runtime,
|
|
276
|
-
change: ctx.change.id,
|
|
277
|
-
now: new Date(ctx.now)
|
|
278
|
-
}) : /* @__PURE__ */ new Map();
|
|
279
|
-
return (item) => verdictOf(results, spec, item.inputs);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
237
|
// packages/release/dist/model.js
|
|
283
238
|
var cmp = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
284
239
|
var sortStrings = (xs) => [...new Set(xs)].sort(cmp);
|
|
@@ -308,6 +263,8 @@ function buildModel(ctx) {
|
|
|
308
263
|
return ctx.repos.find((r) => (r.component ?? r.id) === id)?.system;
|
|
309
264
|
};
|
|
310
265
|
const boundaryOf = (s) => s ? ctx.get("System", s)?.boundary ?? profileSystems.get(s)?.boundary : void 0;
|
|
266
|
+
const outside = outsideSystemsOf(ctx.orgPack);
|
|
267
|
+
const outsideOf = (s) => outsideKindOf(outside, s, boundaryOf(s));
|
|
311
268
|
const systemName = (s) => ctx.get("System", s)?.name ?? profileSystems.get(s)?.name ?? s;
|
|
312
269
|
const evidenceRepo = (records, src) => sortStrings(records.flatMap((r) => r.evidence.filter((e) => e.source === src && e.repo).map((e) => e.repo)))[0];
|
|
313
270
|
const gatewayRepo = evidenceRepo(ctx.all("GatewayRoute"), "gateway") ?? ctx.repos.find((r) => /gateway/i.test(r.type))?.id;
|
|
@@ -333,6 +290,8 @@ function buildModel(ctx) {
|
|
|
333
290
|
const calleeRepo = repoOfComponent(h.callee);
|
|
334
291
|
const callerBoundary = boundaryOf(callerSystem);
|
|
335
292
|
const calleeBoundary = boundaryOf(calleeSystem);
|
|
293
|
+
const callerOutside = outsideOf(callerSystem);
|
|
294
|
+
const calleeOutside = outsideOf(calleeSystem);
|
|
336
295
|
return {
|
|
337
296
|
...h,
|
|
338
297
|
change: /^planned-/.test(h.status) ? h.status : touched.get(h.id) ?? h.status,
|
|
@@ -345,6 +304,8 @@ function buildModel(ctx) {
|
|
|
345
304
|
...calleeSystem ? { calleeSystem } : {},
|
|
346
305
|
...callerBoundary ? { callerBoundary } : {},
|
|
347
306
|
...calleeBoundary ? { calleeBoundary } : {},
|
|
307
|
+
...callerOutside ? { callerOutside } : {},
|
|
308
|
+
...calleeOutside ? { calleeOutside } : {},
|
|
348
309
|
...topic ? { topic } : {},
|
|
349
310
|
newTopic: !!topic && !topics.some((t) => t.pathOrTopic === topic),
|
|
350
311
|
notes: hopNotes(ctx.files, h)
|
|
@@ -357,6 +318,7 @@ function buildModel(ctx) {
|
|
|
357
318
|
componentsOfRepo,
|
|
358
319
|
systemOf,
|
|
359
320
|
boundaryOf,
|
|
321
|
+
outsideOf,
|
|
360
322
|
systemName,
|
|
361
323
|
...gatewayRepo ? { gatewayRepo } : {},
|
|
362
324
|
...eventsRepo ? { eventsRepo } : {},
|
|
@@ -364,6 +326,7 @@ function buildModel(ctx) {
|
|
|
364
326
|
};
|
|
365
327
|
}
|
|
366
328
|
var opOf = (h) => h.operation || (h.path ?? "");
|
|
329
|
+
var pathKey = (h) => h.path ? normalizePath(h.path) : "";
|
|
367
330
|
function sectionOf(ctx, file, re) {
|
|
368
331
|
const doc = docOf(ctx.files, file);
|
|
369
332
|
const s = doc?.sections.find((x) => re.test(x.heading));
|
|
@@ -428,9 +391,130 @@ function hasWord(text, word) {
|
|
|
428
391
|
return new RegExp(`(^|[^A-Za-z0-9_-])${esc3}($|[^A-Za-z0-9_-])`, "i").test(text);
|
|
429
392
|
}
|
|
430
393
|
|
|
394
|
+
// packages/release/dist/judged.js
|
|
395
|
+
function breakingItem(h, notes) {
|
|
396
|
+
return {
|
|
397
|
+
inputs: {
|
|
398
|
+
v: 1,
|
|
399
|
+
change: h.change,
|
|
400
|
+
operation: h.operation,
|
|
401
|
+
caller: h.caller,
|
|
402
|
+
callee: h.callee,
|
|
403
|
+
notes
|
|
404
|
+
},
|
|
405
|
+
texts: { notes },
|
|
406
|
+
facts: [
|
|
407
|
+
`operation: ${h.operation}`,
|
|
408
|
+
`caller: ${h.caller}`,
|
|
409
|
+
`callee: ${h.callee}`,
|
|
410
|
+
`change: ${h.change.replace(/^planned-/, "")}`
|
|
411
|
+
]
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
function undoesItem(sentence, step, others) {
|
|
415
|
+
return {
|
|
416
|
+
inputs: {
|
|
417
|
+
v: 1,
|
|
418
|
+
sentence,
|
|
419
|
+
step: step.key,
|
|
420
|
+
names: [...new Set(step.names)].sort(),
|
|
421
|
+
others: [...new Set(others.filter((n) => !step.names.includes(n)))].sort()
|
|
422
|
+
},
|
|
423
|
+
texts: { sentence },
|
|
424
|
+
facts: [
|
|
425
|
+
`the step: ${step.kind} in ${step.repo}`,
|
|
426
|
+
...step.what.map((w) => `it deploys: ${w}`),
|
|
427
|
+
`its names: ${[...new Set(step.names)].join(", ")}`
|
|
428
|
+
]
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
function secretItem(line) {
|
|
432
|
+
return { inputs: { v: 1, line }, texts: { line } };
|
|
433
|
+
}
|
|
434
|
+
async function judgedFor(ctx, spec, items) {
|
|
435
|
+
const results = items.length ? await settle(spec, items, {
|
|
436
|
+
store: ctx.judging.store,
|
|
437
|
+
runtime: ctx.judging.runtime,
|
|
438
|
+
change: ctx.change.id,
|
|
439
|
+
now: new Date(ctx.now)
|
|
440
|
+
}) : /* @__PURE__ */ new Map();
|
|
441
|
+
return (item) => verdictOf(results, spec, item.inputs);
|
|
442
|
+
}
|
|
443
|
+
|
|
431
444
|
// packages/release/dist/plan.js
|
|
432
445
|
var RANK = { migration: 0, topic: 1, "gateway-route": 2, code: 3 };
|
|
433
446
|
var cmp2 = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
447
|
+
function orderSteps(keys, preds, byPrio, repoOf) {
|
|
448
|
+
const order = [];
|
|
449
|
+
const gaps = [];
|
|
450
|
+
const left = new Set(keys);
|
|
451
|
+
while (left.size) {
|
|
452
|
+
const ready = [...left].filter((k) => (preds.get(k) ?? []).every((e) => !left.has(e.from))).sort(byPrio);
|
|
453
|
+
if (ready.length) {
|
|
454
|
+
order.push(ready[0]);
|
|
455
|
+
left.delete(ready[0]);
|
|
456
|
+
continue;
|
|
457
|
+
}
|
|
458
|
+
const cycle = sourceCycle(left, preds, byPrio);
|
|
459
|
+
const next = cycle[0];
|
|
460
|
+
const stuck = [...new Set(cycle.filter((k) => k !== next).map(repoOf))];
|
|
461
|
+
gaps.push(`${repoOf(next)} and ${sortStrings(stuck).join(", ")} depend on each other, so no order satisfies both; agree one and write it in design.md.`);
|
|
462
|
+
order.push(next);
|
|
463
|
+
left.delete(next);
|
|
464
|
+
}
|
|
465
|
+
return { order, gaps };
|
|
466
|
+
}
|
|
467
|
+
function sourceCycle(left, preds, byPrio) {
|
|
468
|
+
const nodes = [...left].sort(byPrio);
|
|
469
|
+
const succ = new Map(nodes.map((k) => [k, []]));
|
|
470
|
+
for (const k of nodes)
|
|
471
|
+
for (const e of preds.get(k) ?? [])
|
|
472
|
+
if (left.has(e.from))
|
|
473
|
+
succ.get(e.from).push(k);
|
|
474
|
+
for (const list of succ.values())
|
|
475
|
+
list.sort(byPrio);
|
|
476
|
+
const index = /* @__PURE__ */ new Map();
|
|
477
|
+
const low = /* @__PURE__ */ new Map();
|
|
478
|
+
const onStack = /* @__PURE__ */ new Set();
|
|
479
|
+
const stack = [];
|
|
480
|
+
const comps = [];
|
|
481
|
+
let n = 0;
|
|
482
|
+
const strong = (v) => {
|
|
483
|
+
index.set(v, n);
|
|
484
|
+
low.set(v, n);
|
|
485
|
+
n++;
|
|
486
|
+
stack.push(v);
|
|
487
|
+
onStack.add(v);
|
|
488
|
+
for (const w of succ.get(v)) {
|
|
489
|
+
if (!index.has(w)) {
|
|
490
|
+
strong(w);
|
|
491
|
+
low.set(v, Math.min(low.get(v), low.get(w)));
|
|
492
|
+
} else if (onStack.has(w))
|
|
493
|
+
low.set(v, Math.min(low.get(v), index.get(w)));
|
|
494
|
+
}
|
|
495
|
+
if (low.get(v) === index.get(v)) {
|
|
496
|
+
const comp = [];
|
|
497
|
+
let w;
|
|
498
|
+
do {
|
|
499
|
+
w = stack.pop();
|
|
500
|
+
onStack.delete(w);
|
|
501
|
+
comp.push(w);
|
|
502
|
+
} while (w !== v);
|
|
503
|
+
comps.push(comp.sort(byPrio));
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
for (const v of nodes)
|
|
507
|
+
if (!index.has(v))
|
|
508
|
+
strong(v);
|
|
509
|
+
const sources = comps.filter((c) => {
|
|
510
|
+
if (c.length < 2)
|
|
511
|
+
return false;
|
|
512
|
+
const inside = new Set(c);
|
|
513
|
+
return c.every((k) => (preds.get(k) ?? []).every((e) => !left.has(e.from) || inside.has(e.from)));
|
|
514
|
+
});
|
|
515
|
+
const pick = (sources.length ? sources : comps.filter((c) => c.length > 1)).sort((a, b) => byPrio(a[0], b[0]))[0];
|
|
516
|
+
return pick ?? nodes.slice(0, 1);
|
|
517
|
+
}
|
|
434
518
|
function requestWait(ctx, r, why) {
|
|
435
519
|
const base = {
|
|
436
520
|
heading: r.heading,
|
|
@@ -547,10 +631,11 @@ async function deploymentPlan(ctx) {
|
|
|
547
631
|
}
|
|
548
632
|
for (const h of m.hops) {
|
|
549
633
|
const live = /^planned-(new|modify)$/.test(h.change);
|
|
634
|
+
const retire = h.change === "planned-retire";
|
|
550
635
|
const op = opOf(h);
|
|
551
636
|
const src = `interfaces.md:${h.line}`;
|
|
552
|
-
const callerInternal = h.
|
|
553
|
-
const calleeInternal = h.
|
|
637
|
+
const callerInternal = !h.callerOutside;
|
|
638
|
+
const calleeInternal = !h.calleeOutside;
|
|
554
639
|
const verb = h.change === "planned-new" ? "new" : h.change === "planned-modify" ? "changed" : h.change;
|
|
555
640
|
if (live && callerInternal) {
|
|
556
641
|
if (h.callerRepo)
|
|
@@ -564,8 +649,20 @@ async function deploymentPlan(ctx) {
|
|
|
564
649
|
else
|
|
565
650
|
unplaced.set(h.callee, placeWhy(ctx, h.callee, `callee of ${op}`));
|
|
566
651
|
}
|
|
652
|
+
if (retire && callerInternal) {
|
|
653
|
+
if (h.callerRepo)
|
|
654
|
+
addWhat(codeUnit(h.callerRepo), `${h.caller} stops calling ${op} on ${h.callee} (retired)`, src);
|
|
655
|
+
else
|
|
656
|
+
unplaced.set(h.caller, placeWhy(ctx, h.caller, `caller of ${op}`));
|
|
657
|
+
}
|
|
658
|
+
if (retire && calleeInternal) {
|
|
659
|
+
if (h.calleeRepo)
|
|
660
|
+
addWhat(codeUnit(h.calleeRepo), `${h.callee} retires ${op}`, src);
|
|
661
|
+
else
|
|
662
|
+
unplaced.set(h.callee, placeWhy(ctx, h.callee, `callee of ${op}`));
|
|
663
|
+
}
|
|
567
664
|
if (live && !calleeInternal && h.calleeSystem) {
|
|
568
|
-
const what = `${op} must be live on ${m.systemName(h.calleeSystem)}'s side (a vendor: nothing of theirs deploys here)`;
|
|
665
|
+
const what = h.calleeOutside === "other-team" ? `${op} must be live on ${m.systemName(h.calleeSystem)}'s side (another team's system: it deploys on its own team's plan, not here)` : `${op} must be live on ${m.systemName(h.calleeSystem)}'s side (a vendor: nothing of theirs deploys here)`;
|
|
569
666
|
external.push({ system: h.calleeSystem, name: m.systemName(h.calleeSystem), what });
|
|
570
667
|
if (h.callerRepo)
|
|
571
668
|
externalCaller.set(what, `code:${h.callerRepo}`);
|
|
@@ -608,6 +705,12 @@ async function deploymentPlan(ctx) {
|
|
|
608
705
|
to: `code:${h.callerRepo}`,
|
|
609
706
|
why: `${h.caller} calls ${h.callee}'s ${verb} ${op}, so ${h.callee} deploys first`
|
|
610
707
|
});
|
|
708
|
+
if (retire && h.callerRepo && h.calleeRepo && h.callerRepo !== h.calleeRepo && callerInternal && calleeInternal)
|
|
709
|
+
edges.push({
|
|
710
|
+
from: `code:${h.callerRepo}`,
|
|
711
|
+
to: `code:${h.calleeRepo}`,
|
|
712
|
+
why: `${h.caller} calls ${h.callee}'s retired ${op}, so ${h.caller} stops calling it first`
|
|
713
|
+
});
|
|
611
714
|
}
|
|
612
715
|
for (const t of tasks) {
|
|
613
716
|
if (!ctx.repos.some((r) => r.id === t.repo) && !m.componentsOfRepo(t.repo).length)
|
|
@@ -658,21 +761,9 @@ async function deploymentPlan(ctx) {
|
|
|
658
761
|
const [rb, pb, kb] = prio(b);
|
|
659
762
|
return ra !== rb ? ra - rb : pa !== pb ? cmp2(pa, pb) : cmp2(ka, kb);
|
|
660
763
|
};
|
|
661
|
-
const
|
|
662
|
-
const
|
|
663
|
-
|
|
664
|
-
const ready = [...left].filter((k) => preds.get(k).every((e) => !left.has(e.from))).sort(byPrio);
|
|
665
|
-
if (ready.length) {
|
|
666
|
-
order.push(ready[0]);
|
|
667
|
-
left.delete(ready[0]);
|
|
668
|
-
continue;
|
|
669
|
-
}
|
|
670
|
-
const next = [...left].sort(byPrio)[0];
|
|
671
|
-
const stuck = preds.get(next).filter((e) => left.has(e.from)).map((e) => units.get(e.from).repo);
|
|
672
|
-
gaps.push(`${units.get(next).repo} and ${sortStrings(stuck).join(", ")} depend on each other, so no order satisfies both; agree one and write it in design.md.`);
|
|
673
|
-
order.push(next);
|
|
674
|
-
left.delete(next);
|
|
675
|
-
}
|
|
764
|
+
const ordered = orderSteps(keys, preds, byPrio, (k) => units.get(k).repo);
|
|
765
|
+
const order = ordered.order;
|
|
766
|
+
gaps.push(...ordered.gaps);
|
|
676
767
|
const numOf = new Map(order.map((k, i) => [k, i + 1]));
|
|
677
768
|
const rollbackLines = [
|
|
678
769
|
...sectionsOf(ctx, "design.md", /roll|release|deploy|back-?out/i).flatMap((s) => sentences(s.lines).map((x) => ({ ...x, file: "design.md" }))),
|
|
@@ -948,6 +1039,12 @@ async function releaseForecast(ctx, plan) {
|
|
|
948
1039
|
};
|
|
949
1040
|
}
|
|
950
1041
|
|
|
1042
|
+
// packages/release/dist/evidence.js
|
|
1043
|
+
var import_yaml3 = __toESM(require_dist(), 1);
|
|
1044
|
+
import { createHash } from "node:crypto";
|
|
1045
|
+
import { copyFile, mkdir as mkdir2, readdir, readFile as readFile3, writeFile as writeFile2 } from "node:fs/promises";
|
|
1046
|
+
import { dirname as dirname2, join as join3 } from "node:path";
|
|
1047
|
+
|
|
951
1048
|
// packages/release/dist/outcomes.js
|
|
952
1049
|
var import_yaml2 = __toESM(require_dist(), 1);
|
|
953
1050
|
import { mkdir, readFile as readFile2, rename, rm, writeFile } from "node:fs/promises";
|
|
@@ -1083,10 +1180,6 @@ async function recordOutcome(ctx, input) {
|
|
|
1083
1180
|
}
|
|
1084
1181
|
|
|
1085
1182
|
// packages/release/dist/evidence.js
|
|
1086
|
-
var import_yaml3 = __toESM(require_dist(), 1);
|
|
1087
|
-
import { createHash } from "node:crypto";
|
|
1088
|
-
import { copyFile, mkdir as mkdir2, readdir, readFile as readFile3, writeFile as writeFile2 } from "node:fs/promises";
|
|
1089
|
-
import { dirname as dirname2, join as join3 } from "node:path";
|
|
1090
1183
|
async function walk(dir, rel = "") {
|
|
1091
1184
|
let entries;
|
|
1092
1185
|
try {
|
|
@@ -1338,7 +1431,8 @@ async function releaseNotes(ctx, audience = "business") {
|
|
|
1338
1431
|
return {
|
|
1339
1432
|
operation: opOf(h),
|
|
1340
1433
|
caller: h.caller,
|
|
1341
|
-
|
|
1434
|
+
// O2: a callee outside the estate says what it is: a vendor's, or another team's system.
|
|
1435
|
+
callee: h.calleeOutside && h.calleeSystem ? `${h.callee} (${m.systemName(h.calleeSystem)}, ${outsideWords(h.calleeOutside)})` : h.callee,
|
|
1342
1436
|
change: h.change.replace(/^planned-/, ""),
|
|
1343
1437
|
...b,
|
|
1344
1438
|
source: `interfaces.md:${h.line}`
|
|
@@ -1800,11 +1894,13 @@ var OP = {
|
|
|
1800
1894
|
changed: "change",
|
|
1801
1895
|
removed: "remove"
|
|
1802
1896
|
};
|
|
1803
|
-
function classOf(s, boundaryOf) {
|
|
1897
|
+
function classOf(s, boundaryOf, otherTeam) {
|
|
1804
1898
|
const parts = [OP[s.mark] ?? "keep", s.kind];
|
|
1805
1899
|
if (s.to && CALLS.has(s.kind)) {
|
|
1806
1900
|
if (boundaryOf(s.to.component) === "vendor")
|
|
1807
1901
|
parts.push("vendor");
|
|
1902
|
+
else if (otherTeam?.(s.to.component))
|
|
1903
|
+
parts.push("other-team");
|
|
1808
1904
|
if (s.to.new)
|
|
1809
1905
|
parts.push("new-entry");
|
|
1810
1906
|
}
|
|
@@ -1889,12 +1985,14 @@ function estimateChange(input) {
|
|
|
1889
1985
|
unit({
|
|
1890
1986
|
...step !== void 0 ? { step } : {},
|
|
1891
1987
|
what: s.what ?? s.kind,
|
|
1892
|
-
class: classOf(s, input.boundaryOf)
|
|
1988
|
+
class: classOf(s, input.boundaryOf, input.otherTeam)
|
|
1893
1989
|
});
|
|
1894
1990
|
if (s.mark === "removed")
|
|
1895
1991
|
continue;
|
|
1896
1992
|
if (s.to && CALLS.has(s.kind) && s.to.new && input.boundaryOf(s.to.component) === "vendor")
|
|
1897
1993
|
drive("new-vendor-call", "New calls to a vendor", 1, f.file);
|
|
1994
|
+
else if (s.to && CALLS.has(s.kind) && s.to.new && input.otherTeam?.(s.to.component))
|
|
1995
|
+
drive("new-other-team-call", "New calls to another team's system", 1, f.file);
|
|
1898
1996
|
if (s.store?.new)
|
|
1899
1997
|
drive("new-table", "New tables", 1, f.file);
|
|
1900
1998
|
else if (s.store?.migration)
|
|
@@ -1911,6 +2009,7 @@ function estimateChange(input) {
|
|
|
1911
2009
|
drive("repos", "Repos to change", repos.length);
|
|
1912
2010
|
const ORDER = [
|
|
1913
2011
|
"new-vendor-call",
|
|
2012
|
+
"new-other-team-call",
|
|
1914
2013
|
"new-table",
|
|
1915
2014
|
"migration",
|
|
1916
2015
|
"unconfirmed-step",
|
|
@@ -1976,16 +2075,38 @@ function estimateChange(input) {
|
|
|
1976
2075
|
|
|
1977
2076
|
export {
|
|
1978
2077
|
ReleaseError,
|
|
2078
|
+
REQUESTS_FILE,
|
|
1979
2079
|
readServiceRequests,
|
|
1980
2080
|
loadRelease,
|
|
2081
|
+
sortStrings,
|
|
2082
|
+
buildModel,
|
|
2083
|
+
opOf,
|
|
2084
|
+
pathKey,
|
|
2085
|
+
sectionOf,
|
|
2086
|
+
sectionsOf,
|
|
2087
|
+
sentences,
|
|
2088
|
+
hasWord,
|
|
2089
|
+
breakingItem,
|
|
2090
|
+
undoesItem,
|
|
2091
|
+
secretItem,
|
|
2092
|
+
judgedFor,
|
|
2093
|
+
orderSteps,
|
|
1981
2094
|
deploymentPlan,
|
|
1982
2095
|
releaseForecast,
|
|
2096
|
+
OUTCOMES_FILE,
|
|
2097
|
+
MEASURABLE,
|
|
2098
|
+
measureId,
|
|
2099
|
+
measuresOf,
|
|
2100
|
+
readOutcomes,
|
|
1983
2101
|
outcomesView,
|
|
2102
|
+
findMeasure,
|
|
1984
2103
|
recordOutcome,
|
|
2104
|
+
changeFiles,
|
|
1985
2105
|
evidencePack,
|
|
1986
2106
|
writeEvidencePack,
|
|
1987
2107
|
AUDIENCES,
|
|
1988
2108
|
releaseNotes,
|
|
1989
2109
|
securityReview,
|
|
2110
|
+
classOf,
|
|
1990
2111
|
estimateChange
|
|
1991
2112
|
};
|