@nxuss/lemma 1.40.0 → 1.42.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 +63 -14
- package/bin/brain-ingest.js +83 -6
- package/bin/doctor.js +2 -1
- 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 +27 -2
- package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
- package/dist/cjs/cli/hostHooks.js +74 -7
- 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 +6 -0
- package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
- package/dist/cjs/security/SemanticScrubber.js +39 -13
- package/dist/cjs/security/SemanticScrubber.js.map +1 -1
- package/dist/cjs/subconscious/HostRecall.d.ts +21 -5
- package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/cjs/subconscious/HostRecall.js +147 -13
- package/dist/cjs/subconscious/HostRecall.js.map +1 -1
- package/dist/cjs/subconscious/LeakWatch.d.ts +21 -0
- package/dist/cjs/subconscious/LeakWatch.d.ts.map +1 -0
- package/dist/cjs/subconscious/LeakWatch.js +93 -0
- package/dist/cjs/subconscious/LeakWatch.js.map +1 -0
- 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 +76 -0
- package/dist/cjs/utils/SessionCapture.d.ts.map +1 -0
- package/dist/cjs/utils/SessionCapture.js +400 -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 +27 -2
- package/dist/esm/cli/hostHooks.d.ts.map +1 -1
- package/dist/esm/cli/hostHooks.js +73 -6
- 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 +6 -0
- package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
- package/dist/esm/security/SemanticScrubber.js +38 -12
- package/dist/esm/security/SemanticScrubber.js.map +1 -1
- package/dist/esm/subconscious/HostRecall.d.ts +21 -5
- package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/esm/subconscious/HostRecall.js +146 -16
- package/dist/esm/subconscious/HostRecall.js.map +1 -1
- package/dist/esm/subconscious/LeakWatch.d.ts +21 -0
- package/dist/esm/subconscious/LeakWatch.d.ts.map +1 -0
- package/dist/esm/subconscious/LeakWatch.js +86 -0
- package/dist/esm/subconscious/LeakWatch.js.map +1 -0
- 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 +76 -0
- package/dist/esm/utils/SessionCapture.d.ts.map +1 -0
- package/dist/esm/utils/SessionCapture.js +388 -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
|
@@ -1145,7 +1145,7 @@ export function checkEntryFreshness(entry, resolver, resolveNode, depth = 0, vis
|
|
|
1145
1145
|
unverifiedFiles.push(relLabel(abs)); // fail-closed: cannot verify ⇒ not fresh
|
|
1146
1146
|
continue;
|
|
1147
1147
|
}
|
|
1148
|
-
if (currentHash !== storedHash)
|
|
1148
|
+
if (currentHash !== storedHash && resolver.hashFileLegacy?.(abs) !== storedHash)
|
|
1149
1149
|
staleFiles.push(relLabel(abs));
|
|
1150
1150
|
}
|
|
1151
1151
|
}
|
|
@@ -1160,7 +1160,7 @@ export function checkEntryFreshness(entry, resolver, resolveNode, depth = 0, vis
|
|
|
1160
1160
|
unverifiedFiles.push(label); // fail-closed: cannot verify ⇒ not fresh
|
|
1161
1161
|
continue;
|
|
1162
1162
|
}
|
|
1163
|
-
if (currentPair.raw === storedHash)
|
|
1163
|
+
if (currentPair.raw === storedHash || currentPair.rawLegacy === storedHash)
|
|
1164
1164
|
continue;
|
|
1165
1165
|
if (semanticDiff) {
|
|
1166
1166
|
const storedNormalized = entry.symbolNormalizedHashes?.[key];
|
|
@@ -1283,7 +1283,7 @@ export function checkClaimFreshness(claim, resolver, semanticDiff = false) {
|
|
|
1283
1283
|
unverifiedFiles.push(relLabel(abs));
|
|
1284
1284
|
continue;
|
|
1285
1285
|
}
|
|
1286
|
-
if (currentHash !== storedHash)
|
|
1286
|
+
if (currentHash !== storedHash && resolver.hashFileLegacy?.(abs) !== storedHash)
|
|
1287
1287
|
staleFiles.push(relLabel(abs));
|
|
1288
1288
|
}
|
|
1289
1289
|
}
|
|
@@ -1298,7 +1298,7 @@ export function checkClaimFreshness(claim, resolver, semanticDiff = false) {
|
|
|
1298
1298
|
unverifiedFiles.push(label);
|
|
1299
1299
|
continue;
|
|
1300
1300
|
}
|
|
1301
|
-
if (currentPair.raw === storedHash)
|
|
1301
|
+
if (currentPair.raw === storedHash || currentPair.rawLegacy === storedHash)
|
|
1302
1302
|
continue;
|
|
1303
1303
|
if (semanticDiff) {
|
|
1304
1304
|
const storedNormalized = claim.symbolNormalizedHashes?.[key];
|
|
@@ -3421,6 +3421,11 @@ export class TheBrainV2 {
|
|
|
3421
3421
|
*/
|
|
3422
3422
|
getStats(options = {}) {
|
|
3423
3423
|
this.syncIfChanged();
|
|
3424
|
+
// With projectId, every per-memory figure covers that project's memories only. Corpus-wide
|
|
3425
|
+
// ones (term index, bloom filter, file size, snapshots, tombstones) stay what they are, and
|
|
3426
|
+
// `unscopedEntries` still counts the memories that predate scoping, which belong to no project.
|
|
3427
|
+
const scopeId = options.projectId;
|
|
3428
|
+
let inScope = 0;
|
|
3424
3429
|
const base = {
|
|
3425
3430
|
totalEntries: this.entries.size,
|
|
3426
3431
|
totalTerms: this.invertedIndex.size,
|
|
@@ -3446,14 +3451,17 @@ export class TheBrainV2 {
|
|
|
3446
3451
|
const reuseBySource = {};
|
|
3447
3452
|
const projects = new Set();
|
|
3448
3453
|
for (const entry of this.entries.values()) {
|
|
3449
|
-
if (!entry.hits)
|
|
3450
|
-
neverHit++;
|
|
3451
|
-
if (entry.demerits)
|
|
3452
|
-
downvoted++;
|
|
3453
3454
|
if (entry.projectId === undefined)
|
|
3454
3455
|
unscoped++;
|
|
3455
3456
|
else
|
|
3456
3457
|
projects.add(entry.projectId);
|
|
3458
|
+
if (scopeId !== undefined && entry.projectId !== scopeId)
|
|
3459
|
+
continue;
|
|
3460
|
+
inScope++;
|
|
3461
|
+
if (!entry.hits)
|
|
3462
|
+
neverHit++;
|
|
3463
|
+
if (entry.demerits)
|
|
3464
|
+
downvoted++;
|
|
3457
3465
|
if (trackedArtifactCount(entry) === 0)
|
|
3458
3466
|
untracked++;
|
|
3459
3467
|
else if (entry.filePaths !== undefined || entry.symbols !== undefined ||
|
|
@@ -3494,7 +3502,11 @@ export class TheBrainV2 {
|
|
|
3494
3502
|
base.downvoted = downvoted;
|
|
3495
3503
|
base.bySource = bySource;
|
|
3496
3504
|
base.reuseBySource = reuseBySource;
|
|
3497
|
-
|
|
3505
|
+
if (scopeId !== undefined) {
|
|
3506
|
+
base.totalEntries = inScope;
|
|
3507
|
+
base.scopedTo = scopeId;
|
|
3508
|
+
}
|
|
3509
|
+
base.projects = scopeId !== undefined ? (projects.has(scopeId) ? 1 : 0) : projects.size;
|
|
3498
3510
|
base.unscopedEntries = unscoped;
|
|
3499
3511
|
base.untrackedEntries = untracked;
|
|
3500
3512
|
base.withClearPaths = withClearPaths;
|