@nxuss/lemma 1.40.0 → 1.41.0
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 +45 -14
- package/bin/brain-ingest.js +41 -0
- package/bin/init.js +92 -92
- package/bin/postinstall.js +58 -4
- package/dashboard/dist/assets/index-Ca05LJvs.js +453 -0
- package/dashboard/dist/assets/{index-DNTQXLER.css → index-DdEVyDRj.css} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dist/cjs/cli/hostHooks.d.ts +14 -1
- package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
- package/dist/cjs/cli/hostHooks.js +53 -6
- package/dist/cjs/cli/hostHooks.js.map +1 -1
- package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/cjs/cli/lemma-proxy.js +29 -10
- package/dist/cjs/cli/lemma-proxy.js.map +1 -1
- package/dist/cjs/contracts/evidence.d.ts +8 -1
- package/dist/cjs/contracts/evidence.d.ts.map +1 -1
- package/dist/cjs/mcp/index.js +19 -0
- package/dist/cjs/mcp/index.js.map +1 -1
- package/dist/cjs/mcp/prompts.d.ts +1 -1
- package/dist/cjs/mcp/prompts.d.ts.map +1 -1
- package/dist/cjs/mcp/prompts.js +6 -16
- package/dist/cjs/mcp/prompts.js.map +1 -1
- package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/cjs/mcp/tool-profiles.js +8 -4
- package/dist/cjs/mcp/tool-profiles.js.map +1 -1
- package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/context-tools.js +21 -17
- package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
- package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/memory.js +25 -4
- package/dist/cjs/mcp/tools/memory.js.map +1 -1
- package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/workspace.js +97 -54
- package/dist/cjs/mcp/tools/workspace.js.map +1 -1
- package/dist/cjs/mcp/tools.d.ts.map +1 -1
- package/dist/cjs/mcp/tools.js +95 -34
- package/dist/cjs/mcp/tools.js.map +1 -1
- package/dist/cjs/mcp/utils.d.ts.map +1 -1
- package/dist/cjs/mcp/utils.js +6 -1
- package/dist/cjs/mcp/utils.js.map +1 -1
- package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/cjs/mcp/workspaceShared.js +14 -9
- package/dist/cjs/mcp/workspaceShared.js.map +1 -1
- package/dist/cjs/proxy/KeyManager.d.ts +10 -0
- package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
- package/dist/cjs/proxy/KeyManager.js +45 -8
- package/dist/cjs/proxy/KeyManager.js.map +1 -1
- package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
- package/dist/cjs/security/SemanticScrubber.js +19 -1
- package/dist/cjs/security/SemanticScrubber.js.map +1 -1
- package/dist/cjs/subconscious/HostRecall.d.ts +7 -5
- package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/cjs/subconscious/HostRecall.js +115 -13
- package/dist/cjs/subconscious/HostRecall.js.map +1 -1
- package/dist/cjs/subconscious/TheBrainV2.d.ts +6 -1
- package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/cjs/subconscious/TheBrainV2.js +21 -9
- package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts +3 -0
- package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js +32 -14
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/cjs/utils/CommandOutputDistiller.d.ts +10 -0
- package/dist/cjs/utils/CommandOutputDistiller.d.ts.map +1 -1
- package/dist/cjs/utils/CommandOutputDistiller.js +40 -2
- package/dist/cjs/utils/CommandOutputDistiller.js.map +1 -1
- package/dist/cjs/utils/ContextSqueezer.d.ts +13 -1
- package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/cjs/utils/ContextSqueezer.js +176 -3
- package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
- package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
- package/dist/cjs/utils/FixCapture.js +56 -0
- package/dist/cjs/utils/FixCapture.js.map +1 -1
- package/dist/cjs/utils/LineNumberMap.d.ts.map +1 -1
- package/dist/cjs/utils/LineNumberMap.js +27 -0
- package/dist/cjs/utils/LineNumberMap.js.map +1 -1
- package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
- package/dist/cjs/utils/PatchMatcher.js +26 -0
- package/dist/cjs/utils/PatchMatcher.js.map +1 -1
- package/dist/cjs/utils/ProLicense.d.ts +2 -0
- package/dist/cjs/utils/ProLicense.d.ts.map +1 -0
- package/dist/cjs/utils/ProLicense.js +31 -0
- package/dist/cjs/utils/ProLicense.js.map +1 -0
- package/dist/cjs/utils/RevivalThrottle.d.ts +9 -0
- package/dist/cjs/utils/RevivalThrottle.d.ts.map +1 -0
- package/dist/cjs/utils/RevivalThrottle.js +25 -0
- package/dist/cjs/utils/RevivalThrottle.js.map +1 -0
- package/dist/cjs/utils/SavingsLedger.d.ts +58 -18
- package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/cjs/utils/SavingsLedger.js +332 -179
- package/dist/cjs/utils/SavingsLedger.js.map +1 -1
- package/dist/cjs/utils/SearchCache.d.ts +2 -2
- package/dist/cjs/utils/SearchCache.d.ts.map +1 -1
- package/dist/cjs/utils/SearchCache.js +8 -6
- package/dist/cjs/utils/SearchCache.js.map +1 -1
- package/dist/cjs/utils/SessionCapture.d.ts +65 -0
- package/dist/cjs/utils/SessionCapture.d.ts.map +1 -0
- package/dist/cjs/utils/SessionCapture.js +339 -0
- package/dist/cjs/utils/SessionCapture.js.map +1 -0
- package/dist/cjs/utils/StaleDelta.d.ts +2 -0
- package/dist/cjs/utils/StaleDelta.d.ts.map +1 -0
- package/dist/cjs/utils/StaleDelta.js +60 -0
- package/dist/cjs/utils/StaleDelta.js.map +1 -0
- package/dist/cjs/utils/TokenBudgetedReader.d.ts.map +1 -1
- package/dist/cjs/utils/TokenBudgetedReader.js +56 -15
- package/dist/cjs/utils/TokenBudgetedReader.js.map +1 -1
- package/dist/cjs/utils/WorkspaceSearch.d.ts +8 -1
- package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
- package/dist/cjs/utils/WorkspaceSearch.js +75 -5
- package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
- package/dist/cjs/utils/reportSavings.d.ts +3 -0
- package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
- package/dist/cjs/utils/reportSavings.js +44 -5
- package/dist/cjs/utils/reportSavings.js.map +1 -1
- package/dist/esm/cli/hostHooks.d.ts +14 -1
- package/dist/esm/cli/hostHooks.d.ts.map +1 -1
- package/dist/esm/cli/hostHooks.js +52 -5
- package/dist/esm/cli/hostHooks.js.map +1 -1
- package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/esm/cli/lemma-proxy.js +30 -11
- package/dist/esm/cli/lemma-proxy.js.map +1 -1
- package/dist/esm/contracts/evidence.d.ts +8 -1
- package/dist/esm/contracts/evidence.d.ts.map +1 -1
- package/dist/esm/mcp/index.js +20 -1
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/mcp/prompts.d.ts +1 -1
- package/dist/esm/mcp/prompts.d.ts.map +1 -1
- package/dist/esm/mcp/prompts.js +6 -16
- package/dist/esm/mcp/prompts.js.map +1 -1
- package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/esm/mcp/tool-profiles.js +8 -4
- package/dist/esm/mcp/tool-profiles.js.map +1 -1
- package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
- package/dist/esm/mcp/tools/context-tools.js +21 -17
- package/dist/esm/mcp/tools/context-tools.js.map +1 -1
- package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
- package/dist/esm/mcp/tools/memory.js +26 -5
- package/dist/esm/mcp/tools/memory.js.map +1 -1
- package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
- package/dist/esm/mcp/tools/workspace.js +98 -55
- package/dist/esm/mcp/tools/workspace.js.map +1 -1
- package/dist/esm/mcp/tools.d.ts.map +1 -1
- package/dist/esm/mcp/tools.js +94 -33
- package/dist/esm/mcp/tools.js.map +1 -1
- package/dist/esm/mcp/utils.d.ts.map +1 -1
- package/dist/esm/mcp/utils.js +6 -1
- package/dist/esm/mcp/utils.js.map +1 -1
- package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/esm/mcp/workspaceShared.js +14 -9
- package/dist/esm/mcp/workspaceShared.js.map +1 -1
- package/dist/esm/proxy/KeyManager.d.ts +10 -0
- package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
- package/dist/esm/proxy/KeyManager.js +43 -6
- package/dist/esm/proxy/KeyManager.js.map +1 -1
- package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
- package/dist/esm/security/SemanticScrubber.js +19 -1
- package/dist/esm/security/SemanticScrubber.js.map +1 -1
- package/dist/esm/subconscious/HostRecall.d.ts +7 -5
- package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/esm/subconscious/HostRecall.js +115 -14
- package/dist/esm/subconscious/HostRecall.js.map +1 -1
- package/dist/esm/subconscious/TheBrainV2.d.ts +6 -1
- package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/esm/subconscious/TheBrainV2.js +21 -9
- package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts +3 -0
- package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.js +32 -14
- package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/esm/utils/CommandOutputDistiller.d.ts +10 -0
- package/dist/esm/utils/CommandOutputDistiller.d.ts.map +1 -1
- package/dist/esm/utils/CommandOutputDistiller.js +39 -2
- package/dist/esm/utils/CommandOutputDistiller.js.map +1 -1
- package/dist/esm/utils/ContextSqueezer.d.ts +13 -1
- package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/esm/utils/ContextSqueezer.js +175 -3
- package/dist/esm/utils/ContextSqueezer.js.map +1 -1
- package/dist/esm/utils/FixCapture.d.ts.map +1 -1
- package/dist/esm/utils/FixCapture.js +56 -0
- package/dist/esm/utils/FixCapture.js.map +1 -1
- package/dist/esm/utils/LineNumberMap.d.ts.map +1 -1
- package/dist/esm/utils/LineNumberMap.js +27 -0
- package/dist/esm/utils/LineNumberMap.js.map +1 -1
- package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
- package/dist/esm/utils/PatchMatcher.js +26 -0
- package/dist/esm/utils/PatchMatcher.js.map +1 -1
- package/dist/esm/utils/ProLicense.d.ts +2 -0
- package/dist/esm/utils/ProLicense.d.ts.map +1 -0
- package/dist/esm/utils/ProLicense.js +25 -0
- package/dist/esm/utils/ProLicense.js.map +1 -0
- package/dist/esm/utils/RevivalThrottle.d.ts +9 -0
- package/dist/esm/utils/RevivalThrottle.d.ts.map +1 -0
- package/dist/esm/utils/RevivalThrottle.js +22 -0
- package/dist/esm/utils/RevivalThrottle.js.map +1 -0
- package/dist/esm/utils/SavingsLedger.d.ts +58 -18
- package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/esm/utils/SavingsLedger.js +332 -179
- package/dist/esm/utils/SavingsLedger.js.map +1 -1
- package/dist/esm/utils/SearchCache.d.ts +2 -2
- package/dist/esm/utils/SearchCache.d.ts.map +1 -1
- package/dist/esm/utils/SearchCache.js +8 -6
- package/dist/esm/utils/SearchCache.js.map +1 -1
- package/dist/esm/utils/SessionCapture.d.ts +65 -0
- package/dist/esm/utils/SessionCapture.d.ts.map +1 -0
- package/dist/esm/utils/SessionCapture.js +328 -0
- package/dist/esm/utils/SessionCapture.js.map +1 -0
- package/dist/esm/utils/StaleDelta.d.ts +2 -0
- package/dist/esm/utils/StaleDelta.d.ts.map +1 -0
- package/dist/esm/utils/StaleDelta.js +54 -0
- package/dist/esm/utils/StaleDelta.js.map +1 -0
- package/dist/esm/utils/TokenBudgetedReader.d.ts.map +1 -1
- package/dist/esm/utils/TokenBudgetedReader.js +56 -15
- package/dist/esm/utils/TokenBudgetedReader.js.map +1 -1
- package/dist/esm/utils/WorkspaceSearch.d.ts +8 -1
- package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
- package/dist/esm/utils/WorkspaceSearch.js +74 -5
- package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
- package/dist/esm/utils/reportSavings.d.ts +3 -0
- package/dist/esm/utils/reportSavings.d.ts.map +1 -1
- package/dist/esm/utils/reportSavings.js +42 -5
- package/dist/esm/utils/reportSavings.js.map +1 -1
- package/package.json +4 -4
- package/dashboard/dist/assets/index-DzL_Zu3m.js +0 -452
- package/dist/cjs/examples/basic-usage.d.ts +0 -12
- package/dist/cjs/examples/basic-usage.d.ts.map +0 -1
- package/dist/cjs/examples/basic-usage.js +0 -128
- package/dist/cjs/examples/basic-usage.js.map +0 -1
- package/dist/esm/examples/basic-usage.d.ts +0 -12
- package/dist/esm/examples/basic-usage.d.ts.map +0 -1
- package/dist/esm/examples/basic-usage.js +0 -126
- package/dist/esm/examples/basic-usage.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalFsResolver.d.ts","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalFsResolver.d.ts","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AASjE,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,OAAO;IACpB,OAAO,CAAC,OAAO,CAAS;IAMxB,OAAO,CAAC,SAAS,CAAqC;gBAE1C,OAAO,GAAE,MAAsB;IAI3C,gGAAgG;IAChG,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAqBjB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAyChH;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -25,6 +25,10 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
25
25
|
const SymbolSurgicalContext_1 = require("../../utils/SymbolSurgicalContext");
|
|
26
26
|
const OtherLanguageSymbols_1 = require("../../utils/OtherLanguageSymbols");
|
|
27
27
|
const JsonKeys_1 = require("../../utils/JsonKeys");
|
|
28
|
+
const sha256 = (text) => crypto_1.default.createHash('sha256').update(text).digest('hex');
|
|
29
|
+
// A checkout with core.autocrlf=true turns every \n into \r\n, so hashing the text as read would
|
|
30
|
+
// give the same code another hash on Windows and mark a team memory stale. Hash the LF form.
|
|
31
|
+
const toLf = (text) => text.replace(/\r\n/g, '\n');
|
|
28
32
|
class LocalFsResolver {
|
|
29
33
|
constructor(rootDir = process.cwd()) {
|
|
30
34
|
this.lane = 'A';
|
|
@@ -40,23 +44,34 @@ class LocalFsResolver {
|
|
|
40
44
|
resolvePath(p) {
|
|
41
45
|
return path_1.default.isAbsolute(p) ? p : path_1.default.resolve(this.rootDir, p);
|
|
42
46
|
}
|
|
43
|
-
|
|
44
|
-
const abs = this.resolvePath(pathStr);
|
|
47
|
+
hashEntry(abs) {
|
|
45
48
|
try {
|
|
46
49
|
const stat = fs_1.default.statSync(abs);
|
|
47
50
|
const cached = this.hashCache.get(abs);
|
|
48
|
-
if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size)
|
|
49
|
-
return cached
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size)
|
|
52
|
+
return cached;
|
|
53
|
+
const text = fs_1.default.readFileSync(abs, 'utf8');
|
|
54
|
+
const lf = toLf(text);
|
|
55
|
+
const entry = {
|
|
56
|
+
mtimeMs: stat.mtimeMs,
|
|
57
|
+
size: stat.size,
|
|
58
|
+
hash: sha256(lf),
|
|
59
|
+
...(lf !== text ? { legacy: sha256(text) } : {}),
|
|
60
|
+
};
|
|
61
|
+
this.hashCache.set(abs, entry);
|
|
62
|
+
return entry;
|
|
54
63
|
}
|
|
55
64
|
catch {
|
|
56
65
|
this.hashCache.delete(abs);
|
|
57
|
-
return
|
|
66
|
+
return null;
|
|
58
67
|
}
|
|
59
68
|
}
|
|
69
|
+
hashFile(pathStr) {
|
|
70
|
+
return this.hashEntry(this.resolvePath(pathStr))?.hash ?? 'MISSING';
|
|
71
|
+
}
|
|
72
|
+
hashFileLegacy(pathStr) {
|
|
73
|
+
return this.hashEntry(this.resolvePath(pathStr))?.legacy ?? null;
|
|
74
|
+
}
|
|
60
75
|
hashSymbol(pathStr, symbolName) {
|
|
61
76
|
const abs = this.resolvePath(pathStr);
|
|
62
77
|
if ((0, JsonKeys_1.isJsonFile)(abs)) {
|
|
@@ -66,7 +81,7 @@ class LocalFsResolver {
|
|
|
66
81
|
const text = (0, JsonKeys_1.jsonKeyText)(abs, fs_1.default.readFileSync(abs, 'utf8'), symbolName);
|
|
67
82
|
if (text === null)
|
|
68
83
|
return { raw: 'MISSING', normalized: 'MISSING' };
|
|
69
|
-
const hash =
|
|
84
|
+
const hash = sha256(toLf(text));
|
|
70
85
|
return { raw: hash, normalized: hash };
|
|
71
86
|
}
|
|
72
87
|
catch {
|
|
@@ -81,8 +96,9 @@ class LocalFsResolver {
|
|
|
81
96
|
if (text === null)
|
|
82
97
|
return { raw: 'MISSING', normalized: 'MISSING' };
|
|
83
98
|
return {
|
|
84
|
-
raw:
|
|
85
|
-
normalized:
|
|
99
|
+
raw: sha256(toLf(text)),
|
|
100
|
+
normalized: sha256((0, OtherLanguageSymbols_1.normalizeOtherLanguage)(abs, text)),
|
|
101
|
+
...(text.includes('\r\n') ? { rawLegacy: sha256(text) } : {}),
|
|
86
102
|
};
|
|
87
103
|
}
|
|
88
104
|
catch {
|
|
@@ -91,9 +107,11 @@ class LocalFsResolver {
|
|
|
91
107
|
}
|
|
92
108
|
try {
|
|
93
109
|
const ctx = (0, SymbolSurgicalContext_1.getSymbolSurgicalContext)(path_1.default.dirname(abs), path_1.default.basename(abs), symbolName);
|
|
110
|
+
const impl = ctx.implementation;
|
|
94
111
|
return {
|
|
95
|
-
raw:
|
|
96
|
-
normalized:
|
|
112
|
+
raw: sha256(toLf(impl)),
|
|
113
|
+
normalized: sha256((0, SymbolSurgicalContext_1.normalizeForFreshness)(impl)),
|
|
114
|
+
...(impl.includes('\r\n') ? { rawLegacy: sha256(impl) } : {}),
|
|
97
115
|
};
|
|
98
116
|
}
|
|
99
117
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalFsResolver.js","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,4CAAoB;AACpB,gDAAwB;AACxB,oDAA4B;AAC5B,6EAAoG;AACpG,2EAA0H;AAC1H,mDAA+D;AAK/D,MAAa,eAAe;IAU1B,YAAY,UAAkB,OAAO,CAAC,GAAG,EAAE;QATlC,SAAI,GAAG,GAAG,CAAC;QAEpB,oFAAoF;QACpF,mFAAmF;QACnF,oFAAoF;QACpF,sFAAsF;QACtF,oEAAoE;QAC5D,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;QAGpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gGAAgG;IACxF,WAAW,CAAC,CAAS;QAC3B,OAAO,cAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalFsResolver.js","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,16 @@
|
|
|
16
16
|
* distilled view carries a handle back to it, so anything trimmed can be retrieved
|
|
17
17
|
* verbatim (see `readRegion`). Nothing is silently dropped.
|
|
18
18
|
*/
|
|
19
|
+
/**
|
|
20
|
+
* Terminal colour and cursor sequences (CSI `ESC [ … letter`, OSC `ESC ] … BEL|ST`).
|
|
21
|
+
*
|
|
22
|
+
* A host that gives the command a colour-capable environment gets every `FAIL`, `Tests 2 failed` and
|
|
23
|
+
* file name wrapped in them. They carry nothing for a model, cost tokens, and broke format detection:
|
|
24
|
+
* vitest's `Test Files 2 failed` has an escape between the label and the number, so the detector
|
|
25
|
+
* answered "generic" and the reply was a 10k-character head/tail instead of ~1.4k (measured on real
|
|
26
|
+
* sessions: 215k-character raw runs, 9.9k vs 2.4k distilled once the escapes are gone).
|
|
27
|
+
*/
|
|
28
|
+
export declare function stripAnsi(text: string): string;
|
|
19
29
|
export type OutputFormat = "jest" | "vitest" | "tsc" | "eslint" | "generic";
|
|
20
30
|
/** A named, retrievable slice of the raw output (1-indexed, inclusive). */
|
|
21
31
|
export interface OutputSection {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandOutputDistiller.d.ts","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"CommandOutputDistiller.d.ts","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9C;AA4BD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAoDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAepH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,CAyD3D;AAWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAUtD;AAyYD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,eAAe,CAkEhG;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB7D"}
|
|
@@ -21,6 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
21
21
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.stripAnsi = stripAnsi;
|
|
24
25
|
exports.storeRawOutput = storeRawOutput;
|
|
25
26
|
exports.readRegion = readRegion;
|
|
26
27
|
exports.detectFormat = detectFormat;
|
|
@@ -30,8 +31,30 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
30
31
|
const path_1 = __importDefault(require("path"));
|
|
31
32
|
const os_1 = __importDefault(require("os"));
|
|
32
33
|
const crypto_1 = __importDefault(require("crypto"));
|
|
34
|
+
/**
|
|
35
|
+
* Terminal colour and cursor sequences (CSI `ESC [ … letter`, OSC `ESC ] … BEL|ST`).
|
|
36
|
+
*
|
|
37
|
+
* A host that gives the command a colour-capable environment gets every `FAIL`, `Tests 2 failed` and
|
|
38
|
+
* file name wrapped in them. They carry nothing for a model, cost tokens, and broke format detection:
|
|
39
|
+
* vitest's `Test Files 2 failed` has an escape between the label and the number, so the detector
|
|
40
|
+
* answered "generic" and the reply was a 10k-character head/tail instead of ~1.4k (measured on real
|
|
41
|
+
* sessions: 215k-character raw runs, 9.9k vs 2.4k distilled once the escapes are gone).
|
|
42
|
+
*/
|
|
43
|
+
function stripAnsi(text) {
|
|
44
|
+
// eslint-disable-next-line no-control-regex -- matching ESC is the point
|
|
45
|
+
return text.replace(/\u001b\[[0-?]*[ -/]*[@-~]|\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g, "");
|
|
46
|
+
}
|
|
33
47
|
/** Outputs at or under this size are returned untouched — distilling them saves nothing. */
|
|
34
48
|
const DISTILL_THRESHOLD_CHARS = 3000;
|
|
49
|
+
/**
|
|
50
|
+
* For a format with a parser (jest, vitest, tsc, eslint) the distilled view is the failures or the
|
|
51
|
+
* summary line, a few hundred chars at most, so distilling pays off much earlier. Measured: a green
|
|
52
|
+
* jest run of 2,130 chars (mostly expected console.error blocks) is 105 chars of summary; it used to
|
|
53
|
+
* come back whole because it was under 3,000. The complete output is stored either way.
|
|
54
|
+
*/
|
|
55
|
+
const PARSED_FORMAT_THRESHOLD_CHARS = 1000;
|
|
56
|
+
/** What the footer adds to a distilled reply, so a view barely shorter than the original is not worth it. */
|
|
57
|
+
const FOOTER_COST_ESTIMATE_CHARS = 200;
|
|
35
58
|
/** Max failing-test blocks rendered inline before we point at the handle for the rest. */
|
|
36
59
|
const MAX_FAILURES_INLINE = 20;
|
|
37
60
|
/** Max lines kept from a single failure's reason/diff body. */
|
|
@@ -224,6 +247,15 @@ function collectJestFailures(lines) {
|
|
|
224
247
|
current = { title: m[1].trim(), startLine: i + 1, endLine: lines.length, body: [] };
|
|
225
248
|
continue;
|
|
226
249
|
}
|
|
250
|
+
// The result line of the next suite (`PASS path`, `FAIL path`, at column 0) closes the block too.
|
|
251
|
+
// Without it everything jest prints between two suites, the PASS lines and their `● Console`
|
|
252
|
+
// blocks, was swallowed into the last failure's body and shown as if it were part of the reason.
|
|
253
|
+
if (current && /^(PASS|FAIL)\s+\S/.test(lines[i])) {
|
|
254
|
+
current.endLine = i;
|
|
255
|
+
blocks.push(current);
|
|
256
|
+
current = null;
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
227
259
|
// A summary line closes the last failure block.
|
|
228
260
|
if (current && /^(Test Suites|Tests|Snapshots|Time|Ran all test suites):/.test(lines[i])) {
|
|
229
261
|
current.endLine = i;
|
|
@@ -522,8 +554,8 @@ function distillCommandOutput(rawOutput, options) {
|
|
|
522
554
|
const raw = rawOutput ?? "";
|
|
523
555
|
const originalChars = raw.length;
|
|
524
556
|
const originalLines = raw === "" ? 0 : raw.split("\n").length;
|
|
525
|
-
const threshold = options.thresholdChars ?? DISTILL_THRESHOLD_CHARS;
|
|
526
557
|
const format = detectFormat(raw);
|
|
558
|
+
const threshold = options.thresholdChars ?? (format === "generic" ? DISTILL_THRESHOLD_CHARS : PARSED_FORMAT_THRESHOLD_CHARS);
|
|
527
559
|
// Small outputs: distilling costs more than it saves, and the raw text is already
|
|
528
560
|
// the most faithful thing we can hand back.
|
|
529
561
|
if (options.raw || originalChars <= threshold) {
|
|
@@ -556,7 +588,9 @@ function distillCommandOutput(rawOutput, options) {
|
|
|
556
588
|
}
|
|
557
589
|
// If a parser somehow produced something no smaller than the original, the honest move
|
|
558
590
|
// is to hand back the original rather than a lossy view that saved nothing.
|
|
559
|
-
|
|
591
|
+
// The reply also carries the footer (~200 chars even in its one-line form), so a view that is only
|
|
592
|
+
// marginally shorter than the original would cost more than it saves.
|
|
593
|
+
if (result.text.length + FOOTER_COST_ESTIMATE_CHARS >= originalChars) {
|
|
560
594
|
return {
|
|
561
595
|
format,
|
|
562
596
|
text: raw,
|
|
@@ -583,6 +617,10 @@ function buildDistillFooter(d) {
|
|
|
583
617
|
if (!d.handle)
|
|
584
618
|
return "";
|
|
585
619
|
const pct = Math.round((1 - d.distilledChars / d.originalChars) * 100);
|
|
620
|
+
// With no named sections there is nothing to list: one line says what this is and how to get the rest.
|
|
621
|
+
if (!d.sections.length) {
|
|
622
|
+
return `\n── distilled (${d.format}): ${d.distilledChars} of ${d.originalChars} chars (${pct}% withheld, ${d.originalLines} lines) — full output: output_region({ handle: "${d.handle}", all: true }), or startLine/endLine for a range ──`;
|
|
623
|
+
}
|
|
586
624
|
const lines = [
|
|
587
625
|
"",
|
|
588
626
|
`── distilled (${d.format}) — showing ${d.distilledChars} of ${d.originalChars} chars (${pct}% withheld, ${d.originalLines} lines total) ──`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandOutputDistiller.js","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandOutputDistiller.js","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,19 @@ export interface CommentOptions {
|
|
|
28
28
|
}
|
|
29
29
|
export declare function stripComments(code: string, options?: CommentOptions): string;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* [start, end) ranges of the string, template and Python triple-quoted literals in `code`.
|
|
32
|
+
*
|
|
33
|
+
* Whitespace compaction and import stripping work on lines and runs of spaces, so without this they
|
|
34
|
+
* rewrote the inside of a SQL string, a prompt template or a doc string (measured: 54 of 246 files in
|
|
35
|
+
* this repo changed that way) and removed an `import` line that lived inside a template literal.
|
|
36
|
+
* Comments and regex literals are stepped over so a quote or backtick inside one does not open a
|
|
37
|
+
* literal; a quoted string that does not close ends at its line, a template at the end of the input.
|
|
38
|
+
*/
|
|
39
|
+
export declare function findStringLiterals(code: string): Array<[number, number]>;
|
|
40
|
+
/**
|
|
41
|
+
* Compress code structure by removing redundant whitespace and blank lines.
|
|
42
|
+
*
|
|
43
|
+
* Indentation and runs of spaces collapse; what sits inside a string or template literal does not.
|
|
32
44
|
*/
|
|
33
45
|
export declare function compactWhitespace(code: string): string;
|
|
34
46
|
export declare function detectFunctionDeclaration(context: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextSqueezer.d.ts","sourceRoot":"","sources":["../../../src/utils/ContextSqueezer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,+FAA+F;IAC/F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CA+GhF;AAED
|
|
1
|
+
{"version":3,"file":"ContextSqueezer.d.ts","sourceRoot":"","sources":["../../../src/utils/ContextSqueezer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.stripComments = stripComments;
|
|
11
|
+
exports.findStringLiterals = findStringLiterals;
|
|
11
12
|
exports.compactWhitespace = compactWhitespace;
|
|
12
13
|
exports.detectFunctionDeclaration = detectFunctionDeclaration;
|
|
13
14
|
exports.treeShakeCode = treeShakeCode;
|
|
@@ -164,15 +165,169 @@ function stripComments(code, options = {}) {
|
|
|
164
165
|
return out;
|
|
165
166
|
}
|
|
166
167
|
/**
|
|
167
|
-
*
|
|
168
|
+
* [start, end) ranges of the string, template and Python triple-quoted literals in `code`.
|
|
169
|
+
*
|
|
170
|
+
* Whitespace compaction and import stripping work on lines and runs of spaces, so without this they
|
|
171
|
+
* rewrote the inside of a SQL string, a prompt template or a doc string (measured: 54 of 246 files in
|
|
172
|
+
* this repo changed that way) and removed an `import` line that lived inside a template literal.
|
|
173
|
+
* Comments and regex literals are stepped over so a quote or backtick inside one does not open a
|
|
174
|
+
* literal; a quoted string that does not close ends at its line, a template at the end of the input.
|
|
175
|
+
*/
|
|
176
|
+
function findStringLiterals(code) {
|
|
177
|
+
const n = code.length;
|
|
178
|
+
const ranges = [];
|
|
179
|
+
let i = 0;
|
|
180
|
+
let last = ''; // last significant (non-space) char outside literals and comments, for the regex test
|
|
181
|
+
const scanQuoted = (quote) => {
|
|
182
|
+
i++;
|
|
183
|
+
while (i < n) {
|
|
184
|
+
const ch = code[i];
|
|
185
|
+
if (ch === '\\') {
|
|
186
|
+
i += 2;
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
if (ch === '\n')
|
|
190
|
+
return;
|
|
191
|
+
i++;
|
|
192
|
+
if (ch === quote)
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const scanTemplate = () => {
|
|
197
|
+
i++; // opening backtick
|
|
198
|
+
while (i < n) {
|
|
199
|
+
const ch = code[i];
|
|
200
|
+
if (ch === '\\') {
|
|
201
|
+
i += 2;
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
if (ch === '`') {
|
|
205
|
+
i++;
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (ch === '$' && code[i + 1] === '{') {
|
|
209
|
+
i += 2;
|
|
210
|
+
let depth = 1;
|
|
211
|
+
while (i < n && depth > 0) {
|
|
212
|
+
const e = code[i];
|
|
213
|
+
if (e === '`') {
|
|
214
|
+
scanTemplate();
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (e === '"' || e === "'") {
|
|
218
|
+
scanQuoted(e);
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
if (e === '{')
|
|
222
|
+
depth++;
|
|
223
|
+
else if (e === '}')
|
|
224
|
+
depth--;
|
|
225
|
+
i++;
|
|
226
|
+
}
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
i++;
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
const regexAllowed = () => last === '' || '(,=:[!&|?{};+-*%<>~^'.includes(last);
|
|
233
|
+
while (i < n) {
|
|
234
|
+
const c = code[i];
|
|
235
|
+
const d = code[i + 1];
|
|
236
|
+
const start = i;
|
|
237
|
+
if (c === '"' || c === "'") {
|
|
238
|
+
if (code.startsWith(c.repeat(3), i)) {
|
|
239
|
+
const close = code.indexOf(c.repeat(3), i + 3);
|
|
240
|
+
i = close === -1 ? n : close + 3;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
scanQuoted(c);
|
|
244
|
+
}
|
|
245
|
+
ranges.push([start, i]);
|
|
246
|
+
last = c;
|
|
247
|
+
}
|
|
248
|
+
else if (c === '`') {
|
|
249
|
+
scanTemplate();
|
|
250
|
+
ranges.push([start, i]);
|
|
251
|
+
last = c;
|
|
252
|
+
}
|
|
253
|
+
else if (c === '/' && d === '*') {
|
|
254
|
+
const end = code.indexOf('*/', i + 2);
|
|
255
|
+
i = end === -1 ? n : end + 2;
|
|
256
|
+
}
|
|
257
|
+
else if (c === '/' && d === '/' && code[i - 1] !== ':') {
|
|
258
|
+
while (i < n && code[i] !== '\n')
|
|
259
|
+
i++;
|
|
260
|
+
}
|
|
261
|
+
else if (c === '/' && regexAllowed()) {
|
|
262
|
+
// A regex literal closes on its own line; if it does not, the '/' was a division.
|
|
263
|
+
let j = i + 1;
|
|
264
|
+
let inClass = false;
|
|
265
|
+
let closed = false;
|
|
266
|
+
while (j < n && code[j] !== '\n') {
|
|
267
|
+
const ch = code[j];
|
|
268
|
+
if (ch === '\\') {
|
|
269
|
+
j += 2;
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
if (ch === '[')
|
|
273
|
+
inClass = true;
|
|
274
|
+
else if (ch === ']')
|
|
275
|
+
inClass = false;
|
|
276
|
+
else if (ch === '/' && !inClass) {
|
|
277
|
+
closed = true;
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
j++;
|
|
281
|
+
}
|
|
282
|
+
if (closed) {
|
|
283
|
+
i = j + 1;
|
|
284
|
+
last = '/';
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
i++;
|
|
288
|
+
last = c;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
if (!/\s/.test(c))
|
|
293
|
+
last = c;
|
|
294
|
+
i++;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return ranges;
|
|
298
|
+
}
|
|
299
|
+
const LITERAL_OPEN = '';
|
|
300
|
+
const LITERAL_CLOSE = '';
|
|
301
|
+
/**
|
|
302
|
+
* Compress code structure by removing redundant whitespace and blank lines.
|
|
303
|
+
*
|
|
304
|
+
* Indentation and runs of spaces collapse; what sits inside a string or template literal does not.
|
|
168
305
|
*/
|
|
169
306
|
function compactWhitespace(code) {
|
|
170
|
-
|
|
307
|
+
const compact = (text) => text
|
|
171
308
|
.split('\n')
|
|
172
309
|
.map(line => line.trimEnd()) // Trim trailing spaces
|
|
173
310
|
.filter(line => line.trim().length > 0) // Remove empty lines
|
|
174
311
|
.join('\n')
|
|
175
312
|
.replace(/[ \t]+/g, ' '); // Collapse multiple spaces/tabs into a single space
|
|
313
|
+
// Only literals that compaction would actually change need protecting.
|
|
314
|
+
const fragile = findStringLiterals(code).filter(([s, e]) => /[ \t]{2}|\t|\n/.test(code.slice(s, e)));
|
|
315
|
+
if (fragile.length === 0)
|
|
316
|
+
return compact(code);
|
|
317
|
+
// The placeholder alphabet must be free in the input, or restoring could rewrite real text.
|
|
318
|
+
if (code.includes(LITERAL_OPEN) || code.includes(LITERAL_CLOSE)) {
|
|
319
|
+
return code.split('\n').map(line => line.trimEnd()).filter(line => line.trim().length > 0).join('\n');
|
|
320
|
+
}
|
|
321
|
+
const kept = [];
|
|
322
|
+
let masked = '';
|
|
323
|
+
let at = 0;
|
|
324
|
+
for (const [s, e] of fragile) {
|
|
325
|
+
masked += code.slice(at, s) + LITERAL_OPEN + kept.length + LITERAL_CLOSE;
|
|
326
|
+
kept.push(code.slice(s, e));
|
|
327
|
+
at = e;
|
|
328
|
+
}
|
|
329
|
+
masked += code.slice(at);
|
|
330
|
+
return compact(masked).replace(new RegExp(`${LITERAL_OPEN}(\\d+)${LITERAL_CLOSE}`, 'g'), (_m, idx) => kept[Number(idx)]);
|
|
176
331
|
}
|
|
177
332
|
function detectFunctionDeclaration(context) {
|
|
178
333
|
// Normalize whitespaces
|
|
@@ -627,9 +782,27 @@ function stripImports(code, markerPrefix = '//') {
|
|
|
627
782
|
// understand, so keep the line rather than risk deleting real code.
|
|
628
783
|
const MAX_IMPORT_LINES = 40;
|
|
629
784
|
const processedLines = [];
|
|
785
|
+
// Lines that begin inside a multi-line template or docstring are text, not statements.
|
|
786
|
+
const insideLiteral = new Set();
|
|
787
|
+
if (code.includes('`') || code.includes('"""') || code.includes("'''")) {
|
|
788
|
+
const lineStarts = [];
|
|
789
|
+
let off = 0;
|
|
790
|
+
for (const l of lines) {
|
|
791
|
+
lineStarts.push(off);
|
|
792
|
+
off += l.length + 1;
|
|
793
|
+
}
|
|
794
|
+
for (const [s, e] of findStringLiterals(code)) {
|
|
795
|
+
for (let k = 0; k < lineStarts.length; k++) {
|
|
796
|
+
if (lineStarts[k] > s && lineStarts[k] <= e)
|
|
797
|
+
insideLiteral.add(k);
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
630
801
|
for (let i = 0; i < lines.length; i++) {
|
|
631
802
|
const trimmed = lines[i].trim();
|
|
632
|
-
|
|
803
|
+
// Only a statement at the start of its line is a module import. An indented `require(...)` is a
|
|
804
|
+
// lazy one inside a function, and listing away its binding hid what the function depends on.
|
|
805
|
+
if (insideLiteral.has(i) || /^\s/.test(lines[i]) || !isImportLine(trimmed)) {
|
|
633
806
|
processedLines.push(lines[i]);
|
|
634
807
|
continue;
|
|
635
808
|
}
|