@maycombhq/atticus 2.0.0-beta.11 → 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-IILZ7J3L.js → chunk-22GLUHGE.js} +171 -62
- package/dist/{chunk-4UZJOQYK.js → chunk-2A24BNRZ.js} +7 -7
- package/dist/{chunk-HOUUBE74.js → chunk-2ELFEKOO.js} +4 -4
- package/dist/{chunk-R6UTCLH5.js → chunk-2P6IHSRO.js} +16 -16
- package/dist/chunk-2Q2YBAR5.js +40 -0
- package/dist/{chunk-6E2GJANQ.js → chunk-2VQLFNBO.js} +19 -19
- package/dist/{chunk-SILY6ZEZ.js → chunk-3256EDLL.js} +3 -3
- package/dist/{chunk-YLAM4HZH.js → chunk-34BCKMBS.js} +3 -3
- package/dist/{chunk-GVFUEGGM.js → chunk-34NWVIBC.js} +2 -2
- package/dist/{chunk-4ONORLK5.js → chunk-36KD4OGC.js} +13 -13
- package/dist/{chunk-B3QOYE74.js → chunk-3CFBU2O6.js} +4 -4
- package/dist/{chunk-77RSRG3A.js → chunk-3JLTN3Y7.js} +7 -7
- package/dist/{chunk-QWHTTA2X.js → chunk-3M7QBKKG.js} +8 -6
- package/dist/{chunk-DQNKG4HY.js → chunk-3RP34PYV.js} +17 -17
- package/dist/{chunk-7HQOZALR.js → chunk-3ZKLWM5Y.js} +10 -10
- package/dist/{chunk-SUQZGPVG.js → chunk-47HPZ34V.js} +24 -24
- package/dist/chunk-4BPROPGG.js +45 -0
- package/dist/{chunk-LUPW4WLK.js → chunk-4G56W6H7.js} +8 -8
- package/dist/{chunk-JRPQX2EK.js → chunk-4HIQ2FTI.js} +4 -4
- package/dist/{chunk-2K2ZEJVR.js → chunk-4HTILEXW.js} +2 -2
- package/dist/{chunk-S7ZWCMDO.js → chunk-4Q2PGM5T.js} +8 -9
- package/dist/{chunk-XPJR74MA.js → chunk-4RDW2X43.js} +37 -25
- package/dist/{chunk-7LCQ7JAM.js → chunk-4VOG5H2K.js} +1 -1
- package/dist/chunk-5CSZTVXH.js +34 -0
- package/dist/{chunk-KU4T2CXJ.js → chunk-5FFMJMVH.js} +18 -18
- package/dist/{chunk-XOVLGBKI.js → chunk-5GGGAI5C.js} +17 -17
- package/dist/{chunk-7S3XFWOU.js → chunk-5H46QFSL.js} +4 -4
- package/dist/{chunk-XJAJQGXJ.js → chunk-5ION6STH.js} +2 -2
- package/dist/{chunk-HZYFLEWO.js → chunk-5M3CLAOV.js} +17 -17
- package/dist/{chunk-WUE6HKIU.js → chunk-5OACMWWI.js} +135 -39
- package/dist/{chunk-OR5VRULZ.js → chunk-6ENDKY52.js} +10 -10
- package/dist/{chunk-6V3DTQWK.js → chunk-6FG7QKJC.js} +21 -21
- package/dist/{chunk-SH7AZZDA.js → chunk-6JV3YHRR.js} +17 -17
- package/dist/{chunk-GWSWS264.js → chunk-6ROZRBWH.js} +4 -4
- package/dist/{chunk-MYKQVS5W.js → chunk-6S27MUQQ.js} +10 -6
- package/dist/{chunk-TZXHUDI6.js → chunk-72DY5NCN.js} +2 -2
- package/dist/chunk-76QVBNEM.js +37 -0
- package/dist/{chunk-XNRPCI23.js → chunk-77UOXZVM.js} +5 -5
- package/dist/{chunk-EHUYLNLC.js → chunk-7AXMUE2U.js} +14 -14
- package/dist/{chunk-LS3WR2RF.js → chunk-7TEQF64E.js} +122 -59
- package/dist/{chunk-EI4KQYJ3.js → chunk-7TH6I6TL.js} +8 -8
- package/dist/{chunk-7SZPENUP.js → chunk-7UKETVPW.js} +1 -1
- package/dist/{chunk-LDIARP6F.js → chunk-7VNEDDCC.js} +2 -2
- package/dist/{chunk-CRQ73DIF.js → chunk-A5GY2EWH.js} +11 -11
- package/dist/{chunk-FOQXYMOR.js → chunk-AEZ3EICK.js} +19 -19
- package/dist/{chunk-RJDP642F.js → chunk-ARLH2ZMD.js} +1 -1
- package/dist/{chunk-26DBAGOP.js → chunk-AYVLEB55.js} +17 -17
- package/dist/{chunk-IA2RKC6I.js → chunk-B6X5PJSA.js} +52 -11
- package/dist/{chunk-S2FDPN32.js → chunk-BRCDEGNE.js} +1 -1
- package/dist/{chunk-JEUXCIRD.js → chunk-BSVTNNUK.js} +5 -5
- package/dist/{chunk-Y5AYBGLB.js → chunk-BTOGAUWX.js} +13 -10
- package/dist/{chunk-MCWWMMLN.js → chunk-BXP2Q4TD.js} +22 -22
- package/dist/{chunk-UFBKJOWB.js → chunk-BZRWJUB4.js} +14 -14
- package/dist/{chunk-5ACUW753.js → chunk-CH6LUQLD.js} +1 -1
- package/dist/{chunk-7VFVQX5K.js → chunk-CIIRPLI6.js} +4 -4
- package/dist/{chunk-SNHOLLGN.js → chunk-CJXM6SG4.js} +84 -25
- package/dist/{chunk-BKFGGJKA.js → chunk-CQD26SMZ.js} +3 -1
- package/dist/{chunk-4URR24DD.js → chunk-CW5SEPUT.js} +6 -6
- package/dist/{chunk-MV4637YA.js → chunk-CWSZP2LU.js} +24 -24
- package/dist/{chunk-5BJFMAQU.js → chunk-CXK27ZUY.js} +12 -12
- package/dist/{chunk-5NZSJ5ZG.js → chunk-CXY4YDXS.js} +2 -2
- package/dist/{chunk-NG5R2WIY.js → chunk-DDZZXVQ5.js} +9 -9
- package/dist/{chunk-PQW7PYUR.js → chunk-DGZXJO5I.js} +7 -7
- package/dist/{chunk-TCADP67G.js → chunk-DONCF2XC.js} +3 -3
- package/dist/{chunk-XF3DATVU.js → chunk-DPNCAFMB.js} +17 -17
- package/dist/{chunk-ORZSD2KD.js → chunk-DQKNOHUZ.js} +1 -1
- package/dist/{chunk-CAN3EBE5.js → chunk-DW4BM73R.js} +1 -1
- package/dist/{chunk-NX6QEEOA.js → chunk-DWN7RSNQ.js} +3 -3
- package/dist/{chunk-EV4TEFOD.js → chunk-DWYPYVPJ.js} +13 -13
- package/dist/{chunk-5RUMHLIS.js → chunk-E73QLYK7.js} +24 -3
- package/dist/{chunk-LZWVK4YY.js → chunk-EE3UNC44.js} +3 -3
- package/dist/{chunk-REWZE2XI.js → chunk-EJDZEK22.js} +23 -23
- package/dist/{chunk-VYNZED7B.js → chunk-ENZWVTTN.js} +20 -20
- package/dist/{chunk-NBGBMRIS.js → chunk-EREL3TQG.js} +1 -1
- package/dist/{chunk-NH5QH3WS.js → chunk-ESGIBN3S.js} +1 -1
- package/dist/{chunk-EBWIOODZ.js → chunk-EU7VTBAI.js} +4 -4
- package/dist/chunk-F5GA6G3U.js +48 -0
- package/dist/{chunk-Z2EYRUOH.js → chunk-F6FGIYPT.js} +19 -19
- package/dist/{chunk-H4VJO3M2.js → chunk-FAET4BB6.js} +5 -5
- package/dist/{chunk-5ICB2BXH.js → chunk-FBFSTYAB.js} +7 -7
- package/dist/{chunk-IWZPGIGT.js → chunk-FEBYMFZA.js} +23 -23
- package/dist/chunk-FMV6IZ3P.js +54 -0
- package/dist/{chunk-TGEOLIAK.js → chunk-FQ6IBYFC.js} +3 -3
- package/dist/{chunk-R3VFLYZZ.js → chunk-FSJMFPA3.js} +6 -6
- package/dist/{chunk-SIUDWWKS.js → chunk-GFZ5MIQG.js} +23 -23
- package/dist/{chunk-6RGIM2ZH.js → chunk-GHSVJNVL.js} +75 -8
- package/dist/{chunk-XR5DD5DQ.js → chunk-GKPOCUQR.js} +12 -7
- package/dist/{chunk-NR5T46ZY.js → chunk-GLSNVC67.js} +16 -16
- package/dist/{chunk-T6ESD5KM.js → chunk-GMDOXWIS.js} +4 -4
- package/dist/{chunk-5TY4DTHQ.js → chunk-GN5ZLSLD.js} +3 -3
- package/dist/{chunk-MKIULIUQ.js → chunk-GUNBOZ75.js} +3 -3
- package/dist/{chunk-ZTNS3L5Z.js → chunk-GYS64N6F.js} +5 -5
- package/dist/{chunk-ANCI3LFS.js → chunk-HIQWJ6JZ.js} +4 -4
- package/dist/{chunk-4AYZQ3SY.js → chunk-HJ52XDST.js} +4 -4
- package/dist/{chunk-EW7MRMD5.js → chunk-HJUEQERG.js} +16 -7
- package/dist/{chunk-ZJQUIG3A.js → chunk-HKGQUOQ3.js} +15 -14
- package/dist/chunk-HP32HUWR.js +41 -0
- package/dist/{chunk-WIMOJMAK.js → chunk-HY2VVVFZ.js} +168 -14
- package/dist/{chunk-G3PBLW4K.js → chunk-I2PNEG3M.js} +34 -9
- package/dist/{chunk-XKJRPVJO.js → chunk-INCECZ2E.js} +5 -5
- package/dist/{chunk-6N2GUZMZ.js → chunk-ISXNWUG7.js} +1 -1
- package/dist/{chunk-HGQZTUAC.js → chunk-ITJ7ST5E.js} +4 -4
- package/dist/{chunk-SINJKQSI.js → chunk-J3VAFDEX.js} +13 -13
- package/dist/{chunk-WFYHOXTB.js → chunk-JGLZUQVN.js} +15 -15
- package/dist/{chunk-7RGCQ4VZ.js → chunk-JLIEAQP4.js} +4 -4
- package/dist/{chunk-L7I5PKGD.js → chunk-JQG4VO47.js} +1 -1
- package/dist/{chunk-GPLFYLGH.js → chunk-JXXQHETS.js} +10 -10
- package/dist/{chunk-JUZ75OG4.js → chunk-KNGESBFW.js} +15 -15
- package/dist/{chunk-UABFFMWH.js → chunk-KUYA2E7M.js} +7 -7
- package/dist/{chunk-YWZDAZMA.js → chunk-KY2ZHTBJ.js} +6 -6
- package/dist/{chunk-5P5BGG5L.js → chunk-L4UIKAWD.js} +6 -6
- package/dist/{chunk-IRW64JFF.js → chunk-LDUJ6NIT.js} +4 -4
- package/dist/{chunk-7A7IG7OA.js → chunk-LTLR4JZJ.js} +10 -10
- package/dist/{chunk-UTR67XU2.js → chunk-MFRPLAOH.js} +2 -2
- package/dist/{chunk-V4XKYGLK.js → chunk-MH7UBG47.js} +4 -4
- package/dist/{chunk-XPWSNKF3.js → chunk-MLAACAES.js} +55 -12
- package/dist/{chunk-BQNEHB5U.js → chunk-MNCQ2GL7.js} +11 -11
- package/dist/{chunk-Z46OXTBE.js → chunk-MNUZX67F.js} +5 -5
- package/dist/{chunk-RWMSJP7H.js → chunk-MQHYCS6A.js} +26 -25
- package/dist/{chunk-FMRMTI7W.js → chunk-MRLCNXXR.js} +1 -1
- package/dist/{chunk-BA5DTXHQ.js → chunk-NCONDPHH.js} +4 -4
- package/dist/{chunk-UNFCFJMF.js → chunk-NHS55U7T.js} +17 -17
- package/dist/{chunk-C2YGYTU6.js → chunk-NL6XQZSV.js} +22 -22
- package/dist/{chunk-TC3KTG33.js → chunk-NSJ6ZR2A.js} +3 -3
- package/dist/{chunk-3DDJLI7N.js → chunk-NTNJNRHW.js} +4 -4
- package/dist/{chunk-GG6HIU74.js → chunk-NTTXTLCQ.js} +24 -24
- package/dist/{chunk-55TBYJF2.js → chunk-NWL7XEQ4.js} +17 -16
- package/dist/{chunk-U6YKL7SI.js → chunk-NWXY3B4R.js} +22 -22
- package/dist/{chunk-4YWRU7JK.js → chunk-O5W4ECUY.js} +15 -15
- package/dist/{chunk-IVHN2VYG.js → chunk-OJAJXU65.js} +3 -1
- package/dist/{chunk-EZSZFI54.js → chunk-OMH3I5BH.js} +2 -2
- package/dist/{chunk-RIEFYHXI.js → chunk-P6UJ22XR.js} +4 -4
- package/dist/{chunk-LVBPY2M6.js → chunk-P76AW3PA.js} +298 -14
- package/dist/{chunk-23VFQHFQ.js → chunk-PCCPXWJC.js} +31 -21
- package/dist/{chunk-DS3ZEJVN.js → chunk-PGFRXGHA.js} +2 -2
- package/dist/{chunk-5V5BJACL.js → chunk-PJRMMWU4.js} +2 -2
- package/dist/{chunk-BX52REMA.js → chunk-PKJ3K3GM.js} +5 -5
- package/dist/{chunk-KLKENMWQ.js → chunk-PVW2N63M.js} +58 -43
- package/dist/{chunk-OFWYZH6B.js → chunk-Q55UP5EZ.js} +21 -21
- package/dist/{chunk-C5JFMAXX.js → chunk-QAFMLBPF.js} +11 -11
- package/dist/{chunk-CZI2ACNT.js → chunk-QEZSA2O7.js} +16 -16
- package/dist/{chunk-27EDZN52.js → chunk-QJ3OX7OC.js} +31 -31
- package/dist/{chunk-GMJXC5AL.js → chunk-QL4VNY4U.js} +1 -1
- package/dist/{chunk-TEBBD4XH.js → chunk-QR65C3DV.js} +4 -4
- package/dist/{chunk-SG5KY4VB.js → chunk-QXGOEP44.js} +3 -3
- package/dist/chunk-QY7RGTUP.js +326 -0
- package/dist/{chunk-XZJE6WIT.js → chunk-RA64IK43.js} +1 -1
- package/dist/{chunk-7HWXYP4H.js → chunk-RLJDYLID.js} +11 -11
- package/dist/{chunk-NELU7LSL.js → chunk-RMLUZYEA.js} +10 -10
- package/dist/chunk-RSVBX6A3.js +54 -0
- package/dist/{chunk-D7MWYJZF.js → chunk-RZWZO2JQ.js} +16 -17
- package/dist/{chunk-KQRYW7OS.js → chunk-SAC6FNKR.js} +108 -108
- package/dist/{chunk-HR4DVO6X.js → chunk-SCBU46AJ.js} +3 -3
- package/dist/{chunk-Q32Y5T2U.js → chunk-SGNHNN3G.js} +11 -11
- package/dist/{chunk-WKXOEIOY.js → chunk-SHAAGH3T.js} +14 -14
- package/dist/{chunk-ATNG5VOZ.js → chunk-SK5OYWIY.js} +2 -2
- package/dist/{chunk-CE4S5ZY3.js → chunk-SNSFQ47W.js} +11 -11
- package/dist/{chunk-WCLAOKCH.js → chunk-SSL6JMPA.js} +8 -8
- package/dist/{chunk-SKMHS4CL.js → chunk-TA2ZNDYD.js} +1 -1
- package/dist/{chunk-YVCOQ5TZ.js → chunk-TEHH47TG.js} +3 -3
- package/dist/{chunk-EATSD7YD.js → chunk-TEZSZ24W.js} +4 -4
- package/dist/{chunk-RB2VSED2.js → chunk-TH526O6E.js} +11 -11
- package/dist/{chunk-WUP77GG2.js → chunk-TIAPEYWI.js} +3 -3
- package/dist/{chunk-C75W7VXX.js → chunk-TLCRIAU3.js} +20 -18
- package/dist/chunk-TV4CGNEY.js +43 -0
- package/dist/{chunk-IY4PHPHT.js → chunk-TVSNWIAM.js} +7 -5
- package/dist/{chunk-7RUMD56V.js → chunk-TWHZU36X.js} +1 -1
- package/dist/{chunk-JBSD57N7.js → chunk-TXV2AYZB.js} +23 -23
- package/dist/{chunk-JMOLB347.js → chunk-U25OX22K.js} +64 -8
- package/dist/{chunk-JQX6BSE4.js → chunk-U4NNG3ES.js} +10 -10
- package/dist/{chunk-3LU6YCSQ.js → chunk-U5T4A2QV.js} +5 -5
- package/dist/{chunk-G7WZH54P.js → chunk-UT5OA7KA.js} +20 -10
- package/dist/{chunk-MKC7P5LD.js → chunk-V3VCUSQ6.js} +14 -14
- package/dist/{chunk-MYOW3RPC.js → chunk-V5XV3JSP.js} +6 -6
- package/dist/{chunk-YWOMGMZB.js → chunk-VF4VOPMB.js} +22 -22
- package/dist/{chunk-DYWTQXP4.js → chunk-VLDM4QZM.js} +22 -22
- package/dist/chunk-VP5H6DII.js +34 -0
- package/dist/{chunk-OHXTB6CO.js → chunk-VRYQJZFL.js} +7 -8
- package/dist/{chunk-EQOSXLK3.js → chunk-VS6FS472.js} +14 -14
- package/dist/{chunk-U5PDQTLA.js → chunk-VTMIRRIZ.js} +2 -2
- package/dist/{chunk-MSL3CLHX.js → chunk-VXSJKWB7.js} +16 -16
- package/dist/{chunk-MQNBEO3N.js → chunk-WE5VMPUP.js} +106 -102
- package/dist/{chunk-J27QGXO4.js → chunk-WEG7DY5K.js} +9 -9
- package/dist/{chunk-OXVVRJDQ.js → chunk-WIF7A6JU.js} +11 -11
- package/dist/{chunk-KXZR2BLL.js → chunk-WM4N2L4T.js} +1 -1
- package/dist/{chunk-NIYB5K5B.js → chunk-X64BFQ3R.js} +9 -9
- package/dist/{chunk-WGU6NIUV.js → chunk-XJRC3ZDI.js} +12 -12
- package/dist/{chunk-EAQFRD2B.js → chunk-XVIVWG7B.js} +6 -6
- package/dist/{chunk-3WU7LVTL.js → chunk-Y3ZKT6IF.js} +5 -5
- package/dist/{chunk-7KXYMC2P.js → chunk-YURIUFKF.js} +15 -15
- package/dist/{chunk-R3RVFCJ2.js → chunk-YY2WGL6S.js} +2 -2
- package/dist/{chunk-HQMCHHY5.js → chunk-Z2BA4NNR.js} +2 -2
- package/dist/{chunk-JUQHYTXN.js → chunk-Z47YGBUY.js} +18 -17
- package/dist/chunk-Z4JSRKNR.js +41 -0
- package/dist/{chunk-DGKNOPSE.js → chunk-Z53ZB34U.js} +7 -7
- package/dist/{chunk-LEHZTKB3.js → chunk-ZBOPIYOY.js} +11 -11
- package/dist/{chunk-KIWEBM6G.js → chunk-ZBQCLKTH.js} +11 -11
- package/dist/chunk-ZGI7DNJ6.js +38 -0
- package/dist/{chunk-BUWSOQLU.js → chunk-ZPT4QX3J.js} +4 -4
- package/dist/{chunk-52WCHTVZ.js → chunk-ZS47PQ3O.js} +3 -3
- package/dist/{chunk-7J7UY46S.js → chunk-ZTIMXVV5.js} +2 -2
- package/dist/{chunk-ZKUDS7JG.js → chunk-ZYASEL7K.js} +4 -4
- package/dist/files.json +443 -439
- package/dist/packages/sdk/npm/index.js +9 -0
- package/dist/packages/ui/dist/assets/{elk-api-DDup23Us.js → elk-api-D2NcYpUJ.js} +2 -2
- package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
- package/dist/packages/ui/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/chunk-4Y4FY34K.js +0 -34
- package/dist/chunk-ACWQDL6T.js +0 -37
- package/dist/chunk-ASKDCMW5.js +0 -275
- package/dist/chunk-B3UHYXHU.js +0 -41
- package/dist/chunk-DDAEAZEV.js +0 -54
- package/dist/chunk-E25G46RW.js +0 -54
- package/dist/chunk-KQK6SQPE.js +0 -48
- package/dist/chunk-NCR24CPV.js +0 -41
- package/dist/chunk-NDW4ROST.js +0 -38
- package/dist/chunk-OJN7WME4.js +0 -34
- package/dist/chunk-UFTQIK2J.js +0 -43
- package/dist/chunk-ZHWSL6SR.js +0 -45
- package/dist/packages/ui/dist/assets/index-mTOWhQZm.js +0 -29
|
@@ -4,19 +4,37 @@ 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
|
-
|
|
8
|
-
} from "./chunk-
|
|
7
|
+
repoFor
|
|
8
|
+
} from "./chunk-7VNEDDCC.js";
|
|
9
9
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
frameworkFacts,
|
|
11
|
+
insideRepo,
|
|
12
|
+
lineRangeOf,
|
|
13
|
+
parseReviewed
|
|
14
|
+
} from "./chunk-MLAACAES.js";
|
|
12
15
|
import {
|
|
16
|
+
changesSince,
|
|
17
|
+
createGit
|
|
18
|
+
} from "./chunk-RA64IK43.js";
|
|
19
|
+
import {
|
|
20
|
+
Conventions,
|
|
21
|
+
DEFAULT_CONVENTIONS,
|
|
22
|
+
QuestionDraft,
|
|
13
23
|
citedFiles,
|
|
14
24
|
external_exports,
|
|
15
25
|
factsDirOf,
|
|
16
26
|
factsRelOf,
|
|
27
|
+
isAdopted,
|
|
28
|
+
isSecretPath,
|
|
29
|
+
loadOrgPack,
|
|
30
|
+
orgPackDirOf,
|
|
31
|
+
parseCorrections,
|
|
17
32
|
parseFacts,
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
parseFactsLines,
|
|
34
|
+
raiseQuestions,
|
|
35
|
+
require_dist,
|
|
36
|
+
serializeFacts
|
|
37
|
+
} from "./chunk-U25OX22K.js";
|
|
20
38
|
import {
|
|
21
39
|
writeFileAtomic
|
|
22
40
|
} from "./chunk-MMB2OHUY.js";
|
|
@@ -25,9 +43,236 @@ import {
|
|
|
25
43
|
} from "./chunk-TV45EUGM.js";
|
|
26
44
|
|
|
27
45
|
// packages/cli/dist/map-parts.js
|
|
46
|
+
var import_yaml2 = __toESM(require_dist(), 1);
|
|
47
|
+
import { readFile as readFile2 } from "node:fs/promises";
|
|
48
|
+
import { join as join2 } from "node:path";
|
|
49
|
+
|
|
50
|
+
// packages/cli/dist/facts-files.js
|
|
28
51
|
var import_yaml = __toESM(require_dist(), 1);
|
|
29
|
-
import {
|
|
52
|
+
import { existsSync } from "node:fs";
|
|
53
|
+
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
30
54
|
import { join } from "node:path";
|
|
55
|
+
async function checkoutOf(root, repo, dir) {
|
|
56
|
+
return dir ?? (isAdopted(root) ? root : (await repoFor(root, repo))?.dir ?? void 0);
|
|
57
|
+
}
|
|
58
|
+
async function headOf(dir) {
|
|
59
|
+
try {
|
|
60
|
+
const r = await createGit({ timeoutMs: 3e4 })(["rev-parse", "HEAD"], dir);
|
|
61
|
+
return r.stdout.trim() || void 0;
|
|
62
|
+
} catch {
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function carryOf(dir, facts, commit, git) {
|
|
67
|
+
if (!commit)
|
|
68
|
+
return { carry: {}, missing: [] };
|
|
69
|
+
const r = await changesSince(dir, facts.map((f) => f.commit), commit, git);
|
|
70
|
+
return { carry: r.changes, missing: r.missing };
|
|
71
|
+
}
|
|
72
|
+
async function conventionsAt(root) {
|
|
73
|
+
const file = join(orgPackDirOf(root), "conventions.yaml");
|
|
74
|
+
if (!existsSync(file))
|
|
75
|
+
return DEFAULT_CONVENTIONS;
|
|
76
|
+
try {
|
|
77
|
+
const r = Conventions.safeParse((0, import_yaml.parse)(await readFile(file, "utf8")));
|
|
78
|
+
return r.success ? r.data : DEFAULT_CONVENTIONS;
|
|
79
|
+
} catch {
|
|
80
|
+
return DEFAULT_CONVENTIONS;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async function excludesOf(root, repo) {
|
|
84
|
+
const file = join(orgPackDirOf(root), "scan", `${repo}.yaml`);
|
|
85
|
+
if (!existsSync(file))
|
|
86
|
+
return [];
|
|
87
|
+
try {
|
|
88
|
+
const doc = (0, import_yaml.parse)(await readFile(file, "utf8"));
|
|
89
|
+
return (doc?.exclude ?? []).map((e) => e.path).filter((p) => !!p);
|
|
90
|
+
} catch {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function raiseReadQuestions(root, repo, lines, source, by) {
|
|
95
|
+
const drafts = [];
|
|
96
|
+
const problems = [];
|
|
97
|
+
for (const raw of lines) {
|
|
98
|
+
const line = JSON.stringify(raw);
|
|
99
|
+
const r2 = QuestionDraft.safeParse(raw);
|
|
100
|
+
if (!r2.success) {
|
|
101
|
+
problems.push({
|
|
102
|
+
line,
|
|
103
|
+
message: `not a question: ${r2.error.issues.map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`).join("; ")}`
|
|
104
|
+
});
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const bad = r2.data.evidence.find((e) => {
|
|
108
|
+
const file = e.slice(0, e.lastIndexOf(":"));
|
|
109
|
+
const n = Number(e.slice(e.lastIndexOf(":") + 1));
|
|
110
|
+
if (!insideRepo(file) || isSecretPath(file))
|
|
111
|
+
return true;
|
|
112
|
+
const text = source.read(file);
|
|
113
|
+
return text === void 0 || n < 1 || n > text.split(/\r?\n/).length;
|
|
114
|
+
});
|
|
115
|
+
if (bad) {
|
|
116
|
+
problems.push({ line, message: `its evidence ${bad} is no line of the repo` });
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
drafts.push(r2.data);
|
|
120
|
+
}
|
|
121
|
+
if (!drafts.length)
|
|
122
|
+
return { raised: [], known: [], problems };
|
|
123
|
+
const r = await raiseQuestions(root, drafts, {
|
|
124
|
+
step: "map",
|
|
125
|
+
repo,
|
|
126
|
+
command: by.command,
|
|
127
|
+
rerun: `atticus map ${repo}`,
|
|
128
|
+
...by.run ? { run: by.run } : {},
|
|
129
|
+
at: by.at
|
|
130
|
+
});
|
|
131
|
+
return { raised: r.raised, known: [...r.known, ...r.reused], problems };
|
|
132
|
+
}
|
|
133
|
+
async function estateComponentsOf(root) {
|
|
134
|
+
const op = await loadOrgPack(orgPackDirOf(root)).catch(() => void 0);
|
|
135
|
+
const repos = (op?.profiles ?? []).flatMap((p) => p.repos?.repos ?? []);
|
|
136
|
+
if (!repos.length)
|
|
137
|
+
return void 0;
|
|
138
|
+
const components = repos.flatMap((r) => [
|
|
139
|
+
r.id,
|
|
140
|
+
...r.component ? [r.component] : [],
|
|
141
|
+
...(r.modules ?? []).map((m) => m.component)
|
|
142
|
+
]);
|
|
143
|
+
const repoComponents = {};
|
|
144
|
+
for (const r of repos) {
|
|
145
|
+
const text = await readFile(join(factsDirOf(root), `${r.id}.jsonl`), "utf8").catch(() => void 0);
|
|
146
|
+
if (text === void 0)
|
|
147
|
+
continue;
|
|
148
|
+
const named = parseFactsLines(text).facts.flatMap((f) => f.component ? [f.component] : []);
|
|
149
|
+
repoComponents[r.id] = [
|
|
150
|
+
.../* @__PURE__ */ new Set([r.component ?? r.id, ...(r.modules ?? []).map((m) => m.component), ...named])
|
|
151
|
+
].sort();
|
|
152
|
+
}
|
|
153
|
+
return { components: [...new Set(components)].sort(), repoComponents };
|
|
154
|
+
}
|
|
155
|
+
var SKIPPED_LISTED = 100;
|
|
156
|
+
function slipNoteLines(slips, verifyYaml, shown = 5) {
|
|
157
|
+
if (!slips.length)
|
|
158
|
+
return [];
|
|
159
|
+
return [
|
|
160
|
+
`${slips.length} ${slips.length === 1 ? "slip" : "slips"} of form fixed in the facts (a note, not a rejection; under slips in ${verifyYaml}):`,
|
|
161
|
+
...slips.slice(0, shown).map((x) => ` ${x.message}`),
|
|
162
|
+
...slips.length > shown ? [` ... and ${slips.length - shown} more (slips in ${verifyYaml})`] : []
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
async function writeVerifyFiles(root, repo, report, commit, questionProblems = [], badLines = [], reviewedProblems = [], slips = []) {
|
|
166
|
+
const dir = factsDirOf(root);
|
|
167
|
+
await mkdir(dir, { recursive: true });
|
|
168
|
+
await writeFile(join(dir, `${repo}.jsonl`), serializeFacts(report.accepted), "utf8");
|
|
169
|
+
const rejectedFile = join(dir, `${repo}.rejected.jsonl`);
|
|
170
|
+
const lines = [
|
|
171
|
+
...report.rejected.map((r) => JSON.stringify({ code: r.code, message: r.message, fact: r.fact })),
|
|
172
|
+
...questionProblems.map((q) => JSON.stringify({ code: "bad-question", message: q.message, question: JSON.parse(q.line) })),
|
|
173
|
+
...badLines.map((b) => JSON.stringify({ code: "schema", message: b.message, raw: b.raw })),
|
|
174
|
+
...reviewedProblems.map((r) => JSON.stringify({ code: "bad-reviewed", message: r.message, reviewed: r.raw }))
|
|
175
|
+
];
|
|
176
|
+
if (lines.length)
|
|
177
|
+
await writeFile(rejectedFile, lines.join("\n") + "\n", "utf8");
|
|
178
|
+
else
|
|
179
|
+
await rm(rejectedFile, { force: true });
|
|
180
|
+
const summary = {
|
|
181
|
+
repo,
|
|
182
|
+
...commit ? { commit } : {},
|
|
183
|
+
accepted: report.accepted.length,
|
|
184
|
+
rejected: report.rejected.length,
|
|
185
|
+
redacted: report.redacted,
|
|
186
|
+
...report.quotesDropped ? { quotesDropped: report.quotesDropped } : {},
|
|
187
|
+
coverage: {
|
|
188
|
+
ratio: report.coverage.ratio,
|
|
189
|
+
read: report.coverage.read.length,
|
|
190
|
+
...report.coverage.reviewed.length ? { reviewed: report.coverage.reviewed.length } : {},
|
|
191
|
+
unknown: report.coverage.unknown,
|
|
192
|
+
excluded: report.coverage.excluded
|
|
193
|
+
},
|
|
194
|
+
rejections: report.rejected.map((r) => ({ id: r.fact.id, code: r.code, message: r.message })),
|
|
195
|
+
// ADR 0124 addendum D-app: a person's corrections, said only when there are some.
|
|
196
|
+
...report.corrections.applied.length || report.corrections.stale.length ? {
|
|
197
|
+
corrections: {
|
|
198
|
+
applied: report.corrections.applied,
|
|
199
|
+
stale: report.corrections.stale.map((s) => ({
|
|
200
|
+
fact: s.correction.fact,
|
|
201
|
+
why: s.why,
|
|
202
|
+
message: s.message
|
|
203
|
+
}))
|
|
204
|
+
}
|
|
205
|
+
} : {}
|
|
206
|
+
};
|
|
207
|
+
if (report.carried.length) {
|
|
208
|
+
const by = /* @__PURE__ */ new Map();
|
|
209
|
+
for (const c of report.carried)
|
|
210
|
+
by.set(c.from, [...by.get(c.from) ?? [], c.id]);
|
|
211
|
+
summary.carried = [...by.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1).map(([from, facts]) => ({ from, facts: facts.sort() }));
|
|
212
|
+
}
|
|
213
|
+
if (report.entriesNoFlowFollows.length)
|
|
214
|
+
summary.entriesNoFlowFollows = report.entriesNoFlowFollows;
|
|
215
|
+
if (report.reviewed.length)
|
|
216
|
+
summary.reviewed = report.reviewed;
|
|
217
|
+
if (report.reviewedDropped.length)
|
|
218
|
+
summary.reviewedDropped = report.reviewedDropped;
|
|
219
|
+
if (report.methodUnseen.length) {
|
|
220
|
+
summary.methodUnseenCount = report.methodUnseen.length;
|
|
221
|
+
summary.methodUnseen = report.methodUnseen;
|
|
222
|
+
}
|
|
223
|
+
if (report.skipped.length) {
|
|
224
|
+
summary.skippedCount = report.skipped.length;
|
|
225
|
+
summary.skipped = report.skipped.slice(0, SKIPPED_LISTED);
|
|
226
|
+
}
|
|
227
|
+
if (report.reviewedHolds.length)
|
|
228
|
+
summary.reviewedHolds = report.reviewedHolds;
|
|
229
|
+
if (report.specOpsUncovered.length) {
|
|
230
|
+
summary.specOpsUncoveredCount = report.specOpsUncovered.length;
|
|
231
|
+
summary.specOpsUncovered = report.specOpsUncovered.slice(0, SKIPPED_LISTED);
|
|
232
|
+
}
|
|
233
|
+
if (slips.length)
|
|
234
|
+
summary.slips = [...slips];
|
|
235
|
+
if (report.authUncited.length)
|
|
236
|
+
summary.authUncited = report.authUncited;
|
|
237
|
+
const fws = frameworkFacts(report.accepted);
|
|
238
|
+
if (fws.length)
|
|
239
|
+
summary.frameworks = fws.map((f) => ({
|
|
240
|
+
name: f.name,
|
|
241
|
+
...f.version ? { version: f.version } : {},
|
|
242
|
+
cite: `${f.cite.file}:${f.cite.line}`,
|
|
243
|
+
...f.component ? { component: f.component } : {}
|
|
244
|
+
}));
|
|
245
|
+
if (report.frameworkGaps.length)
|
|
246
|
+
summary.frameworkGaps = report.frameworkGaps;
|
|
247
|
+
await writeFile(join(dir, `${repo}.verify.yaml`), (0, import_yaml.stringify)(summary), "utf8");
|
|
248
|
+
return summary;
|
|
249
|
+
}
|
|
250
|
+
async function readCorrections(root, repo) {
|
|
251
|
+
const text = await readFile(join(factsDirOf(root), `${repo}.corrections.jsonl`), "utf8").catch(() => void 0);
|
|
252
|
+
return text === void 0 ? { corrections: [], bad: [] } : parseCorrections(text);
|
|
253
|
+
}
|
|
254
|
+
async function readReviewed(root, repo) {
|
|
255
|
+
const text = await readFile(join(factsDirOf(root), `${repo}.reviewed.jsonl`), "utf8").catch(() => void 0);
|
|
256
|
+
if (text === void 0)
|
|
257
|
+
return { entries: [], bad: [] };
|
|
258
|
+
const r = parseReviewed(text);
|
|
259
|
+
return {
|
|
260
|
+
entries: r.entries,
|
|
261
|
+
bad: r.bad.map((b) => ({ line: b.line, raw: b.raw, message: b.message }))
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
function reviewedProblemsOf(bad, report) {
|
|
265
|
+
return [
|
|
266
|
+
...bad,
|
|
267
|
+
...report.reviewedProblems.map((p) => ({
|
|
268
|
+
...p.line !== void 0 ? { line: p.line } : {},
|
|
269
|
+
raw: { path: p.path, why: p.why },
|
|
270
|
+
message: p.message
|
|
271
|
+
}))
|
|
272
|
+
].sort((a, b) => (a.line ?? 0) - (b.line ?? 0));
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// packages/cli/dist/map-parts.js
|
|
31
276
|
var ReadStamp = external_exports.strictObject({ at: external_exports.string().min(1), commit: external_exports.string().min(1) });
|
|
32
277
|
var Part = external_exports.strictObject({
|
|
33
278
|
part: external_exports.number().int().positive(),
|
|
@@ -57,6 +302,28 @@ var Reported = external_exports.strictObject({
|
|
|
57
302
|
/** Who reported it (--by), when given. */
|
|
58
303
|
by: external_exports.string().min(1).optional()
|
|
59
304
|
});
|
|
305
|
+
var RulesRecord = external_exports.strictObject({
|
|
306
|
+
hash: external_exports.string().min(1),
|
|
307
|
+
sets: external_exports.array(external_exports.string().min(1))
|
|
308
|
+
});
|
|
309
|
+
var TopUpSession = external_exports.strictObject({
|
|
310
|
+
paths: external_exports.array(external_exports.string().min(1)).min(1),
|
|
311
|
+
sets: external_exports.array(external_exports.string().min(1)).min(1),
|
|
312
|
+
files: external_exports.number().int().nonnegative(),
|
|
313
|
+
tokens: external_exports.number().int().nonnegative(),
|
|
314
|
+
/** When `atticus map <repo> --rules` last gave it to a reader. */
|
|
315
|
+
given: external_exports.string().min(1).optional(),
|
|
316
|
+
/** When a verify that passed after it was given found it done. */
|
|
317
|
+
done: ReadStamp.optional()
|
|
318
|
+
});
|
|
319
|
+
var TopUp = external_exports.strictObject({
|
|
320
|
+
commit: external_exports.string().min(1),
|
|
321
|
+
hash: external_exports.string().min(1),
|
|
322
|
+
sets: external_exports.array(external_exports.string().min(1)),
|
|
323
|
+
session: external_exports.number().int().positive(),
|
|
324
|
+
plannedAt: external_exports.string().min(1),
|
|
325
|
+
sessions: external_exports.array(TopUpSession)
|
|
326
|
+
});
|
|
60
327
|
var ReadPlanFile = external_exports.strictObject({
|
|
61
328
|
/** 2 since ADR 0141 (a v1 file reads as v2: `migrateReadPlan`). */
|
|
62
329
|
schemaVersion: external_exports.literal(2),
|
|
@@ -82,7 +349,11 @@ var ReadPlanFile = external_exports.strictObject({
|
|
|
82
349
|
/** ADR 0141: when `atticus verify` first found the whole plan in the facts. */
|
|
83
350
|
read: ReadStamp.extend({ sessions: external_exports.number().int().positive() }).optional(),
|
|
84
351
|
/** ADR 0141: what the reader reported the read took (`atticus map <repo> --spent`). */
|
|
85
|
-
reported: external_exports.array(Reported).optional()
|
|
352
|
+
reported: external_exports.array(Reported).optional(),
|
|
353
|
+
/** ADR 0167: the reading rules the read was given; none when read before they were recorded. */
|
|
354
|
+
rules: RulesRecord.optional(),
|
|
355
|
+
/** ADR 0167: a top-up for the rule sets the read lacked, under way. */
|
|
356
|
+
topUp: TopUp.optional()
|
|
86
357
|
});
|
|
87
358
|
function migrateReadPlan(raw) {
|
|
88
359
|
const v2 = ReadPlanFile.safeParse(raw);
|
|
@@ -94,7 +365,7 @@ function migrateReadPlan(raw) {
|
|
|
94
365
|
return { ...v1.data, schemaVersion: 2 };
|
|
95
366
|
}
|
|
96
367
|
var readPlanRelOf = (root, repo) => `${factsRelOf(root)}/${repo}.read-plan.yaml`;
|
|
97
|
-
var readPlanPath = (root, repo) =>
|
|
368
|
+
var readPlanPath = (root, repo) => join2(factsDirOf(root), `${repo}.read-plan.yaml`);
|
|
98
369
|
function unitOf(glob) {
|
|
99
370
|
const range = lineRangeOf(glob);
|
|
100
371
|
if (range)
|
|
@@ -127,7 +398,7 @@ function globHolds(glob, file) {
|
|
|
127
398
|
}
|
|
128
399
|
var HEADER = "# The parts this repo is read in (ADR 0124 addendum A-ledger), as atticus map --estimate planned them,\n# and what the read cost (ADR 0141): tokens are estimates, reported numbers are the reader's word.\n# Which part is next is read back from the facts; atticus next says it. Atticus writes this file.\n";
|
|
129
400
|
async function saveReadPlan(root, plan) {
|
|
130
|
-
await writeFileAtomic(readPlanPath(root, plan.repo), `${HEADER}${(0,
|
|
401
|
+
await writeFileAtomic(readPlanPath(root, plan.repo), `${HEADER}${(0, import_yaml2.stringify)(ReadPlanFile.parse(plan), { lineWidth: 0 })}`);
|
|
131
402
|
}
|
|
132
403
|
async function writeReadPlan(root, repo, o) {
|
|
133
404
|
const plan = {
|
|
@@ -143,18 +414,19 @@ async function writeReadPlan(root, repo, o) {
|
|
|
143
414
|
files: p.files,
|
|
144
415
|
tokens: p.tokens
|
|
145
416
|
})),
|
|
146
|
-
...o.reported?.length ? { reported: [...o.reported] } : {}
|
|
417
|
+
...o.reported?.length ? { reported: [...o.reported] } : {},
|
|
418
|
+
...o.rules ? { rules: { hash: o.rules.hash, sets: [...o.rules.sets] } } : {}
|
|
147
419
|
};
|
|
148
420
|
await saveReadPlan(root, plan);
|
|
149
421
|
return plan;
|
|
150
422
|
}
|
|
151
423
|
var stamp = () => (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "Z");
|
|
152
424
|
async function loadReadPlan(root, repo) {
|
|
153
|
-
const text = await
|
|
425
|
+
const text = await readFile2(readPlanPath(root, repo), "utf8").catch(() => void 0);
|
|
154
426
|
if (text === void 0)
|
|
155
427
|
return void 0;
|
|
156
428
|
try {
|
|
157
|
-
return migrateReadPlan((0,
|
|
429
|
+
return migrateReadPlan((0, import_yaml2.parse)(text));
|
|
158
430
|
} catch {
|
|
159
431
|
return void 0;
|
|
160
432
|
}
|
|
@@ -178,7 +450,7 @@ async function coveredOf(root, repo) {
|
|
|
178
450
|
const reviewed = /* @__PURE__ */ new Set();
|
|
179
451
|
const lines = [];
|
|
180
452
|
const ranges = /* @__PURE__ */ new Set();
|
|
181
|
-
const text = await
|
|
453
|
+
const text = await readFile2(join2(factsDirOf(root), `${repo}.jsonl`), "utf8").catch(() => void 0);
|
|
182
454
|
if (text !== void 0) {
|
|
183
455
|
const parsed = parseFacts(text);
|
|
184
456
|
const facts = parsed.ok ? parsed.facts : [];
|
|
@@ -387,6 +659,18 @@ async function mapSpent(root, repo, o, io) {
|
|
|
387
659
|
}
|
|
388
660
|
|
|
389
661
|
export {
|
|
662
|
+
checkoutOf,
|
|
663
|
+
headOf,
|
|
664
|
+
carryOf,
|
|
665
|
+
conventionsAt,
|
|
666
|
+
excludesOf,
|
|
667
|
+
raiseReadQuestions,
|
|
668
|
+
estateComponentsOf,
|
|
669
|
+
slipNoteLines,
|
|
670
|
+
writeVerifyFiles,
|
|
671
|
+
readCorrections,
|
|
672
|
+
readReviewed,
|
|
673
|
+
reviewedProblemsOf,
|
|
390
674
|
ReadPlanFile,
|
|
391
675
|
migrateReadPlan,
|
|
392
676
|
readPlanRelOf,
|
|
@@ -7,18 +7,23 @@ import {
|
|
|
7
7
|
onboardingQueue,
|
|
8
8
|
queueWhy,
|
|
9
9
|
reasonOf
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-SK5OYWIY.js";
|
|
11
11
|
import {
|
|
12
12
|
houseUntaughtOf,
|
|
13
13
|
houseUntaughtWords
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3CFBU2O6.js";
|
|
15
15
|
import {
|
|
16
16
|
repoIdKey
|
|
17
17
|
} from "./chunk-MKFYQQ5Q.js";
|
|
18
18
|
import {
|
|
19
19
|
onboardingView
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-2ELFEKOO.js";
|
|
21
21
|
import {
|
|
22
|
+
catalogSources
|
|
23
|
+
} from "./chunk-HJUEQERG.js";
|
|
24
|
+
import {
|
|
25
|
+
checkoutOf,
|
|
26
|
+
conventionsAt,
|
|
22
27
|
loadReadPlan,
|
|
23
28
|
partOfWords,
|
|
24
29
|
readCostOf,
|
|
@@ -26,55 +31,49 @@ import {
|
|
|
26
31
|
readPlanProgress,
|
|
27
32
|
readPlanRelOf,
|
|
28
33
|
tokensWords
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import {
|
|
31
|
-
catalogSources
|
|
32
|
-
} from "./chunk-EW7MRMD5.js";
|
|
33
|
-
import {
|
|
34
|
-
checkoutOf,
|
|
35
|
-
conventionsAt
|
|
36
|
-
} from "./chunk-ASKDCMW5.js";
|
|
34
|
+
} from "./chunk-P76AW3PA.js";
|
|
37
35
|
import {
|
|
38
36
|
isMetarepo,
|
|
39
37
|
notMetarepo
|
|
40
38
|
} from "./chunk-3G4YI4ZU.js";
|
|
41
39
|
import {
|
|
42
40
|
readChangeTasks
|
|
43
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-7TH6I6TL.js";
|
|
44
42
|
import {
|
|
45
43
|
ASSISTANT_FORMATS,
|
|
46
44
|
probedAssistant,
|
|
47
45
|
readProbes,
|
|
46
|
+
rulesLacking,
|
|
48
47
|
whatRunsWhere
|
|
49
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GHSVJNVL.js";
|
|
50
49
|
import {
|
|
51
50
|
metarepoOpenSpec,
|
|
52
51
|
openspecProgress,
|
|
53
52
|
readNeeds,
|
|
54
53
|
seedCollisions
|
|
55
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-DWYPYVPJ.js";
|
|
56
55
|
import {
|
|
57
56
|
readChangeFiles
|
|
58
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-GMDOXWIS.js";
|
|
59
58
|
import {
|
|
60
59
|
changeStore,
|
|
61
60
|
loadChangePolicy,
|
|
62
61
|
stageCompletion
|
|
63
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-U5T4A2QV.js";
|
|
64
63
|
import {
|
|
65
64
|
readCatalog
|
|
66
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-22GLUHGE.js";
|
|
67
66
|
import {
|
|
68
67
|
readKnowledge,
|
|
69
68
|
snapshotDates,
|
|
70
69
|
workingDays
|
|
71
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-QR65C3DV.js";
|
|
72
71
|
import {
|
|
73
72
|
baseClonePath
|
|
74
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-RA64IK43.js";
|
|
75
74
|
import {
|
|
76
75
|
stepClassOfNextStep
|
|
77
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-CQD26SMZ.js";
|
|
78
77
|
import {
|
|
79
78
|
ScanVerifyProposal,
|
|
80
79
|
catalogDirOf,
|
|
@@ -95,7 +94,7 @@ import {
|
|
|
95
94
|
readSpecFindings,
|
|
96
95
|
require_dist,
|
|
97
96
|
stepModelsOf
|
|
98
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-U25OX22K.js";
|
|
99
98
|
import {
|
|
100
99
|
__toESM
|
|
101
100
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -166,6 +165,7 @@ async function readNextState(root) {
|
|
|
166
165
|
const planFile = await loadReadPlan(root, r.id);
|
|
167
166
|
const mapped = !!spec.header?.template.startsWith("facts@") || (fromFacts.get(r.id)?.facts ?? 0) > 0;
|
|
168
167
|
const stale = mapped && hasFacts ? await staleOf(root, r.id) : void 0;
|
|
168
|
+
const rules = hasFacts && r.cloned && !await staleOf(root, r.id) ? rulesLacking(planFile?.rules) : [];
|
|
169
169
|
repos.push({
|
|
170
170
|
id: r.id,
|
|
171
171
|
cloned: r.cloned,
|
|
@@ -178,6 +178,7 @@ async function readNextState(root) {
|
|
|
178
178
|
described: !r.description ? "none" : r.description.trust === "suggested" ? "draft" : "said",
|
|
179
179
|
...mapped ? { facts: true } : {},
|
|
180
180
|
...stale ? { stale } : {},
|
|
181
|
+
...rules.length ? { rules } : {},
|
|
181
182
|
...planFile ? { cost: readCostOf(planFile) } : {},
|
|
182
183
|
...hasFacts ? { read: true } : {},
|
|
183
184
|
...near.length ? { nearFacts: near } : {},
|
|
@@ -580,6 +581,15 @@ function nextSteps(s) {
|
|
|
580
581
|
why: `${r.id}'s clone moved past its facts' commit (facts ${r.stale.facts.slice(0, 12)}, clone ${r.stale.head.slice(0, 12)}): atticus estate fresh says how many facts to read again; your assistant reads only the files that changed.`,
|
|
581
582
|
repo: r.id
|
|
582
583
|
});
|
|
584
|
+
for (const r of s.repos.filter((x) => x.cloned && x.read && x.rules?.length))
|
|
585
|
+
out.push({
|
|
586
|
+
step: "rules",
|
|
587
|
+
command: `atticus map ${r.id} --rules`,
|
|
588
|
+
slash: `/atticus-map ${r.id} --rules`,
|
|
589
|
+
where: METAREPO,
|
|
590
|
+
why: `${r.id} was read before reading rules added since (${r.rules.join(", ")}): your assistant reads only the files they apply to, for what they ask, and atticus verify ${r.id} records the rules. atticus map --all --stale tops up every such repo.`,
|
|
591
|
+
repo: r.id
|
|
592
|
+
});
|
|
583
593
|
const cloned = s.repos.filter((r) => r.cloned && !r.facts && r.scanned);
|
|
584
594
|
for (const r of cloned.filter((x) => !x.settings))
|
|
585
595
|
out.push({
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
reExecForMemory,
|
|
10
10
|
roomGuard,
|
|
11
11
|
streamFacts
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-ARLH2ZMD.js";
|
|
13
|
+
import "./chunk-U25OX22K.js";
|
|
14
14
|
import "./chunk-MMB2OHUY.js";
|
|
15
15
|
import "./chunk-TV45EUGM.js";
|
|
16
16
|
export {
|
|
@@ -5,13 +5,13 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
parseXml
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-34NWVIBC.js";
|
|
9
9
|
import {
|
|
10
10
|
ZipError,
|
|
11
11
|
peekZip,
|
|
12
12
|
readZip,
|
|
13
13
|
require_dist
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-U25OX22K.js";
|
|
15
15
|
import {
|
|
16
16
|
__toESM
|
|
17
17
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -5,25 +5,25 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
targetFlowsOf
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-BSVTNNUK.js";
|
|
9
9
|
import {
|
|
10
10
|
estimateChange,
|
|
11
11
|
loadRelease,
|
|
12
12
|
releaseForecast
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LTLR4JZJ.js";
|
|
14
14
|
import {
|
|
15
15
|
gateStatus,
|
|
16
16
|
reviewedGates
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GMDOXWIS.js";
|
|
18
18
|
import {
|
|
19
19
|
detectConflicts,
|
|
20
20
|
outsideSystemsOf
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-U5T4A2QV.js";
|
|
22
22
|
import {
|
|
23
23
|
loadEstimates,
|
|
24
24
|
loadOrgPack,
|
|
25
25
|
orgPackDirOf
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-U25OX22K.js";
|
|
27
27
|
|
|
28
28
|
// packages/cli/dist/change-estimate.js
|
|
29
29
|
import { relative, sep } from "node:path";
|