@nxuss/lemma 1.38.0 → 1.40.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 +3 -4
- package/bin/brain-ingest.js +68 -31
- package/bin/init.js +25 -28
- package/dashboard/dist/assets/index-DNTQXLER.css +1 -0
- package/dashboard/dist/assets/index-DzL_Zu3m.js +452 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/cjs/cli/gitHooks.d.ts +9 -2
- package/dist/cjs/cli/gitHooks.d.ts.map +1 -1
- package/dist/cjs/cli/gitHooks.js +31 -4
- package/dist/cjs/cli/gitHooks.js.map +1 -1
- package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/cjs/cli/lemma-proxy.js +21 -1
- package/dist/cjs/cli/lemma-proxy.js.map +1 -1
- package/dist/cjs/infra/analyzers/index.d.ts +0 -2
- package/dist/cjs/infra/analyzers/index.d.ts.map +1 -1
- package/dist/cjs/infra/analyzers/index.js +1 -6
- package/dist/cjs/infra/analyzers/index.js.map +1 -1
- package/dist/cjs/infra/cli.d.ts +4 -0
- package/dist/cjs/infra/cli.d.ts.map +1 -1
- package/dist/cjs/infra/cli.js +6 -199
- package/dist/cjs/infra/cli.js.map +1 -1
- package/dist/cjs/infra/index.d.ts +1 -3
- package/dist/cjs/infra/index.d.ts.map +1 -1
- package/dist/cjs/infra/index.js +1 -16
- package/dist/cjs/infra/index.js.map +1 -1
- package/dist/cjs/infra/mcp-tools.d.ts.map +1 -1
- package/dist/cjs/infra/mcp-tools.js +8 -453
- package/dist/cjs/infra/mcp-tools.js.map +1 -1
- package/dist/cjs/infra/types.d.ts +0 -101
- package/dist/cjs/infra/types.d.ts.map +1 -1
- package/dist/cjs/infra/types.js +2 -1
- package/dist/cjs/infra/types.js.map +1 -1
- package/dist/cjs/mcp/cognitiveMap.d.ts.map +1 -1
- package/dist/cjs/mcp/cognitiveMap.js +6 -2
- package/dist/cjs/mcp/cognitiveMap.js.map +1 -1
- package/dist/cjs/mcp/index.js +2 -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 +8 -23
- package/dist/cjs/mcp/prompts.js.map +1 -1
- package/dist/cjs/mcp/tool-profiles.d.ts +8 -3
- package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/cjs/mcp/tool-profiles.js +25 -54
- package/dist/cjs/mcp/tool-profiles.js.map +1 -1
- package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/devtools.js +11 -1
- package/dist/cjs/mcp/tools/devtools.js.map +1 -1
- package/dist/cjs/mcp/tools/memory.d.ts +8 -0
- package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/memory.js +209 -137
- package/dist/cjs/mcp/tools/memory.js.map +1 -1
- package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/refactor.js +129 -32
- package/dist/cjs/mcp/tools/refactor.js.map +1 -1
- package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/workspace.js +108 -8
- 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 +11 -6
- package/dist/cjs/mcp/tools.js.map +1 -1
- package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/cjs/mcp/workspaceShared.js +8 -4
- package/dist/cjs/mcp/workspaceShared.js.map +1 -1
- package/dist/cjs/proxy/ProjectRegistry.d.ts +20 -0
- package/dist/cjs/proxy/ProjectRegistry.d.ts.map +1 -1
- package/dist/cjs/proxy/ProjectRegistry.js +46 -4
- package/dist/cjs/proxy/ProjectRegistry.js.map +1 -1
- package/dist/cjs/proxy/ProjectStore.d.ts.map +1 -1
- package/dist/cjs/proxy/ProjectStore.js +9 -6
- package/dist/cjs/proxy/ProjectStore.js.map +1 -1
- package/dist/cjs/subconscious/HostRecall.d.ts +26 -2
- package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/cjs/subconscious/HostRecall.js +115 -40
- package/dist/cjs/subconscious/HostRecall.js.map +1 -1
- package/dist/cjs/subconscious/NarrowEvidence.d.ts +53 -0
- package/dist/cjs/subconscious/NarrowEvidence.d.ts.map +1 -0
- package/dist/cjs/subconscious/NarrowEvidence.js +237 -0
- package/dist/cjs/subconscious/NarrowEvidence.js.map +1 -0
- package/dist/cjs/subconscious/TheBrainV2.d.ts +48 -0
- package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/cjs/subconscious/TheBrainV2.js +227 -26
- package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js +32 -0
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/cjs/subconscious/recallDigest.d.ts +8 -0
- package/dist/cjs/subconscious/recallDigest.d.ts.map +1 -1
- package/dist/cjs/subconscious/recallDigest.js +13 -1
- package/dist/cjs/subconscious/recallDigest.js.map +1 -1
- package/dist/cjs/utils/AffectedTests.d.ts +1 -5
- package/dist/cjs/utils/AffectedTests.d.ts.map +1 -1
- package/dist/cjs/utils/AffectedTests.js +5 -37
- package/dist/cjs/utils/AffectedTests.js.map +1 -1
- package/dist/cjs/utils/AtomicFile.d.ts +14 -0
- package/dist/cjs/utils/AtomicFile.d.ts.map +1 -0
- package/dist/cjs/utils/AtomicFile.js +44 -0
- package/dist/cjs/utils/AtomicFile.js.map +1 -0
- package/dist/cjs/utils/AutoContextBundle.js +1 -1
- package/dist/cjs/utils/AutoContextBundle.js.map +1 -1
- package/dist/cjs/utils/BulkFileDigest.js +1 -1
- package/dist/cjs/utils/BulkFileDigest.js.map +1 -1
- package/dist/cjs/utils/ContextSqueezer.d.ts +36 -4
- package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/cjs/utils/ContextSqueezer.js +69 -21
- package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
- package/dist/cjs/utils/FileLock.d.ts +2 -0
- package/dist/cjs/utils/FileLock.d.ts.map +1 -0
- package/dist/cjs/utils/FileLock.js +32 -0
- package/dist/cjs/utils/FileLock.js.map +1 -0
- package/dist/cjs/utils/FileOutline.d.ts +1 -1
- package/dist/cjs/utils/FileOutline.d.ts.map +1 -1
- package/dist/cjs/utils/FileOutline.js +5 -1
- package/dist/cjs/utils/FileOutline.js.map +1 -1
- package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
- package/dist/cjs/utils/FixCapture.js +4 -3
- package/dist/cjs/utils/FixCapture.js.map +1 -1
- package/dist/cjs/utils/GitChanges.d.ts +11 -0
- package/dist/cjs/utils/GitChanges.d.ts.map +1 -0
- package/dist/cjs/utils/GitChanges.js +44 -0
- package/dist/cjs/utils/GitChanges.js.map +1 -0
- package/dist/cjs/utils/JsonKeys.d.ts +17 -0
- package/dist/cjs/utils/JsonKeys.d.ts.map +1 -0
- package/dist/cjs/utils/JsonKeys.js +75 -0
- package/dist/cjs/utils/JsonKeys.js.map +1 -0
- package/dist/cjs/utils/LocalExclude.d.ts +3 -0
- package/dist/cjs/utils/LocalExclude.d.ts.map +1 -0
- package/dist/cjs/utils/LocalExclude.js +68 -0
- package/dist/cjs/utils/LocalExclude.js.map +1 -0
- package/dist/cjs/utils/OtherLanguageSymbols.d.ts +31 -0
- package/dist/cjs/utils/OtherLanguageSymbols.d.ts.map +1 -0
- package/dist/cjs/utils/OtherLanguageSymbols.js +276 -0
- package/dist/cjs/utils/OtherLanguageSymbols.js.map +1 -0
- package/dist/cjs/utils/OutputDelta.d.ts +14 -2
- package/dist/cjs/utils/OutputDelta.d.ts.map +1 -1
- package/dist/cjs/utils/OutputDelta.js +22 -15
- package/dist/cjs/utils/OutputDelta.js.map +1 -1
- package/dist/cjs/utils/RoiLedger.d.ts.map +1 -1
- package/dist/cjs/utils/RoiLedger.js +7 -3
- package/dist/cjs/utils/RoiLedger.js.map +1 -1
- package/dist/cjs/utils/SavingsLedger.d.ts +27 -0
- package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/cjs/utils/SavingsLedger.js +56 -2
- package/dist/cjs/utils/SavingsLedger.js.map +1 -1
- package/dist/cjs/utils/SharedLedgerStore.d.ts.map +1 -1
- package/dist/cjs/utils/SharedLedgerStore.js +2 -1
- package/dist/cjs/utils/SharedLedgerStore.js.map +1 -1
- package/dist/cjs/utils/StoreDraft.d.ts +12 -0
- package/dist/cjs/utils/StoreDraft.d.ts.map +1 -1
- package/dist/cjs/utils/StoreDraft.js +53 -1
- package/dist/cjs/utils/StoreDraft.js.map +1 -1
- package/dist/cjs/utils/SurgicalASTInsert.d.ts.map +1 -1
- package/dist/cjs/utils/SurgicalASTInsert.js +2 -1
- package/dist/cjs/utils/SurgicalASTInsert.js.map +1 -1
- package/dist/cjs/utils/SymbolSurgicalContext.d.ts +2 -0
- package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
- package/dist/cjs/utils/SymbolSurgicalContext.js +30 -62
- package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
- package/dist/cjs/utils/Utf8Guard.d.ts +23 -0
- package/dist/cjs/utils/Utf8Guard.d.ts.map +1 -0
- package/dist/cjs/utils/Utf8Guard.js +81 -0
- package/dist/cjs/utils/Utf8Guard.js.map +1 -0
- package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
- package/dist/cjs/utils/WorkspaceSearch.js +26 -8
- package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
- package/dist/cjs/utils/reportSavings.d.ts +17 -4
- package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
- package/dist/cjs/utils/reportSavings.js +67 -22
- package/dist/cjs/utils/reportSavings.js.map +1 -1
- package/dist/cjs/utils/tsLoader.d.ts +5 -0
- package/dist/cjs/utils/tsLoader.d.ts.map +1 -0
- package/dist/cjs/utils/tsLoader.js +15 -0
- package/dist/cjs/utils/tsLoader.js.map +1 -0
- package/dist/esm/cli/gitHooks.d.ts +9 -2
- package/dist/esm/cli/gitHooks.d.ts.map +1 -1
- package/dist/esm/cli/gitHooks.js +31 -4
- package/dist/esm/cli/gitHooks.js.map +1 -1
- package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/esm/cli/lemma-proxy.js +21 -1
- package/dist/esm/cli/lemma-proxy.js.map +1 -1
- package/dist/esm/infra/analyzers/index.d.ts +0 -2
- package/dist/esm/infra/analyzers/index.d.ts.map +1 -1
- package/dist/esm/infra/analyzers/index.js +0 -2
- package/dist/esm/infra/analyzers/index.js.map +1 -1
- package/dist/esm/infra/cli.d.ts +4 -0
- package/dist/esm/infra/cli.d.ts.map +1 -1
- package/dist/esm/infra/cli.js +6 -199
- package/dist/esm/infra/cli.js.map +1 -1
- package/dist/esm/infra/index.d.ts +1 -3
- package/dist/esm/infra/index.d.ts.map +1 -1
- package/dist/esm/infra/index.js +1 -3
- package/dist/esm/infra/index.js.map +1 -1
- package/dist/esm/infra/mcp-tools.d.ts.map +1 -1
- package/dist/esm/infra/mcp-tools.js +9 -454
- package/dist/esm/infra/mcp-tools.js.map +1 -1
- package/dist/esm/infra/types.d.ts +0 -101
- package/dist/esm/infra/types.d.ts.map +1 -1
- package/dist/esm/infra/types.js +2 -1
- package/dist/esm/infra/types.js.map +1 -1
- package/dist/esm/mcp/cognitiveMap.d.ts.map +1 -1
- package/dist/esm/mcp/cognitiveMap.js +6 -2
- package/dist/esm/mcp/cognitiveMap.js.map +1 -1
- package/dist/esm/mcp/index.js +2 -0
- 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 +8 -23
- package/dist/esm/mcp/prompts.js.map +1 -1
- package/dist/esm/mcp/tool-profiles.d.ts +8 -3
- package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/esm/mcp/tool-profiles.js +25 -54
- package/dist/esm/mcp/tool-profiles.js.map +1 -1
- package/dist/esm/mcp/tools/devtools.d.ts.map +1 -1
- package/dist/esm/mcp/tools/devtools.js +11 -1
- package/dist/esm/mcp/tools/devtools.js.map +1 -1
- package/dist/esm/mcp/tools/memory.d.ts +8 -0
- package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
- package/dist/esm/mcp/tools/memory.js +211 -140
- package/dist/esm/mcp/tools/memory.js.map +1 -1
- package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
- package/dist/esm/mcp/tools/refactor.js +129 -32
- package/dist/esm/mcp/tools/refactor.js.map +1 -1
- package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
- package/dist/esm/mcp/tools/workspace.js +108 -8
- 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 +12 -7
- package/dist/esm/mcp/tools.js.map +1 -1
- package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/esm/mcp/workspaceShared.js +9 -5
- package/dist/esm/mcp/workspaceShared.js.map +1 -1
- package/dist/esm/proxy/ProjectRegistry.d.ts +20 -0
- package/dist/esm/proxy/ProjectRegistry.d.ts.map +1 -1
- package/dist/esm/proxy/ProjectRegistry.js +45 -3
- package/dist/esm/proxy/ProjectRegistry.js.map +1 -1
- package/dist/esm/proxy/ProjectStore.d.ts.map +1 -1
- package/dist/esm/proxy/ProjectStore.js +9 -6
- package/dist/esm/proxy/ProjectStore.js.map +1 -1
- package/dist/esm/subconscious/HostRecall.d.ts +26 -2
- package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/esm/subconscious/HostRecall.js +113 -41
- package/dist/esm/subconscious/HostRecall.js.map +1 -1
- package/dist/esm/subconscious/NarrowEvidence.d.ts +53 -0
- package/dist/esm/subconscious/NarrowEvidence.d.ts.map +1 -0
- package/dist/esm/subconscious/NarrowEvidence.js +228 -0
- package/dist/esm/subconscious/NarrowEvidence.js.map +1 -0
- package/dist/esm/subconscious/TheBrainV2.d.ts +48 -0
- package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/esm/subconscious/TheBrainV2.js +226 -25
- package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.js +32 -0
- package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/esm/subconscious/recallDigest.d.ts +8 -0
- package/dist/esm/subconscious/recallDigest.d.ts.map +1 -1
- package/dist/esm/subconscious/recallDigest.js +12 -1
- package/dist/esm/subconscious/recallDigest.js.map +1 -1
- package/dist/esm/utils/AffectedTests.d.ts +1 -5
- package/dist/esm/utils/AffectedTests.d.ts.map +1 -1
- package/dist/esm/utils/AffectedTests.js +2 -35
- package/dist/esm/utils/AffectedTests.js.map +1 -1
- package/dist/esm/utils/AtomicFile.d.ts +14 -0
- package/dist/esm/utils/AtomicFile.d.ts.map +1 -0
- package/dist/esm/utils/AtomicFile.js +37 -0
- package/dist/esm/utils/AtomicFile.js.map +1 -0
- package/dist/esm/utils/AutoContextBundle.js +1 -1
- package/dist/esm/utils/AutoContextBundle.js.map +1 -1
- package/dist/esm/utils/BulkFileDigest.js +1 -1
- package/dist/esm/utils/BulkFileDigest.js.map +1 -1
- package/dist/esm/utils/ContextSqueezer.d.ts +36 -4
- package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/esm/utils/ContextSqueezer.js +67 -21
- package/dist/esm/utils/ContextSqueezer.js.map +1 -1
- package/dist/esm/utils/FileLock.d.ts +2 -0
- package/dist/esm/utils/FileLock.d.ts.map +1 -0
- package/dist/esm/utils/FileLock.js +29 -0
- package/dist/esm/utils/FileLock.js.map +1 -0
- package/dist/esm/utils/FileOutline.d.ts +1 -1
- package/dist/esm/utils/FileOutline.d.ts.map +1 -1
- package/dist/esm/utils/FileOutline.js +5 -1
- package/dist/esm/utils/FileOutline.js.map +1 -1
- package/dist/esm/utils/FixCapture.d.ts.map +1 -1
- package/dist/esm/utils/FixCapture.js +3 -2
- package/dist/esm/utils/FixCapture.js.map +1 -1
- package/dist/esm/utils/GitChanges.d.ts +11 -0
- package/dist/esm/utils/GitChanges.d.ts.map +1 -0
- package/dist/esm/utils/GitChanges.js +41 -0
- package/dist/esm/utils/GitChanges.js.map +1 -0
- package/dist/esm/utils/JsonKeys.d.ts +17 -0
- package/dist/esm/utils/JsonKeys.d.ts.map +1 -0
- package/dist/esm/utils/JsonKeys.js +71 -0
- package/dist/esm/utils/JsonKeys.js.map +1 -0
- package/dist/esm/utils/LocalExclude.d.ts +3 -0
- package/dist/esm/utils/LocalExclude.d.ts.map +1 -0
- package/dist/esm/utils/LocalExclude.js +62 -0
- package/dist/esm/utils/LocalExclude.js.map +1 -0
- package/dist/esm/utils/OtherLanguageSymbols.d.ts +31 -0
- package/dist/esm/utils/OtherLanguageSymbols.d.ts.map +1 -0
- package/dist/esm/utils/OtherLanguageSymbols.js +268 -0
- package/dist/esm/utils/OtherLanguageSymbols.js.map +1 -0
- package/dist/esm/utils/OutputDelta.d.ts +14 -2
- package/dist/esm/utils/OutputDelta.d.ts.map +1 -1
- package/dist/esm/utils/OutputDelta.js +22 -15
- package/dist/esm/utils/OutputDelta.js.map +1 -1
- package/dist/esm/utils/RoiLedger.d.ts.map +1 -1
- package/dist/esm/utils/RoiLedger.js +7 -3
- package/dist/esm/utils/RoiLedger.js.map +1 -1
- package/dist/esm/utils/SavingsLedger.d.ts +27 -0
- package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/esm/utils/SavingsLedger.js +56 -2
- package/dist/esm/utils/SavingsLedger.js.map +1 -1
- package/dist/esm/utils/SharedLedgerStore.d.ts.map +1 -1
- package/dist/esm/utils/SharedLedgerStore.js +2 -1
- package/dist/esm/utils/SharedLedgerStore.js.map +1 -1
- package/dist/esm/utils/StoreDraft.d.ts +12 -0
- package/dist/esm/utils/StoreDraft.d.ts.map +1 -1
- package/dist/esm/utils/StoreDraft.js +52 -1
- package/dist/esm/utils/StoreDraft.js.map +1 -1
- package/dist/esm/utils/SurgicalASTInsert.d.ts.map +1 -1
- package/dist/esm/utils/SurgicalASTInsert.js +2 -1
- package/dist/esm/utils/SurgicalASTInsert.js.map +1 -1
- package/dist/esm/utils/SymbolSurgicalContext.d.ts +2 -0
- package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
- package/dist/esm/utils/SymbolSurgicalContext.js +2 -2
- package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
- package/dist/esm/utils/Utf8Guard.d.ts +23 -0
- package/dist/esm/utils/Utf8Guard.d.ts.map +1 -0
- package/dist/esm/utils/Utf8Guard.js +74 -0
- package/dist/esm/utils/Utf8Guard.js.map +1 -0
- package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
- package/dist/esm/utils/WorkspaceSearch.js +26 -8
- package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
- package/dist/esm/utils/reportSavings.d.ts +17 -4
- package/dist/esm/utils/reportSavings.d.ts.map +1 -1
- package/dist/esm/utils/reportSavings.js +65 -22
- package/dist/esm/utils/reportSavings.js.map +1 -1
- package/dist/esm/utils/tsLoader.d.ts +5 -0
- package/dist/esm/utils/tsLoader.d.ts.map +1 -0
- package/dist/esm/utils/tsLoader.js +13 -0
- package/dist/esm/utils/tsLoader.js.map +1 -0
- package/package.json +3 -2
- package/dashboard/dist/assets/index-CLXWgzTm.css +0 -1
- package/dashboard/dist/assets/index-CoMIMxyC.js +0 -451
- package/dist/cjs/infra/analyzers/DriftDetector.d.ts +0 -4
- package/dist/cjs/infra/analyzers/DriftDetector.d.ts.map +0 -1
- package/dist/cjs/infra/analyzers/DriftDetector.js +0 -88
- package/dist/cjs/infra/analyzers/DriftDetector.js.map +0 -1
- package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts +0 -3
- package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
- package/dist/cjs/infra/analyzers/InfraAnalyzer.js +0 -73
- package/dist/cjs/infra/analyzers/InfraAnalyzer.js.map +0 -1
- package/dist/cjs/infra/config.d.ts +0 -17
- package/dist/cjs/infra/config.d.ts.map +0 -1
- package/dist/cjs/infra/config.js +0 -111
- package/dist/cjs/infra/config.js.map +0 -1
- package/dist/cjs/infra/errorCause.d.ts +0 -36
- package/dist/cjs/infra/errorCause.d.ts.map +0 -1
- package/dist/cjs/infra/errorCause.js +0 -143
- package/dist/cjs/infra/errorCause.js.map +0 -1
- package/dist/cjs/infra/providers/InfraProvider.d.ts +0 -9
- package/dist/cjs/infra/providers/InfraProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/InfraProvider.js +0 -3
- package/dist/cjs/infra/providers/InfraProvider.js.map +0 -1
- package/dist/cjs/infra/providers/JenkinsProvider.d.ts +0 -16
- package/dist/cjs/infra/providers/JenkinsProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/JenkinsProvider.js +0 -193
- package/dist/cjs/infra/providers/JenkinsProvider.js.map +0 -1
- package/dist/cjs/infra/providers/OKDProvider.d.ts +0 -24
- package/dist/cjs/infra/providers/OKDProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/OKDProvider.js +0 -296
- package/dist/cjs/infra/providers/OKDProvider.js.map +0 -1
- package/dist/cjs/infra/providers/TerraformProvider.d.ts +0 -17
- package/dist/cjs/infra/providers/TerraformProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/TerraformProvider.js +0 -111
- package/dist/cjs/infra/providers/TerraformProvider.js.map +0 -1
- package/dist/cjs/infra/providers/index.d.ts +0 -9
- package/dist/cjs/infra/providers/index.d.ts.map +0 -1
- package/dist/cjs/infra/providers/index.js +0 -34
- package/dist/cjs/infra/providers/index.js.map +0 -1
- package/dist/cjs/infra/templates/jenkins/index.d.ts +0 -15
- package/dist/cjs/infra/templates/jenkins/index.d.ts.map +0 -1
- package/dist/cjs/infra/templates/jenkins/index.js +0 -128
- package/dist/cjs/infra/templates/jenkins/index.js.map +0 -1
- package/dist/cjs/infra/templates/okd/index.d.ts +0 -31
- package/dist/cjs/infra/templates/okd/index.d.ts.map +0 -1
- package/dist/cjs/infra/templates/okd/index.js +0 -149
- package/dist/cjs/infra/templates/okd/index.js.map +0 -1
- package/dist/esm/infra/analyzers/DriftDetector.d.ts +0 -4
- package/dist/esm/infra/analyzers/DriftDetector.d.ts.map +0 -1
- package/dist/esm/infra/analyzers/DriftDetector.js +0 -84
- package/dist/esm/infra/analyzers/DriftDetector.js.map +0 -1
- package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +0 -3
- package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
- package/dist/esm/infra/analyzers/InfraAnalyzer.js +0 -70
- package/dist/esm/infra/analyzers/InfraAnalyzer.js.map +0 -1
- package/dist/esm/infra/config.d.ts +0 -17
- package/dist/esm/infra/config.d.ts.map +0 -1
- package/dist/esm/infra/config.js +0 -101
- package/dist/esm/infra/config.js.map +0 -1
- package/dist/esm/infra/errorCause.d.ts +0 -36
- package/dist/esm/infra/errorCause.d.ts.map +0 -1
- package/dist/esm/infra/errorCause.js +0 -138
- package/dist/esm/infra/errorCause.js.map +0 -1
- package/dist/esm/infra/providers/InfraProvider.d.ts +0 -9
- package/dist/esm/infra/providers/InfraProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/InfraProvider.js +0 -2
- package/dist/esm/infra/providers/InfraProvider.js.map +0 -1
- package/dist/esm/infra/providers/JenkinsProvider.d.ts +0 -16
- package/dist/esm/infra/providers/JenkinsProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/JenkinsProvider.js +0 -186
- package/dist/esm/infra/providers/JenkinsProvider.js.map +0 -1
- package/dist/esm/infra/providers/OKDProvider.d.ts +0 -24
- package/dist/esm/infra/providers/OKDProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/OKDProvider.js +0 -292
- package/dist/esm/infra/providers/OKDProvider.js.map +0 -1
- package/dist/esm/infra/providers/TerraformProvider.d.ts +0 -17
- package/dist/esm/infra/providers/TerraformProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/TerraformProvider.js +0 -107
- package/dist/esm/infra/providers/TerraformProvider.js.map +0 -1
- package/dist/esm/infra/providers/index.d.ts +0 -9
- package/dist/esm/infra/providers/index.d.ts.map +0 -1
- package/dist/esm/infra/providers/index.js +0 -27
- package/dist/esm/infra/providers/index.js.map +0 -1
- package/dist/esm/infra/templates/jenkins/index.d.ts +0 -15
- package/dist/esm/infra/templates/jenkins/index.d.ts.map +0 -1
- package/dist/esm/infra/templates/jenkins/index.js +0 -124
- package/dist/esm/infra/templates/jenkins/index.js.map +0 -1
- package/dist/esm/infra/templates/okd/index.d.ts +0 -31
- package/dist/esm/infra/templates/okd/index.d.ts.map +0 -1
- package/dist/esm/infra/templates/okd/index.js +0 -142
- package/dist/esm/infra/templates/okd/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/devtools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ToolDefinition, ToolHandler } from "../toolTypes.js";
|
|
8
8
|
export declare const MEMORY_TOOL_DEFINITIONS: ToolDefinition[];
|
|
9
|
+
/**
|
|
10
|
+
* A memory that reads as a log of what was done — "release v1.31.0: what shipped", "commit abc123:
|
|
11
|
+
* …", "hito v1.26.0". On Lemma's own repo these were most of the memories written on purpose and
|
|
12
|
+
* none was ever recalled: the next session asks why something breaks or how to do it, never what
|
|
13
|
+
* shipped on a date, and git log / the CHANGELOG answer that anyway. A how/why question is
|
|
14
|
+
* knowledge even when it mentions a release ("how to publish a release"), so it is let through.
|
|
15
|
+
*/
|
|
16
|
+
export declare function looksLikeLogbook(query: string): boolean;
|
|
9
17
|
export declare const MEMORY_TOOL_HANDLERS: Record<string, ToolHandler>;
|
|
10
18
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShE,eAAO,MAAM,uBAAuB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShE,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAyVnD,CAAC;AAwTF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOvD;AA4nBD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAiB5D,CAAC"}
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import fs from "fs";
|
|
8
8
|
import path from "path";
|
|
9
|
-
import { getBrain, deriveProjectId, currentGitContext } from "../../subconscious/TheBrainV2.js";
|
|
10
|
-
import { reportSavings } from "../../utils/reportSavings.js";
|
|
9
|
+
import { getBrain, deriveProjectId, currentGitContext, tokenize } from "../../subconscious/TheBrainV2.js";
|
|
10
|
+
import { reportSavings, reportRecall } from "../../utils/reportSavings.js";
|
|
11
11
|
import { netTokensSaved } from "./squeeze-cache.js";
|
|
12
12
|
import { recordReceiptEvent } from "../../utils/TokenReceipt.js";
|
|
13
|
-
import { logError, safeResolvePath,
|
|
13
|
+
import { logError, safeResolvePath, tryElicitConfirmation } from "../utils.js";
|
|
14
14
|
import { deriveDomainForFile } from "../cognitiveMap.js";
|
|
15
15
|
import { getRecentEvidence } from "../../utils/SessionEvidence.js";
|
|
16
|
-
import {
|
|
16
|
+
import { narrowEvidence } from "../../subconscious/NarrowEvidence.js";
|
|
17
17
|
import { ageLabel } from "../../utils/ageLabel.js";
|
|
18
18
|
import { sanitizeRefs, describeRef, checkExternalRefs } from "../../subconscious/ExternalRefs.js";
|
|
19
19
|
import { pushTeamBrain, pullTeamBrain, teamBrainStatus } from "../../subconscious/TeamBrain.js";
|
|
@@ -41,16 +41,16 @@ export const MEMORY_TOOL_DEFINITIONS = [
|
|
|
41
41
|
{
|
|
42
42
|
name: "search_memory",
|
|
43
43
|
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
44
|
-
description: "Search
|
|
44
|
+
description: "Search the Brain before investigating something from scratch: past fixes, traps, failed approaches and decisions from earlier sessions. Returns a ranked shortlist (headline, excerpt, fresh/STALE) — pick the one that answers your question and get_memory it for the body. Never treat a STALE result as current.",
|
|
45
45
|
inputSchema: {
|
|
46
46
|
type: "object",
|
|
47
47
|
properties: {
|
|
48
48
|
query: { type: "string", description: "The natural language query" },
|
|
49
|
-
limit: { type: "number", description: "
|
|
49
|
+
limit: { type: "number", description: "Max results; omit for the top 3 (up to 10)" },
|
|
50
50
|
minSimilarity: {
|
|
51
51
|
type: "number",
|
|
52
|
-
description: "
|
|
53
|
-
default: 0
|
|
52
|
+
description: "Optional floor (0-1) on the ranking score. Off by default: the score ranks well but does not separate relevant from unrelated.",
|
|
53
|
+
default: 0,
|
|
54
54
|
},
|
|
55
55
|
domain: {
|
|
56
56
|
type: "string",
|
|
@@ -58,7 +58,12 @@ export const MEMORY_TOOL_DEFINITIONS = [
|
|
|
58
58
|
},
|
|
59
59
|
semanticDiff: {
|
|
60
60
|
type: "boolean",
|
|
61
|
-
description: "Don't count a comment/whitespace-only change as stale.",
|
|
61
|
+
description: "Don't count a comment/whitespace-only change as stale (default). Pass false to treat any edit to the tracked code as a change.",
|
|
62
|
+
default: true,
|
|
63
|
+
},
|
|
64
|
+
allProjects: {
|
|
65
|
+
type: "boolean",
|
|
66
|
+
description: "Also search memories from your other projects (labelled as such). Off by default: they may be confidential and rarely apply here.",
|
|
62
67
|
default: false,
|
|
63
68
|
},
|
|
64
69
|
},
|
|
@@ -85,7 +90,7 @@ export const MEMORY_TOOL_DEFINITIONS = [
|
|
|
85
90
|
{
|
|
86
91
|
name: "store_memory",
|
|
87
92
|
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
|
|
88
|
-
description: "Save a verified
|
|
93
|
+
description: "Save a verified fix, decision or fact so it needn't be re-investigated: what code and git can't tell the next session (root cause, trap, failed approach, how-to), not a log of what shipped. Pass filePaths (or `symbols`) so it goes stale when that code changes; omitted, Lemma guesses from files this session touched. outcome='failed' records a dead end. To correct a memory use update_memory — a re-store here leaves both versions.",
|
|
89
94
|
inputSchema: {
|
|
90
95
|
type: "object",
|
|
91
96
|
properties: {
|
|
@@ -206,8 +211,8 @@ export const MEMORY_TOOL_DEFINITIONS = [
|
|
|
206
211
|
ids: { type: "array", items: { type: "string" }, description: "Entry and/or claim ids to revalidate, from a prior search_memory/store_memory result." },
|
|
207
212
|
semanticDiff: {
|
|
208
213
|
type: "boolean",
|
|
209
|
-
description: "Don't count a comment/whitespace-only change as stale.",
|
|
210
|
-
default:
|
|
214
|
+
description: "Don't count a comment/whitespace-only change as stale (default). Pass false to treat any edit to the tracked code as a change.",
|
|
215
|
+
default: true,
|
|
211
216
|
},
|
|
212
217
|
},
|
|
213
218
|
required: ["ids"],
|
|
@@ -363,142 +368,125 @@ export const MEMORY_TOOL_DEFINITIONS = [
|
|
|
363
368
|
},
|
|
364
369
|
},
|
|
365
370
|
];
|
|
371
|
+
/**
|
|
372
|
+
* Ids the last search_memory calls put on a shortlist. A get_memory of one of them is the
|
|
373
|
+
* moment a memory was actually reused, so that is where its hit and its saving are booked —
|
|
374
|
+
* listing a headline saves nothing by itself.
|
|
375
|
+
*/
|
|
376
|
+
const _shortlisted = new Set();
|
|
377
|
+
const SHORTLIST_MEMORY = 200;
|
|
378
|
+
const EXCERPT_CHARS = 180;
|
|
379
|
+
/**
|
|
380
|
+
* How many candidates a search shows when the caller sets no `limit`. Measured on the recall
|
|
381
|
+
* benchmark (94 questions, two corpora): the answer was first in 76, second in 11, third in 4,
|
|
382
|
+
* fourth in 1 and never fifth, so the last two slots were ~250 tokens of unrelated headlines per
|
|
383
|
+
* search for 1% of recall. The rest are counted, not shown, and `limit` brings them back.
|
|
384
|
+
*/
|
|
385
|
+
const DEFAULT_SHOWN = 3;
|
|
386
|
+
const DEFAULT_FETCHED = 5;
|
|
387
|
+
function excerpt(text) {
|
|
388
|
+
const flat = String(typeof text === "string" ? text : JSON.stringify(text)).replace(/\s+/g, " ").trim();
|
|
389
|
+
return flat.length > EXCERPT_CHARS ? `${flat.slice(0, EXCERPT_CHARS - 1)}…` : flat;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* search_memory answers with a ranked shortlist, not a verdict.
|
|
393
|
+
*
|
|
394
|
+
* It used to return a memory only above a 0.75 similarity floor and otherwise said
|
|
395
|
+
* "Investigate from scratch — there is nothing safe to reuse". Measured on Lemma's own Brain
|
|
396
|
+
* (18 questions a later session would really ask), the right memory ranked first 15 times and
|
|
397
|
+
* in the top three every time — and cleared the floor zero times. The score can't carry a
|
|
398
|
+
* floor: BM25 is normalized against the best candidate *of the same search*, so the top result
|
|
399
|
+
* of an unrelated question scores 0.54–0.66, the same band as a correct one (0.56–0.73). The
|
|
400
|
+
* ranking is good; deciding relevance from headlines is something the agent does well. So the
|
|
401
|
+
* Brain shortlists and the agent picks, then reads the one that answers with get_memory.
|
|
402
|
+
*/
|
|
366
403
|
async function handleSearchMemory(args) {
|
|
367
|
-
const query = args?.query;
|
|
368
|
-
const
|
|
369
|
-
|
|
370
|
-
//
|
|
371
|
-
|
|
372
|
-
const minSimilarity = typeof args?.minSimilarity === "number" ? args.minSimilarity : DEFAULT_MEMORY_SIMILARITY_FLOOR;
|
|
404
|
+
const query = typeof args?.query === "string" ? args.query : "";
|
|
405
|
+
const explicitLimit = typeof args?.limit === "number" && args.limit > 0;
|
|
406
|
+
const limit = Math.min(Math.max(Math.floor(args?.limit || DEFAULT_FETCHED), 1), 10);
|
|
407
|
+
// Explicit floors are still honoured; by default nothing is cut, for the reason above.
|
|
408
|
+
const minSimilarity = typeof args?.minSimilarity === "number" ? args.minSimilarity : 0;
|
|
373
409
|
const domain = typeof args?.domain === "string" && args.domain.trim() ? args.domain.trim() : undefined;
|
|
374
|
-
const semanticDiff = args?.semanticDiff
|
|
410
|
+
const semanticDiff = args?.semanticDiff !== false;
|
|
375
411
|
if (!query)
|
|
376
412
|
throw new Error("Query is required");
|
|
377
413
|
try {
|
|
378
414
|
const brain = getBrain();
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
// A miss that says nothing cannot tell "nothing related" from "something related at 60%".
|
|
393
|
-
// These are for orientation only: below the floor, never reusable, never credited.
|
|
394
|
-
const related = uncapped
|
|
395
|
-
.filter((r) => r.similarity >= ORIENTATION_MIN)
|
|
396
|
-
.map((r) => ` - ${r.id} (${(r.similarity * 100).toFixed(0)}%, stored ${ageLabel(r.timestamp)}): ${r.query.substring(0, 100)}`);
|
|
397
|
-
const orientation = related.length > 0
|
|
398
|
-
? `\n\nBelow the reuse floor, for orientation only (not cache hits — get_memory to read, then verify against current state before relying on any):\n${related.join("\n")}`
|
|
399
|
-
: "";
|
|
415
|
+
// countStats:false — appearing on a shortlist is not a reuse; get_memory books that.
|
|
416
|
+
const projectId = deriveProjectId();
|
|
417
|
+
adoptOnce(brain, projectId);
|
|
418
|
+
const candidates = await brain.searchHybrid(query, limit, minSimilarity, {
|
|
419
|
+
projectId,
|
|
420
|
+
allProjects: args?.allProjects === true,
|
|
421
|
+
domain,
|
|
422
|
+
semanticDiff,
|
|
423
|
+
countStats: false,
|
|
424
|
+
});
|
|
425
|
+
const results = explicitLimit ? candidates : candidates.slice(0, DEFAULT_SHOWN);
|
|
426
|
+
const hidden = candidates.length - results.length;
|
|
427
|
+
if (results.length === 0 && tokenize(query).length === 0) {
|
|
400
428
|
return {
|
|
401
|
-
content: [{
|
|
402
|
-
type: "text",
|
|
403
|
-
text: `No memory in Lemma's Brain scored at or above the ${(minSimilarity * 100).toFixed(0)}% similarity floor for this query. Investigate from scratch — there is nothing safe to reuse.${nearMiss.hint ? ` ${nearMiss.hint}` : ""}${orientation}`,
|
|
404
|
-
}],
|
|
429
|
+
content: [{ type: "text", text: "This query has no searchable words (only stop words or symbols). Search with the error text, a symbol or file name, or the words of the question." }],
|
|
405
430
|
};
|
|
406
431
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
const formatClaims = (r) => {
|
|
414
|
-
if (!Array.isArray(r.claims) || r.claims.length === 0)
|
|
415
|
-
return "";
|
|
416
|
-
const lines = r.claims.map((c) => c.fresh
|
|
417
|
-
? ` ✓ fresh: ${c.text}`
|
|
418
|
-
: ` ✗ STALE (${(c.staleFiles || []).join(", ")}): ${c.text}`);
|
|
419
|
-
const staleCount = r.claims.filter((c) => !c.fresh).length;
|
|
420
|
-
return `\nClaims (${r.claims.length - staleCount}/${r.claims.length} still fresh — trust only the ✓ ones):\n${lines.join("\n")}`;
|
|
421
|
-
};
|
|
422
|
-
const formatResult = (r, i) => `Result ${i + 1} (id: ${r.id}, Similarity: ${(r.similarity * 100).toFixed(1)}%, stored ${ageLabel(r.timestamp)})${r.outcome === "failed" ? "\n⚠️ TAGGED AS A FAILED ATTEMPT — this was tried before and did NOT work. Do not repeat it; treat this as a warning, not a suggestion." : ""}${typeof r.tokensSaved === "number" && r.tokensSaved > 0
|
|
423
|
-
? `\n💰 This memory has saved ${r.tokensSaved} tokens across ${r.hits || "?"} reuse(s) — prefer it over re-deriving.`
|
|
424
|
-
: ""}\nPrompt: ${r.query.substring(0, 300)}...\nResponse: ${typeof r.response === "string" ? r.response : JSON.stringify(r.response, null, 2)}${formatClaims(r)}${Array.isArray(r.evidence) && r.evidence.length > 0
|
|
425
|
-
? `\nEvidence: ${r.evidence.map((e) => {
|
|
426
|
-
const sep = e.lastIndexOf("::");
|
|
427
|
-
return sep > 0 ? `${relLabel(e.substring(0, sep))}::${e.substring(sep + 2)}` : relLabel(e);
|
|
428
|
-
}).join(", ")}`
|
|
429
|
-
: ""}${Array.isArray(r.whyShown) && r.whyShown.length > 0
|
|
430
|
-
? `\nWhy shown: ${r.whyShown.join(" · ")}`
|
|
431
|
-
: ""}${Array.isArray(r.cosmeticChanges) && r.cosmeticChanges.length > 0
|
|
432
|
-
? `\n(comment/whitespace-only change, ignored under semanticDiff: ${r.cosmeticChanges.join(", ")})`
|
|
433
|
-
: ""}`;
|
|
434
|
-
if (fresh.length > 0) {
|
|
435
|
-
// Only a fresh hit (or an untracked, purely conceptual entry) counts as a real
|
|
436
|
-
// avoided re-investigation — this is the only case worth crediting as savings.
|
|
437
|
-
const bestFresh = fresh[0];
|
|
438
|
-
const { net: tokensSaved } = netTokensSaved(Math.max(400, String(bestFresh.response).length), query);
|
|
439
|
-
reportSavings({ source: "cache", tokens: tokensSaved, toolName: "search_memory", query: query.substring(0, 100) });
|
|
440
|
-
// Attribute the saving to the memory itself: the per-entry ROI ledger lives on the
|
|
441
|
-
// entry (persisted, merged, imported), booked on the same event as the ledger above
|
|
442
|
-
// so the two can never disagree about whether a reuse happened.
|
|
443
|
-
brain.creditSavings(bestFresh.id, tokensSaved);
|
|
444
|
-
recordReceiptEvent("semantic_cache_hit", query.substring(0, 100), {
|
|
445
|
-
tool: "search_memory",
|
|
446
|
-
similarity: bestFresh.similarity,
|
|
447
|
-
tokensSaved,
|
|
448
|
-
memoryId: bestFresh.id,
|
|
449
|
-
});
|
|
450
|
-
}
|
|
451
|
-
else if (untracked.length > 0) {
|
|
452
|
-
recordReceiptEvent("reasoning", query.substring(0, 100), {
|
|
453
|
-
tool: "search_memory",
|
|
454
|
-
reason: `${untracked.length} similar but UNTRACKED — no evidence to verify, not credited as a cache hit`,
|
|
455
|
-
});
|
|
456
|
-
}
|
|
457
|
-
else {
|
|
458
|
-
recordReceiptEvent("reasoning", query.substring(0, 100), {
|
|
459
|
-
tool: "search_memory",
|
|
460
|
-
reason: `${stale.length} similar memory/memories found but all stale — must re-verify`,
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
const parts = [];
|
|
464
|
-
if (fresh.length > 0) {
|
|
465
|
-
parts.push(`Lemma found ${fresh.length} fresh ${fresh.length === 1 ? "memory" : "memories"} (from cache — say so if you use this):\n\n${fresh.map(formatResult).join("\n\n---\n\n")}`);
|
|
466
|
-
}
|
|
467
|
-
if (untracked.length > 0) {
|
|
468
|
-
const untrackedText = untracked
|
|
469
|
-
.map((r, i) => formatResult(r, i))
|
|
470
|
-
.join("\n\n---\n\n");
|
|
471
|
-
parts.push(`⚠️ ${untracked.length} ${untracked.length === 1 ? "memory is" : "memories are"} similar but UNTRACKED — ${untracked.length === 1 ? "it tracks" : "they track"} no files or symbols, so nothing was verified against current code (${untracked.length === 1 ? "it is" : "they are"} vacuously "fresh": there was nothing to check). ${untracked.length === 1 ? "It may" : "They may"} describe state that no longer exists — treat as a hint, re-verify against the repo before acting on it, and use update_memory/refresh_memory with filePaths/symbols so it becomes verifiable next time:\n\n${untrackedText}`);
|
|
432
|
+
if (results.length === 0) {
|
|
433
|
+
const why = minSimilarity > 0
|
|
434
|
+
? `scored at or above the ${minSimilarity} floor you set`
|
|
435
|
+
: "shares a term with this query — nothing was learned about it in an earlier session";
|
|
436
|
+
recordReceiptEvent("reasoning", query.substring(0, 100), { tool: "search_memory", reason: `no memory ${why}` });
|
|
437
|
+
return { content: [{ type: "text", text: `No memory in Lemma's Brain ${why}. Investigate from scratch.` }] };
|
|
472
438
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
439
|
+
for (const r of results)
|
|
440
|
+
_shortlisted.add(r.id);
|
|
441
|
+
while (_shortlisted.size > SHORTLIST_MEMORY)
|
|
442
|
+
_shortlisted.delete(_shortlisted.values().next().value);
|
|
443
|
+
void reportRecall({ projectPath: process.cwd(), trigger: "search", memoryIds: results.map((r) => r.id) });
|
|
444
|
+
recordReceiptEvent("reasoning", query.substring(0, 100), { tool: "search_memory", reason: `shortlisted ${results.length} memories` });
|
|
445
|
+
const line = (r, i) => {
|
|
446
|
+
const verdict = !r.fresh
|
|
447
|
+
? r.staleCause === "branch-changed"
|
|
448
|
+
? `STALE — stored on branch ${r.storedOnBranch}, you are on ${currentGitContext().branch || "another branch"}`
|
|
449
|
+
: `STALE — changed since: ${(r.staleFiles || []).map(relLabel).join(", ")}`
|
|
450
|
+
: r.untracked
|
|
451
|
+
? "untracked — tracks no files, nothing to check it against"
|
|
452
|
+
: "fresh";
|
|
453
|
+
const failed = r.outcome === "failed" ? " ⚠️ FAILED APPROACH — tried before and did not work" : "";
|
|
454
|
+
const origin = r.scope === "other-project"
|
|
455
|
+
? ` ⚠️ FROM ANOTHER PROJECT (${r.ownerProject}) — do not assume it applies here`
|
|
456
|
+
: r.scope === "unscoped"
|
|
457
|
+
? " [stored before memories were scoped to a project — may not be from this one]"
|
|
481
458
|
: "";
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
459
|
+
return `${i + 1}. ${r.id} (${ageLabel(r.timestamp)}, ${verdict})${failed}${origin}\n ${r.query.replace(/\s+/g, " ").slice(0, 160)}\n ${excerpt(r.response)}`;
|
|
460
|
+
};
|
|
461
|
+
const text = `Closest memories in Lemma's Brain, best match first. Ranking is lexical: the right memory is usually here, but so are unrelated ones that share words — judge each by its headline.\n\n` +
|
|
462
|
+
`${results.map(line).join("\n\n")}\n\n` +
|
|
463
|
+
(hidden > 0 ? `(${hidden} lower-ranked ${hidden === 1 ? "candidate" : "candidates"} not shown — pass limit: ${candidates.length} to see ${hidden === 1 ? "it" : "them"}.)\n\n` : "") +
|
|
464
|
+
`If one answers your question, get_memory <id> for the full body before relying on it (a STALE one must be re-checked against the current code; a FAILED one is a warning, not a suggestion). If none does, investigate from scratch. A memory that turns out wrong: downvote_memory or forget_memory it.`;
|
|
465
|
+
return { content: [{ type: "text", text }] };
|
|
488
466
|
}
|
|
489
467
|
catch (e) {
|
|
490
468
|
logError("search_memory", e);
|
|
491
469
|
return { content: [{ type: "text", text: `Local Search failed: ${e.message}` }] };
|
|
492
470
|
}
|
|
493
471
|
}
|
|
472
|
+
/** Memories from before projects existed are adopted once per process, from the repo root. */
|
|
473
|
+
let _adopted = false;
|
|
474
|
+
function adoptOnce(brain, projectId) {
|
|
475
|
+
if (_adopted)
|
|
476
|
+
return;
|
|
477
|
+
_adopted = true;
|
|
478
|
+
try {
|
|
479
|
+
brain.adoptUnscopedByEvidence(projectId, process.cwd());
|
|
480
|
+
}
|
|
481
|
+
catch (e) {
|
|
482
|
+
logError("adoptUnscopedByEvidence", e);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
494
485
|
/** Relative-to-cwd label for a tracked absolute path, matching how the Brain reports them. */
|
|
495
486
|
function relLabel(abs) {
|
|
496
487
|
const rel = path.relative(process.cwd(), abs);
|
|
497
488
|
return rel.startsWith("..") ? abs : rel;
|
|
498
489
|
}
|
|
499
|
-
/** How many below-floor candidates a miss lists, and the weakest one still worth naming. */
|
|
500
|
-
const ORIENTATION_LIMIT = 3;
|
|
501
|
-
const ORIENTATION_MIN = 0.3;
|
|
502
490
|
/** External refs (commit / MR / issue) an entry carries, as one readable line; "" if none. */
|
|
503
491
|
function refsLine(entry) {
|
|
504
492
|
const refs = Array.isArray(entry.refs) ? entry.refs : [];
|
|
@@ -548,6 +536,18 @@ async function handleGetMemory(args) {
|
|
|
548
536
|
return { content: [{ type: "text", text: `No memory with id "${id}" in the Brain. It may have been deleted with forget_memory, or evicted at capacity — search_memory can find it by content if it is still there under another id.` }] };
|
|
549
537
|
}
|
|
550
538
|
const [status] = brain.verifyByIds([id]);
|
|
539
|
+
// Opened from a search_memory shortlist: this is the reuse. Booked once per shortlisting,
|
|
540
|
+
// and only for a memory that was checked against code and still holds — the same rule the
|
|
541
|
+
// old above-the-floor hit followed.
|
|
542
|
+
if (_shortlisted.delete(id) && includeResponse) {
|
|
543
|
+
brain.recordReuse(id);
|
|
544
|
+
if (status?.status === "fresh") {
|
|
545
|
+
const { net: tokensSaved } = netTokensSaved(Math.max(400, entry.response.length), entry.query);
|
|
546
|
+
reportSavings({ source: "cache", tokens: tokensSaved, toolName: "search_memory", query: entry.query.substring(0, 100) });
|
|
547
|
+
brain.creditSavings(id, tokensSaved);
|
|
548
|
+
recordReceiptEvent("semantic_cache_hit", entry.query.substring(0, 100), { tool: "get_memory", tokensSaved, memoryId: id });
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
551
|
const facts = [
|
|
552
552
|
`stored ${entry.timestamp}`,
|
|
553
553
|
...(entry.refreshedAt ? [`re-anchored ${entry.refreshedAt}`] : []),
|
|
@@ -620,7 +620,19 @@ async function handleUpdateMemory(args) {
|
|
|
620
620
|
const ok = getBrain().setRefs(id, refs);
|
|
621
621
|
return { content: [{ type: "text", text: ok ? `External refs on "${id}" ${refs.length > 0 ? `set to: ${refs.map(describeRef).join(", ")}` : "cleared"}. Nothing else was changed.` : `No entry with id "${id}" in the Brain.` }] };
|
|
622
622
|
}
|
|
623
|
-
|
|
623
|
+
// New files without symbols: track the symbols the memory names in them instead (see
|
|
624
|
+
// NarrowEvidence) — the text it is judged by is the new one when given, else the stored one.
|
|
625
|
+
let trackFiles = filePaths;
|
|
626
|
+
let trackSymbols = symbols;
|
|
627
|
+
if (filePaths && filePaths.length > 0 && !symbols) {
|
|
628
|
+
const current = getBrain().getEntry(id);
|
|
629
|
+
const narrowed = narrowEvidence(filePaths, `${query ?? current?.query ?? ""}\n${response ?? current?.response ?? ""}`);
|
|
630
|
+
if (narrowed.symbols.length > 0) {
|
|
631
|
+
trackFiles = narrowed.filePaths;
|
|
632
|
+
trackSymbols = narrowed.symbols;
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
const result = getBrain().update(id, { query, response, filePaths: trackFiles, symbols: trackSymbols, claims, outcome, domain, derivedFrom, supersededBy, refs });
|
|
624
636
|
if (!result.ok)
|
|
625
637
|
return { content: [{ type: "text", text: result.message }] };
|
|
626
638
|
recordReceiptEvent("tool_call", `update_memory: ${id}`, {
|
|
@@ -646,6 +658,20 @@ async function handleUpdateMemory(args) {
|
|
|
646
658
|
return { content: [{ type: "text", text: `Failed to update memory: ${e.message}` }], isError: true };
|
|
647
659
|
}
|
|
648
660
|
}
|
|
661
|
+
/**
|
|
662
|
+
* A memory that reads as a log of what was done — "release v1.31.0: what shipped", "commit abc123:
|
|
663
|
+
* …", "hito v1.26.0". On Lemma's own repo these were most of the memories written on purpose and
|
|
664
|
+
* none was ever recalled: the next session asks why something breaks or how to do it, never what
|
|
665
|
+
* shipped on a date, and git log / the CHANGELOG answer that anyway. A how/why question is
|
|
666
|
+
* knowledge even when it mentions a release ("how to publish a release"), so it is let through.
|
|
667
|
+
*/
|
|
668
|
+
export function looksLikeLogbook(query) {
|
|
669
|
+
const q = query.toLowerCase();
|
|
670
|
+
if (/^(how|why|cómo|como|por qué|porque)\s/.test(q))
|
|
671
|
+
return false;
|
|
672
|
+
return (/^commit [0-9a-f]{7,}/.test(q) ||
|
|
673
|
+
/(?<![a-z])(what shipped|shipped|released?|milestone|hito|changelog|qué trae|qué se publicó|publicad[oa])(?![a-z])/.test(q));
|
|
674
|
+
}
|
|
649
675
|
async function handleStoreMemory(args) {
|
|
650
676
|
const query = args?.query;
|
|
651
677
|
const responseText = args?.response;
|
|
@@ -668,6 +694,17 @@ async function handleStoreMemory(args) {
|
|
|
668
694
|
autoEvidence = true;
|
|
669
695
|
}
|
|
670
696
|
}
|
|
697
|
+
// A whole file goes stale on any edit anywhere in it; the symbols the memory names in it go
|
|
698
|
+
// stale only when what it talks about changes (see NarrowEvidence).
|
|
699
|
+
let narrowedNote = "";
|
|
700
|
+
if (filePaths && filePaths.length > 0 && (!symbols || symbols.length === 0) && query && responseText) {
|
|
701
|
+
const narrowed = narrowEvidence(filePaths, `${query}\n${responseText}`);
|
|
702
|
+
if (narrowed.symbols.length > 0) {
|
|
703
|
+
filePaths = narrowed.filePaths.length > 0 ? narrowed.filePaths : undefined;
|
|
704
|
+
symbols = narrowed.symbols;
|
|
705
|
+
narrowedNote = ` Tracking the symbols it names instead of their whole file (${narrowed.narrowed.join("; ")}) — an edit elsewhere in those files won't stale it; pass symbols explicitly to choose others.`;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
671
708
|
const claims = Array.isArray(args?.claims)
|
|
672
709
|
? args.claims.filter((c) => c?.text)
|
|
673
710
|
: undefined;
|
|
@@ -694,8 +731,17 @@ async function handleStoreMemory(args) {
|
|
|
694
731
|
filePaths,
|
|
695
732
|
note: "memory written — no tokens saved yet",
|
|
696
733
|
});
|
|
697
|
-
const
|
|
698
|
-
const
|
|
734
|
+
const wholeFiles = (filePaths?.length ?? 0) - (storeRes.narrowedFiles?.length ?? 0);
|
|
735
|
+
const trackingNote = wholeFiles > 0 ? ` Tracking freshness against ${wholeFiles} file(s) — this memory auto-invalidates if they change.` : "";
|
|
736
|
+
const unresolved = storeRes.unresolvedSymbols ?? [];
|
|
737
|
+
const trackedSymbols = (symbols?.length ?? 0) - unresolved.length;
|
|
738
|
+
const symbolNote = (trackedSymbols > 0 ? ` Tracking freshness against ${trackedSymbols} symbol(s) specifically — unrelated edits elsewhere in those files won't stale this out.` : "") +
|
|
739
|
+
(unresolved.length > 0
|
|
740
|
+
? ` ⚠️ Could not find ${unresolved.map((r) => `${r.symbolName} in ${r.filePath}`).join(", ")} — check the name; tracking ${unresolved.length === 1 ? "that file" : "those files"} whole instead, which goes stale on any edit to it.`
|
|
741
|
+
: "") +
|
|
742
|
+
((storeRes.narrowedFiles?.length ?? 0) > 0
|
|
743
|
+
? ` (${storeRes.narrowedFiles.join(", ")} not tracked whole: its symbols are, so unrelated edits to it won't stale this.)`
|
|
744
|
+
: "");
|
|
699
745
|
const autoEvidenceNote = autoEvidence
|
|
700
746
|
? " (auto-derived from files/symbols this session touched, not passed explicitly — correct with update_memory if this guessed wrong)"
|
|
701
747
|
: "";
|
|
@@ -720,10 +766,13 @@ async function handleStoreMemory(args) {
|
|
|
720
766
|
// later store, verify_memory, refresh_memory, forget_memory. Without it the caller had
|
|
721
767
|
// to search for the memory it had just written to do anything with it.
|
|
722
768
|
const idNote = storeRes.id ? ` (id: ${storeRes.id})` : "";
|
|
769
|
+
const logbookNote = looksLikeLogbook(query)
|
|
770
|
+
? "\n\n📓 This reads like a log of what was done or shipped. git log and the CHANGELOG already hold that, and log-style memories are the ones that never get recalled. If it contains what they don't — the root cause, the trap, the approach that failed, the non-obvious step — update_memory it so the key and body lead with that; otherwise forget_memory it."
|
|
771
|
+
: "";
|
|
723
772
|
const scrubNote = storeRes.redactions > 0
|
|
724
773
|
? ` 🛡 ${storeRes.redactions} secret(s) redacted before storage — credentials are never persisted, only their placeholders.`
|
|
725
774
|
: "";
|
|
726
|
-
return { content: [{ type: "text", text: `Success: Memory stored${idNote}. ${storeRes.reason}${trackingNote}${symbolNote}${autoEvidenceNote}${outcomeNote}${claimsNote}${domainNote}${refsNote}${derivedFromNote}${conflictsNote}${textConflictsNote}${scrubNote}` }] };
|
|
775
|
+
return { content: [{ type: "text", text: `Success: Memory stored${idNote}. ${storeRes.reason}${trackingNote}${symbolNote}${autoEvidenceNote}${outcomeNote}${claimsNote}${domainNote}${refsNote}${derivedFromNote}${conflictsNote}${narrowedNote}${textConflictsNote}${scrubNote}${logbookNote}` }] };
|
|
727
776
|
}
|
|
728
777
|
catch (e) {
|
|
729
778
|
logError("store_memory", e);
|
|
@@ -1143,7 +1192,7 @@ async function handleBrainTeam(args) {
|
|
|
1143
1192
|
}
|
|
1144
1193
|
async function handleVerifyMemory(args) {
|
|
1145
1194
|
const ids = Array.isArray(args?.ids) ? args.ids.filter((id) => typeof id === "string" && id) : [];
|
|
1146
|
-
const semanticDiff = args?.semanticDiff
|
|
1195
|
+
const semanticDiff = args?.semanticDiff !== false;
|
|
1147
1196
|
if (ids.length === 0)
|
|
1148
1197
|
throw new Error("ids is required and must be a non-empty array");
|
|
1149
1198
|
try {
|
|
@@ -1223,22 +1272,44 @@ async function handleListMemories(args) {
|
|
|
1223
1272
|
return { content: [{ type: "text", text: `Failed to list memories: ${e.message}` }], isError: true };
|
|
1224
1273
|
}
|
|
1225
1274
|
}
|
|
1275
|
+
/**
|
|
1276
|
+
* The Brain persists on a 500 ms debounce, which is right for the counters a read bumps but wrong
|
|
1277
|
+
* for a write the agent was just told succeeded: a host that closes the server inside that window
|
|
1278
|
+
* (SIGKILL, a crash, a fast stdin close) lost the memory while the reply said "stored". Tools that
|
|
1279
|
+
* change what the Brain knows flush before they answer; flushSync is a no-op when nothing is dirty.
|
|
1280
|
+
*/
|
|
1281
|
+
function durably(handler) {
|
|
1282
|
+
const wrapped = async (args, ...rest) => {
|
|
1283
|
+
const result = await handler(args, ...rest);
|
|
1284
|
+
try {
|
|
1285
|
+
getBrain().flushSync();
|
|
1286
|
+
}
|
|
1287
|
+
catch {
|
|
1288
|
+
// The debounced save still runs and the next save() heals; a flush failure must not turn a
|
|
1289
|
+
// successful store into an error reply.
|
|
1290
|
+
}
|
|
1291
|
+
return result;
|
|
1292
|
+
};
|
|
1293
|
+
// tool-schema-props-used reads a handler's source to prove every advertised option is used.
|
|
1294
|
+
wrapped.toString = () => handler.toString();
|
|
1295
|
+
return wrapped;
|
|
1296
|
+
}
|
|
1226
1297
|
export const MEMORY_TOOL_HANDLERS = {
|
|
1227
1298
|
list_memories: handleListMemories,
|
|
1228
1299
|
search_memory: handleSearchMemory,
|
|
1229
1300
|
get_memory: handleGetMemory,
|
|
1230
|
-
store_memory: handleStoreMemory,
|
|
1231
|
-
update_memory: handleUpdateMemory,
|
|
1232
|
-
downvote_memory: handleDownvoteMemory,
|
|
1301
|
+
store_memory: durably(handleStoreMemory),
|
|
1302
|
+
update_memory: durably(handleUpdateMemory),
|
|
1303
|
+
downvote_memory: durably(handleDownvoteMemory),
|
|
1233
1304
|
verify_memory: handleVerifyMemory,
|
|
1234
|
-
forget_memory: handleForgetMemory,
|
|
1235
|
-
refresh_memory: handleRefreshMemory,
|
|
1305
|
+
forget_memory: durably(handleForgetMemory),
|
|
1306
|
+
refresh_memory: durably(handleRefreshMemory),
|
|
1236
1307
|
brain_stats: handleBrainStats,
|
|
1237
1308
|
brain_export: handleBrainExport,
|
|
1238
|
-
brain_import: handleBrainImport,
|
|
1309
|
+
brain_import: durably(handleBrainImport),
|
|
1239
1310
|
brain_team: handleBrainTeam,
|
|
1240
|
-
brain_trash: handleBrainTrash,
|
|
1241
|
-
brain_upkeep: handleBrainUpkeep,
|
|
1242
|
-
brain_merge: handleBrainMerge,
|
|
1311
|
+
brain_trash: durably(handleBrainTrash),
|
|
1312
|
+
brain_upkeep: durably(handleBrainUpkeep),
|
|
1313
|
+
brain_merge: durably(handleBrainMerge),
|
|
1243
1314
|
};
|
|
1244
1315
|
//# sourceMappingURL=memory.js.map
|