@maycombhq/atticus 2.0.0-beta.10 → 2.0.0-beta.11
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-GZ4TKR3Q.js → chunk-23VFQHFQ.js} +33 -134
- package/dist/{chunk-VKMTFIWS.js → chunk-26DBAGOP.js} +18 -18
- package/dist/{chunk-PKCMRPPB.js → chunk-27EDZN52.js} +33 -27
- package/dist/{chunk-AJJK7GLO.js → chunk-2K2ZEJVR.js} +3 -3
- package/dist/{chunk-XRO65C7V.js → chunk-3DDJLI7N.js} +8 -6
- package/dist/{chunk-XQ3YIV5R.js → chunk-3LU6YCSQ.js} +6 -6
- package/dist/{chunk-XTVDAHH2.js → chunk-3WU7LVTL.js} +5 -5
- package/dist/{chunk-6GNS32SI.js → chunk-4AYZQ3SY.js} +4 -4
- package/dist/{chunk-6VBXAGJX.js → chunk-4ONORLK5.js} +14 -14
- package/dist/{chunk-7TGYNOXD.js → chunk-4URR24DD.js} +7 -7
- package/dist/{chunk-CIUHAHM6.js → chunk-4UZJOQYK.js} +8 -8
- package/dist/chunk-4Y4FY34K.js +34 -0
- package/dist/{chunk-52R2YXP5.js → chunk-4YWRU7JK.js} +16 -16
- package/dist/chunk-52WCHTVZ.js +41 -0
- package/dist/{chunk-YIEOFHOL.js → chunk-55TBYJF2.js} +17 -11
- package/dist/{chunk-MH5OCRUM.js → chunk-5ACUW753.js} +2 -2
- package/dist/chunk-5BJFMAQU.js +32 -0
- package/dist/{chunk-YPBQNJHA.js → chunk-5ICB2BXH.js} +8 -8
- package/dist/{chunk-YGKYFMSL.js → chunk-5NZSJ5ZG.js} +3 -3
- package/dist/{chunk-YPIEYQF4.js → chunk-5P5BGG5L.js} +6 -6
- package/dist/{chunk-B7434AE2.js → chunk-5RUMHLIS.js} +2 -2
- package/dist/{chunk-5MI2SEV5.js → chunk-5TY4DTHQ.js} +3 -3
- package/dist/{chunk-NIXVDQVO.js → chunk-5V5BJACL.js} +2 -2
- package/dist/{chunk-7DUDLVFJ.js → chunk-6E2GJANQ.js} +20 -20
- package/dist/{chunk-RK6MKKKP.js → chunk-6N2GUZMZ.js} +1 -1
- package/dist/{chunk-LK44ULGI.js → chunk-6RGIM2ZH.js} +32 -6
- package/dist/{chunk-OS7PQ35Z.js → chunk-6V3DTQWK.js} +22 -22
- package/dist/{chunk-OSGQW2Z6.js → chunk-77RSRG3A.js} +8 -8
- package/dist/{chunk-5YIBJXGB.js → chunk-7A7IG7OA.js} +10 -10
- package/dist/{chunk-YLAJAI2W.js → chunk-7HQOZALR.js} +11 -11
- package/dist/{chunk-XB5RFZHH.js → chunk-7HWXYP4H.js} +12 -12
- package/dist/{chunk-PIVKU64W.js → chunk-7J7UY46S.js} +2 -2
- package/dist/{chunk-62YMDXY6.js → chunk-7KXYMC2P.js} +16 -16
- package/dist/{chunk-23M2LUYM.js → chunk-7LCQ7JAM.js} +1 -1
- package/dist/{chunk-5XN76FTF.js → chunk-7RGCQ4VZ.js} +5 -5
- package/dist/{chunk-CHC5FKTU.js → chunk-7RUMD56V.js} +1 -1
- package/dist/{chunk-IUD3ME4E.js → chunk-7S3XFWOU.js} +4 -4
- package/dist/{chunk-ZONE6E3Z.js → chunk-7SZPENUP.js} +2 -2
- package/dist/{chunk-T6USVBEJ.js → chunk-7VFVQX5K.js} +5 -5
- package/dist/chunk-ACWQDL6T.js +37 -0
- package/dist/{chunk-AKJTKMXU.js → chunk-ANCI3LFS.js} +5 -5
- package/dist/{chunk-B3O52AUQ.js → chunk-ASKDCMW5.js} +4 -4
- package/dist/chunk-ATNG5VOZ.js +122 -0
- package/dist/{chunk-I7IWQIEB.js → chunk-B3QOYE74.js} +4 -4
- package/dist/chunk-B3UHYXHU.js +41 -0
- package/dist/{chunk-GXJVY6WT.js → chunk-BA5DTXHQ.js} +5 -5
- package/dist/{chunk-5XDNUJ4P.js → chunk-BKFGGJKA.js} +2 -2
- package/dist/{chunk-DDAHCPGA.js → chunk-BQNEHB5U.js} +12 -12
- package/dist/{chunk-P3TKKBAH.js → chunk-BUWSOQLU.js} +4 -4
- package/dist/{chunk-X4W4XXWP.js → chunk-BX52REMA.js} +5 -5
- package/dist/{chunk-4SVJNVEE.js → chunk-BXBCMGIQ.js} +2 -0
- package/dist/{chunk-CRE4BJHM.js → chunk-C2YGYTU6.js} +23 -23
- package/dist/{chunk-7URGP4DD.js → chunk-C5JFMAXX.js} +12 -12
- package/dist/chunk-C75W7VXX.js +42 -0
- package/dist/{chunk-NGPU2ARF.js → chunk-CAN3EBE5.js} +1 -1
- package/dist/{chunk-FR7JPYBD.js → chunk-CE4S5ZY3.js} +12 -12
- package/dist/{chunk-BMHGA7WD.js → chunk-CRQ73DIF.js} +12 -12
- package/dist/{chunk-KIAI6PWL.js → chunk-CZI2ACNT.js} +17 -17
- package/dist/chunk-D7MWYJZF.js +43 -0
- package/dist/chunk-DDAEAZEV.js +54 -0
- package/dist/{chunk-G2E5MNYP.js → chunk-DGKNOPSE.js} +7 -7
- package/dist/{chunk-UF7TAFJM.js → chunk-DQNKG4HY.js} +18 -18
- package/dist/{chunk-6TJCUYC5.js → chunk-DS3ZEJVN.js} +3 -3
- package/dist/{chunk-3QAKDIEU.js → chunk-DYWTQXP4.js} +23 -23
- package/dist/chunk-E25G46RW.js +54 -0
- package/dist/{chunk-F2FOQLJ7.js → chunk-EAQFRD2B.js} +6 -6
- package/dist/{chunk-W5OYJMBT.js → chunk-EATSD7YD.js} +5 -5
- package/dist/{chunk-YGR6OCHQ.js → chunk-EBWIOODZ.js} +8 -14
- package/dist/{chunk-LVGBKKSM.js → chunk-EHUYLNLC.js} +15 -15
- package/dist/{chunk-IDGSU7JF.js → chunk-EI4KQYJ3.js} +9 -9
- package/dist/{chunk-FQSRHTTC.js → chunk-EQOSXLK3.js} +15 -15
- package/dist/{chunk-KC5DROFC.js → chunk-EV4TEFOD.js} +14 -14
- package/dist/{chunk-2KDSXJFJ.js → chunk-EW7MRMD5.js} +24 -6
- package/dist/{chunk-FZL2HNWP.js → chunk-EZSZFI54.js} +3 -3
- package/dist/{chunk-MKRBG5EF.js → chunk-FMRMTI7W.js} +1 -1
- package/dist/{chunk-E3JYO547.js → chunk-FOQXYMOR.js} +20 -20
- package/dist/{chunk-G5SFOH7P.js → chunk-G3PBLW4K.js} +8 -18
- package/dist/{chunk-2XM6PYQQ.js → chunk-G7WZH54P.js} +33 -11
- package/dist/{chunk-FTV6I76U.js → chunk-GG6HIU74.js} +25 -25
- package/dist/{chunk-6EDQE7GO.js → chunk-GMJXC5AL.js} +2 -2
- package/dist/chunk-GPLFYLGH.js +130 -0
- package/dist/{chunk-UR7RMZ3R.js → chunk-GVFUEGGM.js} +2 -2
- package/dist/{chunk-WGZWR4RF.js → chunk-GWSWS264.js} +5 -5
- package/dist/{chunk-NPCD54I7.js → chunk-H4VJO3M2.js} +8 -5
- package/dist/{chunk-73VPWF5R.js → chunk-HGQZTUAC.js} +4 -4
- package/dist/{chunk-2RX7PI2Y.js → chunk-HOUUBE74.js} +4 -4
- package/dist/{chunk-BDEKREZH.js → chunk-HQMCHHY5.js} +3 -3
- package/dist/{chunk-DPHCFZ7W.js → chunk-HR4DVO6X.js} +3 -3
- package/dist/chunk-HZYFLEWO.js +39 -0
- package/dist/chunk-IA2RKC6I.js +279 -0
- package/dist/{chunk-AY2IUF4K.js → chunk-IILZ7J3L.js} +541 -64
- package/dist/chunk-IRW64JFF.js +247 -0
- package/dist/{chunk-BJPMKJTL.js → chunk-IVHN2VYG.js} +100 -2
- package/dist/{chunk-OEI7LVRP.js → chunk-IWZPGIGT.js} +24 -24
- package/dist/{chunk-QICFHVRW.js → chunk-IY4PHPHT.js} +4 -4
- package/dist/{chunk-ZE3P35DA.js → chunk-J27QGXO4.js} +9 -9
- package/dist/{chunk-BMCKL3VQ.js → chunk-JBSD57N7.js} +24 -24
- package/dist/{chunk-67J3VZBA.js → chunk-JEUXCIRD.js} +5 -5
- package/dist/{chunk-577AJVRS.js → chunk-JMOLB347.js} +1976 -282
- package/dist/{chunk-7EKESFWV.js → chunk-JQX6BSE4.js} +11 -11
- package/dist/{chunk-YXJ4XOHF.js → chunk-JRPQX2EK.js} +4 -4
- package/dist/{chunk-MTEBM4Y4.js → chunk-JUQHYTXN.js} +18 -12
- package/dist/{chunk-APSVL2AI.js → chunk-JUZ75OG4.js} +15 -15
- package/dist/{chunk-7GB4ZRE2.js → chunk-KIWEBM6G.js} +12 -12
- package/dist/{chunk-KM2FBM3T.js → chunk-KLKENMWQ.js} +282 -50
- package/dist/chunk-KQK6SQPE.js +48 -0
- package/dist/{chunk-TM7LC37P.js → chunk-KQRYW7OS.js} +179 -115
- package/dist/{chunk-65C57N7P.js → chunk-KU4T2CXJ.js} +19 -19
- package/dist/{chunk-GFXLPJWY.js → chunk-KXZR2BLL.js} +2 -2
- package/dist/{chunk-MGVYVW7Q.js → chunk-L7I5PKGD.js} +1 -1
- package/dist/{chunk-XKS6THI5.js → chunk-LDIARP6F.js} +2 -2
- package/dist/{chunk-NNUASOAA.js → chunk-LEHZTKB3.js} +12 -12
- package/dist/{chunk-FJCFYKVO.js → chunk-LS3WR2RF.js} +86 -29
- package/dist/{chunk-Y4BRGOJR.js → chunk-LUPW4WLK.js} +13 -10
- package/dist/{chunk-HE4ZQXZM.js → chunk-LVBPY2M6.js} +14 -4
- package/dist/{chunk-EX6ZXS5K.js → chunk-LZWVK4YY.js} +4 -4
- package/dist/chunk-MCWWMMLN.js +48 -0
- package/dist/{chunk-BXIX7S7O.js → chunk-MKC7P5LD.js} +15 -15
- package/dist/{chunk-JQ7XQPQS.js → chunk-MKIULIUQ.js} +4 -4
- package/dist/{chunk-D3PO4DOZ.js → chunk-MMB2OHUY.js} +4 -2
- package/dist/{chunk-MTAUZW2Z.js → chunk-MQNBEO3N.js} +210 -104
- package/dist/{chunk-4PJADZRR.js → chunk-MSL3CLHX.js} +16 -16
- package/dist/{chunk-5KTOPOEP.js → chunk-MV4637YA.js} +25 -25
- package/dist/{chunk-WARBF2KY.js → chunk-MYKQVS5W.js} +4 -4
- package/dist/{chunk-4QUQEBFT.js → chunk-MYOW3RPC.js} +6 -6
- package/dist/{chunk-ROTY5J2L.js → chunk-NBGBMRIS.js} +1 -1
- package/dist/{chunk-BUYJL3GJ.js → chunk-NBQO75XT.js} +1 -1
- package/dist/chunk-NCR24CPV.js +41 -0
- package/dist/chunk-NDW4ROST.js +38 -0
- package/dist/{chunk-AWECWW5Y.js → chunk-NELU7LSL.js} +13 -11
- package/dist/{chunk-R64GLVBO.js → chunk-NG5R2WIY.js} +10 -10
- package/dist/{chunk-ZZXF6OOJ.js → chunk-NH5QH3WS.js} +2 -2
- package/dist/{chunk-XIWYUQZQ.js → chunk-NIYB5K5B.js} +9 -9
- package/dist/{chunk-LDKUC2QJ.js → chunk-NR5T46ZY.js} +17 -17
- package/dist/{chunk-PEF5OEMB.js → chunk-NX6QEEOA.js} +4 -4
- package/dist/{chunk-OGRWQ562.js → chunk-O6ILVBYB.js} +2 -2
- package/dist/{chunk-Y7KBQ4BD.js → chunk-OFWYZH6B.js} +22 -22
- package/dist/{chunk-N3NBWIYQ.js → chunk-OHXTB6CO.js} +11 -9
- package/dist/chunk-OJN7WME4.js +34 -0
- package/dist/{chunk-2HMWX4T6.js → chunk-OR5VRULZ.js} +11 -11
- package/dist/{chunk-UBWCUP3G.js → chunk-ORZSD2KD.js} +2 -2
- package/dist/{chunk-V2TH46ZY.js → chunk-OXVVRJDQ.js} +12 -12
- package/dist/{chunk-7YYEKTYF.js → chunk-PQW7PYUR.js} +8 -8
- package/dist/{chunk-EZIUFEN6.js → chunk-Q32Y5T2U.js} +12 -12
- package/dist/{chunk-FOGG4AUR.js → chunk-QWHTTA2X.js} +23 -7
- package/dist/{chunk-HKTUIMH4.js → chunk-R3RVFCJ2.js} +3 -3
- package/dist/{chunk-J5LHDJU4.js → chunk-R3VFLYZZ.js} +7 -7
- package/dist/{chunk-QKEFZRHS.js → chunk-R6UTCLH5.js} +17 -17
- package/dist/{chunk-SS66Q4VE.js → chunk-RB2VSED2.js} +12 -12
- package/dist/chunk-REWZE2XI.js +53 -0
- package/dist/{chunk-MF7QH4AX.js → chunk-RIEFYHXI.js} +5 -5
- package/dist/{chunk-7F2RUWPU.js → chunk-RJDP642F.js} +1 -1
- package/dist/{chunk-YFSSNGLR.js → chunk-RWMSJP7H.js} +31 -29
- package/dist/{chunk-JMSEEBN4.js → chunk-S2FDPN32.js} +1 -1
- package/dist/chunk-S5LSDXV4.js +40 -0
- package/dist/{chunk-OJLRFGBP.js → chunk-S7ZWCMDO.js} +79 -15
- package/dist/{chunk-ILFKECGI.js → chunk-SG5KY4VB.js} +4 -4
- package/dist/{chunk-FEZE6NIA.js → chunk-SH7AZZDA.js} +18 -18
- package/dist/{chunk-E3Z67HRK.js → chunk-SILY6ZEZ.js} +4 -4
- package/dist/{chunk-5IALSMZ2.js → chunk-SINJKQSI.js} +14 -14
- package/dist/chunk-SIUDWWKS.js +47 -0
- package/dist/{chunk-XEG3FE2R.js → chunk-SKMHS4CL.js} +1 -1
- package/dist/chunk-SNHOLLGN.js +280 -0
- package/dist/{chunk-LTQANUDH.js → chunk-SUQZGPVG.js} +25 -25
- package/dist/{chunk-47QE246J.js → chunk-T6ESD5KM.js} +5 -5
- package/dist/{chunk-YVLMBAYE.js → chunk-TC3KTG33.js} +3 -3
- package/dist/{chunk-IV7BCWWN.js → chunk-TCADP67G.js} +3 -3
- package/dist/{chunk-6JLPXDWN.js → chunk-TEBBD4XH.js} +5 -5
- package/dist/{chunk-F7UQR4ZX.js → chunk-TGEOLIAK.js} +3 -3
- package/dist/{chunk-FMKKVWZD.js → chunk-TQYBXDVH.js} +2 -2
- package/dist/{chunk-TZDSDDSV.js → chunk-TZXHUDI6.js} +2 -2
- package/dist/{chunk-YMOJD5BO.js → chunk-U5PDQTLA.js} +3 -3
- package/dist/{chunk-CNKGYDMG.js → chunk-U6YKL7SI.js} +23 -23
- package/dist/{chunk-7UKVYFQ2.js → chunk-UABFFMWH.js} +8 -8
- package/dist/{chunk-XPEEICAO.js → chunk-UFBKJOWB.js} +15 -15
- package/dist/chunk-UFTQIK2J.js +43 -0
- package/dist/{chunk-ZP4FJHR4.js → chunk-UNFCFJMF.js} +18 -18
- package/dist/{chunk-IZNSAEBX.js → chunk-UTR67XU2.js} +2 -2
- package/dist/{chunk-6GWHKMQR.js → chunk-V4XKYGLK.js} +4 -4
- package/dist/{chunk-ISNZYKAS.js → chunk-VYNZED7B.js} +21 -21
- package/dist/{chunk-FV5YFR6I.js → chunk-WCLAOKCH.js} +9 -9
- package/dist/chunk-WFYHOXTB.js +29 -0
- package/dist/{chunk-QWVBEK4P.js → chunk-WGU6NIUV.js} +13 -13
- package/dist/{chunk-R4TBNKKC.js → chunk-WIMOJMAK.js} +974 -489
- package/dist/{chunk-XKZHAD6Y.js → chunk-WKXOEIOY.js} +15 -15
- package/dist/chunk-WUE6HKIU.js +790 -0
- package/dist/{chunk-R6B6XAKK.js → chunk-WUP77GG2.js} +4 -4
- package/dist/{chunk-RRVT4MPS.js → chunk-XF3DATVU.js} +18 -18
- package/dist/{chunk-KIHOIVST.js → chunk-XJAJQGXJ.js} +3 -3
- package/dist/{chunk-Y5PZHS4K.js → chunk-XKJRPVJO.js} +5 -5
- package/dist/{chunk-N4QZJJVB.js → chunk-XNRPCI23.js} +5 -5
- package/dist/{chunk-XNYNEEBR.js → chunk-XOVLGBKI.js} +18 -18
- package/dist/{chunk-GR6YKM55.js → chunk-XPJR74MA.js} +95 -13
- package/dist/{chunk-4GZXS6S2.js → chunk-XPWSNKF3.js} +226 -8
- package/dist/{chunk-LRS573EX.js → chunk-XR5DD5DQ.js} +4 -4
- package/dist/{chunk-PGKHJYOB.js → chunk-XZJE6WIT.js} +1 -1
- package/dist/{chunk-3GTZ2OON.js → chunk-Y5AYBGLB.js} +16 -10
- package/dist/{chunk-OIU657QQ.js → chunk-YLAM4HZH.js} +4 -4
- package/dist/{chunk-JF2NSTFO.js → chunk-YVCOQ5TZ.js} +3 -3
- package/dist/{chunk-F7YL2RZ4.js → chunk-YWOMGMZB.js} +23 -23
- package/dist/{chunk-WLIIQ2A4.js → chunk-YWZDAZMA.js} +7 -7
- package/dist/{chunk-JAA53T23.js → chunk-Z2EYRUOH.js} +20 -20
- package/dist/{chunk-UYYN2IUZ.js → chunk-Z46OXTBE.js} +6 -6
- package/dist/chunk-ZHWSL6SR.js +45 -0
- package/dist/chunk-ZJQUIG3A.js +87 -0
- package/dist/{chunk-T4RTWMJD.js → chunk-ZKUDS7JG.js} +5 -5
- package/dist/{chunk-HHUFVJF7.js → chunk-ZTNS3L5Z.js} +6 -6
- package/dist/files.json +471 -423
- package/dist/packages/sdk/npm/index.js +2300 -1983
- package/dist/packages/ui/dist/assets/{elk-api-Mo5w5xCa.js → elk-api-DDup23Us.js} +2 -2
- package/dist/packages/ui/dist/assets/{index-Bp3XhPHX.css → index-C0JEkXyN.css} +1 -1
- package/dist/packages/ui/dist/assets/index-mTOWhQZm.js +29 -0
- package/dist/packages/ui/dist/index.html +2 -2
- package/package.json +5 -5
- 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-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/packages/ui/dist/assets/index-DM212ZbV.js +0 -29
|
@@ -5,11 +5,12 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
readOpenApiDocument
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GVFUEGGM.js";
|
|
9
9
|
import {
|
|
10
10
|
globToRegExp
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FMRMTI7W.js";
|
|
12
12
|
import {
|
|
13
|
+
DECLARED_TOPIC,
|
|
13
14
|
DEFAULT_CONVENTIONS,
|
|
14
15
|
Fact,
|
|
15
16
|
FactId,
|
|
@@ -29,6 +30,7 @@ import {
|
|
|
29
30
|
isSecretPath,
|
|
30
31
|
lineNamesClaim,
|
|
31
32
|
normalizePath,
|
|
33
|
+
noteProblem,
|
|
32
34
|
partsBuildWord,
|
|
33
35
|
partsNamePath,
|
|
34
36
|
plainPathPrefix,
|
|
@@ -38,7 +40,7 @@ import {
|
|
|
38
40
|
staleCite,
|
|
39
41
|
toCanonicalYaml,
|
|
40
42
|
underFolders
|
|
41
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-JMOLB347.js";
|
|
42
44
|
|
|
43
45
|
// packages/verify/dist/source.js
|
|
44
46
|
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
@@ -405,6 +407,54 @@ function authPolicyMismatch(auth, file, policy, lines) {
|
|
|
405
407
|
}
|
|
406
408
|
var authChecks = (auth) => CHECKS[auth] ?? auth;
|
|
407
409
|
|
|
410
|
+
// packages/verify/dist/call-security-lines.js
|
|
411
|
+
var CLIENT_CERT = /client[-_ .]?cert|keystore|key[-_ .]?store|ssl[-_ .]?bundle|\.pfx\b|\.p12\b|pkcs12|\bpfx\b|\bp12\b/i;
|
|
412
|
+
var CERT_AND_KEY = (l) => /\bcert\b/i.test(l) && /\bkey\b/i.test(l);
|
|
413
|
+
var KINDS = {
|
|
414
|
+
"tls mtls": {
|
|
415
|
+
test: (l) => CLIENT_CERT.test(l) || CERT_AND_KEY(l),
|
|
416
|
+
needs: "a client certificate, a key store or an SSL bundle"
|
|
417
|
+
},
|
|
418
|
+
"tls tls": { test: (l) => /https|ssl|tls/i.test(l), needs: "https, SSL or TLS" },
|
|
419
|
+
"tls none": {
|
|
420
|
+
test: (l) => !/https:\/\//i.test(l) && (/http:\/\//i.test(l) || /\b(false|disabled?|insecure|plain-?text|off)\b/i.test(l)),
|
|
421
|
+
needs: "a plain http:// URL or a TLS switch set off"
|
|
422
|
+
},
|
|
423
|
+
"auth oauth2": {
|
|
424
|
+
test: (l) => /oauth|token|bearer|jwt|authori[sz]|client[-_ ]?credentials|access[-_ ]?token/i.test(l),
|
|
425
|
+
needs: "a token (OAuth, bearer, JWT or an Authorization header)"
|
|
426
|
+
},
|
|
427
|
+
"auth api-key": {
|
|
428
|
+
test: (l) => /api[-_ ]?key|apikey|x-api|subscription[-_ ]?key|[a-z0-9][-_]key\b/i.test(l),
|
|
429
|
+
needs: "a key"
|
|
430
|
+
},
|
|
431
|
+
"auth basic": {
|
|
432
|
+
test: (l) => /basic|password|passwd|username|credential/i.test(l),
|
|
433
|
+
needs: "a password or basic credentials"
|
|
434
|
+
},
|
|
435
|
+
"auth mtls": {
|
|
436
|
+
test: (l) => CLIENT_CERT.test(l) || CERT_AND_KEY(l),
|
|
437
|
+
needs: "a client certificate, a key store or an SSL bundle"
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
function securityLineKind(what, claim, lines) {
|
|
441
|
+
const k = KINDS[`${what} ${claim}`];
|
|
442
|
+
if (!k)
|
|
443
|
+
return void 0;
|
|
444
|
+
return lines.some((l) => k.test(l)) ? void 0 : k.needs;
|
|
445
|
+
}
|
|
446
|
+
function lineOfValue(lines, line, value) {
|
|
447
|
+
if (!lines)
|
|
448
|
+
return void 0;
|
|
449
|
+
const v = value.toLowerCase();
|
|
450
|
+
for (const n of [line, line - 1, line + 1]) {
|
|
451
|
+
const l = lines[n - 1];
|
|
452
|
+
if (l !== void 0 && l.toLowerCase().includes(v))
|
|
453
|
+
return l;
|
|
454
|
+
}
|
|
455
|
+
return lines[line - 1];
|
|
456
|
+
}
|
|
457
|
+
|
|
408
458
|
// packages/verify/dist/corrections.js
|
|
409
459
|
function correctionFor(f, corrections) {
|
|
410
460
|
const at = (c) => c.target.kind === f.kind && c.target.file === f.cite.file && c.target.line === f.cite.line;
|
|
@@ -1740,6 +1790,9 @@ function claimsOf(f) {
|
|
|
1740
1790
|
}
|
|
1741
1791
|
case "flow":
|
|
1742
1792
|
return [routeOrWord(f.cite.value)];
|
|
1793
|
+
// ADR 0163: the value as written, on its line.
|
|
1794
|
+
case "term":
|
|
1795
|
+
return [{ kind: "word", value: f.value }];
|
|
1743
1796
|
}
|
|
1744
1797
|
}
|
|
1745
1798
|
var sameCommit = (a, b) => a.startsWith(b) || b.startsWith(a);
|
|
@@ -1970,6 +2023,40 @@ async function verifyFacts(o) {
|
|
|
1970
2023
|
if (f.exposes === void 0 && !serves2)
|
|
1971
2024
|
problem(f, "exposure-component", `${label} says where a component is reached and names none: this repo's facts serve nothing, so its routes reach another repo's component; name it in exposes (one of the estate's components), or write a question when no file says which`);
|
|
1972
2025
|
}
|
|
2026
|
+
if (f.kind === "call") {
|
|
2027
|
+
for (const [what, claim, at] of [
|
|
2028
|
+
["auth", f.auth, f.authCite],
|
|
2029
|
+
["tls", f.tls, f.tlsCite]
|
|
2030
|
+
]) {
|
|
2031
|
+
if (claim !== void 0 && !at && f.by !== "person")
|
|
2032
|
+
problem(f, "security-uncited", `${label} claims ${what} ${claim} and cites no line for it: give ${what}Cite, the line that sets it (a client certificate, a token, an https URL) and what it writes there, or leave ${what} out`);
|
|
2033
|
+
if (!at)
|
|
2034
|
+
continue;
|
|
2035
|
+
const bad = checkCite({ ...at }, [{ kind: "word", value: at.value }], `${label} ${what}Cite${claim ? ` (${what} ${claim})` : ""}`, false);
|
|
2036
|
+
add(f, bad);
|
|
2037
|
+
if (bad || claim === void 0)
|
|
2038
|
+
continue;
|
|
2039
|
+
const lines = [at, ...at.with ?? []].flatMap((p) => {
|
|
2040
|
+
const l = lineOfValue(linesOf2(p.file), p.line, p.value);
|
|
2041
|
+
return l === void 0 ? [] : [l];
|
|
2042
|
+
});
|
|
2043
|
+
const needs = securityLineKind(what, claim, lines);
|
|
2044
|
+
if (needs)
|
|
2045
|
+
problem(f, "security-line-kind", `${label} claims ${what} ${claim} at ${at.file}:${at.line}${at.with?.length ? " and its parts" : ""}, which write${at.with?.length ? "" : "s"} no ${needs}: cite the line that sets it (with the line that builds it in ${what}Cite.with), or write the ${what} the line sets`);
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
if (f.kind === "term") {
|
|
2049
|
+
const m = f.meaning;
|
|
2050
|
+
if (m && m.file !== f.cite.file)
|
|
2051
|
+
problem(f, "term-meaning", `${label} says ${m.file}:${m.line} gives "${f.value}" its meaning, and the value is in ${f.cite.file}: cite the line of the same file (the list's or the block's key) that does`);
|
|
2052
|
+
else if (m && m.line > f.cite.line)
|
|
2053
|
+
problem(f, "term-meaning", `${label} says line ${m.line} gives "${f.value}" its meaning, below the value's line ${f.cite.line}: cite the line above it (the list's or the block's key) that does`);
|
|
2054
|
+
else if (m)
|
|
2055
|
+
add(f, checkCite({ ...m }, [{ kind: "word", value: m.value }], `${label} meaning`, false));
|
|
2056
|
+
const bad = f.note !== void 0 && o.notes ? noteProblem(f.note, o.notes) : void 0;
|
|
2057
|
+
if (bad)
|
|
2058
|
+
problem(f, bad.code, `${label} ${bad.message}`);
|
|
2059
|
+
}
|
|
1973
2060
|
if (f.kind === "framework") {
|
|
1974
2061
|
const bad = frameworkNameProblem(f, rules.frameworks);
|
|
1975
2062
|
if (bad)
|
|
@@ -3922,6 +4009,8 @@ var HOW_OF_FLAG = {
|
|
|
3922
4009
|
"joined-by-repo": "repo",
|
|
3923
4010
|
"joined-by-host": "host",
|
|
3924
4011
|
"declared-caller": "declared",
|
|
4012
|
+
// ADR 0162 §6 (F8): a topic or queue the profile names as an outside system's: a person's word.
|
|
4013
|
+
[DECLARED_TOPIC]: "declared",
|
|
3925
4014
|
// ADR 0160 (O3): answered by an entry of another team's shared map.
|
|
3926
4015
|
[JOINED_TO_SHARED_MAP]: "shared"
|
|
3927
4016
|
};
|
|
@@ -4123,6 +4212,7 @@ function buildEstate(records2) {
|
|
|
4123
4212
|
add(fromRecord(c, `component:${c.id}`, "component", c.id, parent, { type: c.type, runtime: c.runtime, repo: c.repo, path: c.path }, gaps));
|
|
4124
4213
|
}
|
|
4125
4214
|
const endpointNode = /* @__PURE__ */ new Map();
|
|
4215
|
+
const topicByPath = /* @__PURE__ */ new Map();
|
|
4126
4216
|
for (const e of all(records2, "Endpoint")) {
|
|
4127
4217
|
const topic = TOPIC_TYPES.has(e.endpointType);
|
|
4128
4218
|
const id = `${topic ? "topic" : "endpoint"}:${e.id}`;
|
|
@@ -4139,7 +4229,30 @@ function buildEstate(records2) {
|
|
|
4139
4229
|
auth: e.auth
|
|
4140
4230
|
}, gaps));
|
|
4141
4231
|
endpointNode.set(e.id, id);
|
|
4232
|
+
if (topic)
|
|
4233
|
+
topicByPath.set(e.pathOrTopic, id);
|
|
4142
4234
|
}
|
|
4235
|
+
const busTopic = (name, parent, ev = []) => {
|
|
4236
|
+
const known = topicByPath.get(name);
|
|
4237
|
+
if (known)
|
|
4238
|
+
return known;
|
|
4239
|
+
const id = add({
|
|
4240
|
+
id: `topic:bus.${slug2(name)}`,
|
|
4241
|
+
kind: "topic",
|
|
4242
|
+
label: name,
|
|
4243
|
+
parent,
|
|
4244
|
+
state: "current",
|
|
4245
|
+
gaps: [],
|
|
4246
|
+
evidence: ev,
|
|
4247
|
+
properties: { pathOrTopic: name },
|
|
4248
|
+
next: {
|
|
4249
|
+
command: `atticus query "${name}"`,
|
|
4250
|
+
why: "List the records that name this topic or queue."
|
|
4251
|
+
}
|
|
4252
|
+
});
|
|
4253
|
+
topicByPath.set(name, id);
|
|
4254
|
+
return id;
|
|
4255
|
+
};
|
|
4143
4256
|
const storeNode = /* @__PURE__ */ new Map();
|
|
4144
4257
|
for (const d of all(records2, "DataStore")) {
|
|
4145
4258
|
const owner = d.ownerComponent && components.has(d.ownerComponent);
|
|
@@ -4190,6 +4303,29 @@ function buildEstate(records2) {
|
|
|
4190
4303
|
atoms.push({ from: to, to: target, type: "subscribes", evidence: ev, gaps, join: join2 });
|
|
4191
4304
|
continue;
|
|
4192
4305
|
}
|
|
4306
|
+
if (!i.endpoint && (i.via === "event-bus" || i.via === "mq") && i.normalizedPath) {
|
|
4307
|
+
const isSystem = (n) => n.startsWith("system:") || n.startsWith("unknown:");
|
|
4308
|
+
const [home, homeRef] = !isSystem(to) && isSystem(from) ? [from, i.from] : [to, i.to];
|
|
4309
|
+
const t = busTopic(i.normalizedPath, home);
|
|
4310
|
+
const owner = nodes.get(t);
|
|
4311
|
+
if (owner.parent === home && isSystem(home)) {
|
|
4312
|
+
owner.properties = { ...owner.properties, owner: nodes.get(home)?.label ?? home };
|
|
4313
|
+
const b = nodes.get(home)?.properties.boundary;
|
|
4314
|
+
if (outside.has(homeRef) || b === "vendor" || b === "outside")
|
|
4315
|
+
owner.properties.ownerOutside = true;
|
|
4316
|
+
}
|
|
4317
|
+
if (join2.shared)
|
|
4318
|
+
owner.properties = { ...owner.properties, owner: join2.shared.team, ownerOutside: true };
|
|
4319
|
+
if (i.flags?.includes(DECLARED_TOPIC)) {
|
|
4320
|
+
owner.properties = { ...owner.properties, declared: true };
|
|
4321
|
+
owner.gaps = [.../* @__PURE__ */ new Set([...owner.gaps, DECLARED_TOPIC])];
|
|
4322
|
+
owner.evidence = mergeEvidence(owner.evidence, evidenceOf(i.evidence.filter((e) => e.source === "manual")));
|
|
4323
|
+
}
|
|
4324
|
+
atoms.push({ from, to: t, type: "publishes", evidence: ev, gaps, join: join2 });
|
|
4325
|
+
if (to.startsWith("component:"))
|
|
4326
|
+
atoms.push({ from: to, to: t, type: "subscribes", evidence: ev, gaps, join: join2 });
|
|
4327
|
+
continue;
|
|
4328
|
+
}
|
|
4193
4329
|
let caller = from;
|
|
4194
4330
|
if (from.startsWith("component:")) {
|
|
4195
4331
|
caller = add({
|
|
@@ -4222,6 +4358,22 @@ function buildEstate(records2) {
|
|
|
4222
4358
|
join: join2
|
|
4223
4359
|
});
|
|
4224
4360
|
}
|
|
4361
|
+
for (const u of all(records2, "Unresolved")) {
|
|
4362
|
+
if (u.unresolvedKind !== "event-publish" && u.unresolvedKind !== "event-subscribe")
|
|
4363
|
+
continue;
|
|
4364
|
+
if (!u.raw || u.raw.includes("${"))
|
|
4365
|
+
continue;
|
|
4366
|
+
const owner = u.owner ? partNode(u.owner) : "estate";
|
|
4367
|
+
const ev = evidenceOf(u.evidence);
|
|
4368
|
+
const t = busTopic(u.raw, u.unresolvedKind === "event-subscribe" ? owner : "estate", ev);
|
|
4369
|
+
atoms.push({
|
|
4370
|
+
from: owner,
|
|
4371
|
+
to: t,
|
|
4372
|
+
type: u.unresolvedKind === "event-publish" ? "publishes" : "subscribes",
|
|
4373
|
+
evidence: ev,
|
|
4374
|
+
gaps: recordGaps(u)
|
|
4375
|
+
});
|
|
4376
|
+
}
|
|
4225
4377
|
for (const c of components.values())
|
|
4226
4378
|
for (const u of c.uses ?? [])
|
|
4227
4379
|
atoms.push({
|
|
@@ -4274,6 +4426,37 @@ function buildEstate(records2) {
|
|
|
4274
4426
|
gaps: recordGaps(k)
|
|
4275
4427
|
});
|
|
4276
4428
|
}
|
|
4429
|
+
const busy = /* @__PURE__ */ new Set();
|
|
4430
|
+
const internal = (id) => {
|
|
4431
|
+
const n = nodes.get(id);
|
|
4432
|
+
return !!n && n.kind !== "unknown" && n.properties.boundary !== "outside" && n.properties.boundary !== "vendor";
|
|
4433
|
+
};
|
|
4434
|
+
for (const a of atoms)
|
|
4435
|
+
if (a.type === "publishes" || a.type === "subscribes") {
|
|
4436
|
+
if (internal(a.from))
|
|
4437
|
+
busy.add(`${a.type}|${a.to}`);
|
|
4438
|
+
}
|
|
4439
|
+
for (const n of nodes.values()) {
|
|
4440
|
+
if (n.kind !== "topic")
|
|
4441
|
+
continue;
|
|
4442
|
+
if (n.properties.owner === void 0) {
|
|
4443
|
+
let p = n.parent ? nodes.get(n.parent) : void 0;
|
|
4444
|
+
while (p && p.kind !== "system" && p.kind !== "repo" && p.kind !== "estate")
|
|
4445
|
+
p = p.parent ? nodes.get(p.parent) : void 0;
|
|
4446
|
+
if (p && p.kind !== "estate") {
|
|
4447
|
+
let sys = p;
|
|
4448
|
+
while (sys && sys.kind !== "system")
|
|
4449
|
+
sys = sys.parent ? nodes.get(sys.parent) : void 0;
|
|
4450
|
+
n.properties = { ...n.properties, owner: (sys ?? p).label };
|
|
4451
|
+
if (sys && (sys.properties.boundary === "outside" || sys.properties.boundary === "vendor"))
|
|
4452
|
+
n.properties.ownerOutside = true;
|
|
4453
|
+
}
|
|
4454
|
+
}
|
|
4455
|
+
if (!busy.has(`publishes|${n.id}`))
|
|
4456
|
+
n.gaps.push("no-publisher");
|
|
4457
|
+
if (!busy.has(`subscribes|${n.id}`))
|
|
4458
|
+
n.gaps.push("no-listener");
|
|
4459
|
+
}
|
|
4277
4460
|
const kids = /* @__PURE__ */ new Map();
|
|
4278
4461
|
for (const n of nodes.values()) {
|
|
4279
4462
|
if (!n.parent)
|
|
@@ -4438,16 +4621,27 @@ function nodeView(est, id, o) {
|
|
|
4438
4621
|
return ax[i] ?? x;
|
|
4439
4622
|
};
|
|
4440
4623
|
const types = LENS_EDGES[lens];
|
|
4624
|
+
const onBus = (atom, b) => (atom.type === "publishes" || atom.type === "subscribes") && est.nodes.get(b)?.kind === "topic" && b !== id;
|
|
4625
|
+
const drawnTopics = /* @__PURE__ */ new Set();
|
|
4626
|
+
for (const atom of est.atoms) {
|
|
4627
|
+
if (!types.has(atom.type))
|
|
4628
|
+
continue;
|
|
4629
|
+
const a = lift(est, lens, atom.from);
|
|
4630
|
+
const b = lift(est, lens, atom.to);
|
|
4631
|
+
if (onBus(atom, b) && (inside(a) || inside(b)))
|
|
4632
|
+
drawnTopics.add(b);
|
|
4633
|
+
}
|
|
4441
4634
|
const mapped = [];
|
|
4442
4635
|
for (const atom of est.atoms) {
|
|
4443
4636
|
if (!types.has(atom.type))
|
|
4444
4637
|
continue;
|
|
4445
4638
|
const a = lift(est, lens, atom.from);
|
|
4446
4639
|
const b = lift(est, lens, atom.to);
|
|
4447
|
-
|
|
4640
|
+
const bus = onBus(atom, b);
|
|
4641
|
+
if (!inside(a) && !inside(b) && !(bus && drawnTopics.has(b)))
|
|
4448
4642
|
continue;
|
|
4449
4643
|
const from = place(a);
|
|
4450
|
-
const to = place(b);
|
|
4644
|
+
const to = bus ? b : place(b);
|
|
4451
4645
|
if (from === to)
|
|
4452
4646
|
continue;
|
|
4453
4647
|
mapped.push({ from, to, atom });
|
|
@@ -4456,10 +4650,12 @@ function nodeView(est, id, o) {
|
|
|
4456
4650
|
let hidden = 0;
|
|
4457
4651
|
if (!o.all)
|
|
4458
4652
|
({ edges, hidden } = reduceUses(edges));
|
|
4459
|
-
const
|
|
4460
|
-
const
|
|
4653
|
+
const ends = [...new Set(edges.flatMap((e) => [e.from, e.to]))].filter((n) => n !== id && !shownSet.has(n));
|
|
4654
|
+
const deeper = ends.filter((n) => drawnTopics.has(n) && inside(n)).sort();
|
|
4655
|
+
const outside = ends.filter((n) => !deeper.includes(n)).sort();
|
|
4656
|
+
const children = [...shown, ...deeper].map((n) => toNode(est, lens, n));
|
|
4461
4657
|
const firstTable = children.find((c) => c.kind === "table");
|
|
4462
|
-
const suggest = lens === "data" && firstTable ? { mode: "focus", id: firstTable.id } : shown.length + outside.length > DETAILED_LIMIT ? { mode: "group" } : void 0;
|
|
4658
|
+
const suggest = lens === "data" && firstTable ? { mode: "focus", id: firstTable.id } : shown.length + deeper.length + outside.length > DETAILED_LIMIT ? { mode: "group" } : void 0;
|
|
4463
4659
|
return {
|
|
4464
4660
|
lens,
|
|
4465
4661
|
node: toNode(est, lens, id),
|
|
@@ -4818,6 +5014,27 @@ function config(c) {
|
|
|
4818
5014
|
return `- ${code(`${s.key} = ${s.valueOrRef}`)} (${notes.join("; ")}): ${cite(c, ownEvidence(s, c.i.repo))}`;
|
|
4819
5015
|
});
|
|
4820
5016
|
}
|
|
5017
|
+
function terms(c) {
|
|
5018
|
+
const ts = c.i.terms ?? [];
|
|
5019
|
+
const owners = /* @__PURE__ */ new Map();
|
|
5020
|
+
for (const r of records(c, "Component"))
|
|
5021
|
+
for (const f of r.flags ?? []) {
|
|
5022
|
+
const m = /^term:[^=]+=(.+)$/.exec(f);
|
|
5023
|
+
if (m && !c.comps.has(r.id))
|
|
5024
|
+
owners.set(m[1], [...owners.get(m[1]) ?? [], r.id]);
|
|
5025
|
+
}
|
|
5026
|
+
const listing = /* @__PURE__ */ new Map();
|
|
5027
|
+
for (const g of records(c, "AccessGrant"))
|
|
5028
|
+
if (g.flags?.some((f) => f.startsWith("term:"))) {
|
|
5029
|
+
const route = c.byId.get(g.resource);
|
|
5030
|
+
const by = route?.kind === "GatewayRoute" ? route.proxy : g.resource;
|
|
5031
|
+
listing.set(g.subject, [.../* @__PURE__ */ new Set([...listing.get(g.subject) ?? [], by])]);
|
|
5032
|
+
}
|
|
5033
|
+
return [...ts].sort((a, b) => cmp2(a.term, b.term) || cmp2(a.value, b.value)).map((t) => {
|
|
5034
|
+
const means = t.role === "owner" ? `this repo's own id${listing.get(t.value)?.length ? `; let in by ${list(listing.get(t.value).sort())}` : ""}` : t.role === "consumer" ? `a consumer it lets in${owners.get(t.value)?.length ? `: ${list(owners.get(t.value).sort())}` : ", whose own repo no fact names yet"}` : t.role === "none" ? "names no system" : `**open:** nothing says what it means${owners.get(t.value)?.length ? `; the same value is ${list(owners.get(t.value).sort())}'s own id (a possible link)` : ""}`;
|
|
5035
|
+
return `- ${code(t.term)} ${code(t.value)}: ${means} ${cite(c, t.cite)}${t.meaning ? ` (its role from ${cite(c, t.meaning)})` : ""}`;
|
|
5036
|
+
});
|
|
5037
|
+
}
|
|
4821
5038
|
var flowFile = (f) => `flows/${f.id}.md`;
|
|
4822
5039
|
function flowsList(c) {
|
|
4823
5040
|
if (!c.i.flows.length)
|
|
@@ -5054,6 +5271,7 @@ function renderMap(i) {
|
|
|
5054
5271
|
...section("What it stores", stores(base)),
|
|
5055
5272
|
...section("Where it runs", deploys(base)),
|
|
5056
5273
|
...section("Config that names other systems", config(base)),
|
|
5274
|
+
...i.terms?.length ? section("Terms", terms(base)) : [],
|
|
5057
5275
|
...section("Flows", flowsList(base)),
|
|
5058
5276
|
...section("Contracts", contracts(base, files)),
|
|
5059
5277
|
...section("Open questions", openQuestions(base))
|
|
@@ -6,14 +6,14 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
|
6
6
|
import {
|
|
7
7
|
hostQuestionDrafts,
|
|
8
8
|
unknownHosts
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IILZ7J3L.js";
|
|
10
10
|
import {
|
|
11
11
|
baseClonePath,
|
|
12
12
|
loadRepos
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XZJE6WIT.js";
|
|
14
14
|
import {
|
|
15
15
|
fsRepo
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FMRMTI7W.js";
|
|
17
17
|
import {
|
|
18
18
|
HOSTS_NONE,
|
|
19
19
|
HOSTS_OUTSIDE_INTERNAL,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
raiseQuestions,
|
|
26
26
|
retireQuestion,
|
|
27
27
|
writeQuestion
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-JMOLB347.js";
|
|
29
29
|
|
|
30
30
|
// packages/cli/dist/host-questions.js
|
|
31
31
|
import { stat } from "node:fs/promises";
|
|
@@ -3,9 +3,12 @@ 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
|
+
notesAt
|
|
8
|
+
} from "./chunk-52WCHTVZ.js";
|
|
6
9
|
import {
|
|
7
10
|
recordReadProgress
|
|
8
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LVBPY2M6.js";
|
|
9
12
|
import {
|
|
10
13
|
carryOf,
|
|
11
14
|
checkoutOf,
|
|
@@ -19,19 +22,19 @@ import {
|
|
|
19
22
|
reviewedProblemsOf,
|
|
20
23
|
slipNoteLines,
|
|
21
24
|
writeVerifyFiles
|
|
22
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-ASKDCMW5.js";
|
|
23
26
|
import {
|
|
24
27
|
dirSource,
|
|
25
28
|
frameworkFacts,
|
|
26
29
|
frameworksToLearn,
|
|
27
30
|
repairFormSlips,
|
|
28
31
|
verifyFacts
|
|
29
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-XPWSNKF3.js";
|
|
30
33
|
import {
|
|
31
34
|
NoRoomError,
|
|
32
35
|
roomGuard,
|
|
33
36
|
streamFacts
|
|
34
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-RJDP642F.js";
|
|
35
38
|
import {
|
|
36
39
|
factsDirOf,
|
|
37
40
|
factsRelOf,
|
|
@@ -39,7 +42,7 @@ import {
|
|
|
39
42
|
loadOrgPack,
|
|
40
43
|
orgPackDirOf,
|
|
41
44
|
stackHelpersOff
|
|
42
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-JMOLB347.js";
|
|
43
46
|
|
|
44
47
|
// packages/cli/dist/verify-commands.js
|
|
45
48
|
import { existsSync } from "node:fs";
|
|
@@ -88,8 +91,10 @@ async function verifyAllCommand(root, o, io) {
|
|
|
88
91
|
io.out(`Verified ${repos.length === 1 ? "1 repo" : `${repos.length} repos`}: ${passed} passed${failed.length ? `, ${failed.length} with something to fix (${failed.join(", ")})` : ""}.`);
|
|
89
92
|
return failed.length ? 1 : 0;
|
|
90
93
|
}
|
|
91
|
-
async function verifyInputsOf(root, repo) {
|
|
94
|
+
async function verifyInputsOf(root, repo, dir) {
|
|
92
95
|
return {
|
|
96
|
+
// ADR 0163: the org notes the read was handed, so a term's note is one of them.
|
|
97
|
+
notes: (await notesAt(root, repo, dir)).notes,
|
|
93
98
|
corrections: await readCorrections(root, repo),
|
|
94
99
|
reviewed: await readReviewed(root, repo),
|
|
95
100
|
estate: await estateComponentsOf(root),
|
|
@@ -137,7 +142,7 @@ async function verifyCommand(root, repo, o, io) {
|
|
|
137
142
|
const commit = o.commit ?? await headOf(dir);
|
|
138
143
|
const source = dirSource(dir);
|
|
139
144
|
const { carry, missing } = await carryOf(dir, parsed.facts, commit, o.git);
|
|
140
|
-
const inputs = await verifyInputsOf(root, repo);
|
|
145
|
+
const inputs = await verifyInputsOf(root, repo, dir);
|
|
141
146
|
const { corrections, reviewed, estate, conventions } = inputs;
|
|
142
147
|
for (const b of corrections.bad.slice(0, SHOWN))
|
|
143
148
|
io.err(`${rel}/${repo}.corrections.jsonl line ${b.line} isn't a correction: ${b.message}`);
|
|
@@ -159,7 +164,8 @@ async function verifyCommand(root, repo, o, io) {
|
|
|
159
164
|
room,
|
|
160
165
|
// J1 (ADR 0143): an exposure read here names a component the manifest lists.
|
|
161
166
|
...estate ? { estate } : {},
|
|
162
|
-
conventions
|
|
167
|
+
conventions,
|
|
168
|
+
notes: inputs.notes
|
|
163
169
|
});
|
|
164
170
|
} catch (e) {
|
|
165
171
|
if (!(e instanceof NoRoomError))
|
|
@@ -208,7 +214,7 @@ async function verifyCommand(root, repo, o, io) {
|
|
|
208
214
|
if (o.json) {
|
|
209
215
|
let written2;
|
|
210
216
|
if (o.write && !failed) {
|
|
211
|
-
const { writeFactsIntoCatalog: writeFactsIntoCatalog2 } = await import("./chunk-
|
|
217
|
+
const { writeFactsIntoCatalog: writeFactsIntoCatalog2 } = await import("./chunk-KLKENMWQ.js");
|
|
212
218
|
written2 = await writeFactsIntoCatalog2(root, repo, report.accepted, { dir, command: `atticus verify ${repo} --write` }, { ...io, out: () => void 0 });
|
|
213
219
|
if (!written2)
|
|
214
220
|
return 1;
|
|
@@ -348,7 +354,7 @@ async function verifyCommand(root, repo, o, io) {
|
|
|
348
354
|
io.out(`When the read is complete: atticus verify ${repo} --write puts the facts in the catalog, the flows in specs/${repo}/, and renders the map.`);
|
|
349
355
|
return 0;
|
|
350
356
|
}
|
|
351
|
-
const { writeFactsIntoCatalog } = await import("./chunk-
|
|
357
|
+
const { writeFactsIntoCatalog } = await import("./chunk-KLKENMWQ.js");
|
|
352
358
|
const written = await writeFactsIntoCatalog(root, repo, report.accepted, { dir, command: `atticus verify ${repo} --write`, verbose: o.verbose === true }, io);
|
|
353
359
|
return written ? 0 : 1;
|
|
354
360
|
}
|
|
@@ -45,10 +45,10 @@ import {
|
|
|
45
45
|
systemKeyStore,
|
|
46
46
|
undiciTransport,
|
|
47
47
|
uriEncode
|
|
48
|
-
} from "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
48
|
+
} from "./chunk-GMJXC5AL.js";
|
|
49
|
+
import "./chunk-BKFGGJKA.js";
|
|
50
|
+
import "./chunk-JMOLB347.js";
|
|
51
|
+
import "./chunk-MMB2OHUY.js";
|
|
52
52
|
import "./chunk-TV45EUGM.js";
|
|
53
53
|
export {
|
|
54
54
|
ANTHROPIC_SETTINGS,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
namesInCode,
|
|
10
10
|
openIndex,
|
|
11
11
|
workspaceRepos
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XNRPCI23.js";
|
|
13
13
|
|
|
14
14
|
// packages/cli/dist/code-tools.js
|
|
15
15
|
var offered = /* @__PURE__ */ new Map();
|
|
@@ -21,7 +21,7 @@ function codeToolOptions(root) {
|
|
|
21
21
|
codeDir: (r) => offered.get(r) ?? defaultCodeDir(root, r),
|
|
22
22
|
repos: () => [.../* @__PURE__ */ new Set([...workspaceRepos(root), ...offered.keys()])].sort(),
|
|
23
23
|
// Loaded on first use: the readers are large, and most commands never outline a file.
|
|
24
|
-
outline: async (path, text) => (await import("./chunk-
|
|
24
|
+
outline: async (path, text) => (await import("./chunk-MKIULIUQ.js")).declarationOutline(path, text)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
function metarepoToolBox(root, calls) {
|
|
@@ -31,7 +31,7 @@ function metarepoToolBox(root, calls) {
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
async function criticCodeSearch(root, names) {
|
|
34
|
-
const x = await import("./chunk-
|
|
34
|
+
const x = await import("./chunk-MKIULIUQ.js");
|
|
35
35
|
const r = await namesInCode(root, names, {
|
|
36
36
|
...codeToolOptions(root),
|
|
37
37
|
outlines: (path) => x.syntaxLanguageOf(path) !== void 0
|
|
@@ -35,29 +35,29 @@ import {
|
|
|
35
35
|
taskDir,
|
|
36
36
|
taskPack,
|
|
37
37
|
taskRunnerAgent
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-7HWXYP4H.js";
|
|
39
|
+
import "./chunk-EI4KQYJ3.js";
|
|
40
|
+
import "./chunk-6RGIM2ZH.js";
|
|
41
|
+
import "./chunk-PQW7PYUR.js";
|
|
42
|
+
import "./chunk-SKMHS4CL.js";
|
|
43
|
+
import "./chunk-EV4TEFOD.js";
|
|
44
|
+
import "./chunk-6N2GUZMZ.js";
|
|
45
|
+
import "./chunk-T6ESD5KM.js";
|
|
46
|
+
import "./chunk-3LU6YCSQ.js";
|
|
47
|
+
import "./chunk-L7I5PKGD.js";
|
|
48
|
+
import "./chunk-CAN3EBE5.js";
|
|
49
|
+
import "./chunk-IILZ7J3L.js";
|
|
50
|
+
import "./chunk-TEBBD4XH.js";
|
|
51
|
+
import "./chunk-XPWSNKF3.js";
|
|
52
|
+
import "./chunk-WIMOJMAK.js";
|
|
53
|
+
import "./chunk-5V5BJACL.js";
|
|
54
|
+
import "./chunk-GVFUEGGM.js";
|
|
55
|
+
import "./chunk-XNRPCI23.js";
|
|
56
|
+
import "./chunk-XZJE6WIT.js";
|
|
57
|
+
import "./chunk-FMRMTI7W.js";
|
|
58
|
+
import "./chunk-BKFGGJKA.js";
|
|
59
|
+
import "./chunk-JMOLB347.js";
|
|
60
|
+
import "./chunk-MMB2OHUY.js";
|
|
61
61
|
import "./chunk-TV45EUGM.js";
|
|
62
62
|
export {
|
|
63
63
|
BuildAttempt,
|
|
@@ -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
|
conformanceCommand
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-3DDJLI7N.js";
|
|
9
|
+
import "./chunk-7J7UY46S.js";
|
|
10
|
+
import "./chunk-CAN3EBE5.js";
|
|
11
|
+
import "./chunk-GVFUEGGM.js";
|
|
12
|
+
import "./chunk-FMRMTI7W.js";
|
|
13
|
+
import "./chunk-JMOLB347.js";
|
|
14
|
+
import "./chunk-MMB2OHUY.js";
|
|
15
15
|
import "./chunk-TV45EUGM.js";
|
|
16
16
|
export {
|
|
17
17
|
conformanceCommand
|
|
@@ -5,34 +5,34 @@ 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-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-JEUXCIRD.js";
|
|
9
|
+
import "./chunk-BUWSOQLU.js";
|
|
10
10
|
import {
|
|
11
11
|
MAX_CHAIN_DEPTH,
|
|
12
12
|
changeImpact,
|
|
13
13
|
loadEstate
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-EV4TEFOD.js";
|
|
15
|
+
import "./chunk-6N2GUZMZ.js";
|
|
16
|
+
import "./chunk-T6ESD5KM.js";
|
|
17
|
+
import "./chunk-3LU6YCSQ.js";
|
|
18
|
+
import "./chunk-L7I5PKGD.js";
|
|
19
|
+
import "./chunk-CAN3EBE5.js";
|
|
20
|
+
import "./chunk-IILZ7J3L.js";
|
|
21
|
+
import "./chunk-TEBBD4XH.js";
|
|
22
|
+
import "./chunk-XPWSNKF3.js";
|
|
23
|
+
import "./chunk-WIMOJMAK.js";
|
|
24
|
+
import "./chunk-5V5BJACL.js";
|
|
25
|
+
import "./chunk-GVFUEGGM.js";
|
|
26
|
+
import "./chunk-XNRPCI23.js";
|
|
27
27
|
import {
|
|
28
28
|
loadRepos
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
29
|
+
} from "./chunk-XZJE6WIT.js";
|
|
30
|
+
import "./chunk-FMRMTI7W.js";
|
|
31
|
+
import "./chunk-BKFGGJKA.js";
|
|
32
32
|
import {
|
|
33
33
|
readTeams
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-JMOLB347.js";
|
|
35
|
+
import "./chunk-MMB2OHUY.js";
|
|
36
36
|
import "./chunk-TV45EUGM.js";
|
|
37
37
|
|
|
38
38
|
// packages/cli/dist/change-impact.js
|