@maycombhq/atticus 2.0.0-beta.18 → 2.0.0-beta.21
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-MUSJJ6CQ.js → chunk-265LWMOA.js} +16 -16
- package/dist/chunk-26WBY34Y.js +37 -0
- package/dist/{chunk-6H5JG5GL.js → chunk-26Z7OGQW.js} +63 -30
- package/dist/{chunk-4REDBQOZ.js → chunk-2D7PWSOK.js} +20 -20
- package/dist/{chunk-YPH6ZJ6R.js → chunk-2HH3UCZM.js} +4 -4
- package/dist/{chunk-RTUUX7PX.js → chunk-2HTEMYTB.js} +12 -26
- package/dist/{chunk-EHQUY26D.js → chunk-2UCRFXFZ.js} +11 -11
- package/dist/{chunk-ILDGIXNH.js → chunk-2V2ZPQQU.js} +81 -13
- package/dist/{chunk-YSEZQ6D3.js → chunk-36RY7ZXM.js} +107 -64
- package/dist/{chunk-QXFDM2FZ.js → chunk-37WE3LS2.js} +3 -3
- package/dist/{chunk-BAXM3JFQ.js → chunk-3AQ2R5NL.js} +1212 -754
- package/dist/chunk-3G6S7LAA.js +43 -0
- package/dist/{chunk-7TOAS7KI.js → chunk-3J5I7ZOU.js} +4 -4
- package/dist/{chunk-TAKAEJRD.js → chunk-3LZ6P5EP.js} +1 -1
- package/dist/chunk-3SSTNB4E.js +191 -0
- package/dist/chunk-3TD6S4TC.js +49 -0
- package/dist/{chunk-UUL6ZGMU.js → chunk-3UTYPHN3.js} +1 -1
- package/dist/{chunk-6AP2ZUUM.js → chunk-3WON4G3M.js} +2 -2
- package/dist/{chunk-AXY6LBW4.js → chunk-42EPP7OB.js} +12 -12
- package/dist/{chunk-QKMDT7VU.js → chunk-455SYIIE.js} +2 -2
- package/dist/{chunk-MFUFB3LN.js → chunk-4B6BT75O.js} +110 -20
- package/dist/{chunk-75MYLZSB.js → chunk-4CLK2RJO.js} +7 -7
- package/dist/chunk-4CYTJ5TZ.js +38 -0
- package/dist/{chunk-IH7RANGB.js → chunk-4D62IZII.js} +5 -5
- package/dist/{chunk-2QMZOCWN.js → chunk-4FOAYLI4.js} +14 -7
- package/dist/{chunk-V3UEPUHT.js → chunk-4KNOJC6J.js} +294 -215
- package/dist/{chunk-O6ILVBYB.js → chunk-4PYC2UGC.js} +1 -1
- package/dist/{chunk-EZBAS5BL.js → chunk-4SLBCEPD.js} +82 -50
- package/dist/{chunk-VIRTPODJ.js → chunk-4TKVU2I2.js} +6 -14
- package/dist/{chunk-IVCDU443.js → chunk-4WXRPQDE.js} +281 -51
- package/dist/{chunk-RMEEHH24.js → chunk-5CMPVC3N.js} +24 -24
- package/dist/chunk-5G7ILBUG.js +66 -0
- package/dist/{chunk-Z75XDWQR.js → chunk-5PV7S2ZP.js} +3 -3
- package/dist/{chunk-WWPC2AZ2.js → chunk-5QUOPNLN.js} +4 -4
- package/dist/{chunk-7OVH2L7L.js → chunk-5TDRBOAV.js} +5 -5
- package/dist/{chunk-YXUIUOQZ.js → chunk-5WERBKLE.js} +199 -63
- package/dist/{chunk-6WNNXEG6.js → chunk-62DLJSLV.js} +8 -8
- package/dist/{chunk-KCQS52TH.js → chunk-64AADMTW.js} +99 -25
- package/dist/{chunk-KLRUXRPN.js → chunk-67BP7HXL.js} +17 -17
- package/dist/chunk-6DQYZU2W.js +379 -0
- package/dist/{chunk-RONDYDMQ.js → chunk-6EXDI5GI.js} +51 -34
- package/dist/chunk-6FNAKCET.js +38 -0
- package/dist/{chunk-6SNEA73E.js → chunk-75ASLHBT.js} +21 -15
- package/dist/{chunk-EFT4KM6K.js → chunk-75ZOZFGH.js} +18 -18
- package/dist/{chunk-B3KW7EQW.js → chunk-77O633L5.js} +12 -12
- package/dist/{chunk-TLDL2ZZI.js → chunk-7AB6OWTV.js} +3 -3
- package/dist/{chunk-R5YXY6NT.js → chunk-7CZHUZBL.js} +25 -25
- package/dist/{chunk-F4D4G2A6.js → chunk-7FHNFCHK.js} +306 -125
- package/dist/{chunk-CC5RNYZF.js → chunk-7FUIVIBG.js} +19 -9
- package/dist/{chunk-UBTOSSNK.js → chunk-7QPCGTPS.js} +21 -21
- package/dist/{chunk-CDLTRJ4N.js → chunk-A2G72UI4.js} +7 -7
- package/dist/{chunk-YGSOQ5LX.js → chunk-AE4P57KK.js} +23 -17
- package/dist/{chunk-PGQL5YGH.js → chunk-AHW3RY3X.js} +7 -7
- package/dist/chunk-AM6FP6JW.js +43 -0
- package/dist/{chunk-DYNC6BAQ.js → chunk-AOCWFA7T.js} +93 -10
- package/dist/{chunk-CYX36GKZ.js → chunk-API5TOUB.js} +1 -1
- package/dist/{chunk-BJ5T3KDF.js → chunk-AZDITBCT.js} +3 -3
- package/dist/{chunk-U6GZSUMC.js → chunk-BA2HUMDN.js} +25 -3
- package/dist/chunk-BA3U7ALS.js +99 -0
- package/dist/{chunk-63565QTF.js → chunk-BC6KKZ67.js} +5 -5
- package/dist/{chunk-XO5RQKNM.js → chunk-BEPCKDCP.js} +1843 -577
- package/dist/{chunk-KUH62AQ3.js → chunk-BPPU3PW7.js} +4 -4
- package/dist/{chunk-52ULYRV4.js → chunk-BVWWPBKD.js} +18 -18
- package/dist/{chunk-R2FGEBIU.js → chunk-BXZ4PKIT.js} +13 -11
- package/dist/{chunk-4BU26GFB.js → chunk-C7CEK3KW.js} +4 -4
- package/dist/chunk-CFH3QH26.js +29 -0
- package/dist/chunk-CG6CULP6.js +170 -0
- package/dist/chunk-CLD4RVTA.js +45 -0
- package/dist/{chunk-BU543ZEC.js → chunk-CNPY4NTZ.js} +13 -13
- package/dist/{chunk-PLBIWEPV.js → chunk-CNU5Q2D5.js} +32 -31
- package/dist/{chunk-JTYYEYRR.js → chunk-COYN3UAN.js} +124 -21
- package/dist/{chunk-TNCROWPQ.js → chunk-CPK7QSBG.js} +10 -10
- package/dist/{chunk-43E6XX67.js → chunk-D2WSW4GU.js} +1 -1
- package/dist/{chunk-SHEUEHKC.js → chunk-D57MFJPP.js} +3 -3
- package/dist/chunk-D5KV5PSK.js +45 -0
- package/dist/chunk-D5MASS4I.js +48 -0
- package/dist/{chunk-TQYBXDVH.js → chunk-DCWN3HFV.js} +1 -1
- package/dist/{chunk-FF4IGX4Z.js → chunk-DDJPM5YX.js} +2 -2
- package/dist/chunk-DN4A2Q2O.js +57 -0
- package/dist/{chunk-4ZCFCIEL.js → chunk-DUPZPDCJ.js} +52 -16
- package/dist/{chunk-CUJ5TIEB.js → chunk-E2VXBSIR.js} +4 -4
- package/dist/{chunk-BX47X5DJ.js → chunk-E57AOFYN.js} +13 -13
- package/dist/{chunk-SSTI7GAV.js → chunk-ECLXZWAG.js} +12 -12
- package/dist/{chunk-KYK3TA4Q.js → chunk-EDZ45WIR.js} +14 -14
- package/dist/chunk-EFCQSMXB.js +37 -0
- package/dist/{chunk-YC2K3FJG.js → chunk-EZIN5E5B.js} +8 -8
- package/dist/{chunk-MIZNACDI.js → chunk-F6H2RJ3N.js} +1 -1
- package/dist/{chunk-EMZVHDJP.js → chunk-FAJDKNSD.js} +7 -3
- package/dist/chunk-FGAGWYZB.js +47 -0
- package/dist/{chunk-KBGQ3IAM.js → chunk-FLVZFTLQ.js} +18 -18
- package/dist/{chunk-2NNXLH53.js → chunk-FQ6WH6PB.js} +22 -7
- package/dist/{chunk-QWSLMVHI.js → chunk-FRHD22WM.js} +61 -23
- package/dist/{chunk-5MEN4SM5.js → chunk-FVMPFCDS.js} +4 -4
- package/dist/{chunk-KLRZKW7Y.js → chunk-FY3QIRTL.js} +3 -3
- package/dist/{chunk-B3SWPNJF.js → chunk-FYBF5MB2.js} +13 -11
- package/dist/{chunk-CVZCW3NI.js → chunk-G5YJBNDZ.js} +14 -5
- package/dist/{chunk-U6EPS5PF.js → chunk-G6IQYM25.js} +5 -5
- package/dist/chunk-G6X4YL4D.js +161 -0
- package/dist/{chunk-DOSX3MRW.js → chunk-GC2VK3JT.js} +25 -25
- package/dist/{chunk-EEWBTFRP.js → chunk-GCS3FZOB.js} +27 -3
- package/dist/{chunk-6H6OPNEP.js → chunk-GDZB57IU.js} +5 -5
- package/dist/chunk-GIFMBCTW.js +221 -0
- package/dist/{chunk-X5WYPIH3.js → chunk-GK4PYVEC.js} +18 -8
- package/dist/{chunk-VBSJ5NRB.js → chunk-GNWAOVFQ.js} +5 -5
- package/dist/{chunk-TXFDQRBL.js → chunk-GS76RXQE.js} +11 -11
- package/dist/{chunk-U3YC4RGC.js → chunk-GSGIZ2OO.js} +23 -23
- package/dist/chunk-GUYL7RMK.js +60 -0
- package/dist/{chunk-AZYBHPV4.js → chunk-GX74YWR7.js} +14 -13
- package/dist/{chunk-YY7VP7KW.js → chunk-HE3HRDNZ.js} +2 -2
- package/dist/{chunk-Z7HYYDZM.js → chunk-HGHRSF3E.js} +14 -13
- package/dist/{chunk-Q2X4IREC.js → chunk-HK3VOHIE.js} +106 -36
- package/dist/{chunk-P5JYMO7Y.js → chunk-HS4BGB4G.js} +22 -22
- package/dist/{chunk-IOW6BF3U.js → chunk-HSZMPH5T.js} +798 -141
- package/dist/{chunk-L3T33FA7.js → chunk-HWD4JPU7.js} +4 -2
- package/dist/{chunk-7NYCH5HY.js → chunk-HXXP2NTE.js} +6 -6
- package/dist/{chunk-7S7OFVIU.js → chunk-I2A3Z5AK.js} +4 -4
- package/dist/{chunk-WQSDKX7M.js → chunk-ICHDSWEY.js} +7 -7
- package/dist/chunk-IFFRGC3N.js +31 -0
- package/dist/{chunk-HMZQAIR5.js → chunk-IFHDV6KQ.js} +24 -17
- package/dist/chunk-J2O4LFVI.js +80 -0
- package/dist/chunk-J5AAZ6OJ.js +161 -0
- package/dist/{chunk-CVRWAG76.js → chunk-JAABT3DA.js} +3 -3
- package/dist/chunk-JITJP64K.js +34 -0
- package/dist/chunk-JKIGL3XQ.js +162 -0
- package/dist/chunk-JRVNXLZP.js +615 -0
- package/dist/chunk-JRXHON4E.js +41 -0
- package/dist/{chunk-XFCK5B27.js → chunk-JS6WMC3J.js} +8 -8
- package/dist/chunk-JU4QNJSR.js +62 -0
- package/dist/{chunk-IPSFMTK2.js → chunk-JYMIB5XY.js} +152 -42
- package/dist/{chunk-L336AJCZ.js → chunk-JYTIHTIK.js} +8 -6
- package/dist/{chunk-VEJYZEPC.js → chunk-K332XW7K.js} +135 -16
- package/dist/{chunk-KCF7TFOE.js → chunk-K6JB6XTX.js} +11 -11
- package/dist/{chunk-LFIIX4OV.js → chunk-KDAHXQIE.js} +46 -34
- package/dist/chunk-KYZMRSPS.js +93 -0
- package/dist/chunk-L4CESDPB.js +22 -0
- package/dist/{chunk-3LR4522O.js → chunk-LEBR5NHW.js} +14 -14
- package/dist/{chunk-US3QZU23.js → chunk-LIJJCBQI.js} +67 -7
- package/dist/{chunk-XLHL6WTI.js → chunk-LIRVU3HW.js} +16 -16
- package/dist/{chunk-BAT4CBB7.js → chunk-LN77DXBM.js} +19 -10
- package/dist/{chunk-E5FM44EJ.js → chunk-LNWEWYCM.js} +2474 -315
- package/dist/{chunk-TX4OGZKU.js → chunk-LO3BLMVG.js} +3 -3
- package/dist/{chunk-RUOGHYSK.js → chunk-LPV6T362.js} +5 -5
- package/dist/{chunk-2T5CQH4R.js → chunk-LQH4P45K.js} +1 -1
- package/dist/chunk-LU4MQVAL.js +41 -0
- package/dist/{chunk-HW4RRIJA.js → chunk-LWDNKE4X.js} +12 -10
- package/dist/chunk-M4H2UG4R.js +218 -0
- package/dist/{chunk-CANMOOE6.js → chunk-M6D2U3YM.js} +3 -3
- package/dist/{chunk-AB5E5HCN.js → chunk-MD7KUEJ3.js} +14 -272
- package/dist/{chunk-ENTAAEDK.js → chunk-MMZUN7ZO.js} +20 -20
- package/dist/{chunk-L4MHJG3I.js → chunk-MZGRDONP.js} +46 -36
- package/dist/{chunk-IYI2S6BB.js → chunk-N3RUGTGV.js} +18 -18
- package/dist/{chunk-WZRCGGXG.js → chunk-NCB6656Z.js} +7 -7
- package/dist/{chunk-SBE773JU.js → chunk-NRQ65LTQ.js} +5 -5
- package/dist/{chunk-NRPMPZWJ.js → chunk-NTAVOWYD.js} +117 -18
- package/dist/{chunk-UJBZS5I7.js → chunk-NYOABJNK.js} +36 -27
- package/dist/{chunk-LXAPJ3BL.js → chunk-O4IKAIZ2.js} +24 -20
- package/dist/{chunk-MMB2OHUY.js → chunk-ODMBPDDV.js} +48 -13
- package/dist/chunk-OKUB6RJA.js +533 -0
- package/dist/{chunk-MKFYQQ5Q.js → chunk-OMPENNWY.js} +4 -1
- package/dist/chunk-OPQZISG3.js +25 -0
- package/dist/{chunk-ROJMXG4E.js → chunk-OV57AHCG.js} +24 -24
- package/dist/{chunk-7KGXDIWV.js → chunk-OZJ3JLYI.js} +9 -8
- package/dist/{chunk-G5BYKJIM.js → chunk-P2VBXX7N.js} +11 -10
- package/dist/{chunk-YK6CSODO.js → chunk-PAINMSID.js} +4353 -1106
- package/dist/chunk-PKJAV25S.js +43 -0
- package/dist/{chunk-R5MNPIMD.js → chunk-PNQLCRSS.js} +4 -4
- package/dist/{chunk-3SMMFQED.js → chunk-PQH56YF6.js} +37 -5
- package/dist/chunk-PRTBPXYA.js +50 -0
- package/dist/{chunk-FF4ZMLSL.js → chunk-PRW3HXM3.js} +2 -2
- package/dist/chunk-PRZ7KMWL.js +42 -0
- package/dist/{chunk-IFV6MKYV.js → chunk-PTQ3ZALZ.js} +42 -4
- package/dist/{chunk-ELQSLAP6.js → chunk-PUEWDYGP.js} +2 -2
- package/dist/{chunk-F2ZCZYIK.js → chunk-Q26LDIUV.js} +12 -11
- package/dist/chunk-Q46QDDMF.js +277 -0
- package/dist/chunk-QBNWF5ZU.js +19 -0
- package/dist/{chunk-ANETFNTV.js → chunk-QE527XRY.js} +24 -21
- package/dist/{chunk-QNMLLYTN.js → chunk-QHJJMZLX.js} +397 -32
- package/dist/chunk-QJCJOMW3.js +425 -0
- package/dist/{chunk-3HOONZUE.js → chunk-QKMRFNMA.js} +15 -15
- package/dist/{chunk-7S6VJ643.js → chunk-QOOEYDNJ.js} +101 -13
- package/dist/{chunk-4YNKN4DF.js → chunk-QSIDVFB7.js} +20 -18
- package/dist/{chunk-2IT7SIJY.js → chunk-RA33EYS4.js} +19 -18
- package/dist/{chunk-P7NV3FEJ.js → chunk-RALY3E5U.js} +4 -4
- package/dist/{chunk-6NESNLVU.js → chunk-S2RY3BOD.js} +35 -21
- package/dist/chunk-SB5GRUFM.js +54 -0
- package/dist/{chunk-EUQHM2CH.js → chunk-SH27FYPF.js} +18 -18
- package/dist/chunk-T74WQQGS.js +40 -0
- package/dist/{chunk-LGDW4G73.js → chunk-TGVVUKTG.js} +2 -2
- package/dist/chunk-THN26IEF.js +48 -0
- package/dist/{chunk-ZV2VCBMQ.js → chunk-TJH2EUAZ.js} +18 -12
- package/dist/{chunk-NGT5LLSE.js → chunk-TQ4TG57V.js} +6 -6
- package/dist/{chunk-WEDXFJPG.js → chunk-TQTRWENN.js} +12 -12
- package/dist/{chunk-ZRWS54RI.js → chunk-TSM6T6GQ.js} +23 -23
- package/dist/{chunk-KET7KOVE.js → chunk-TW3KOSQK.js} +15 -7
- package/dist/{chunk-RBXDHCN7.js → chunk-TWQRPM76.js} +2 -2
- package/dist/{chunk-IO6DQCZX.js → chunk-TYD6I4CZ.js} +4 -4
- package/dist/{chunk-5NLJH6R4.js → chunk-U3NBK4EU.js} +56 -17
- package/dist/{chunk-U542BJME.js → chunk-UDXWIPCB.js} +7 -7
- package/dist/{chunk-OSB6AKF2.js → chunk-UEVZZZU2.js} +4 -4
- package/dist/{chunk-5ZV7BK22.js → chunk-UF4UHCIG.js} +2 -2
- package/dist/{chunk-PHJOOL6U.js → chunk-UFE36WJH.js} +4 -4
- package/dist/{chunk-IHRP4OYV.js → chunk-URIKUID7.js} +12 -12
- package/dist/chunk-UYLBRRFK.js +1106 -0
- package/dist/chunk-UZACEG2C.js +515 -0
- package/dist/{chunk-LR4XBH4L.js → chunk-VAMHOHUU.js} +12 -12
- package/dist/{chunk-S5PSGAQ2.js → chunk-VUVGX5L2.js} +1 -1
- package/dist/{chunk-2TG2QGKW.js → chunk-VYOCPTUB.js} +18 -16
- package/dist/{chunk-VTEDQ6GY.js → chunk-WAZEXEJH.js} +175 -3
- package/dist/{chunk-UTSFKZ72.js → chunk-WCEF7H6L.js} +3 -3
- package/dist/{chunk-DXPUYG5L.js → chunk-WEOMJHPV.js} +12 -12
- package/dist/{chunk-NFKBU2UH.js → chunk-WFU77T3A.js} +5 -5
- package/dist/chunk-WIWTJMMR.js +292 -0
- package/dist/{chunk-MRFSUAJH.js → chunk-WNTIOBOG.js} +18 -18
- package/dist/{chunk-UROTYIGJ.js → chunk-X2CUXTWU.js} +6 -6
- package/dist/chunk-X7EMBM5X.js +34 -0
- package/dist/{chunk-OO5TKEAG.js → chunk-XEQCQO66.js} +8 -8
- package/dist/{chunk-NBQO75XT.js → chunk-XG4WJHLQ.js} +17 -1
- package/dist/{chunk-ZQC7MNQB.js → chunk-XOL3GFW2.js} +101 -30
- package/dist/{chunk-GXDATVSY.js → chunk-XQ3YZ4QW.js} +22 -22
- package/dist/{chunk-GTW54D3D.js → chunk-Y6K3CJBU.js} +726 -88
- package/dist/{chunk-CQCAJI6G.js → chunk-YAH5IQAL.js} +5 -5
- package/dist/{chunk-U6TD7UOH.js → chunk-YBOVNMHC.js} +51 -14
- package/dist/{chunk-OJICVOZH.js → chunk-YF5DZCPN.js} +79 -39
- package/dist/chunk-YIGBJNH4.js +37 -0
- package/dist/{chunk-7C7OZARH.js → chunk-YJ3TBOTK.js} +25 -25
- package/dist/{chunk-HXFSM4LG.js → chunk-YKTE2RU3.js} +2 -2
- package/dist/{chunk-7IM4BVVH.js → chunk-YO2PKTXT.js} +268 -36
- package/dist/{chunk-Z3UU7XV6.js → chunk-YTTNTQOX.js} +15 -15
- package/dist/{chunk-2ZICHO3V.js → chunk-YWAKDNMH.js} +183 -33
- package/dist/{chunk-OXOSJXOI.js → chunk-YZDZOEV4.js} +4 -4
- package/dist/{chunk-MRCETHW5.js → chunk-Z3QFH7YG.js} +4 -4
- package/dist/{chunk-5KZTRD4V.js → chunk-Z6VLC5X4.js} +17 -17
- package/dist/{chunk-EDURU5DF.js → chunk-ZFQMMU5Y.js} +2 -2
- package/dist/{chunk-3GLDB4IT.js → chunk-ZKYRDV7A.js} +12 -12
- package/dist/{chunk-GBGJ6WSO.js → chunk-ZLS6PU2O.js} +3 -3
- package/dist/{chunk-JZOOX3PQ.js → chunk-ZOSD4FXV.js} +3 -3
- package/dist/chunk-ZPDDEVQX.js +47 -0
- package/dist/{chunk-2TTSX7NB.js → chunk-ZQLRCA2V.js} +7 -7
- package/dist/{chunk-ESP3RUUR.js → chunk-ZX7235KR.js} +128 -54
- package/dist/{chunk-MH4XG5XS.js → chunk-ZZFHLRQW.js} +18 -16
- package/dist/files.json +559 -439
- package/dist/packages/sdk/npm/index.js +4679 -2672
- package/dist/packages/ui/dist/assets/{elk-api-BuFBvNyV.js → elk-api-CowTnhEJ.js} +2 -2
- package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
- package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +47 -0
- package/dist/packages/ui/dist/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunk-25TJC2CL.js +0 -48
- package/dist/chunk-3Q5RHGCA.js +0 -47
- package/dist/chunk-4W7FOGAB.js +0 -41
- package/dist/chunk-6AF3CVJT.js +0 -48
- package/dist/chunk-A3KEXFQS.js +0 -34
- package/dist/chunk-BAUINGGJ.js +0 -41
- package/dist/chunk-BOFUCRJX.js +0 -47
- package/dist/chunk-GGKGILIP.js +0 -54
- package/dist/chunk-IKN6C67W.js +0 -53
- package/dist/chunk-K7MYVIFK.js +0 -54
- package/dist/chunk-KHA5LVPE.js +0 -34
- package/dist/chunk-LSXGM6MB.js +0 -37
- package/dist/chunk-M54TDRM3.js +0 -29
- package/dist/chunk-M5GF4NAB.js +0 -45
- package/dist/chunk-UTZGBCXE.js +0 -38
- package/dist/chunk-UVTSMBM4.js +0 -43
- package/dist/chunk-XXE3S3OG.js +0 -44
- package/dist/chunk-YJRQCUVJ.js +0 -43
- package/dist/chunk-ZFTK4BDN.js +0 -41
- package/dist/chunk-ZMARAW37.js +0 -38
- package/dist/packages/ui/dist/assets/index-C5QnK82A.css +0 -1
- package/dist/packages/ui/dist/assets/index-CQ0a1cBg.js +0 -29
|
@@ -16,12 +16,12 @@ import {
|
|
|
16
16
|
outsideSystemsOf,
|
|
17
17
|
phaseGates,
|
|
18
18
|
statePhase
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-HSZMPH5T.js";
|
|
20
20
|
import {
|
|
21
21
|
daysBetween,
|
|
22
22
|
knowledgeGaps,
|
|
23
23
|
newestEvidence
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-64AADMTW.js";
|
|
25
25
|
import {
|
|
26
26
|
BREAKING_SPEC,
|
|
27
27
|
INSTRUCTION_RULES,
|
|
@@ -33,8 +33,9 @@ import {
|
|
|
33
33
|
screenText,
|
|
34
34
|
settle,
|
|
35
35
|
toRunSummary
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-QHJJMZLX.js";
|
|
37
37
|
import {
|
|
38
|
+
ASKED_GAP_STEP,
|
|
38
39
|
AgentDefinition,
|
|
39
40
|
ChecklistPack,
|
|
40
41
|
ChecklistRule,
|
|
@@ -43,12 +44,17 @@ import {
|
|
|
43
44
|
FindingAction,
|
|
44
45
|
HOSTS_STEP,
|
|
45
46
|
IsoDateTime,
|
|
47
|
+
JOINED_BY_AI,
|
|
46
48
|
LEGACY_LENSES,
|
|
47
49
|
Lens,
|
|
48
50
|
PHASES,
|
|
51
|
+
QUESTION_SCHEMA_VERSION,
|
|
52
|
+
Question,
|
|
49
53
|
RECORD_KINDS,
|
|
50
54
|
RecordId,
|
|
55
|
+
answerByWords,
|
|
51
56
|
answerWords,
|
|
57
|
+
askedGapQuestionId,
|
|
52
58
|
assistantActor,
|
|
53
59
|
callsOfQuestion,
|
|
54
60
|
changesDirOf,
|
|
@@ -69,15 +75,17 @@ import {
|
|
|
69
75
|
questionOfLens,
|
|
70
76
|
questionsRelOf,
|
|
71
77
|
quotedIn,
|
|
78
|
+
readQuestion,
|
|
72
79
|
repoReadOf,
|
|
73
80
|
require_dist,
|
|
74
81
|
runsDirOf,
|
|
75
82
|
stateDirOf,
|
|
76
|
-
toCanonicalYaml
|
|
77
|
-
|
|
83
|
+
toCanonicalYaml,
|
|
84
|
+
writeQuestion
|
|
85
|
+
} from "./chunk-PAINMSID.js";
|
|
78
86
|
import {
|
|
79
87
|
writeFileAtomic
|
|
80
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-ODMBPDDV.js";
|
|
81
89
|
import {
|
|
82
90
|
__toESM
|
|
83
91
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -618,7 +626,8 @@ function catalogEvidence(ctx, id) {
|
|
|
618
626
|
recordEvidence(id),
|
|
619
627
|
...file ? [
|
|
620
628
|
{
|
|
621
|
-
|
|
629
|
+
// ADR 0181: an AI evidence cites the call's own code line; a finding names it as code.
|
|
630
|
+
source: file.source === "ai" ? "code" : file.source,
|
|
622
631
|
path: file.path,
|
|
623
632
|
...file.repo ? { repo: file.repo } : {},
|
|
624
633
|
...file.line ? { line: file.line } : {}
|
|
@@ -1290,6 +1299,8 @@ function patternProblems(ctx, o) {
|
|
|
1290
1299
|
const doc = docOf(ctx.files, IFACES);
|
|
1291
1300
|
if (!doc)
|
|
1292
1301
|
return [];
|
|
1302
|
+
if (ctx.patterns.size === 0)
|
|
1303
|
+
return [];
|
|
1293
1304
|
const hits = [];
|
|
1294
1305
|
const codes = [...ctx.patterns.keys()].sort();
|
|
1295
1306
|
for (const h of ctx.hops) {
|
|
@@ -1681,7 +1692,8 @@ var interfaceViaMatchesPattern = {
|
|
|
1681
1692
|
evidence: [
|
|
1682
1693
|
recordEvidence(rec.id),
|
|
1683
1694
|
...rec.evidence.filter((e) => e.path).slice(0, 1).map((e) => ({
|
|
1684
|
-
source: e.source,
|
|
1695
|
+
source: e.source === "ai" ? "code" : e.source,
|
|
1696
|
+
// ADR 0181: the call's own line
|
|
1685
1697
|
path: e.path,
|
|
1686
1698
|
...e.repo ? { repo: e.repo } : {},
|
|
1687
1699
|
...e.line ? { line: e.line } : {}
|
|
@@ -1789,6 +1801,28 @@ var changeLinksKnown = {
|
|
|
1789
1801
|
subject: c.caller,
|
|
1790
1802
|
key: `link-guess|${rec.id}`
|
|
1791
1803
|
});
|
|
1804
|
+
if (rec && !flag && rec.flags?.includes(JOINED_BY_AI)) {
|
|
1805
|
+
const run = rec.evidence.find((e) => e.source === "ai")?.run;
|
|
1806
|
+
hits.push({
|
|
1807
|
+
kind: "knowledge-gap",
|
|
1808
|
+
...place,
|
|
1809
|
+
summary: sentence(`The change rests on a link the AI decided: ${c.caller} to ${c.callee} (${c.operation}), detected by AI${run ? ` (run ${run})` : ""} and not confirmed by a person.`),
|
|
1810
|
+
why: `The AI paired this call with ${c.callee}, and Atticus applied it because its lines checked and its shape agreed; nobody has said it is right. If it is wrong, the design is built on a call that goes somewhere else.`,
|
|
1811
|
+
fix: {
|
|
1812
|
+
text: `Confirm or correct it: atticus questions decisions lists it; atticus questions correct (or Correct on the "Detected by AI" chip) makes it a person's word, then atticus verify ${ctx.get("Component", c.caller)?.repo ?? c.caller} --write.`
|
|
1813
|
+
},
|
|
1814
|
+
evidence: [
|
|
1815
|
+
...place.evidence.filter((e) => e.source !== "catalog"),
|
|
1816
|
+
recordEvidence(rec.id)
|
|
1817
|
+
],
|
|
1818
|
+
question: {
|
|
1819
|
+
text: `Does ${c.caller}'s ${c.operation} go to ${c.callee}? The AI decided so; nobody has confirmed it.`,
|
|
1820
|
+
owner: questionOwner(ctx, c.caller)
|
|
1821
|
+
},
|
|
1822
|
+
subject: c.caller,
|
|
1823
|
+
key: `link-ai|${rec.id}`
|
|
1824
|
+
});
|
|
1825
|
+
}
|
|
1792
1826
|
const repo = ctx.get("Component", c.caller)?.repo;
|
|
1793
1827
|
for (const q of ctx.estate?.questions ?? []) {
|
|
1794
1828
|
if (!repo || q.question.repo !== repo || !q.calls.some((f) => sameCall(f, c)))
|
|
@@ -3231,7 +3265,8 @@ async function changeAnswers(root, change) {
|
|
|
3231
3265
|
id: q.id,
|
|
3232
3266
|
question: q.question.trim(),
|
|
3233
3267
|
answer: (answerWords(q) ?? "").trim(),
|
|
3234
|
-
|
|
3268
|
+
// ADR 0181: an AI answer reads as the AI's, never a person's word.
|
|
3269
|
+
by: answerByWords(q.answer.by),
|
|
3235
3270
|
at: q.answer.at
|
|
3236
3271
|
})).filter((a) => a.answer.length > 0);
|
|
3237
3272
|
}
|
|
@@ -4205,6 +4240,33 @@ async function sinceReview(root, o) {
|
|
|
4205
4240
|
}
|
|
4206
4241
|
|
|
4207
4242
|
// packages/naysayer/dist/ai.js
|
|
4243
|
+
var LENS_BATCH_AGENT = "critic-lenses";
|
|
4244
|
+
var batchingOf = (rt) => typeof rt.prepareBatch === "function" && typeof rt.canBatch === "function" ? rt : void 0;
|
|
4245
|
+
async function batchLenses(ctx, runtime, runs) {
|
|
4246
|
+
const batching = batchingOf(runtime);
|
|
4247
|
+
const waiting = runs.filter((r) => r.state === "waiting" && r.runId);
|
|
4248
|
+
if (!batching || waiting.length < 2)
|
|
4249
|
+
return void 0;
|
|
4250
|
+
const tokens = waiting.reduce((n, r) => n + (r.context?.tokens ?? 0), 0);
|
|
4251
|
+
if (!batching.canBatch(waiting.length, tokens))
|
|
4252
|
+
return void 0;
|
|
4253
|
+
const first = lensAgent(ctx, waiting[0].lens);
|
|
4254
|
+
const batch = await batching.prepareBatch({
|
|
4255
|
+
change: ctx.change.id,
|
|
4256
|
+
agent: {
|
|
4257
|
+
...first,
|
|
4258
|
+
id: LENS_BATCH_AGENT,
|
|
4259
|
+
description: `The critic's ${waiting.map((r) => r.lens).join(", ")} lenses on change ${ctx.change.id}, asked in one prompt: each lens is its own review, answered in its own section.`,
|
|
4260
|
+
allowedRuntimes: ["hand-off"]
|
|
4261
|
+
},
|
|
4262
|
+
parts: waiting.map((r) => ({ name: r.lens, runId: r.runId })),
|
|
4263
|
+
stepClass: "critic"
|
|
4264
|
+
});
|
|
4265
|
+
const run = await runtime.run(batch.runId);
|
|
4266
|
+
for (const r of waiting)
|
|
4267
|
+
r.batch = run.runId;
|
|
4268
|
+
return run.runId;
|
|
4269
|
+
}
|
|
4208
4270
|
var ALL_INPUTS = [
|
|
4209
4271
|
"brief",
|
|
4210
4272
|
"proposal",
|
|
@@ -4949,7 +5011,8 @@ async function runLenses(ctx, rules, o) {
|
|
|
4949
5011
|
runs.push({ ...base, state: "failed", reason: e.message });
|
|
4950
5012
|
}
|
|
4951
5013
|
}
|
|
4952
|
-
|
|
5014
|
+
const batch = o.runtime && o.batch ? await batchLenses(ctx, o.runtime, runs).catch(() => void 0) : void 0;
|
|
5015
|
+
return { hits, runs, discarded, skipped, reviewed, ...batch ? { batch } : {} };
|
|
4953
5016
|
}
|
|
4954
5017
|
|
|
4955
5018
|
// packages/naysayer/dist/gates.js
|
|
@@ -4972,7 +5035,9 @@ async function gateStatusOf(root, lifecycle, change, gate) {
|
|
|
4972
5035
|
return p && f.finding.state === "open" ? { ...f, proposal: p } : f;
|
|
4973
5036
|
});
|
|
4974
5037
|
const open = findings.filter((f) => f.finding.state === "open");
|
|
4975
|
-
const
|
|
5038
|
+
const checked = await checkFindings(root, change, [gate]);
|
|
5039
|
+
const blocking = checked.map((r) => r.message);
|
|
5040
|
+
const onlyGaps = checked.length > 0 && checked.every((r) => r.code === "open-gap");
|
|
4976
5041
|
const waiting = round ? ((await readRoundMeta(root, change.id, gate, round))?.lenses ?? []).filter((l) => l.state === "waiting" && l.runId).map((l) => ({ lens: l.lens, runId: l.runId })) : [];
|
|
4977
5042
|
const proposed = findings.filter((f) => f.proposal && f.finding.severity === "blocking");
|
|
4978
5043
|
const reasons = [
|
|
@@ -4994,7 +5059,7 @@ async function gateStatusOf(root, lifecycle, change, gate) {
|
|
|
4994
5059
|
total: count(findings),
|
|
4995
5060
|
mayProceed: reasons.length === 0,
|
|
4996
5061
|
// An open gap with nothing blocking waits on its owner, not on a person's decision.
|
|
4997
|
-
humanDecides: blocking.length > 0 && usedUp && !(count(open).blocking === 0 &&
|
|
5062
|
+
humanDecides: blocking.length > 0 && usedUp && !(count(open).blocking === 0 && onlyGaps && waiting.length === 0),
|
|
4998
5063
|
checkRound: usedUp && (await checkRoundDue(root, change.id, gate)).length > 0,
|
|
4999
5064
|
checkRoundsRun,
|
|
5000
5065
|
waiting,
|
|
@@ -5315,6 +5380,7 @@ async function runCritic(root, changeId, opts = {}) {
|
|
|
5315
5380
|
}) : void 0;
|
|
5316
5381
|
const ai = await runLenses(ctx, applicable, {
|
|
5317
5382
|
...opts.runtime ? { runtime: opts.runtime } : {},
|
|
5383
|
+
...opts.batchLenses ? { batch: true } : {},
|
|
5318
5384
|
lenses,
|
|
5319
5385
|
failed,
|
|
5320
5386
|
...opts.maxClassification ? { maxClassification: opts.maxClassification } : {},
|
|
@@ -5409,6 +5475,8 @@ async function runCritic(root, changeId, opts = {}) {
|
|
|
5409
5475
|
artifacts: r.artifacts,
|
|
5410
5476
|
...r.promptSha256 ? { promptSha256: r.promptSha256 } : {},
|
|
5411
5477
|
...r.runId ? { runId: r.runId } : {},
|
|
5478
|
+
// ADR 0185: the one prompt it was asked in with the round's other waiting lenses.
|
|
5479
|
+
...r.batch ? { batch: r.batch } : {},
|
|
5412
5480
|
// What the lens was sent (ADR 0115 addendum, 2026-10-25): its size, what was cut to
|
|
5413
5481
|
// need, and in a redraft the round it was diffed against and what wasn't sent.
|
|
5414
5482
|
...r.context ? { context: r.context } : {}
|
|
@@ -5428,6 +5496,7 @@ async function runCritic(root, changeId, opts = {}) {
|
|
|
5428
5496
|
refused: layered.refused,
|
|
5429
5497
|
problems,
|
|
5430
5498
|
lenses: ai.runs,
|
|
5499
|
+
...ai.batch ? { batch: ai.batch } : {},
|
|
5431
5500
|
discarded: ai.discarded,
|
|
5432
5501
|
failedLayer1: [...failed].sort(),
|
|
5433
5502
|
model,
|
|
@@ -5570,6 +5639,19 @@ async function completeLensRun(root, run, opts = {}) {
|
|
|
5570
5639
|
status: await gateStatusOf(root, lifecycle, change, gateId)
|
|
5571
5640
|
};
|
|
5572
5641
|
}
|
|
5642
|
+
async function completeLensBatch(root, batch, result, opts = {}) {
|
|
5643
|
+
const out = [];
|
|
5644
|
+
for (const p of batch.parts ?? []) {
|
|
5645
|
+
const run = await result(p.runId).catch(() => void 0);
|
|
5646
|
+
if (run?.state !== "validated" || !lensRunOf(run.request))
|
|
5647
|
+
continue;
|
|
5648
|
+
const found = await roundOf(root, run.request.change, run.runId);
|
|
5649
|
+
if (found?.entry.state !== "waiting")
|
|
5650
|
+
continue;
|
|
5651
|
+
out.push(await completeLensRun(root, run, opts));
|
|
5652
|
+
}
|
|
5653
|
+
return out;
|
|
5654
|
+
}
|
|
5573
5655
|
async function failLens(root, change, gate, round, runId, reason) {
|
|
5574
5656
|
const meta = await readRoundMeta(root, change, gate, round);
|
|
5575
5657
|
if (!meta || !meta.lenses.some((l) => l.runId === runId && l.state === "waiting"))
|
|
@@ -5583,6 +5665,29 @@ import { createHash } from "node:crypto";
|
|
|
5583
5665
|
import { readdir as readdir7, readFile as readFile8 } from "node:fs/promises";
|
|
5584
5666
|
import { join as join12, normalize, sep as sep2 } from "node:path";
|
|
5585
5667
|
var import_yaml8 = __toESM(require_dist(), 1);
|
|
5668
|
+
async function raiseAskedQuestion(root, f, askedOf, at) {
|
|
5669
|
+
const id = askedGapQuestionId(f.change, f);
|
|
5670
|
+
if (await readQuestion(root, id).catch(() => void 0))
|
|
5671
|
+
return id;
|
|
5672
|
+
const rel = `${changesRelOf(root)}/${f.change}`;
|
|
5673
|
+
const file = f.artifact === "catalog" ? "change.yaml" : f.artifact;
|
|
5674
|
+
const rerun = `atticus critic ${f.change} --gate ${f.gate}`;
|
|
5675
|
+
await writeQuestion(root, Question.parse({
|
|
5676
|
+
schemaVersion: QUESTION_SCHEMA_VERSION,
|
|
5677
|
+
id,
|
|
5678
|
+
askedBy: { step: ASKED_GAP_STEP, command: `atticus finding ${f.change} ${f.id} ask`, at },
|
|
5679
|
+
repo: f.change,
|
|
5680
|
+
question: f.question?.text ?? f.summary,
|
|
5681
|
+
options: [],
|
|
5682
|
+
evidence: [`${rel}/${file}:${f.artifact === "catalog" ? 1 : f.locator.line ?? 1}`],
|
|
5683
|
+
scope: { level: "repo", id: f.change },
|
|
5684
|
+
askedOf,
|
|
5685
|
+
finding: { change: f.change, gate: f.gate, round: f.round, id: f.id },
|
|
5686
|
+
state: "open",
|
|
5687
|
+
rerun
|
|
5688
|
+
}));
|
|
5689
|
+
return id;
|
|
5690
|
+
}
|
|
5586
5691
|
async function locate(lifecycle, root, change, id, gate) {
|
|
5587
5692
|
const gates = gate ? [gate] : await reviewedGates(root, change);
|
|
5588
5693
|
const order = lifecycle.orgPack.gates.gates.map((g) => g.id);
|
|
@@ -5727,7 +5832,7 @@ async function act(root, changeId, findingId, action, o) {
|
|
|
5727
5832
|
const said = o.reason?.trim().replace(/[.!?]+$/, "");
|
|
5728
5833
|
message = edited.length ? `Recorded your edit to ${edited.join(", ")}.` : said ? `Recorded what you did: ${said}.` : `Recorded your edit to ${f.artifact}.`;
|
|
5729
5834
|
} else if (act2 === "ask")
|
|
5730
|
-
message = `Asked ${askedOf}
|
|
5835
|
+
message = `Asked ${askedOf}.`;
|
|
5731
5836
|
else if (act2 === "waive")
|
|
5732
5837
|
message = `Waived ${f.id}. The waiver, its reason and your name are recorded on the finding; it reaches main with the ${f.gate} hand-off PR, where reviewers see it.`;
|
|
5733
5838
|
else
|
|
@@ -5756,6 +5861,11 @@ async function act(root, changeId, findingId, action, o) {
|
|
|
5756
5861
|
};
|
|
5757
5862
|
}
|
|
5758
5863
|
await writeFinding(root, next.data);
|
|
5864
|
+
let question;
|
|
5865
|
+
if (act2 === "ask" && gap) {
|
|
5866
|
+
question = await raiseAskedQuestion(root, next.data, askedOf, next.data.resolution.at);
|
|
5867
|
+
message = `Asked ${askedOf}: owner question ${question} is in Questions, Owner questions. The ${f.gate} gate waits for its answer.`;
|
|
5868
|
+
}
|
|
5759
5869
|
if (waiting)
|
|
5760
5870
|
await writeProposals(root, change.id, f.gate, f.round, proposals.filter((p) => p.finding !== f.id));
|
|
5761
5871
|
const after = act2 === "ask" ? void 0 : await afterLimit(lifecycle, root, change.id, next.data);
|
|
@@ -5763,7 +5873,13 @@ async function act(root, changeId, findingId, action, o) {
|
|
|
5763
5873
|
message = `${message} ${after}`;
|
|
5764
5874
|
else if (act2 === "apply" || act2 === "edit-and-apply")
|
|
5765
5875
|
message = patched || act2 === "edit-and-apply" ? `${message.replace(/\.$/, "")}; the next critic round checks it.` : `${message} The next critic round checks the fix.`;
|
|
5766
|
-
return {
|
|
5876
|
+
return {
|
|
5877
|
+
finding: next.data,
|
|
5878
|
+
path: found.path,
|
|
5879
|
+
...patched ? { patched } : {},
|
|
5880
|
+
...question ? { question } : {},
|
|
5881
|
+
message
|
|
5882
|
+
};
|
|
5767
5883
|
}
|
|
5768
5884
|
async function afterLimit(ctx, root, change, f) {
|
|
5769
5885
|
const max = gateRoundLimit(ctx.orgPack.gates, f.gate);
|
|
@@ -5815,8 +5931,8 @@ async function editedByPerson(folder) {
|
|
|
5815
5931
|
if (!written || typeof written !== "object")
|
|
5816
5932
|
continue;
|
|
5817
5933
|
for (const [file, hash] of Object.entries(written)) {
|
|
5818
|
-
const now = await readFile8(join12(folder, ...file.split("/"))).catch(() => void 0);
|
|
5819
|
-
const h = now ? createHash("sha256").update(now).digest("hex") : void 0;
|
|
5934
|
+
const now = await readFile8(join12(folder, ...file.split("/")), "utf8").catch(() => void 0);
|
|
5935
|
+
const h = now !== void 0 ? createHash("sha256").update(now.replace(/\r\n?/g, "\n"), "utf8").digest("hex") : void 0;
|
|
5820
5936
|
if (h !== hash)
|
|
5821
5937
|
out.add(file);
|
|
5822
5938
|
}
|
|
@@ -6086,6 +6202,7 @@ export {
|
|
|
6086
6202
|
focusTerms,
|
|
6087
6203
|
trimSources,
|
|
6088
6204
|
sinceReview,
|
|
6205
|
+
LENS_BATCH_AGENT,
|
|
6089
6206
|
lensAgent,
|
|
6090
6207
|
catalogSlice,
|
|
6091
6208
|
lensAnswerProblem,
|
|
@@ -6109,7 +6226,9 @@ export {
|
|
|
6109
6226
|
lensRunOf,
|
|
6110
6227
|
waitingLenses,
|
|
6111
6228
|
completeLensRun,
|
|
6229
|
+
completeLensBatch,
|
|
6112
6230
|
failLens,
|
|
6113
6231
|
act,
|
|
6232
|
+
editedByPerson,
|
|
6114
6233
|
overrideStats
|
|
6115
6234
|
};
|
|
@@ -5,10 +5,10 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
loadCatalog
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5QUOPNLN.js";
|
|
9
9
|
import {
|
|
10
10
|
repoFor
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TGVVUKTG.js";
|
|
12
12
|
import {
|
|
13
13
|
checkDraft,
|
|
14
14
|
checkFrameworkDraft,
|
|
@@ -22,25 +22,25 @@ import {
|
|
|
22
22
|
proposalYaml,
|
|
23
23
|
reviewRepo,
|
|
24
24
|
surveyRepo
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-P2VBXX7N.js";
|
|
26
|
+
import {
|
|
27
|
+
offerCodeDir
|
|
28
|
+
} from "./chunk-ZOSD4FXV.js";
|
|
26
29
|
import {
|
|
27
30
|
matchRepoType
|
|
28
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-4SLBCEPD.js";
|
|
29
32
|
import {
|
|
30
33
|
modelCovers,
|
|
31
34
|
repoImports,
|
|
32
35
|
runDialectTests,
|
|
33
36
|
runFrameworkTests
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import {
|
|
36
|
-
offerCodeDir
|
|
37
|
-
} from "./chunk-JZOOX3PQ.js";
|
|
37
|
+
} from "./chunk-TWQRPM76.js";
|
|
38
38
|
import {
|
|
39
39
|
baseClonePath
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-XOL3GFW2.js";
|
|
41
41
|
import {
|
|
42
42
|
fsRepo
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-7AB6OWTV.js";
|
|
44
44
|
import {
|
|
45
45
|
Dialect,
|
|
46
46
|
FrameworkModel,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
raiseQuestions,
|
|
53
53
|
require_dist,
|
|
54
54
|
reusedLine
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-PAINMSID.js";
|
|
56
56
|
import {
|
|
57
57
|
__toESM
|
|
58
58
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -6,41 +6,46 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
|
6
6
|
import {
|
|
7
7
|
claimOf,
|
|
8
8
|
factLabel
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-QOOEYDNJ.js";
|
|
10
|
+
import "./chunk-HK3VOHIE.js";
|
|
10
11
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-5NLJH6R4.js";
|
|
14
|
-
import "./chunk-QKMDT7VU.js";
|
|
15
|
-
import "./chunk-4W7FOGAB.js";
|
|
16
|
-
import "./chunk-Q2X4IREC.js";
|
|
12
|
+
safeMessage
|
|
13
|
+
} from "./chunk-THN26IEF.js";
|
|
17
14
|
import {
|
|
18
|
-
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
15
|
+
verifyInputsOf
|
|
16
|
+
} from "./chunk-LN77DXBM.js";
|
|
17
|
+
import "./chunk-L4CESDPB.js";
|
|
18
|
+
import "./chunk-U3NBK4EU.js";
|
|
19
|
+
import "./chunk-455SYIIE.js";
|
|
21
20
|
import {
|
|
22
21
|
repoContractsOf
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-LPV6T362.js";
|
|
23
|
+
import "./chunk-GIFMBCTW.js";
|
|
24
|
+
import "./chunk-MD7KUEJ3.js";
|
|
25
|
+
import {
|
|
26
|
+
checkoutOf
|
|
27
|
+
} from "./chunk-Q46QDDMF.js";
|
|
28
|
+
import "./chunk-TGVVUKTG.js";
|
|
29
|
+
import "./chunk-3AQ2R5NL.js";
|
|
30
|
+
import "./chunk-5WERBKLE.js";
|
|
31
|
+
import "./chunk-K332XW7K.js";
|
|
32
|
+
import "./chunk-HSZMPH5T.js";
|
|
33
|
+
import "./chunk-D2WSW4GU.js";
|
|
34
|
+
import "./chunk-4KNOJC6J.js";
|
|
35
|
+
import "./chunk-4SLBCEPD.js";
|
|
36
|
+
import "./chunk-64AADMTW.js";
|
|
31
37
|
import {
|
|
32
38
|
dirSource,
|
|
33
39
|
repairFormSlips,
|
|
34
40
|
verifyFacts
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-QNMLLYTN.js";
|
|
41
|
+
} from "./chunk-JYMIB5XY.js";
|
|
42
|
+
import "./chunk-CPK7QSBG.js";
|
|
43
|
+
import "./chunk-YO2PKTXT.js";
|
|
44
|
+
import "./chunk-TWQRPM76.js";
|
|
45
|
+
import "./chunk-API5TOUB.js";
|
|
46
|
+
import "./chunk-XOL3GFW2.js";
|
|
47
|
+
import "./chunk-QHJJMZLX.js";
|
|
48
|
+
import "./chunk-7AB6OWTV.js";
|
|
44
49
|
import {
|
|
45
50
|
factsDirOf,
|
|
46
51
|
factsRelOf,
|
|
@@ -50,14 +55,15 @@ import {
|
|
|
50
55
|
mapDirOf,
|
|
51
56
|
mapRelOf,
|
|
52
57
|
orgPackDirOf,
|
|
58
|
+
pairsFromCorrections,
|
|
53
59
|
parseFactsLines,
|
|
54
60
|
questionsRelOf,
|
|
55
61
|
recordPath,
|
|
56
62
|
require_dist,
|
|
57
63
|
specRelOf,
|
|
58
64
|
stackHelpersOff
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import "./chunk-
|
|
65
|
+
} from "./chunk-PAINMSID.js";
|
|
66
|
+
import "./chunk-ODMBPDDV.js";
|
|
61
67
|
import {
|
|
62
68
|
__toESM
|
|
63
69
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -92,7 +98,7 @@ function editedFields(was, now) {
|
|
|
92
98
|
}
|
|
93
99
|
function stepsOf(root, repo, o) {
|
|
94
100
|
const branch = `correct/${slugPart(repo)}${o.fact ? `-${slugPart(o.fact)}` : ""}`;
|
|
95
|
-
const message = o.fact ? `${repo}: a person
|
|
101
|
+
const message = safeMessage(o.fact ? `${repo}: a correction by a person of ${o.fact}, applied by atticus verify --write` : `${repo}: corrections by a person, applied by atticus verify --write`);
|
|
96
102
|
const pr = prCommand(o.host, branch);
|
|
97
103
|
return {
|
|
98
104
|
branch,
|
|
@@ -129,7 +135,11 @@ async function verifyWritePreview(root, repo, o = {}) {
|
|
|
129
135
|
const plain = (files2, unavailable) => ({
|
|
130
136
|
repo,
|
|
131
137
|
wrote,
|
|
132
|
-
...stepsOf(root, repo, {
|
|
138
|
+
...stepsOf(root, repo, {
|
|
139
|
+
...o.fact ? { fact: o.fact } : {},
|
|
140
|
+
...host ? { host } : {},
|
|
141
|
+
files: files2
|
|
142
|
+
}),
|
|
133
143
|
...unavailable ? { unavailable } : {}
|
|
134
144
|
});
|
|
135
145
|
const read = parseFactsLines(text);
|
|
@@ -150,11 +160,12 @@ async function verifyWritePreview(root, repo, o = {}) {
|
|
|
150
160
|
...off.has("derived-names") ? { derivedNames: false } : {},
|
|
151
161
|
...off.has("readers") ? { readers: false } : {},
|
|
152
162
|
exclude: inputs.exclude,
|
|
153
|
-
corrections: inputs.corrections.corrections,
|
|
163
|
+
corrections: [...inputs.corrections.corrections, ...o.extra ?? []],
|
|
154
164
|
reviewed: inputs.reviewed.entries,
|
|
155
165
|
...inputs.estate ? { estate: inputs.estate } : {},
|
|
156
166
|
conventions: inputs.conventions,
|
|
157
167
|
notes: inputs.notes,
|
|
168
|
+
componentTypes: inputs.componentTypes,
|
|
158
169
|
notReached: inputs.notReached
|
|
159
170
|
});
|
|
160
171
|
const kept = new Map(report.accepted.map((f) => [f.id, f]));
|
|
@@ -193,7 +204,7 @@ async function verifyWritePreview(root, repo, o = {}) {
|
|
|
193
204
|
}
|
|
194
205
|
};
|
|
195
206
|
}
|
|
196
|
-
const { projectFactsIntoCatalog } = await import("./chunk-
|
|
207
|
+
const { projectFactsIntoCatalog } = await import("./chunk-MZGRDONP.js");
|
|
197
208
|
const contracts = await repoContractsOf(root, repo, dir, report.accepted);
|
|
198
209
|
const companion = join(factsDirOf(root), `${repo}.contracts.yaml`);
|
|
199
210
|
const onDisk = await readFile(companion, "utf8").catch(() => void 0);
|
|
@@ -203,7 +214,8 @@ async function verifyWritePreview(root, repo, o = {}) {
|
|
|
203
214
|
const p = await projectFactsIntoCatalog(root, repo, report.accepted, {
|
|
204
215
|
...op ? { op } : {},
|
|
205
216
|
contracts,
|
|
206
|
-
cache: false
|
|
217
|
+
cache: false,
|
|
218
|
+
...o.extra?.length ? { extraPairs: pairsFromCorrections(report.accepted, o.extra) } : {}
|
|
207
219
|
});
|
|
208
220
|
const catalogRel = layoutOf(root).catalog.replace(/\/+$/, "");
|
|
209
221
|
const recordFiles = [
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createRequire as __atticusCreateRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __atticusFileURLToPath } from "node:url";
|
|
3
|
+
var require = __atticusCreateRequire(import.meta.url);
|
|
4
|
+
var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
5
|
+
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
|
+
import {
|
|
7
|
+
QUESTION_ROLES,
|
|
8
|
+
changesDirOf,
|
|
9
|
+
orgPackDirOf,
|
|
10
|
+
require_dist,
|
|
11
|
+
roleOfQuestion,
|
|
12
|
+
roleOfStep,
|
|
13
|
+
rolesOfPerson
|
|
14
|
+
} from "./chunk-PAINMSID.js";
|
|
15
|
+
import "./chunk-ODMBPDDV.js";
|
|
16
|
+
import {
|
|
17
|
+
__toESM
|
|
18
|
+
} from "./chunk-TV45EUGM.js";
|
|
19
|
+
|
|
20
|
+
// packages/cli/dist/change-roles.js
|
|
21
|
+
var import_yaml = __toESM(require_dist(), 1);
|
|
22
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
23
|
+
import { join } from "node:path";
|
|
24
|
+
var STAGE_FILES = ["feature", "architecture", "stories", "small"];
|
|
25
|
+
var yamlOf = async (path) => {
|
|
26
|
+
const text = await readFile(path, "utf8").catch(() => void 0);
|
|
27
|
+
if (text === void 0)
|
|
28
|
+
return void 0;
|
|
29
|
+
try {
|
|
30
|
+
return (0, import_yaml.parse)(text);
|
|
31
|
+
} catch {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
async function stageQuestions(root, only) {
|
|
36
|
+
const out = /* @__PURE__ */ new Map();
|
|
37
|
+
const changes = only ? [only] : await readdir(changesDirOf(root), { withFileTypes: true }).then((d) => d.filter((x) => x.isDirectory()).map((x) => x.name), () => []);
|
|
38
|
+
for (const change of changes.sort())
|
|
39
|
+
for (const stage of STAGE_FILES) {
|
|
40
|
+
const y = await yamlOf(join(changesDirOf(root), change, "stage", `${stage}.yaml`));
|
|
41
|
+
const ids = Array.isArray(y?.questions) ? y.questions : [];
|
|
42
|
+
for (const id of ids)
|
|
43
|
+
if (typeof id === "string" && !out.has(id))
|
|
44
|
+
out.set(id, { change, role: roleOfStep(`change-${stage}`) });
|
|
45
|
+
}
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
function roleWithStage(q, stages) {
|
|
49
|
+
return roleOfQuestion(q) ?? stages.get(q.id)?.role;
|
|
50
|
+
}
|
|
51
|
+
function isChangeQuestion(q, change, o) {
|
|
52
|
+
return q.repo === change || o.stages.get(q.id)?.change === change || !!o.restsOn?.includes(change);
|
|
53
|
+
}
|
|
54
|
+
async function customRoles(root) {
|
|
55
|
+
const y = await yamlOf(join(orgPackDirOf(root), "roles.yaml"));
|
|
56
|
+
if (!Array.isArray(y?.custom))
|
|
57
|
+
return [];
|
|
58
|
+
return y.custom.flatMap((c) => {
|
|
59
|
+
const x = c;
|
|
60
|
+
return typeof x?.id === "string" && typeof x.basedOn === "string" ? [{ id: x.id, basedOn: x.basedOn }] : [];
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async function personsRoles(root, change, handle) {
|
|
64
|
+
if (!handle)
|
|
65
|
+
return [];
|
|
66
|
+
const y = await yamlOf(join(changesDirOf(root), change, "change.yaml"));
|
|
67
|
+
const owners = y?.owners;
|
|
68
|
+
if (!owners || typeof owners !== "object" || Array.isArray(owners))
|
|
69
|
+
return [];
|
|
70
|
+
const lists = {};
|
|
71
|
+
for (const [k, v] of Object.entries(owners))
|
|
72
|
+
if (Array.isArray(v))
|
|
73
|
+
lists[k] = v.filter((h) => typeof h === "string");
|
|
74
|
+
return rolesOfPerson(handle, lists, await customRoles(root));
|
|
75
|
+
}
|
|
76
|
+
function countByRole(questions, roleOf) {
|
|
77
|
+
const out = {};
|
|
78
|
+
for (const r of QUESTION_ROLES) {
|
|
79
|
+
const of = questions.filter((q) => roleOf(q) === r);
|
|
80
|
+
if (!of.length)
|
|
81
|
+
continue;
|
|
82
|
+
const k = (s) => of.filter((q) => q.state === s).length;
|
|
83
|
+
out[r] = { open: k("open"), answered: k("answered"), retired: k("retired"), total: of.length };
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
countByRole,
|
|
89
|
+
isChangeQuestion,
|
|
90
|
+
personsRoles,
|
|
91
|
+
roleWithStage,
|
|
92
|
+
stageQuestions
|
|
93
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRequire as __atticusCreateRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __atticusFileURLToPath } from "node:url";
|
|
3
|
+
var require = __atticusCreateRequire(import.meta.url);
|
|
4
|
+
var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
5
|
+
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
|
+
import {
|
|
7
|
+
effectiveComponentTypes,
|
|
8
|
+
loadOrgPack,
|
|
9
|
+
orgPackDirOf
|
|
10
|
+
} from "./chunk-PAINMSID.js";
|
|
11
|
+
|
|
12
|
+
// packages/cli/dist/component-types.js
|
|
13
|
+
async function componentTypesAt(root, given) {
|
|
14
|
+
const op = given ?? await loadOrgPack(orgPackDirOf(root)).catch(() => void 0);
|
|
15
|
+
return effectiveComponentTypes(op?.componentTypes ?? []);
|
|
16
|
+
}
|
|
17
|
+
var componentTypeIds = (types) => new Set(types.map((t) => t.id));
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
componentTypesAt,
|
|
21
|
+
componentTypeIds
|
|
22
|
+
};
|