@nxuss/lemma 1.12.0 → 1.15.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.
Files changed (50) hide show
  1. package/README.md +15 -8
  2. package/dist/cjs/mcp/index.js +3 -0
  3. package/dist/cjs/mcp/index.js.map +1 -1
  4. package/dist/cjs/mcp/tasks.d.ts +20 -0
  5. package/dist/cjs/mcp/tasks.d.ts.map +1 -0
  6. package/dist/cjs/mcp/tasks.js +71 -0
  7. package/dist/cjs/mcp/tasks.js.map +1 -0
  8. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  9. package/dist/cjs/mcp/tool-profiles.js +1 -0
  10. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  11. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  12. package/dist/cjs/mcp/tools.js +360 -42
  13. package/dist/cjs/mcp/tools.js.map +1 -1
  14. package/dist/cjs/subconscious/TheBrainV2.d.ts +149 -1
  15. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  16. package/dist/cjs/subconscious/TheBrainV2.js +314 -33
  17. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  18. package/dist/cjs/utils/PatchMatcher.d.ts +1 -0
  19. package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
  20. package/dist/cjs/utils/PatchMatcher.js +4 -4
  21. package/dist/cjs/utils/PatchMatcher.js.map +1 -1
  22. package/dist/cjs/utils/SymbolSurgicalContext.d.ts +9 -0
  23. package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
  24. package/dist/cjs/utils/SymbolSurgicalContext.js +19 -0
  25. package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
  26. package/dist/esm/mcp/index.js +3 -0
  27. package/dist/esm/mcp/index.js.map +1 -1
  28. package/dist/esm/mcp/tasks.d.ts +20 -0
  29. package/dist/esm/mcp/tasks.d.ts.map +1 -0
  30. package/dist/esm/mcp/tasks.js +66 -0
  31. package/dist/esm/mcp/tasks.js.map +1 -0
  32. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  33. package/dist/esm/mcp/tool-profiles.js +1 -0
  34. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  35. package/dist/esm/mcp/tools.d.ts.map +1 -1
  36. package/dist/esm/mcp/tools.js +362 -44
  37. package/dist/esm/mcp/tools.js.map +1 -1
  38. package/dist/esm/subconscious/TheBrainV2.d.ts +149 -1
  39. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  40. package/dist/esm/subconscious/TheBrainV2.js +310 -33
  41. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  42. package/dist/esm/utils/PatchMatcher.d.ts +1 -0
  43. package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
  44. package/dist/esm/utils/PatchMatcher.js +4 -4
  45. package/dist/esm/utils/PatchMatcher.js.map +1 -1
  46. package/dist/esm/utils/SymbolSurgicalContext.d.ts +9 -0
  47. package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
  48. package/dist/esm/utils/SymbolSurgicalContext.js +18 -0
  49. package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
  50. package/package.json +1 -1
@@ -38,6 +38,12 @@ export interface BrainEntry {
38
38
  * fix — the Brain can only ever suggest reuse, never warn "we already tried this."
39
39
  */
40
40
  outcome?: 'confirmed' | 'failed';
41
+ /**
42
+ * Free-text domain tag (e.g. "auth", "billing") lifted from cognitive_map's current
43
+ * context at store time. Absent means untagged — those entries stay visible to every
44
+ * domain-scoped search rather than disappearing, same rationale as projectId above.
45
+ */
46
+ domain?: string;
41
47
  /**
42
48
  * Absolute-path::symbolName -> sha256 of just that symbol's extracted source (via
43
49
  * SymbolSurgicalContext), not the whole file. When a file has an entry here, freshness
@@ -47,6 +53,16 @@ export interface BrainEntry {
47
53
  * still applies, so every entry written before this existed keeps working unchanged.
48
54
  */
49
55
  symbolHashes?: Record<string, string>;
56
+ /**
57
+ * Fase D: sha256 of the same symbols as symbolHashes, but of their normalized
58
+ * (comment/whitespace-stripped) source — see normalizeForFreshness. Always computed
59
+ * alongside symbolHashes when a symbol is stored, regardless of whether semanticDiff is
60
+ * ever used. Lets checkEntryFreshness tell "only a comment/formatting changed" apart from
61
+ * a real change, but only when the caller opts in via semanticDiff — absent (entries
62
+ * written before this existed) means that classification isn't possible and a raw-hash
63
+ * mismatch falls back to stale, same as pre-Fase-D behavior.
64
+ */
65
+ symbolNormalizedHashes?: Record<string, string>;
50
66
  /**
51
67
  * Sub-claims within `response`, each with its own evidence. Absent means the whole
52
68
  * entry is one claim, judged by fileHashes/symbolHashes above (pre-existing behavior).
@@ -55,12 +71,29 @@ export interface BrainEntry {
55
71
  * still trustworthy instead of discarding (or blindly trusting) the whole thing.
56
72
  */
57
73
  claims?: Claim[];
74
+ /**
75
+ * Count of explicit "this memory led me astray" signals via downvote(). Distinct from
76
+ * hits: hits means "this surfaced and looked relevant enough to reuse," demerits means
77
+ * "reuse turned out to be wrong." Absent/0 means never downvoted.
78
+ */
79
+ demerits?: number;
80
+ /**
81
+ * Ids of other entries/claims this memory's conclusion was built on top of (the agent
82
+ * read memory A, then stored B as a conclusion derived from it). Absent means B's
83
+ * freshness is judged only by its own fileHashes/symbolHashes, same as before this
84
+ * existed. When present, checkEntryFreshness walks it transitively (bounded by
85
+ * MAX_DERIVED_DEPTH): if A goes stale, B is stale too even though B's own evidence
86
+ * never changed — because B's conclusion was never independently verified against
87
+ * current state, only inherited.
88
+ */
89
+ derivedFrom?: string[];
58
90
  }
59
91
  export interface Claim {
60
92
  id: string;
61
93
  text: string;
62
94
  fileHashes?: Record<string, string>;
63
95
  symbolHashes?: Record<string, string>;
96
+ symbolNormalizedHashes?: Record<string, string>;
64
97
  }
65
98
  export interface ClaimInput {
66
99
  text: string;
@@ -72,6 +105,23 @@ export interface ClaimFreshness {
72
105
  text: string;
73
106
  fresh: boolean;
74
107
  staleFiles?: string[];
108
+ /** Fase D, only set under semanticDiff: symbols whose raw hash changed but only cosmetically. */
109
+ cosmeticChanges?: string[];
110
+ }
111
+ /**
112
+ * Result of a single id passed to `TheBrainV2.verifyByIds`. `id` may be an entry id or a
113
+ * claim id — the caller doesn't need to know which, since both are opaque ids handed back
114
+ * by a prior search_memory/store_memory call. "unknown" (never "fresh") is what a caller
115
+ * gets for a purged entry, a renamed symbol's old claim, or an id from another project.
116
+ */
117
+ export interface VerifyMemoryResult {
118
+ id: string;
119
+ status: 'fresh' | 'stale' | 'unknown';
120
+ staleFiles?: string[];
121
+ /** Only set when `id` resolved to an entry that itself has per-claim tracking. */
122
+ claimBreakdown?: ClaimFreshness[];
123
+ /** Fase D, only set under semanticDiff: symbols whose raw hash changed but only cosmetically. */
124
+ cosmeticChanges?: string[];
75
125
  }
76
126
  export interface SymbolRef {
77
127
  /** Relative or absolute; resolved against process.cwd() the same way filePaths is. */
@@ -89,6 +139,9 @@ export interface BrainSearchResult {
89
139
  staleFiles?: string[];
90
140
  outcome?: 'confirmed' | 'failed';
91
141
  claims?: ClaimFreshness[];
142
+ domain?: string;
143
+ /** Fase D, only set under semanticDiff: symbols whose raw hash changed but only cosmetically. */
144
+ cosmeticChanges?: string[];
92
145
  }
93
146
  export interface BrainSearchOptions {
94
147
  /**
@@ -99,6 +152,16 @@ export interface BrainSearchOptions {
99
152
  countStats?: boolean;
100
153
  /** Prefer memories from this project. See the scoping note in search(). */
101
154
  projectId?: string;
155
+ /** Prefer memories tagged with this domain. Same soft-fallback rule as projectId. */
156
+ domain?: string;
157
+ /**
158
+ * Fase D, opt-in and off by default: when a tracked symbol's raw hash changed, check
159
+ * whether its normalized (comment/whitespace-stripped) hash also changed before marking
160
+ * stale. Only a real change still marks stale; a comment/formatting-only edit doesn't.
161
+ * Requires the entry to have been stored with symbolNormalizedHashes — an older entry
162
+ * without it still falls back to raw-hash-only (stale), same as with the flag off.
163
+ */
164
+ semanticDiff?: boolean;
102
165
  }
103
166
  export interface BrainStats {
104
167
  totalEntries: number;
@@ -137,6 +200,47 @@ export declare function bm25Score(queryTerms: string[], docTermFreq: Record<stri
137
200
  * Jaccard similarity between two term sets.
138
201
  */
139
202
  export declare function jaccardSimilarity(setA: Set<string>, setB: Set<string>): number;
203
+ /** A `derivedFrom` id resolves to either a full entry or one of its claims. */
204
+ export type FreshnessNode = {
205
+ kind: 'entry';
206
+ entry: BrainEntry;
207
+ } | {
208
+ kind: 'claim';
209
+ claim: Claim;
210
+ };
211
+ /**
212
+ * Looks up a `derivedFrom` id against both entries and claims in one pass. `claimIndex`
213
+ * is built once per outer call (search/verifyByIds) and threaded through recursion,
214
+ * never rebuilt per level — rebuilding per level would turn a bounded-depth walk into
215
+ * O(depth * entries) work for no reason.
216
+ */
217
+ export declare function resolveFreshnessNode(entries: Map<string, BrainEntry>, claimIndex: Map<string, Claim>, id: string): FreshnessNode | undefined;
218
+ /** Builds an id -> Claim index across every entry's claims, for resolveFreshnessNode. */
219
+ export declare function buildClaimIndex(entries: Map<string, BrainEntry>): Map<string, Claim>;
220
+ /**
221
+ * Bound on how many `derivedFrom` hops checkEntryFreshness will walk. Procedence chains
222
+ * are meant to be short (a conclusion built on a conclusion, maybe twice); an unbounded
223
+ * walk would turn every search() result into a full graph traversal.
224
+ */
225
+ export declare const MAX_DERIVED_DEPTH = 3;
226
+ /**
227
+ * True only if every file/symbol this entry was recorded against still hashes the same,
228
+ * AND (when `derivedFrom` is present and a resolver was passed) every memory this one was
229
+ * built on top of is itself still fresh, walked up to MAX_DERIVED_DEPTH hops. A file that
230
+ * also has a tracked symbol is judged by the symbol's hash, not the whole file's — an edit
231
+ * elsewhere in the same file (a different function, an import, a comment) must not
232
+ * invalidate a memory that was only ever about one specific symbol.
233
+ */
234
+ export declare function checkEntryFreshness(entry: BrainEntry, resolveNode?: (id: string) => FreshnessNode | undefined, depth?: number, visited?: Set<string>, semanticDiff?: boolean): {
235
+ fresh: boolean;
236
+ staleFiles: string[];
237
+ cosmeticChanges?: string[];
238
+ };
239
+ /**
240
+ * Same hash-compare as checkEntryFreshness, scoped to one claim's own evidence — a claim
241
+ * with no fileHashes/symbolHashes at all is always fresh (nothing tracked to go stale).
242
+ */
243
+ export declare function checkClaimFreshness(claim: Claim, semanticDiff?: boolean): ClaimFreshness;
140
244
  export declare class TheBrainV2 {
141
245
  private entries;
142
246
  private invertedIndex;
@@ -156,11 +260,33 @@ export declare class TheBrainV2 {
156
260
  * Store a query+response pair in the brain.
157
261
  * Returns false if detected as duplicate (>= dupThreshold similarity).
158
262
  */
159
- store(query: string, response: string, provider?: string, dupThreshold?: number, filePaths?: string[], projectId?: string, outcome?: 'confirmed' | 'failed', symbolRefs?: SymbolRef[], claimInputs?: ClaimInput[]): {
263
+ store(query: string, response: string, provider?: string, dupThreshold?: number, filePaths?: string[], projectId?: string, outcome?: 'confirmed' | 'failed', symbolRefs?: SymbolRef[], claimInputs?: ClaimInput[], domain?: string, derivedFrom?: string[]): {
160
264
  stored: boolean;
161
265
  reason: string;
162
266
  duplicate?: BrainSearchResult;
267
+ conflicts?: Array<{
268
+ id: string;
269
+ query: string;
270
+ outcome: 'confirmed' | 'failed';
271
+ }>;
163
272
  };
273
+ /**
274
+ * Hard cap on entry count. Past this, the inverted index keeps growing and old, unused
275
+ * entries dilute every future BM25 IDF calculation (more docs sharing a term → lower
276
+ * signal) without ever being asked for again. Evicting keeps ranking quality from
277
+ * degrading as the Brain accumulates months of memories.
278
+ */
279
+ private static readonly MAX_ENTRIES;
280
+ /** How many entries to evict per pass once over MAX_ENTRIES — batched, not one-at-a-time. */
281
+ private static readonly EVICT_BATCH;
282
+ /**
283
+ * Evict the lowest-value entries once the Brain is over capacity. Value = hits (proven
284
+ * usefulness) with a mild recency tiebreak — never based on similarity to any one query,
285
+ * since an entry unrelated to today's search may still be exactly what tomorrow's needs.
286
+ * Failed-outcome entries are cheap to keep (they're short, deliberate warnings) so they're
287
+ * evicted last among equally-unused entries rather than first.
288
+ */
289
+ private evictIfOverCapacity;
164
290
  /**
165
291
  * Search brain using BM25 + Jaccard re-ranking.
166
292
  * Returns results with similarity scores normalized to 0-1.
@@ -180,6 +306,28 @@ export declare class TheBrainV2 {
180
306
  similarity: number;
181
307
  existing?: BrainSearchResult;
182
308
  };
309
+ /**
310
+ * Record that a specific memory turned out NOT to help — the caller acted on it and it
311
+ * was wrong, misleading, or irrelevant despite ranking well. Unlike `outcome: 'failed'`
312
+ * (set at store time, about the underlying approach), this is set after the fact, about
313
+ * the memory's usefulness as a search result. Lowers future ranking and eviction priority
314
+ * without deleting the entry — a bad-fit-today memory may still be exactly right for a
315
+ * differently-phrased query tomorrow.
316
+ */
317
+ downvote(id: string): {
318
+ ok: boolean;
319
+ message: string;
320
+ };
321
+ /**
322
+ * Revalidate ids from a prior search_memory/store_memory result via hash-compare only —
323
+ * no BM25, no `search()`. `ids` may mix entry ids and claim ids freely; each resolves
324
+ * independently and unknown ids fail closed to "unknown", never "fresh" (an id may be
325
+ * unknown because the entry was purged, or because the symbol it named was renamed —
326
+ * either way there is nothing left to vouch for it).
327
+ */
328
+ verifyByIds(ids: string[], options?: {
329
+ semanticDiff?: boolean;
330
+ }): VerifyMemoryResult[];
183
331
  getStats(): BrainStats;
184
332
  clear(): void;
185
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TheBrainV2.d.ts","sourceRoot":"","sources":["../../../src/subconscious/TheBrainV2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TheBrainV2.d.ts","sourceRoot":"","sources":["../../../src/subconscious/TheBrainV2.ts"],"names":[],"mappings":"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"}