@maycombhq/atticus 2.0.0-beta.10 → 2.0.0-beta.12
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-AY2IUF4K.js → chunk-22GLUHGE.js} +659 -73
- package/dist/{chunk-CIUHAHM6.js → chunk-2A24BNRZ.js} +8 -8
- package/dist/{chunk-2RX7PI2Y.js → chunk-2ELFEKOO.js} +4 -4
- package/dist/{chunk-QKEFZRHS.js → chunk-2P6IHSRO.js} +17 -17
- package/dist/chunk-2Q2YBAR5.js +40 -0
- package/dist/{chunk-7DUDLVFJ.js → chunk-2VQLFNBO.js} +20 -20
- package/dist/{chunk-E3Z67HRK.js → chunk-3256EDLL.js} +4 -4
- package/dist/{chunk-OIU657QQ.js → chunk-34BCKMBS.js} +4 -4
- package/dist/{chunk-UR7RMZ3R.js → chunk-34NWVIBC.js} +2 -2
- package/dist/{chunk-6VBXAGJX.js → chunk-36KD4OGC.js} +14 -14
- package/dist/{chunk-I7IWQIEB.js → chunk-3CFBU2O6.js} +4 -4
- package/dist/{chunk-OSGQW2Z6.js → chunk-3JLTN3Y7.js} +8 -8
- package/dist/{chunk-FOGG4AUR.js → chunk-3M7QBKKG.js} +25 -7
- package/dist/{chunk-UF7TAFJM.js → chunk-3RP34PYV.js} +18 -18
- package/dist/{chunk-YLAJAI2W.js → chunk-3ZKLWM5Y.js} +11 -11
- package/dist/{chunk-LTQANUDH.js → chunk-47HPZ34V.js} +25 -25
- package/dist/chunk-4BPROPGG.js +45 -0
- package/dist/{chunk-Y4BRGOJR.js → chunk-4G56W6H7.js} +13 -10
- package/dist/{chunk-YXJ4XOHF.js → chunk-4HIQ2FTI.js} +4 -4
- package/dist/{chunk-AJJK7GLO.js → chunk-4HTILEXW.js} +3 -3
- package/dist/{chunk-OJLRFGBP.js → chunk-4Q2PGM5T.js} +78 -15
- package/dist/{chunk-GR6YKM55.js → chunk-4RDW2X43.js} +108 -14
- package/dist/{chunk-23M2LUYM.js → chunk-4VOG5H2K.js} +1 -1
- package/dist/chunk-5CSZTVXH.js +34 -0
- package/dist/{chunk-65C57N7P.js → chunk-5FFMJMVH.js} +19 -19
- package/dist/{chunk-XNYNEEBR.js → chunk-5GGGAI5C.js} +18 -18
- package/dist/{chunk-IUD3ME4E.js → chunk-5H46QFSL.js} +4 -4
- package/dist/{chunk-KIHOIVST.js → chunk-5ION6STH.js} +3 -3
- package/dist/chunk-5M3CLAOV.js +39 -0
- package/dist/chunk-5OACMWWI.js +886 -0
- package/dist/{chunk-2HMWX4T6.js → chunk-6ENDKY52.js} +11 -11
- package/dist/{chunk-OS7PQ35Z.js → chunk-6FG7QKJC.js} +22 -22
- package/dist/{chunk-FEZE6NIA.js → chunk-6JV3YHRR.js} +18 -18
- package/dist/{chunk-WGZWR4RF.js → chunk-6ROZRBWH.js} +5 -5
- package/dist/{chunk-WARBF2KY.js → chunk-6S27MUQQ.js} +10 -6
- package/dist/{chunk-TZDSDDSV.js → chunk-72DY5NCN.js} +2 -2
- package/dist/chunk-76QVBNEM.js +37 -0
- package/dist/{chunk-N4QZJJVB.js → chunk-77UOXZVM.js} +5 -5
- package/dist/{chunk-LVGBKKSM.js → chunk-7AXMUE2U.js} +15 -15
- package/dist/{chunk-FJCFYKVO.js → chunk-7TEQF64E.js} +196 -76
- package/dist/{chunk-IDGSU7JF.js → chunk-7TH6I6TL.js} +9 -9
- package/dist/{chunk-ZONE6E3Z.js → chunk-7UKETVPW.js} +2 -2
- package/dist/{chunk-XKS6THI5.js → chunk-7VNEDDCC.js} +2 -2
- package/dist/{chunk-BMHGA7WD.js → chunk-A5GY2EWH.js} +12 -12
- package/dist/{chunk-E3JYO547.js → chunk-AEZ3EICK.js} +20 -20
- package/dist/{chunk-7F2RUWPU.js → chunk-ARLH2ZMD.js} +1 -1
- package/dist/{chunk-VKMTFIWS.js → chunk-AYVLEB55.js} +18 -18
- package/dist/chunk-B6X5PJSA.js +320 -0
- package/dist/{chunk-JMSEEBN4.js → chunk-BRCDEGNE.js} +1 -1
- package/dist/{chunk-67J3VZBA.js → chunk-BSVTNNUK.js} +5 -5
- package/dist/{chunk-3GTZ2OON.js → chunk-BTOGAUWX.js} +20 -11
- package/dist/{chunk-4SVJNVEE.js → chunk-BXBCMGIQ.js} +2 -0
- package/dist/chunk-BXP2Q4TD.js +48 -0
- package/dist/{chunk-XPEEICAO.js → chunk-BZRWJUB4.js} +15 -15
- package/dist/{chunk-MH5OCRUM.js → chunk-CH6LUQLD.js} +2 -2
- package/dist/{chunk-T6USVBEJ.js → chunk-CIIRPLI6.js} +5 -5
- package/dist/chunk-CJXM6SG4.js +339 -0
- package/dist/{chunk-5XDNUJ4P.js → chunk-CQD26SMZ.js} +4 -2
- package/dist/{chunk-7TGYNOXD.js → chunk-CW5SEPUT.js} +7 -7
- package/dist/{chunk-5KTOPOEP.js → chunk-CWSZP2LU.js} +25 -25
- package/dist/chunk-CXK27ZUY.js +32 -0
- package/dist/{chunk-YGKYFMSL.js → chunk-CXY4YDXS.js} +3 -3
- package/dist/{chunk-R64GLVBO.js → chunk-DDZZXVQ5.js} +10 -10
- package/dist/{chunk-7YYEKTYF.js → chunk-DGZXJO5I.js} +8 -8
- package/dist/{chunk-IV7BCWWN.js → chunk-DONCF2XC.js} +3 -3
- package/dist/{chunk-RRVT4MPS.js → chunk-DPNCAFMB.js} +18 -18
- package/dist/{chunk-UBWCUP3G.js → chunk-DQKNOHUZ.js} +2 -2
- package/dist/{chunk-NGPU2ARF.js → chunk-DW4BM73R.js} +1 -1
- package/dist/{chunk-PEF5OEMB.js → chunk-DWN7RSNQ.js} +4 -4
- package/dist/{chunk-KC5DROFC.js → chunk-DWYPYVPJ.js} +14 -14
- package/dist/{chunk-B7434AE2.js → chunk-E73QLYK7.js} +24 -3
- package/dist/{chunk-EX6ZXS5K.js → chunk-EE3UNC44.js} +4 -4
- package/dist/chunk-EJDZEK22.js +53 -0
- package/dist/{chunk-ISNZYKAS.js → chunk-ENZWVTTN.js} +21 -21
- package/dist/{chunk-ROTY5J2L.js → chunk-EREL3TQG.js} +1 -1
- package/dist/{chunk-ZZXF6OOJ.js → chunk-ESGIBN3S.js} +2 -2
- package/dist/{chunk-YGR6OCHQ.js → chunk-EU7VTBAI.js} +8 -14
- package/dist/chunk-F5GA6G3U.js +48 -0
- package/dist/{chunk-JAA53T23.js → chunk-F6FGIYPT.js} +20 -20
- package/dist/{chunk-NPCD54I7.js → chunk-FAET4BB6.js} +8 -5
- package/dist/{chunk-YPBQNJHA.js → chunk-FBFSTYAB.js} +8 -8
- package/dist/{chunk-OEI7LVRP.js → chunk-FEBYMFZA.js} +24 -24
- package/dist/chunk-FMV6IZ3P.js +54 -0
- package/dist/{chunk-F7UQR4ZX.js → chunk-FQ6IBYFC.js} +3 -3
- package/dist/{chunk-J5LHDJU4.js → chunk-FSJMFPA3.js} +7 -7
- package/dist/chunk-GFZ5MIQG.js +47 -0
- package/dist/{chunk-LK44ULGI.js → chunk-GHSVJNVL.js} +104 -11
- package/dist/{chunk-LRS573EX.js → chunk-GKPOCUQR.js} +12 -7
- package/dist/{chunk-LDKUC2QJ.js → chunk-GLSNVC67.js} +17 -17
- package/dist/{chunk-47QE246J.js → chunk-GMDOXWIS.js} +5 -5
- package/dist/{chunk-5MI2SEV5.js → chunk-GN5ZLSLD.js} +3 -3
- package/dist/{chunk-JQ7XQPQS.js → chunk-GUNBOZ75.js} +4 -4
- package/dist/{chunk-HHUFVJF7.js → chunk-GYS64N6F.js} +6 -6
- package/dist/{chunk-AKJTKMXU.js → chunk-HIQWJ6JZ.js} +5 -5
- package/dist/{chunk-6GNS32SI.js → chunk-HJ52XDST.js} +4 -4
- package/dist/{chunk-2KDSXJFJ.js → chunk-HJUEQERG.js} +34 -7
- package/dist/chunk-HKGQUOQ3.js +88 -0
- package/dist/chunk-HP32HUWR.js +41 -0
- package/dist/{chunk-R4TBNKKC.js → chunk-HY2VVVFZ.js} +1249 -610
- package/dist/{chunk-G5SFOH7P.js → chunk-I2PNEG3M.js} +38 -23
- package/dist/{chunk-Y5PZHS4K.js → chunk-INCECZ2E.js} +5 -5
- package/dist/{chunk-RK6MKKKP.js → chunk-ISXNWUG7.js} +1 -1
- package/dist/{chunk-73VPWF5R.js → chunk-ITJ7ST5E.js} +4 -4
- package/dist/{chunk-5IALSMZ2.js → chunk-J3VAFDEX.js} +14 -14
- package/dist/chunk-JGLZUQVN.js +29 -0
- package/dist/{chunk-5XN76FTF.js → chunk-JLIEAQP4.js} +5 -5
- package/dist/{chunk-MGVYVW7Q.js → chunk-JQG4VO47.js} +1 -1
- package/dist/chunk-JXXQHETS.js +130 -0
- package/dist/{chunk-APSVL2AI.js → chunk-KNGESBFW.js} +15 -15
- package/dist/{chunk-7UKVYFQ2.js → chunk-KUYA2E7M.js} +8 -8
- package/dist/{chunk-WLIIQ2A4.js → chunk-KY2ZHTBJ.js} +7 -7
- package/dist/{chunk-YPIEYQF4.js → chunk-L4UIKAWD.js} +6 -6
- package/dist/chunk-LDUJ6NIT.js +247 -0
- package/dist/{chunk-5YIBJXGB.js → chunk-LTLR4JZJ.js} +10 -10
- package/dist/{chunk-IZNSAEBX.js → chunk-MFRPLAOH.js} +2 -2
- package/dist/{chunk-6GWHKMQR.js → chunk-MH7UBG47.js} +4 -4
- package/dist/{chunk-4GZXS6S2.js → chunk-MLAACAES.js} +278 -17
- package/dist/{chunk-D3PO4DOZ.js → chunk-MMB2OHUY.js} +4 -2
- package/dist/{chunk-DDAHCPGA.js → chunk-MNCQ2GL7.js} +12 -12
- package/dist/{chunk-UYYN2IUZ.js → chunk-MNUZX67F.js} +6 -6
- package/dist/{chunk-YFSSNGLR.js → chunk-MQHYCS6A.js} +32 -29
- package/dist/{chunk-MKRBG5EF.js → chunk-MRLCNXXR.js} +1 -1
- package/dist/{chunk-BUYJL3GJ.js → chunk-NBQO75XT.js} +1 -1
- package/dist/{chunk-GXJVY6WT.js → chunk-NCONDPHH.js} +5 -5
- package/dist/{chunk-ZP4FJHR4.js → chunk-NHS55U7T.js} +18 -18
- package/dist/{chunk-CRE4BJHM.js → chunk-NL6XQZSV.js} +23 -23
- package/dist/{chunk-YVLMBAYE.js → chunk-NSJ6ZR2A.js} +3 -3
- package/dist/{chunk-XRO65C7V.js → chunk-NTNJNRHW.js} +8 -6
- package/dist/{chunk-FTV6I76U.js → chunk-NTTXTLCQ.js} +25 -25
- package/dist/chunk-NWL7XEQ4.js +37 -0
- package/dist/{chunk-CNKGYDMG.js → chunk-NWXY3B4R.js} +23 -23
- package/dist/{chunk-52R2YXP5.js → chunk-O5W4ECUY.js} +16 -16
- package/dist/{chunk-OGRWQ562.js → chunk-O6ILVBYB.js} +2 -2
- package/dist/{chunk-BJPMKJTL.js → chunk-OJAJXU65.js} +102 -2
- package/dist/{chunk-FZL2HNWP.js → chunk-OMH3I5BH.js} +3 -3
- package/dist/{chunk-MF7QH4AX.js → chunk-P6UJ22XR.js} +5 -5
- package/dist/{chunk-HE4ZQXZM.js → chunk-P76AW3PA.js} +309 -15
- package/dist/{chunk-GZ4TKR3Q.js → chunk-PCCPXWJC.js} +48 -139
- package/dist/{chunk-6TJCUYC5.js → chunk-PGFRXGHA.js} +3 -3
- package/dist/{chunk-NIXVDQVO.js → chunk-PJRMMWU4.js} +2 -2
- package/dist/{chunk-X4W4XXWP.js → chunk-PKJ3K3GM.js} +5 -5
- package/dist/{chunk-KM2FBM3T.js → chunk-PVW2N63M.js} +302 -55
- package/dist/{chunk-Y7KBQ4BD.js → chunk-Q55UP5EZ.js} +22 -22
- package/dist/{chunk-7URGP4DD.js → chunk-QAFMLBPF.js} +12 -12
- package/dist/{chunk-KIAI6PWL.js → chunk-QEZSA2O7.js} +17 -17
- package/dist/{chunk-PKCMRPPB.js → chunk-QJ3OX7OC.js} +33 -27
- package/dist/{chunk-6EDQE7GO.js → chunk-QL4VNY4U.js} +2 -2
- package/dist/{chunk-6JLPXDWN.js → chunk-QR65C3DV.js} +5 -5
- package/dist/{chunk-ILFKECGI.js → chunk-QXGOEP44.js} +4 -4
- package/dist/chunk-QY7RGTUP.js +326 -0
- package/dist/{chunk-PGKHJYOB.js → chunk-RA64IK43.js} +1 -1
- package/dist/{chunk-XB5RFZHH.js → chunk-RLJDYLID.js} +12 -12
- package/dist/{chunk-AWECWW5Y.js → chunk-RMLUZYEA.js} +13 -11
- package/dist/chunk-RSVBX6A3.js +54 -0
- package/dist/chunk-RZWZO2JQ.js +42 -0
- package/dist/chunk-S5LSDXV4.js +40 -0
- package/dist/{chunk-TM7LC37P.js → chunk-SAC6FNKR.js} +181 -117
- package/dist/{chunk-DPHCFZ7W.js → chunk-SCBU46AJ.js} +3 -3
- package/dist/{chunk-EZIUFEN6.js → chunk-SGNHNN3G.js} +12 -12
- package/dist/{chunk-XKZHAD6Y.js → chunk-SHAAGH3T.js} +15 -15
- package/dist/chunk-SK5OYWIY.js +122 -0
- package/dist/{chunk-FR7JPYBD.js → chunk-SNSFQ47W.js} +12 -12
- package/dist/{chunk-FV5YFR6I.js → chunk-SSL6JMPA.js} +9 -9
- package/dist/{chunk-XEG3FE2R.js → chunk-TA2ZNDYD.js} +1 -1
- package/dist/{chunk-JF2NSTFO.js → chunk-TEHH47TG.js} +3 -3
- package/dist/{chunk-W5OYJMBT.js → chunk-TEZSZ24W.js} +5 -5
- package/dist/{chunk-SS66Q4VE.js → chunk-TH526O6E.js} +12 -12
- package/dist/{chunk-R6B6XAKK.js → chunk-TIAPEYWI.js} +4 -4
- package/dist/chunk-TLCRIAU3.js +44 -0
- package/dist/{chunk-FMKKVWZD.js → chunk-TQYBXDVH.js} +2 -2
- package/dist/chunk-TV4CGNEY.js +43 -0
- package/dist/{chunk-QICFHVRW.js → chunk-TVSNWIAM.js} +8 -6
- package/dist/{chunk-CHC5FKTU.js → chunk-TWHZU36X.js} +1 -1
- package/dist/{chunk-BMCKL3VQ.js → chunk-TXV2AYZB.js} +24 -24
- package/dist/{chunk-577AJVRS.js → chunk-U25OX22K.js} +2039 -289
- package/dist/{chunk-7EKESFWV.js → chunk-U4NNG3ES.js} +11 -11
- package/dist/{chunk-XQ3YIV5R.js → chunk-U5T4A2QV.js} +6 -6
- package/dist/{chunk-2XM6PYQQ.js → chunk-UT5OA7KA.js} +43 -11
- package/dist/{chunk-BXIX7S7O.js → chunk-V3VCUSQ6.js} +15 -15
- package/dist/{chunk-4QUQEBFT.js → chunk-V5XV3JSP.js} +6 -6
- package/dist/{chunk-F7YL2RZ4.js → chunk-VF4VOPMB.js} +23 -23
- package/dist/{chunk-3QAKDIEU.js → chunk-VLDM4QZM.js} +23 -23
- package/dist/chunk-VP5H6DII.js +34 -0
- package/dist/{chunk-N3NBWIYQ.js → chunk-VRYQJZFL.js} +10 -9
- package/dist/{chunk-FQSRHTTC.js → chunk-VS6FS472.js} +15 -15
- package/dist/{chunk-YMOJD5BO.js → chunk-VTMIRRIZ.js} +3 -3
- package/dist/{chunk-4PJADZRR.js → chunk-VXSJKWB7.js} +16 -16
- package/dist/{chunk-MTAUZW2Z.js → chunk-WE5VMPUP.js} +216 -106
- package/dist/{chunk-ZE3P35DA.js → chunk-WEG7DY5K.js} +9 -9
- package/dist/{chunk-V2TH46ZY.js → chunk-WIF7A6JU.js} +12 -12
- package/dist/{chunk-GFXLPJWY.js → chunk-WM4N2L4T.js} +2 -2
- package/dist/{chunk-XIWYUQZQ.js → chunk-X64BFQ3R.js} +9 -9
- package/dist/{chunk-QWVBEK4P.js → chunk-XJRC3ZDI.js} +13 -13
- package/dist/{chunk-F2FOQLJ7.js → chunk-XVIVWG7B.js} +6 -6
- package/dist/{chunk-XTVDAHH2.js → chunk-Y3ZKT6IF.js} +5 -5
- package/dist/{chunk-62YMDXY6.js → chunk-YURIUFKF.js} +16 -16
- package/dist/{chunk-HKTUIMH4.js → chunk-YY2WGL6S.js} +3 -3
- package/dist/{chunk-BDEKREZH.js → chunk-Z2BA4NNR.js} +3 -3
- package/dist/{chunk-MTEBM4Y4.js → chunk-Z47YGBUY.js} +19 -12
- package/dist/chunk-Z4JSRKNR.js +41 -0
- package/dist/{chunk-G2E5MNYP.js → chunk-Z53ZB34U.js} +7 -7
- package/dist/{chunk-NNUASOAA.js → chunk-ZBOPIYOY.js} +12 -12
- package/dist/{chunk-7GB4ZRE2.js → chunk-ZBQCLKTH.js} +12 -12
- package/dist/chunk-ZGI7DNJ6.js +38 -0
- package/dist/{chunk-P3TKKBAH.js → chunk-ZPT4QX3J.js} +4 -4
- package/dist/chunk-ZS47PQ3O.js +41 -0
- package/dist/{chunk-PIVKU64W.js → chunk-ZTIMXVV5.js} +2 -2
- package/dist/{chunk-T4RTWMJD.js → chunk-ZYASEL7K.js} +5 -5
- package/dist/files.json +469 -417
- package/dist/packages/sdk/npm/index.js +2309 -1983
- package/dist/packages/ui/dist/assets/{elk-api-Mo5w5xCa.js → elk-api-D2NcYpUJ.js} +2 -2
- package/dist/packages/ui/dist/assets/{index-Bp3XhPHX.css → index-C0JEkXyN.css} +1 -1
- package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
- package/dist/packages/ui/dist/index.html +2 -2
- package/package.json +4 -4
- package/dist/chunk-26PLPSQW.js +0 -48
- package/dist/chunk-2G4DFUWJ.js +0 -43
- package/dist/chunk-2M6WXO73.js +0 -38
- package/dist/chunk-5F3RJCHB.js +0 -45
- package/dist/chunk-B2VSVN4P.js +0 -34
- package/dist/chunk-B3O52AUQ.js +0 -275
- package/dist/chunk-CITDNDIZ.js +0 -53
- package/dist/chunk-DAQBIK5G.js +0 -47
- package/dist/chunk-DZRQDNPT.js +0 -34
- package/dist/chunk-FLOEZA6K.js +0 -29
- package/dist/chunk-FNHSVBRA.js +0 -48
- package/dist/chunk-FPGVOSOG.js +0 -41
- package/dist/chunk-FZ2E5LGK.js +0 -54
- package/dist/chunk-HB6XSGI6.js +0 -131
- package/dist/chunk-HUZQDKQK.js +0 -48
- package/dist/chunk-L4VJ4ETL.js +0 -41
- package/dist/chunk-XPCWQXTY.js +0 -37
- package/dist/chunk-YIEOFHOL.js +0 -30
- package/dist/packages/ui/dist/assets/index-DM212ZbV.js +0 -29
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
ATTICUS_FOLDER_IGNORE,
|
|
8
8
|
CHECKLISTS_README,
|
|
9
9
|
STARTER_CHECKLISTS_README
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-DDZZXVQ5.js";
|
|
11
11
|
import {
|
|
12
12
|
openspecRootOf,
|
|
13
13
|
rewriteStories
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DWYPYVPJ.js";
|
|
15
15
|
import {
|
|
16
16
|
STARTER_REVIEW_PATH,
|
|
17
17
|
readPackFiles,
|
|
18
18
|
starterReviewText
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GMDOXWIS.js";
|
|
20
20
|
import {
|
|
21
21
|
metarepoOrigin
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-U5T4A2QV.js";
|
|
23
23
|
import {
|
|
24
24
|
ORG_FLOW_VERSION,
|
|
25
25
|
STORE_MARKER,
|
|
@@ -28,16 +28,16 @@ import {
|
|
|
28
28
|
storeIdOf,
|
|
29
29
|
writeOrgFlowSchema,
|
|
30
30
|
writeStoreMarker
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-JQG4VO47.js";
|
|
32
32
|
import {
|
|
33
33
|
VERSION,
|
|
34
34
|
versionAtLeast
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-TWHZU36X.js";
|
|
36
36
|
import {
|
|
37
37
|
IGNORED,
|
|
38
38
|
ensureGitignore,
|
|
39
39
|
gitUser
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-RA64IK43.js";
|
|
41
41
|
import {
|
|
42
42
|
MetarepoStamp,
|
|
43
43
|
WORKSPACE_SCHEMA_VERSION,
|
|
@@ -59,12 +59,12 @@ import {
|
|
|
59
59
|
require_dist,
|
|
60
60
|
specsDirOf,
|
|
61
61
|
specsRelOf
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-U25OX22K.js";
|
|
63
63
|
import {
|
|
64
64
|
LOCAL_ONLY,
|
|
65
65
|
ensureLocalIgnore,
|
|
66
66
|
writeFileAtomic
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-MMB2OHUY.js";
|
|
68
68
|
import {
|
|
69
69
|
__toESM
|
|
70
70
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -159,8 +159,9 @@ var MIGRATIONS = [
|
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
|
+
// The id is kept as it was first shipped (stamps record it); the step writes the current version.
|
|
162
163
|
id: "questions-v3",
|
|
163
|
-
summary: "Questions at schema version
|
|
164
|
+
summary: "Questions at schema version 4: a question can name the earlier one it may be the same as (ADR 0117), an answer can carry its rule and the proposal it accepted (ADR 0153), and a question the code later disagreed with keeps why it reopened and the answer it had (ADR 0162)",
|
|
164
165
|
pending: (root) => migrateQuestions(root, { dryRun: true }),
|
|
165
166
|
apply: (root) => migrateQuestions(root)
|
|
166
167
|
},
|
|
@@ -181,6 +182,8 @@ var MIGRATIONS = [
|
|
|
181
182
|
},
|
|
182
183
|
// The version-2 files: only the number changes, no field gains a required (ADR 0125).
|
|
183
184
|
catalogStep("catalog-schema-v3", "Catalog records at schema version 3: a Schema field can say whether it is required (ADR 0125)", [2]),
|
|
185
|
+
// The version-3 files: only the number changes; version 4 adds a Schema format (ADR 0164).
|
|
186
|
+
catalogStep("catalog-schema-v4", "Catalog records at schema version 4: a Schema can be a protobuf message (ADR 0164)", [3]),
|
|
184
187
|
sourcesStep("sources-v2", "sources.yaml at version 2: a wiki can include and exclude pages by pattern; every wiki still reads every page (ADR 0083)", { from: 1, to: 2 }),
|
|
185
188
|
// ADR 0132: from version 1 or 2 (a version 1 file is moved to 2 by the step before, then here).
|
|
186
189
|
sourcesStep("sources-v3", "sources.yaml at version 3: a wiki can say how much its word counts (authority) and where it applies (appliesTo); every wiki still ranks as a team's and applies everywhere (ADR 0132)", { to: 3 }),
|
|
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
judgingRuntime
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EREL3TQG.js";
|
|
9
9
|
import {
|
|
10
10
|
draftChange,
|
|
11
11
|
draftTemplates,
|
|
@@ -16,17 +16,17 @@ import {
|
|
|
16
16
|
storyBar,
|
|
17
17
|
submitRequests,
|
|
18
18
|
syncWorkItems
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-DWYPYVPJ.js";
|
|
20
20
|
import {
|
|
21
21
|
table
|
|
22
22
|
} from "./chunk-VOGCSYOI.js";
|
|
23
23
|
import {
|
|
24
24
|
runtimeForCli
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-CQD26SMZ.js";
|
|
26
26
|
import {
|
|
27
27
|
changesRelOf,
|
|
28
28
|
proposalsRelOf
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-U25OX22K.js";
|
|
30
30
|
|
|
31
31
|
// packages/cli/dist/plan-commands.js
|
|
32
32
|
import { resolve } from "node:path";
|
|
@@ -124,9 +124,9 @@ import {
|
|
|
124
124
|
verdictOf,
|
|
125
125
|
withPromptLimit,
|
|
126
126
|
wrapData
|
|
127
|
-
} from "./chunk-
|
|
128
|
-
import "./chunk-
|
|
129
|
-
import "./chunk-
|
|
127
|
+
} from "./chunk-CQD26SMZ.js";
|
|
128
|
+
import "./chunk-U25OX22K.js";
|
|
129
|
+
import "./chunk-MMB2OHUY.js";
|
|
130
130
|
import "./chunk-TV45EUGM.js";
|
|
131
131
|
export {
|
|
132
132
|
ANSWERED_BY_SPEC,
|
|
@@ -4,25 +4,31 @@ var require = __atticusCreateRequire(import.meta.url);
|
|
|
4
4
|
var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
|
+
globHolds
|
|
8
|
+
} from "./chunk-P76AW3PA.js";
|
|
9
|
+
import "./chunk-7VNEDDCC.js";
|
|
10
|
+
import {
|
|
11
|
+
lineRangeOf,
|
|
7
12
|
planGaps,
|
|
8
13
|
sameCommit
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-MLAACAES.js";
|
|
15
|
+
import "./chunk-34NWVIBC.js";
|
|
16
|
+
import "./chunk-RA64IK43.js";
|
|
17
|
+
import "./chunk-MRLCNXXR.js";
|
|
12
18
|
import {
|
|
13
19
|
DATA_RULE,
|
|
14
20
|
estimateTokens,
|
|
15
21
|
neutralise,
|
|
16
22
|
wrapData
|
|
17
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-CQD26SMZ.js";
|
|
18
24
|
import {
|
|
19
25
|
factsDirOf,
|
|
20
26
|
factsRelOf,
|
|
21
27
|
require_dist
|
|
22
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-U25OX22K.js";
|
|
23
29
|
import {
|
|
24
30
|
writeFileAtomic
|
|
25
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-MMB2OHUY.js";
|
|
26
32
|
import {
|
|
27
33
|
__toESM
|
|
28
34
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -60,7 +66,7 @@ async function mapGaps(root, repo, o, io) {
|
|
|
60
66
|
const t = o.source.read(file);
|
|
61
67
|
return t === void 0 ? void 0 : { tokens: estimateTokens(t), lines: t.split(/\r?\n/).length };
|
|
62
68
|
};
|
|
63
|
-
const
|
|
69
|
+
const from = {
|
|
64
70
|
...v.coverage?.unknown ? { unknown: v.coverage.unknown } : {},
|
|
65
71
|
...v.skipped ? { skipped: v.skipped } : {},
|
|
66
72
|
...v.skippedCount !== void 0 ? { skippedCount: v.skippedCount } : {},
|
|
@@ -68,31 +74,42 @@ async function mapGaps(root, repo, o, io) {
|
|
|
68
74
|
...v.specOpsUncovered ? { specOpsUncovered: v.specOpsUncovered } : {},
|
|
69
75
|
...v.specOpsUncoveredCount !== void 0 ? { specOpsUncoveredCount: v.specOpsUncoveredCount } : {},
|
|
70
76
|
...v.entriesNoFlowFollows ? { entriesNoFlowFollows: v.entriesNoFlowFollows } : {}
|
|
71
|
-
}
|
|
77
|
+
};
|
|
78
|
+
const plan = o.part ? partRest(from, o.part.left, size, o.session) : planGaps(from, size, o.session);
|
|
72
79
|
const promptRel = gapsRelOf(root, repo);
|
|
73
80
|
if (plan.sessions.length)
|
|
74
|
-
await writeFileAtomic(join(dir, `${repo}.gaps.md`), gapsPrompt(repo, o.commit, plan, {
|
|
81
|
+
await writeFileAtomic(join(dir, `${repo}.gaps.md`), gapsPrompt(repo, o.commit, plan, {
|
|
82
|
+
rel,
|
|
83
|
+
session: o.session,
|
|
84
|
+
...o.part ? { part: o.part.n } : {}
|
|
85
|
+
}));
|
|
75
86
|
if (o.json) {
|
|
76
87
|
io.out(JSON.stringify({
|
|
77
88
|
repo,
|
|
78
89
|
commit: o.commit,
|
|
79
90
|
session: o.session,
|
|
80
91
|
...plan,
|
|
92
|
+
...o.part ? { part: o.part.n } : {},
|
|
81
93
|
...plan.sessions.length ? { prompt: promptRel } : {}
|
|
82
94
|
}, null, 2));
|
|
83
95
|
return 0;
|
|
84
96
|
}
|
|
97
|
+
const again = o.part ? `${repo} --part ${o.part.n} --gaps` : `${repo} --gaps`;
|
|
98
|
+
if (!plan.sessions.length && o.part) {
|
|
99
|
+
io.out(`Nothing is left of part ${o.part.n} of ${repo}: every file it reads is cited by a kept fact or reviewed.`);
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
85
102
|
if (!plan.sessions.length) {
|
|
86
103
|
io.out(`No gaps left in ${repo}: the last verify lists no file no fact cites, no skipped line, no spec operation and no entry to follow.${plan.gone.length ? ` (${plan.gone.length} listed ${plan.gone.length === 1 ? "file is" : "files are"} gone from the checkout.)` : ""}`);
|
|
87
104
|
return 0;
|
|
88
105
|
}
|
|
89
106
|
const n = plan.sessions.length;
|
|
90
107
|
const first = plan.sessions[0];
|
|
91
|
-
io.out(`Second pass on the gaps of ${repo}: ${plan.files} ${plan.files === 1 ? "file" : "files"}, about ${plan.tokens.toLocaleString("en-US")} tokens, in ${n} ${n === 1 ? "session" : "sessions"} of ${o.session.toLocaleString("en-US")} at most.`);
|
|
108
|
+
io.out(`${o.part ? `The rest of part ${o.part.n} of ${repo}` : `Second pass on the gaps of ${repo}`}: ${plan.files} ${plan.files === 1 ? "file" : "files"}, about ${plan.tokens.toLocaleString("en-US")} tokens, in ${n} ${n === 1 ? "session" : "sessions"} of ${o.session.toLocaleString("en-US")} at most.`);
|
|
92
109
|
io.out(`Wrote ${promptRel}: session 1${n > 1 ? ` of ${n}` : ""}, ${first.reads.length} ${first.reads.length === 1 ? "read" : "reads"}, about ${first.tokens.toLocaleString("en-US")} tokens.`);
|
|
93
110
|
if (plan.unlisted)
|
|
94
111
|
io.out(`${plan.unlisted} more skipped lines or spec operations are counted in ${verifyYaml} but not listed: verify after this pass and --gaps again plans them.`);
|
|
95
|
-
io.out(`Start a new chat, so the session holds only these files and lines, and run /atticus-map ${
|
|
112
|
+
io.out(`Start a new chat, so the session holds only these files and lines, and run /atticus-map ${again} there (or paste ${promptRel}).`);
|
|
96
113
|
return 0;
|
|
97
114
|
}
|
|
98
115
|
function gapsPrompt(repo, commit, plan, c) {
|
|
@@ -104,14 +121,16 @@ function gapsPrompt(repo, commit, plan, c) {
|
|
|
104
121
|
]).join("\n");
|
|
105
122
|
const data = wrapData({ id: `${repo}.gaps`, kind: "gaps", origin: `${c.rel}/${repo}.verify.yaml` }, neutralise(list, void 0, { mark: true }).text);
|
|
106
123
|
return [
|
|
107
|
-
`# Second pass on the gaps of ${repo} at ${commit}`,
|
|
124
|
+
c.part ? `# The rest of part ${c.part} of ${repo} at ${commit}` : `# Second pass on the gaps of ${repo} at ${commit}`,
|
|
108
125
|
"",
|
|
109
|
-
`Session 1${n > 1 ? ` of ${n}` : ""}, about ${s.tokens.toLocaleString("en-US")} tokens of source. The first read is done and verified; this session reads only what it left (ADR 0157). Open each path below and nothing else: a path ending \`#L<from>-L<to>\` by those lines only, never the whole file.`,
|
|
126
|
+
`Session 1${n > 1 ? ` of ${n}` : ""}, about ${s.tokens.toLocaleString("en-US")} tokens of source. ${c.part ? `The read of part ${c.part} stopped before it was done; what it wrote is verified and kept, so this session reads only the files of the part it left (ADR 0161).` : "The first read is done and verified; this session reads only what it left (ADR 0157)."} Open each path below and nothing else: a path ending \`#L<from>-L<to>\` by those lines only, never the whole file.`,
|
|
110
127
|
"",
|
|
111
128
|
`- Write each fact to \`${c.rel}/${repo}.jsonl\`, appended, under the same rules and id rules as the first read, with \`commit\` ${commit}. A fact already in the file keeps its id: look for it before you write it.`,
|
|
112
129
|
`- A path or line that holds nothing to record: a line in \`${c.rel}/${repo}.reviewed.jsonl\`, \`{"path": "<the path below>", "why": "..."}\`.`,
|
|
113
130
|
`- Then run \`atticus verify ${repo}\` and fix what it rejects until it exits 0.`,
|
|
114
|
-
...n > 1 || plan.unlisted ? [
|
|
131
|
+
...n > 1 || plan.unlisted ? [
|
|
132
|
+
`- Then \`atticus map ${repo}${c.part ? ` --part ${c.part}` : ""} --gaps\` plans what is left, for another new chat.`
|
|
133
|
+
] : [],
|
|
115
134
|
"",
|
|
116
135
|
"## Read",
|
|
117
136
|
"",
|
|
@@ -121,8 +140,52 @@ function gapsPrompt(repo, commit, plan, c) {
|
|
|
121
140
|
""
|
|
122
141
|
].join("\n");
|
|
123
142
|
}
|
|
143
|
+
function partRest(from, left, size, room) {
|
|
144
|
+
const ranges = left.filter((g) => lineRangeOf(g));
|
|
145
|
+
const folders = left.filter((g) => !lineRangeOf(g));
|
|
146
|
+
const inPart = (file) => folders.some((g) => globHolds(g, file));
|
|
147
|
+
const fileOf = (cite) => cite.replace(/:\d+$/, "");
|
|
148
|
+
const plan = planGaps({
|
|
149
|
+
unknown: (from.unknown ?? []).filter(inPart),
|
|
150
|
+
...from.skipped ? { skipped: from.skipped.filter((x) => inPart(fileOf(x.cite))) } : {},
|
|
151
|
+
...from.specOpsUncovered ? { specOpsUncovered: from.specOpsUncovered.filter((x) => inPart(fileOf(x.cite))) } : {},
|
|
152
|
+
...from.entriesNoFlowFollows ? { entriesNoFlowFollows: from.entriesNoFlowFollows.filter((x) => inPart(fileOf(x.cite))) } : {}
|
|
153
|
+
}, size, room);
|
|
154
|
+
const sessions = plan.sessions.map((x) => ({ reads: [...x.reads], tokens: x.tokens }));
|
|
155
|
+
const gone = [...plan.gone];
|
|
156
|
+
for (const g of ranges) {
|
|
157
|
+
const r = lineRangeOf(g);
|
|
158
|
+
const sz = size(r.file);
|
|
159
|
+
if (!sz) {
|
|
160
|
+
gone.push(r.file);
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
const tokens = Math.ceil(sz.tokens * (r.to - r.from + 1) / Math.max(1, sz.lines));
|
|
164
|
+
const read = {
|
|
165
|
+
path: g,
|
|
166
|
+
file: r.file,
|
|
167
|
+
tokens,
|
|
168
|
+
why: ["no fact cites a line of this range yet: read these lines"]
|
|
169
|
+
};
|
|
170
|
+
const last = sessions.at(-1);
|
|
171
|
+
if (last && last.tokens + tokens <= room) {
|
|
172
|
+
last.reads.push(read);
|
|
173
|
+
last.tokens += tokens;
|
|
174
|
+
} else
|
|
175
|
+
sessions.push({ reads: [read], tokens });
|
|
176
|
+
}
|
|
177
|
+
const reads = sessions.flatMap((x) => x.reads);
|
|
178
|
+
return {
|
|
179
|
+
sessions,
|
|
180
|
+
files: new Set(reads.map((r) => r.file)).size,
|
|
181
|
+
tokens: reads.reduce((n, r) => n + r.tokens, 0),
|
|
182
|
+
unlisted: 0,
|
|
183
|
+
gone: [...new Set(gone)]
|
|
184
|
+
};
|
|
185
|
+
}
|
|
124
186
|
export {
|
|
125
187
|
gapsPrompt,
|
|
126
188
|
gapsRelOf,
|
|
127
|
-
mapGaps
|
|
189
|
+
mapGaps,
|
|
190
|
+
partRest
|
|
128
191
|
};
|
|
@@ -3,21 +3,39 @@ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
|
|
|
3
3
|
var require = __atticusCreateRequire(import.meta.url);
|
|
4
4
|
var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
|
+
import {
|
|
7
|
+
termNoteOffer
|
|
8
|
+
} from "./chunk-LDUJ6NIT.js";
|
|
9
|
+
import "./chunk-X64BFQ3R.js";
|
|
6
10
|
import {
|
|
7
11
|
routeQuestions
|
|
8
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-E73QLYK7.js";
|
|
13
|
+
import "./chunk-ZPT4QX3J.js";
|
|
14
|
+
import "./chunk-7VNEDDCC.js";
|
|
15
|
+
import "./chunk-INCECZ2E.js";
|
|
9
16
|
import {
|
|
10
17
|
waitingQuestions
|
|
11
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ISXNWUG7.js";
|
|
19
|
+
import "./chunk-22GLUHGE.js";
|
|
20
|
+
import "./chunk-QR65C3DV.js";
|
|
21
|
+
import "./chunk-MLAACAES.js";
|
|
22
|
+
import "./chunk-HY2VVVFZ.js";
|
|
23
|
+
import "./chunk-PJRMMWU4.js";
|
|
24
|
+
import "./chunk-34NWVIBC.js";
|
|
25
|
+
import "./chunk-TEHH47TG.js";
|
|
26
|
+
import "./chunk-77UOXZVM.js";
|
|
12
27
|
import {
|
|
13
28
|
gitUser
|
|
14
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-RA64IK43.js";
|
|
30
|
+
import "./chunk-MRLCNXXR.js";
|
|
31
|
+
import "./chunk-CQD26SMZ.js";
|
|
15
32
|
import {
|
|
16
33
|
HOSTS_STEP,
|
|
17
34
|
QuestionError,
|
|
18
35
|
QuestionScopeLevel,
|
|
19
36
|
QuestionState,
|
|
20
37
|
TARGETS_STEP_ID,
|
|
38
|
+
TOPICS_STEP_ID,
|
|
21
39
|
acceptProposal,
|
|
22
40
|
answerQuestion,
|
|
23
41
|
answerWords,
|
|
@@ -29,11 +47,12 @@ import {
|
|
|
29
47
|
proposalsRelOf,
|
|
30
48
|
questionsRelOf,
|
|
31
49
|
readQuestion,
|
|
32
|
-
require_dist
|
|
33
|
-
|
|
50
|
+
require_dist,
|
|
51
|
+
topicOfQuestion
|
|
52
|
+
} from "./chunk-U25OX22K.js";
|
|
34
53
|
import {
|
|
35
54
|
writeFileAtomic
|
|
36
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-MMB2OHUY.js";
|
|
37
56
|
import {
|
|
38
57
|
__toESM
|
|
39
58
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -228,13 +247,18 @@ function ruleLine(q, change = false) {
|
|
|
228
247
|
const what = a.match.startsWith("/") ? `whose path is under ${a.match}` : `on a host matching ${a.match}`;
|
|
229
248
|
return `It answers by rule: every call ${what}, in ${where}, reads this answer, the calls found later too.`;
|
|
230
249
|
}
|
|
250
|
+
function ruleOfferLine(id, r) {
|
|
251
|
+
const others = r.ids.length - 1;
|
|
252
|
+
return ` Answer once for all ${r.ids.length}: atticus questions answer ${id} --option <n> --match '${r.match}' covers the ${plural(r.calls, "call")} of these ${r.ids.length} questions, and the other ${others === 1 ? "one retires" : `${others} retire`} on the next verify --write (${r.ids.filter((x) => x !== id).join(", ")}).`;
|
|
253
|
+
}
|
|
231
254
|
function questionLines(q, o = {}) {
|
|
232
255
|
const lines = [
|
|
233
256
|
`${q.id} ${q.state} ${q.repo} (asked by ${q.askedBy.command} on ${q.askedBy.at.slice(0, 10)})`,
|
|
234
257
|
` ${q.question}`,
|
|
235
258
|
...aboutLines(o.about),
|
|
236
259
|
...q.options.map((o2, i) => ` ${i + 1}. ${o2.label}: ${sentence2(o2.means)} It would change: ${sentence2(o2.changes)}`),
|
|
237
|
-
` Evidence: ${q.evidence.join(", ")}
|
|
260
|
+
` Evidence: ${q.evidence.join(", ")}`,
|
|
261
|
+
...q.state === "open" && o.about?.rule ? [ruleOfferLine(q.id, o.about.rule)] : []
|
|
238
262
|
];
|
|
239
263
|
if (q.answer)
|
|
240
264
|
lines.push(` Answered by ${q.answer.by} on ${q.answer.at.slice(0, 10)}: ${answerWords(q)} (${scopeWords(q.answer.scope, true, o.change)})${q.answer.match ? `, by rule: ${q.answer.match}` : ""}`, ...q.answer.proposal ? [
|
|
@@ -262,7 +286,10 @@ async function questionsFiles(root, argv, io, deps = {}) {
|
|
|
262
286
|
"accept-proposal": { type: "boolean" },
|
|
263
287
|
match: { type: "string" },
|
|
264
288
|
apply: { type: "string" },
|
|
265
|
-
out: { type: "string" }
|
|
289
|
+
out: { type: "string" },
|
|
290
|
+
target: { type: "string" },
|
|
291
|
+
"add-system": { type: "string" },
|
|
292
|
+
name: { type: "string" }
|
|
266
293
|
}
|
|
267
294
|
});
|
|
268
295
|
const str = (v) => typeof v === "string" ? v : void 0;
|
|
@@ -319,9 +346,16 @@ async function questionsFiles(root, argv, io, deps = {}) {
|
|
|
319
346
|
}
|
|
320
347
|
const p = q.state === "open" ? await proposalOf(root, q.id) : void 0;
|
|
321
348
|
const proposal = p?.ok && p.proposal ? { ...p.proposal, file: p.file } : void 0;
|
|
322
|
-
if (values.json === true)
|
|
323
|
-
|
|
324
|
-
|
|
349
|
+
if (values.json === true) {
|
|
350
|
+
const picks = q.state === "open" && (q.askedBy.step === TARGETS_STEP_ID || q.askedBy.step === TOPICS_STEP_ID) ? await (await import("./chunk-JXXQHETS.js")).pickerOf(root) : void 0;
|
|
351
|
+
const rule = q.state === "open" && q.askedBy.step === TARGETS_STEP_ID ? (await routeQuestions(root, [q])).about[q.id]?.rule : void 0;
|
|
352
|
+
io.out(JSON.stringify({
|
|
353
|
+
...q,
|
|
354
|
+
...proposal ? { proposal } : {},
|
|
355
|
+
...picks ? { picks } : {},
|
|
356
|
+
...rule ? { rule } : {}
|
|
357
|
+
}, null, 2));
|
|
358
|
+
} else {
|
|
325
359
|
const routed = await routeQuestions(root, [q]);
|
|
326
360
|
const about = routed.about[q.id];
|
|
327
361
|
for (const l of questionLines(q, {
|
|
@@ -406,14 +440,62 @@ async function questionsFiles(root, argv, io, deps = {}) {
|
|
|
406
440
|
return 2;
|
|
407
441
|
}
|
|
408
442
|
const opt = str(values.option);
|
|
409
|
-
|
|
443
|
+
let text = str(values.text)?.trim() || void 0;
|
|
410
444
|
const accept = values["accept-proposal"] === true;
|
|
445
|
+
const target = str(values.target)?.trim() || void 0;
|
|
446
|
+
const addSystem = str(values["add-system"]);
|
|
447
|
+
if (addSystem !== void 0 && addSystem !== "vendor" && addSystem !== "internal") {
|
|
448
|
+
io.err("--add-system is vendor (an outside vendor) or internal (another team's system).");
|
|
449
|
+
return 2;
|
|
450
|
+
}
|
|
451
|
+
if (addSystem !== void 0 && !target) {
|
|
452
|
+
io.err("--add-system goes with --target <the system's name>.");
|
|
453
|
+
return 2;
|
|
454
|
+
}
|
|
455
|
+
let added;
|
|
456
|
+
let beforeWrite;
|
|
457
|
+
if (target) {
|
|
458
|
+
if (opt !== void 0 || text !== void 0 || accept) {
|
|
459
|
+
io.err("--target names the answer: give it alone, not with --option, --text or --accept-proposal.");
|
|
460
|
+
return 2;
|
|
461
|
+
}
|
|
462
|
+
const { readQuestion: readQuestion2 } = await import("./chunk-OJAJXU65.js");
|
|
463
|
+
const { targetAnswerOf, pickerOf, pickerText, offerLine } = await import("./chunk-JXXQHETS.js");
|
|
464
|
+
const q0 = await readQuestion2(root, id).catch(() => void 0);
|
|
465
|
+
if (!q0) {
|
|
466
|
+
io.err(`There is no question ${id}.`);
|
|
467
|
+
return 1;
|
|
468
|
+
}
|
|
469
|
+
const r = await targetAnswerOf(root, q0, target, {
|
|
470
|
+
...addSystem ? { addSystem } : {},
|
|
471
|
+
...str(values.name) ? { name: str(values.name) } : {}
|
|
472
|
+
});
|
|
473
|
+
if ("problem" in r) {
|
|
474
|
+
io.err(r.problem);
|
|
475
|
+
if (r.offer)
|
|
476
|
+
io.err(offerLine(id, target, r.offer));
|
|
477
|
+
else if (q0.askedBy.step === TARGETS_STEP_ID || q0.askedBy.step === TOPICS_STEP_ID) {
|
|
478
|
+
io.err("The repos, systems and teams --target takes:");
|
|
479
|
+
for (const l of pickerText(await pickerOf(root)))
|
|
480
|
+
io.err(` ${l}`);
|
|
481
|
+
}
|
|
482
|
+
return 2;
|
|
483
|
+
}
|
|
484
|
+
text = r.text;
|
|
485
|
+
if (r.write) {
|
|
486
|
+
const writeSystem = r.write;
|
|
487
|
+
beforeWrite = async () => {
|
|
488
|
+
const sys = await writeSystem();
|
|
489
|
+
added = sys.added ? `Wrote the system ${sys.id} (boundary ${sys.boundary}${sys.owner ? `, owner ${sys.owner}` : ""}${q0.askedBy.step !== TARGETS_STEP_ID ? `, topic ${topicOfQuestion(q0) ?? ""}` : ""}) into ${sys.profile}; review it in the same pull request.` : sys.topics?.length ? `Wrote ${sys.topics.join(", ")} under topics of ${sys.id} in ${sys.profile}, so the next write lands it there; review it in the same pull request.` : `${sys.profile} already has ${sys.id}${q0.askedBy.step !== TARGETS_STEP_ID ? `, with ${topicOfQuestion(q0) ?? "the topic"} among its topics` : ""}.`;
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
}
|
|
411
493
|
if (accept && (opt !== void 0 || text !== void 0)) {
|
|
412
494
|
io.err("--accept-proposal takes the proposed answer: give it alone, or answer with --option or --text instead.");
|
|
413
495
|
return 2;
|
|
414
496
|
}
|
|
415
497
|
if (!accept && opt === void 0 === (text === void 0)) {
|
|
416
|
-
io.err('Answer with --option <n> or --text "your own words", one of
|
|
498
|
+
io.err('Answer with --option <n> or --text "your own words" (--target <repo, system or team id> for where a call goes): one of them.');
|
|
417
499
|
return 2;
|
|
418
500
|
}
|
|
419
501
|
const option = opt === void 0 ? void 0 : Number(opt);
|
|
@@ -440,15 +522,21 @@ async function questionsFiles(root, argv, io, deps = {}) {
|
|
|
440
522
|
...option !== void 0 ? { option } : {},
|
|
441
523
|
...text !== void 0 ? { text } : {},
|
|
442
524
|
...scoped,
|
|
525
|
+
...beforeWrite ? { beforeWrite } : {},
|
|
443
526
|
by,
|
|
444
527
|
at
|
|
445
528
|
});
|
|
446
529
|
const q = r.question;
|
|
530
|
+
if (added)
|
|
531
|
+
io.out(added);
|
|
447
532
|
io.out(`Answered ${q.id}: ${answerWords(q)} (for ${q.answer.scope.level === "repo" ? `${await isChange(root, q.repo) ? "this change" : "this repo"}, ${q.repo}` : scopeWords(q.answer.scope)}). Wrote ${questionsRelOf(root)}/${q.id}.yaml; commit it for review.`);
|
|
448
533
|
if (accept)
|
|
449
534
|
io.out(`It was the assistant's proposal; you accepted it, so it is recorded as answered by ${q.answer.by}, with the proposal it came from.`);
|
|
450
535
|
if (q.answer.match)
|
|
451
536
|
io.out(ruleLine(q, await isChange(root, q.repo)));
|
|
537
|
+
const offer = termNoteOffer(q);
|
|
538
|
+
if (offer)
|
|
539
|
+
io.out(offer);
|
|
452
540
|
if (r.skill)
|
|
453
541
|
io.out(r.skill.written ? `Also wrote it under Answers in ${r.skill.path}; review it in the same pull request.` : `${r.skill.path} isn't there yet, so the answer is kept in the question file, with that path.`);
|
|
454
542
|
if (r.hosts)
|
|
@@ -463,11 +551,16 @@ async function questionsFiles(root, argv, io, deps = {}) {
|
|
|
463
551
|
if (!(e instanceof QuestionError))
|
|
464
552
|
throw e;
|
|
465
553
|
io.err(e.message);
|
|
554
|
+
if (/opens the list of every repo/.test(e.message)) {
|
|
555
|
+
const { pickerOf, pickerText } = await import("./chunk-JXXQHETS.js");
|
|
556
|
+
for (const l of pickerText(await pickerOf(root)))
|
|
557
|
+
io.err(` ${l}`);
|
|
558
|
+
}
|
|
466
559
|
return e.code === "bad-answer" ? 2 : 1;
|
|
467
560
|
}
|
|
468
561
|
}
|
|
469
562
|
io.err(`atticus questions ${command ?? ""} isn't a command: it is questions list, show, proposed, answer or sheet (atticus questions alone lists the knowledge gaps).`);
|
|
470
|
-
io.err('Usage: atticus questions list [--state open|answered|retired] [--mine] [--json], atticus questions show <id> [--json], atticus questions proposed [--json], or atticus questions answer <id> --option <n> | --text "..." | --accept-proposal [--scope repo|repo-type] [--type <repo type>] [--match <host pattern or /path/**>], or atticus questions sheet [--out <file>] | --apply <file>');
|
|
563
|
+
io.err('Usage: atticus questions list [--state open|answered|retired] [--mine] [--json], atticus questions show <id> [--json], atticus questions proposed [--json], or atticus questions answer <id> --option <n> | --text "..." | --target <id> [--add-system vendor|internal] [--name "..."] | --accept-proposal [--scope repo|repo-type] [--type <repo type>] [--match <host pattern or /path/**>], or atticus questions sheet [--out <file>] | --apply <file>');
|
|
471
564
|
return 2;
|
|
472
565
|
}
|
|
473
566
|
export {
|
|
@@ -476,5 +569,6 @@ export {
|
|
|
476
569
|
questionLines,
|
|
477
570
|
questionsFiles,
|
|
478
571
|
ruleLine,
|
|
572
|
+
ruleOfferLine,
|
|
479
573
|
scopeWords
|
|
480
574
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
catalogDiff,
|
|
8
|
+
diffLines,
|
|
9
|
+
scanCommand
|
|
10
|
+
} from "./chunk-CW5SEPUT.js";
|
|
11
|
+
import "./chunk-GKPOCUQR.js";
|
|
12
|
+
import "./chunk-7TH6I6TL.js";
|
|
13
|
+
import "./chunk-GHSVJNVL.js";
|
|
14
|
+
import "./chunk-GMDOXWIS.js";
|
|
15
|
+
import "./chunk-U5T4A2QV.js";
|
|
16
|
+
import "./chunk-JQG4VO47.js";
|
|
17
|
+
import "./chunk-DW4BM73R.js";
|
|
18
|
+
import "./chunk-22GLUHGE.js";
|
|
19
|
+
import "./chunk-QR65C3DV.js";
|
|
20
|
+
import "./chunk-MLAACAES.js";
|
|
21
|
+
import "./chunk-HY2VVVFZ.js";
|
|
22
|
+
import "./chunk-PJRMMWU4.js";
|
|
23
|
+
import "./chunk-34NWVIBC.js";
|
|
24
|
+
import "./chunk-RA64IK43.js";
|
|
25
|
+
import "./chunk-MRLCNXXR.js";
|
|
26
|
+
import "./chunk-CQD26SMZ.js";
|
|
27
|
+
import "./chunk-U25OX22K.js";
|
|
28
|
+
import "./chunk-MMB2OHUY.js";
|
|
29
|
+
import "./chunk-TV45EUGM.js";
|
|
30
|
+
export {
|
|
31
|
+
catalogDiff,
|
|
32
|
+
diffLines,
|
|
33
|
+
scanCommand
|
|
34
|
+
};
|
|
@@ -5,40 +5,40 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
diffLines
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-CW5SEPUT.js";
|
|
9
|
+
import "./chunk-GKPOCUQR.js";
|
|
10
|
+
import "./chunk-7TH6I6TL.js";
|
|
11
|
+
import "./chunk-GHSVJNVL.js";
|
|
12
|
+
import "./chunk-GMDOXWIS.js";
|
|
13
|
+
import "./chunk-U5T4A2QV.js";
|
|
14
|
+
import "./chunk-JQG4VO47.js";
|
|
15
|
+
import "./chunk-DW4BM73R.js";
|
|
16
16
|
import {
|
|
17
17
|
diffCatalogs,
|
|
18
18
|
readCatalog,
|
|
19
19
|
scanEstate,
|
|
20
20
|
writeCatalog
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-22GLUHGE.js";
|
|
22
|
+
import "./chunk-QR65C3DV.js";
|
|
23
|
+
import "./chunk-MLAACAES.js";
|
|
24
|
+
import "./chunk-HY2VVVFZ.js";
|
|
25
|
+
import "./chunk-PJRMMWU4.js";
|
|
26
|
+
import "./chunk-34NWVIBC.js";
|
|
27
27
|
import {
|
|
28
28
|
branchSlug,
|
|
29
29
|
createWorkspace,
|
|
30
30
|
isInPlace,
|
|
31
31
|
loadRepos
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-RA64IK43.js";
|
|
33
|
+
import "./chunk-MRLCNXXR.js";
|
|
34
|
+
import "./chunk-CQD26SMZ.js";
|
|
35
35
|
import {
|
|
36
36
|
catalogDirOf,
|
|
37
37
|
require_dist
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-U25OX22K.js";
|
|
39
39
|
import {
|
|
40
40
|
writeFileAtomic
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-MMB2OHUY.js";
|
|
42
42
|
import {
|
|
43
43
|
__toESM
|
|
44
44
|
} from "./chunk-TV45EUGM.js";
|