token-goat 2.9.30 → 2.9.31
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/README.md +24 -7
- package/SECURITY.md +10 -2
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/dist/native/linux-arm64/tg-hook +0 -0
- package/dist/native/linux-x64/tg-hook +0 -0
- package/dist/native/win32-arm64/tg-hook.exe +0 -0
- package/dist/native/win32-x64/tg-hook.exe +0 -0
- package/dist/{token-goat-chunk-QSBRTGM2.mjs → token-goat-chunk-25TRAWET.mjs} +17 -7
- package/dist/token-goat-chunk-2KXO6V2B.mjs +203 -0
- package/dist/{token-goat-chunk-IVKIZWAB.mjs → token-goat-chunk-2M7E4PF7.mjs} +41 -12
- package/dist/{token-goat-chunk-SMVRN2HU.mjs → token-goat-chunk-2UPZGKKY.mjs} +2 -2
- package/dist/token-goat-chunk-2WLPWKHV.mjs +135 -0
- package/dist/token-goat-chunk-2XBMMDBD.mjs +126 -0
- package/dist/token-goat-chunk-32ZOY4N5.mjs +23 -0
- package/dist/token-goat-chunk-3EZRNKTK.mjs +188 -0
- package/dist/token-goat-chunk-4ADZHI7J.mjs +63 -0
- package/dist/token-goat-chunk-4GBVPH3D.mjs +242 -0
- package/dist/{token-goat-chunk-KWPNJBDH.mjs → token-goat-chunk-4GILLLWY.mjs} +7 -4
- package/dist/{token-goat-chunk-67TQJ76B.mjs → token-goat-chunk-4NAPX7BA.mjs} +36 -3
- package/dist/{token-goat-chunk-PU7V3FD6.mjs → token-goat-chunk-4SC7UJYV.mjs} +3354 -2553
- package/dist/token-goat-chunk-4SMRO4TO.mjs +366 -0
- package/dist/{token-goat-chunk-AFLYLHDH.mjs → token-goat-chunk-4ZBFWLXF.mjs} +283 -427
- package/dist/{token-goat-chunk-JDWCRD6M.mjs → token-goat-chunk-57BIAXJL.mjs} +73 -40
- package/dist/token-goat-chunk-5AC66HNP.mjs +115 -0
- package/dist/token-goat-chunk-5IMLKSOP.mjs +145 -0
- package/dist/token-goat-chunk-646E6U44.mjs +398 -0
- package/dist/token-goat-chunk-65N4RHP4.mjs +33 -0
- package/dist/{token-goat-chunk-JN4XMLSD.mjs → token-goat-chunk-6DG6HWP3.mjs} +8 -2
- package/dist/token-goat-chunk-6ENQSNRZ.mjs +573 -0
- package/dist/token-goat-chunk-6ZY4GNF2.mjs +91 -0
- package/dist/{token-goat-chunk-VPBBTSJR.mjs → token-goat-chunk-76FGDLRO.mjs} +262 -255
- package/dist/{token-goat-chunk-7IN2MKDS.mjs → token-goat-chunk-7EZTZOMC.mjs} +121 -289
- package/dist/{token-goat-chunk-OJBNYTJP.mjs → token-goat-chunk-7MAOA6X4.mjs} +640 -80
- package/dist/token-goat-chunk-7R2ZVVAX.mjs +218 -0
- package/dist/{token-goat-chunk-PD5VKH46.mjs → token-goat-chunk-AUNGYYQX.mjs} +2 -2
- package/dist/{token-goat-chunk-HG45AF2B.mjs → token-goat-chunk-AUQYRMMH.mjs} +794 -37
- package/dist/token-goat-chunk-B3PEKBYG.mjs +128 -0
- package/dist/{token-goat-chunk-A3CK6N5Z.mjs → token-goat-chunk-BA4HI6BW.mjs} +1309 -110
- package/dist/{token-goat-chunk-JB6QN6VF.mjs → token-goat-chunk-BFCWY73P.mjs} +59 -23
- package/dist/{token-goat-chunk-B45VMIIH.mjs → token-goat-chunk-BWGFUZZE.mjs} +7 -5
- package/dist/{token-goat-chunk-P4QMM4WK.mjs → token-goat-chunk-C75NA7PL.mjs} +50 -23
- package/dist/token-goat-chunk-CBIQ7WTD.mjs +87 -0
- package/dist/token-goat-chunk-CETM74KC.mjs +307 -0
- package/dist/{token-goat-chunk-H2PHHGM5.mjs → token-goat-chunk-CIMQ2BB3.mjs} +57 -12
- package/dist/{token-goat-chunk-N2NMER56.mjs → token-goat-chunk-CJLS3CDL.mjs} +46 -4
- package/dist/{token-goat-chunk-VES7EL7O.mjs → token-goat-chunk-CO3UYX6G.mjs} +1 -1
- package/dist/token-goat-chunk-COPNXRJM.mjs +154 -0
- package/dist/token-goat-chunk-CSJ5L3NL.mjs +479 -0
- package/dist/{token-goat-chunk-4LCCNRTG.mjs → token-goat-chunk-CVCEVUGK.mjs} +8 -6
- package/dist/{token-goat-chunk-B2RZZCSS.mjs → token-goat-chunk-CXHOFN7R.mjs} +37 -20
- package/dist/token-goat-chunk-D735C4QM.mjs +603 -0
- package/dist/{token-goat-chunk-APGZXSPS.mjs → token-goat-chunk-DGS2LVNA.mjs} +47 -30
- package/dist/{token-goat-chunk-54K3EUV3.mjs → token-goat-chunk-DOWRSMWO.mjs} +1 -1
- package/dist/token-goat-chunk-E45INMY3.mjs +71 -0
- package/dist/token-goat-chunk-EC5F37F4.mjs +244 -0
- package/dist/{token-goat-chunk-XTQAOTSO.mjs → token-goat-chunk-EDBDRVH5.mjs} +4 -1
- package/dist/{token-goat-chunk-5BCIJXMO.mjs → token-goat-chunk-EELTBKDM.mjs} +14 -10
- package/dist/{token-goat-chunk-W3QCJS6G.mjs → token-goat-chunk-F4HYL64R.mjs} +8 -6
- package/dist/token-goat-chunk-F6PAUIEK.mjs +624 -0
- package/dist/token-goat-chunk-FDSREWLX.mjs +692 -0
- package/dist/token-goat-chunk-GGGG7RWB.mjs +236 -0
- package/dist/{token-goat-chunk-C63JQV5K.mjs → token-goat-chunk-GL3ETKSC.mjs} +233 -15
- package/dist/token-goat-chunk-GVB2MUST.mjs +1298 -0
- package/dist/token-goat-chunk-GWFLAUMQ.mjs +307 -0
- package/dist/{token-goat-chunk-ZEJVMUQH.mjs → token-goat-chunk-HLPW63A7.mjs} +2 -2
- package/dist/{token-goat-chunk-GOLEOXZP.mjs → token-goat-chunk-HU4TORC5.mjs} +44 -26
- package/dist/{token-goat-chunk-Z57YODA2.mjs → token-goat-chunk-I7VKZZAW.mjs} +2 -2
- package/dist/{token-goat-chunk-NYKZLXMK.mjs → token-goat-chunk-IA6XSPE3.mjs} +6 -6
- package/dist/{token-goat-chunk-E3OQX2XT.mjs → token-goat-chunk-IAGXMHIK.mjs} +81 -42
- package/dist/{token-goat-chunk-HYBFA5X3.mjs → token-goat-chunk-IK2DRMFX.mjs} +24 -68
- package/dist/{token-goat-chunk-COBQGL5S.mjs → token-goat-chunk-INNPTRUX.mjs} +249 -299
- package/dist/{token-goat-chunk-7NADEDKJ.mjs → token-goat-chunk-JJ5BX4F4.mjs} +6 -1
- package/dist/{token-goat-chunk-PEPTHRFF.mjs → token-goat-chunk-JVFSHVFJ.mjs} +6 -6
- package/dist/token-goat-chunk-KGEFFSHD.mjs +50 -0
- package/dist/token-goat-chunk-KQBLRPBN.mjs +433 -0
- package/dist/{token-goat-chunk-Q5VTGRH7.mjs → token-goat-chunk-LCNQ2CNN.mjs} +55 -319
- package/dist/token-goat-chunk-M3LFJDPU.mjs +58 -0
- package/dist/token-goat-chunk-M52KPT3C.mjs +87 -0
- package/dist/token-goat-chunk-MBEG42H7.mjs +150 -0
- package/dist/{token-goat-chunk-EVC4TOLE.mjs → token-goat-chunk-METECDOH.mjs} +3 -12
- package/dist/{token-goat-chunk-T4FK7VOV.mjs → token-goat-chunk-MHX7XCC3.mjs} +2 -1
- package/dist/token-goat-chunk-N5LSOVSU.mjs +137 -0
- package/dist/{token-goat-chunk-LOBGHXPB.mjs → token-goat-chunk-N5MMR2IW.mjs} +1 -1
- package/dist/token-goat-chunk-N7B3JQ2C.mjs +160 -0
- package/dist/{token-goat-chunk-RHXKCZX3.mjs → token-goat-chunk-NISNMD7T.mjs} +2182 -2959
- package/dist/token-goat-chunk-NMD42SFQ.mjs +434 -0
- package/dist/token-goat-chunk-NOSS5VWY.mjs +174 -0
- package/dist/{token-goat-chunk-KQNZDCBD.mjs → token-goat-chunk-NSNSPPBG.mjs} +25 -3
- package/dist/token-goat-chunk-OBOFIHKN.mjs +38 -0
- package/dist/token-goat-chunk-OBRFJ5O5.mjs +76 -0
- package/dist/{token-goat-chunk-JTQQGXZH.mjs → token-goat-chunk-ODBT2USM.mjs} +124 -57
- package/dist/token-goat-chunk-OS5EM5PP.mjs +107 -0
- package/dist/token-goat-chunk-OUKDTVNU.mjs +1178 -0
- package/dist/token-goat-chunk-OXFMP75N.mjs +566 -0
- package/dist/{token-goat-chunk-DZX2YDPT.mjs → token-goat-chunk-OYIYKDDT.mjs} +2 -2
- package/dist/{token-goat-chunk-QCLDAQTS.mjs → token-goat-chunk-P6HQSWQ3.mjs} +50 -53
- package/dist/token-goat-chunk-P6VGNTQT.mjs +71 -0
- package/dist/{token-goat-chunk-7BXSNBY5.mjs → token-goat-chunk-PFWIMH2E.mjs} +23 -15
- package/dist/token-goat-chunk-PJZXIS3G.mjs +39 -0
- package/dist/token-goat-chunk-PUO5INXP.mjs +606 -0
- package/dist/{token-goat-chunk-GFBSN7BD.mjs → token-goat-chunk-PX5PQWTY.mjs} +22 -250
- package/dist/token-goat-chunk-Q5QDBC6O.mjs +111 -0
- package/dist/token-goat-chunk-QFNQXSDT.mjs +40 -0
- package/dist/{token-goat-chunk-FBNQNSJK.mjs → token-goat-chunk-QH7YVYOY.mjs} +2198 -2782
- package/dist/{token-goat-chunk-64FBPDTK.mjs → token-goat-chunk-QLMUHEPB.mjs} +12 -9
- package/dist/{token-goat-chunk-RZRTDST7.mjs → token-goat-chunk-QQOJIHL3.mjs} +37 -11
- package/dist/{token-goat-chunk-XKI4SEMX.mjs → token-goat-chunk-QQTWJY2O.mjs} +19 -0
- package/dist/{token-goat-chunk-U4N3BN2W.mjs → token-goat-chunk-QYHO5CPH.mjs} +3 -2
- package/dist/token-goat-chunk-RELAVWAD.mjs +27 -0
- package/dist/{token-goat-chunk-ETBHVDB6.mjs → token-goat-chunk-RSLPOBKQ.mjs} +22 -11
- package/dist/token-goat-chunk-SAMFDIS2.mjs +712 -0
- package/dist/token-goat-chunk-SDELXLDM.mjs +48 -0
- package/dist/{token-goat-chunk-4JJS54TR.mjs → token-goat-chunk-SOAFZNNZ.mjs} +161 -38
- package/dist/{token-goat-chunk-664RTTUV.mjs → token-goat-chunk-SRTHT7KV.mjs} +21 -16
- package/dist/{token-goat-chunk-4FVIAHSI.mjs → token-goat-chunk-T5P5ACNQ.mjs} +7 -6
- package/dist/token-goat-chunk-T5YGG4V3.mjs +45 -0
- package/dist/token-goat-chunk-TAUZ4OFS.mjs +110 -0
- package/dist/{token-goat-chunk-COTXZHTS.mjs → token-goat-chunk-TM6MC754.mjs} +4 -3
- package/dist/token-goat-chunk-TWUKBOMP.mjs +72 -0
- package/dist/{token-goat-chunk-3CHUNJ2O.mjs → token-goat-chunk-U2KSB4SG.mjs} +8 -5
- package/dist/{token-goat-chunk-3Z5S4KGM.mjs → token-goat-chunk-U4WHMG6Y.mjs} +29 -49
- package/dist/{token-goat-chunk-PY533T7F.mjs → token-goat-chunk-UGJHGR5A.mjs} +21 -15
- package/dist/{token-goat-chunk-CYCEYAEO.mjs → token-goat-chunk-UOUDVA5U.mjs} +1 -1
- package/dist/{token-goat-chunk-JDHE26RP.mjs → token-goat-chunk-URRJ33GR.mjs} +16 -5
- package/dist/{token-goat-chunk-56EIMS3E.mjs → token-goat-chunk-UZOROKIS.mjs} +23 -17
- package/dist/{token-goat-chunk-CZ3LUXYZ.mjs → token-goat-chunk-VIHGGGEI.mjs} +427 -308
- package/dist/token-goat-chunk-VTJLAA7P.mjs +21 -0
- package/dist/token-goat-chunk-VWDXLT4F.mjs +678 -0
- package/dist/{token-goat-chunk-YARZFCZS.mjs → token-goat-chunk-VWZA2H4P.mjs} +62 -53
- package/dist/{token-goat-chunk-SQSSNQPE.mjs → token-goat-chunk-VXEXMJDL.mjs} +3979 -4745
- package/dist/token-goat-chunk-WBA5SKT4.mjs +547 -0
- package/dist/{token-goat-chunk-SJHWVNDQ.mjs → token-goat-chunk-WDH44VAU.mjs} +7 -4
- package/dist/token-goat-chunk-X2SUP3EI.mjs +107 -0
- package/dist/token-goat-chunk-X3BELZSJ.mjs +125 -0
- package/dist/{token-goat-chunk-FZ3NEW5O.mjs → token-goat-chunk-XLRBNZCC.mjs} +13 -8
- package/dist/{token-goat-chunk-Z44YO3QZ.mjs → token-goat-chunk-XRKUX6CM.mjs} +1 -1
- package/dist/token-goat-chunk-XX6O25RN.mjs +82 -0
- package/dist/token-goat-chunk-XZSUHBVS.mjs +65 -0
- package/dist/{token-goat-chunk-WY3L4DVT.mjs → token-goat-chunk-Y2ZTQOCL.mjs} +13 -8
- package/dist/{token-goat-chunk-UQ5UK2T7.mjs → token-goat-chunk-YB4VMGK2.mjs} +1 -1
- package/dist/token-goat-chunk-YBIIY3HR.mjs +51 -0
- package/dist/{token-goat-chunk-ZQSJMO2R.mjs → token-goat-chunk-YHVDKQBR.mjs} +105 -105
- package/dist/{token-goat-chunk-H2K3QP6H.mjs → token-goat-chunk-YJB5XLWI.mjs} +8 -6
- package/dist/{token-goat-chunk-ZCDTCVIS.mjs → token-goat-chunk-YKB6AQG3.mjs} +5 -2
- package/dist/token-goat-chunk-YMTG2YA5.mjs +35 -0
- package/dist/token-goat-chunk-YPBZYQRV.mjs +40 -0
- package/dist/{token-goat-chunk-HOJLCGDP.mjs → token-goat-chunk-YY6AVUFL.mjs} +2033 -2251
- package/dist/token-goat-chunk-Z7N5OMMP.mjs +98 -0
- package/dist/token-goat-chunk-ZNMNUPAZ.mjs +938 -0
- package/dist/token-goat-hook-client.cjs +1 -1
- package/dist/token-goat-hook-client.mjs +3 -3
- package/dist/token-goat-hook.mjs +67 -38
- package/dist/token-goat.core.mjs +4 -4
- package/docs/C4_RUNTIME_ARCHITECTURE.md +1 -1
- package/docs/cli.md +40 -21
- package/docs/install.md +19 -9
- package/docs/security.md +5 -3
- package/package.json +2 -1
- package/dist/token-goat-chunk-5KDMCMF2.mjs +0 -362
- package/dist/token-goat-chunk-6QMAS7AB.mjs +0 -42
- package/dist/token-goat-chunk-7F2UBPD3.mjs +0 -397
- package/dist/token-goat-chunk-ARDNEC2U.mjs +0 -248
- package/dist/token-goat-chunk-ATCPY7EQ.mjs +0 -134
- package/dist/token-goat-chunk-EFHMMIGP.mjs +0 -68
- package/dist/token-goat-chunk-IVALLT3S.mjs +0 -48
- package/dist/token-goat-chunk-JDU3EXSU.mjs +0 -65
- package/dist/token-goat-chunk-MKPF4CL5.mjs +0 -37
- package/dist/token-goat-chunk-RC35RBUL.mjs +0 -312
- package/dist/token-goat-chunk-USILZ3T3.mjs +0 -53
- package/dist/token-goat-chunk-VL3YIFHZ.mjs +0 -2975
- package/dist/token-goat-chunk-XU4P6Z24.mjs +0 -133
- package/dist/token-goat-chunk-Y776AENC.mjs +0 -1597
|
@@ -2,25 +2,69 @@ import { createRequire as __cjsRequire } from 'node:module';
|
|
|
2
2
|
const require = __cjsRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
getDb
|
|
5
|
-
} from "./token-goat-chunk-
|
|
5
|
+
} from "./token-goat-chunk-GVB2MUST.mjs";
|
|
6
6
|
import {
|
|
7
7
|
findProject,
|
|
8
8
|
shortFingerprint
|
|
9
|
-
} from "./token-goat-chunk-
|
|
9
|
+
} from "./token-goat-chunk-4GBVPH3D.mjs";
|
|
10
|
+
import {
|
|
11
|
+
registerReset
|
|
12
|
+
} from "./token-goat-chunk-YZAAZU2S.mjs";
|
|
10
13
|
import {
|
|
11
14
|
ensureDirSync
|
|
12
|
-
} from "./token-goat-chunk-
|
|
15
|
+
} from "./token-goat-chunk-HU4TORC5.mjs";
|
|
13
16
|
import {
|
|
14
17
|
normalizePath
|
|
15
18
|
} from "./token-goat-chunk-FNFBKLRD.mjs";
|
|
16
19
|
import {
|
|
17
20
|
dataDir,
|
|
18
21
|
globalDbPath
|
|
19
|
-
} from "./token-goat-chunk-
|
|
22
|
+
} from "./token-goat-chunk-CO3UYX6G.mjs";
|
|
20
23
|
import {
|
|
21
24
|
init_define_import_meta_env
|
|
22
25
|
} from "./token-goat-chunk-A37V4PBF.mjs";
|
|
23
26
|
|
|
27
|
+
// src/line_regions.ts
|
|
28
|
+
init_define_import_meta_env();
|
|
29
|
+
function resolveLineRegions(symbols, totalLines, start, end) {
|
|
30
|
+
if (symbols.length === 0) return [];
|
|
31
|
+
const firstStart = symbols.reduce((m, s) => Math.min(m, s.lineStart), Number.POSITIVE_INFINITY);
|
|
32
|
+
const regionFor = (line) => {
|
|
33
|
+
let best = null;
|
|
34
|
+
for (const s of symbols) {
|
|
35
|
+
if (s.lineStart > line || s.lineEnd < line) continue;
|
|
36
|
+
if (best === null || s.lineEnd - s.lineStart < best.lineEnd - best.lineStart) best = s;
|
|
37
|
+
}
|
|
38
|
+
if (best !== null) {
|
|
39
|
+
return { kind: "symbol", label: `${best.kind} ${best.name}`, start: best.lineStart, end: best.lineEnd };
|
|
40
|
+
}
|
|
41
|
+
if (line < firstStart) return { kind: "preamble", label: "file preamble", start: 1, end: firstStart - 1 };
|
|
42
|
+
let prev = null;
|
|
43
|
+
let next = null;
|
|
44
|
+
for (const s of symbols) {
|
|
45
|
+
if (s.lineEnd < line && (prev === null || s.lineEnd > prev.lineEnd)) prev = s;
|
|
46
|
+
if (s.lineStart > line && (next === null || s.lineStart < next.lineStart)) next = s;
|
|
47
|
+
}
|
|
48
|
+
const prevName = prev === null ? "start of file" : prev.name;
|
|
49
|
+
return {
|
|
50
|
+
kind: "gap",
|
|
51
|
+
label: next === null ? `gap after ${prevName}` : `gap between ${prevName} and ${next.name}`,
|
|
52
|
+
start: prev === null ? 1 : prev.lineEnd + 1,
|
|
53
|
+
end: next === null ? totalLines : next.lineStart - 1
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const bySpan = /* @__PURE__ */ new Map();
|
|
57
|
+
for (let line = start; line <= Math.min(end, totalLines); line++) {
|
|
58
|
+
const r = regionFor(line);
|
|
59
|
+
const key = `${r.start}-${r.end}`;
|
|
60
|
+
const seen = bySpan.get(key);
|
|
61
|
+
if (seen === void 0) bySpan.set(key, r);
|
|
62
|
+
else if (!seen.label.split(" / ").includes(r.label)) seen.label = `${seen.label} / ${r.label}`;
|
|
63
|
+
}
|
|
64
|
+
const picked = [...bySpan.values()];
|
|
65
|
+
return picked.filter((r) => !picked.some((o) => o !== r && o.start <= r.start && o.end >= r.end)).sort((a, b) => a.start - b.start || a.end - b.end);
|
|
66
|
+
}
|
|
67
|
+
|
|
24
68
|
// src/known_roots.ts
|
|
25
69
|
init_define_import_meta_env();
|
|
26
70
|
import * as fs from "node:fs";
|
|
@@ -45,6 +89,8 @@ var KNOWN_ROOT_RECORD_MIN_INTERVAL_MS = 60 * 60 * 1e3;
|
|
|
45
89
|
function knownRootRecordMarkerPath(dir, filePath) {
|
|
46
90
|
return path.join(dir, `known-root-record-${shortFingerprint(path.dirname(filePath))}.marker`);
|
|
47
91
|
}
|
|
92
|
+
var failedRecordAt = /* @__PURE__ */ new Map();
|
|
93
|
+
registerReset(() => failedRecordAt.clear());
|
|
48
94
|
var KNOWN_ROOT_MARKER_PREFIX = "known-root-record-";
|
|
49
95
|
function sweepExpiredKnownRootMarkers(dir = dataDir()) {
|
|
50
96
|
let removed = 0;
|
|
@@ -72,56 +118,20 @@ function recordKnownRootThrottled(filePath, dir = dataDir(), dbPath = globalDbPa
|
|
|
72
118
|
if (Date.now() - stat.mtimeMs < KNOWN_ROOT_RECORD_MIN_INTERVAL_MS) return;
|
|
73
119
|
} catch {
|
|
74
120
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
} catch {
|
|
79
|
-
}
|
|
121
|
+
const failKey = `${markerPath}|${dbPath}`;
|
|
122
|
+
const failedAt = failedRecordAt.get(failKey);
|
|
123
|
+
if (failedAt !== void 0 && Date.now() - failedAt < KNOWN_ROOT_RECORD_MIN_INTERVAL_MS) return;
|
|
80
124
|
try {
|
|
81
125
|
recordKnownRoot(filePath, dbPath);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
init_define_import_meta_env();
|
|
88
|
-
function resolveLineRegions(symbols, totalLines, start, end) {
|
|
89
|
-
if (symbols.length === 0) return [];
|
|
90
|
-
const firstStart = symbols.reduce((m, s) => Math.min(m, s.lineStart), Number.POSITIVE_INFINITY);
|
|
91
|
-
const regionFor = (line) => {
|
|
92
|
-
let best = null;
|
|
93
|
-
for (const s of symbols) {
|
|
94
|
-
if (s.lineStart > line || s.lineEnd < line) continue;
|
|
95
|
-
if (best === null || s.lineEnd - s.lineStart < best.lineEnd - best.lineStart) best = s;
|
|
96
|
-
}
|
|
97
|
-
if (best !== null) {
|
|
98
|
-
return { kind: "symbol", label: `${best.kind} ${best.name}`, start: best.lineStart, end: best.lineEnd };
|
|
99
|
-
}
|
|
100
|
-
if (line < firstStart) return { kind: "preamble", label: "file preamble", start: 1, end: firstStart - 1 };
|
|
101
|
-
let prev = null;
|
|
102
|
-
let next = null;
|
|
103
|
-
for (const s of symbols) {
|
|
104
|
-
if (s.lineEnd < line && (prev === null || s.lineEnd > prev.lineEnd)) prev = s;
|
|
105
|
-
if (s.lineStart > line && (next === null || s.lineStart < next.lineStart)) next = s;
|
|
126
|
+
failedRecordAt.delete(failKey);
|
|
127
|
+
try {
|
|
128
|
+
ensureDirSync(dir);
|
|
129
|
+
fs.writeFileSync(markerPath, "");
|
|
130
|
+
} catch {
|
|
106
131
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
kind: "gap",
|
|
110
|
-
label: next === null ? `gap after ${prevName}` : `gap between ${prevName} and ${next.name}`,
|
|
111
|
-
start: prev === null ? 1 : prev.lineEnd + 1,
|
|
112
|
-
end: next === null ? totalLines : next.lineStart - 1
|
|
113
|
-
};
|
|
114
|
-
};
|
|
115
|
-
const bySpan = /* @__PURE__ */ new Map();
|
|
116
|
-
for (let line = start; line <= Math.min(end, totalLines); line++) {
|
|
117
|
-
const r = regionFor(line);
|
|
118
|
-
const key = `${r.start}-${r.end}`;
|
|
119
|
-
const seen = bySpan.get(key);
|
|
120
|
-
if (seen === void 0) bySpan.set(key, r);
|
|
121
|
-
else if (!seen.label.split(" / ").includes(r.label)) seen.label = `${seen.label} / ${r.label}`;
|
|
132
|
+
} catch {
|
|
133
|
+
failedRecordAt.set(failKey, Date.now());
|
|
122
134
|
}
|
|
123
|
-
const picked = [...bySpan.values()];
|
|
124
|
-
return picked.filter((r) => !picked.some((o) => o !== r && o.start <= r.start && o.end >= r.end)).sort((a, b) => a.start - b.start || a.end - b.end);
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
// src/url_policy.ts
|
|
@@ -306,8 +316,7 @@ var METADATA_HOSTNAMES = /* @__PURE__ */ new Set([
|
|
|
306
316
|
"metadata",
|
|
307
317
|
// Alibaba Cloud's equivalent of 169.254.169.254.
|
|
308
318
|
"100.100.100.200",
|
|
309
|
-
// EC2 resolves both of these to 169.254.169.254 inside a VPC, and neither is a dotted quad, so
|
|
310
|
-
// the link-local test below never sees them.
|
|
319
|
+
// EC2 resolves both of these to 169.254.169.254 inside a VPC, and neither is a dotted quad, so the link-local test below never sees them.
|
|
311
320
|
"instance-data",
|
|
312
321
|
"instance-data.ec2.internal"
|
|
313
322
|
]);
|
|
@@ -345,10 +354,10 @@ function embeddedIpv4Candidates(host) {
|
|
|
345
354
|
}
|
|
346
355
|
|
|
347
356
|
export {
|
|
357
|
+
resolveLineRegions,
|
|
348
358
|
isTooShallowToPrune,
|
|
349
359
|
sweepExpiredKnownRootMarkers,
|
|
350
360
|
recordKnownRootThrottled,
|
|
351
|
-
resolveLineRegions,
|
|
352
361
|
matchesAllowPattern,
|
|
353
362
|
matchesDenyPattern,
|
|
354
363
|
urlPolicyDenialReason,
|