lemma-mcp 0.18.3 → 0.20.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/dist/db/library-store.d.ts.map +1 -1
- package/dist/db/library-store.js +4 -1
- package/dist/db/library-store.js.map +1 -1
- package/dist/db/memory-store.d.ts +30 -1
- package/dist/db/memory-store.d.ts.map +1 -1
- package/dist/db/memory-store.js +152 -13
- package/dist/db/memory-store.js.map +1 -1
- package/dist/db/schema.d.ts +5 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +107 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/guides/core.d.ts +9 -0
- package/dist/guides/core.d.ts.map +1 -1
- package/dist/guides/core.js +30 -0
- package/dist/guides/core.js.map +1 -1
- package/dist/guides/index.d.ts +1 -1
- package/dist/guides/index.d.ts.map +1 -1
- package/dist/guides/index.js +1 -1
- package/dist/guides/index.js.map +1 -1
- package/dist/intelligence/conflict.d.ts +14 -0
- package/dist/intelligence/conflict.d.ts.map +1 -1
- package/dist/intelligence/conflict.js +102 -37
- package/dist/intelligence/conflict.js.map +1 -1
- package/dist/intelligence/consistency.d.ts +25 -0
- package/dist/intelligence/consistency.d.ts.map +1 -0
- package/dist/intelligence/consistency.js +112 -0
- package/dist/intelligence/consistency.js.map +1 -0
- package/dist/intelligence/hybrid.d.ts +40 -0
- package/dist/intelligence/hybrid.d.ts.map +1 -0
- package/dist/intelligence/hybrid.js +101 -0
- package/dist/intelligence/hybrid.js.map +1 -0
- package/dist/intelligence/index.d.ts +8 -1
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/index.js +5 -1
- package/dist/intelligence/index.js.map +1 -1
- package/dist/intelligence/proactive.d.ts.map +1 -1
- package/dist/intelligence/proactive.js +14 -0
- package/dist/intelligence/proactive.js.map +1 -1
- package/dist/intelligence/scoring.d.ts +40 -0
- package/dist/intelligence/scoring.d.ts.map +1 -0
- package/dist/intelligence/scoring.js +87 -0
- package/dist/intelligence/scoring.js.map +1 -0
- package/dist/intelligence/semantic.d.ts +13 -0
- package/dist/intelligence/semantic.d.ts.map +1 -1
- package/dist/intelligence/semantic.js +27 -8
- package/dist/intelligence/semantic.js.map +1 -1
- package/dist/intelligence/vector-cache.d.ts +10 -0
- package/dist/intelligence/vector-cache.d.ts.map +1 -0
- package/dist/intelligence/vector-cache.js +0 -0
- package/dist/intelligence/vector-cache.js.map +1 -0
- package/dist/memory/config.d.ts.map +1 -1
- package/dist/memory/config.js +23 -0
- package/dist/memory/config.js.map +1 -1
- package/dist/memory/core.d.ts +30 -1
- package/dist/memory/core.d.ts.map +1 -1
- package/dist/memory/core.js +121 -5
- package/dist/memory/core.js.map +1 -1
- package/dist/memory/evidence.d.ts +39 -0
- package/dist/memory/evidence.d.ts.map +1 -0
- package/dist/memory/evidence.js +53 -0
- package/dist/memory/evidence.js.map +1 -0
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/privacy.d.ts.map +1 -1
- package/dist/memory/privacy.js +8 -1
- package/dist/memory/privacy.js.map +1 -1
- package/dist/server/handlers.d.ts +12 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +150 -8
- package/dist/server/handlers.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/prompt-content.d.ts.map +1 -1
- package/dist/server/prompt-content.js +8 -2
- package/dist/server/prompt-content.js.map +1 -1
- package/dist/server/tools.d.ts +3 -0
- package/dist/server/tools.d.ts.map +1 -1
- package/dist/server/tools.js +45 -3
- package/dist/server/tools.js.map +1 -1
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library-store.d.ts","sourceRoot":"","sources":["../../src/db/library-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"library-store.d.ts","sourceRoot":"","sources":["../../src/db/library-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,qBAAqB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChH,kBAAkB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,qBAAqB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,oBAAoB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,gBAAgB,EAAE,eAAe,CAAC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAaD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,EAAE,CAiCtG;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,EAAE,CAuBjE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,eAAe,CAsC1F;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,GAAE,MAAY,GACtB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,eAAe,CA4JjG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,CAmCnE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE,CAwCvE;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,OAAO,EACX,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,eAAe,CAiEjB;AA0ED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmOtF"}
|
package/dist/db/library-store.js
CHANGED
|
@@ -22,8 +22,11 @@ export function collectFragmentSummaries(db, projectFilter) {
|
|
|
22
22
|
const sql = projectFilter
|
|
23
23
|
? baseSql + ` WHERE m.project = ? ORDER BY m.confidence DESC`
|
|
24
24
|
: baseSql + ` ORDER BY m.confidence DESC`;
|
|
25
|
+
// Normalize the filter to the canonical (trim + lowercase) project key so it
|
|
26
|
+
// matches the normalized value stored on write; a raw "Lemma" would miss "lemma".
|
|
27
|
+
const normalizedFilter = projectFilter ? projectFilter.trim().toLowerCase() : projectFilter;
|
|
25
28
|
const stmt = db.prepareCached(sql);
|
|
26
|
-
const rows = (
|
|
29
|
+
const rows = (normalizedFilter ? stmt.all(normalizedFilter) : stmt.all());
|
|
27
30
|
return rows.map(row => ({
|
|
28
31
|
id: row.id,
|
|
29
32
|
title: row.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library-store.js","sourceRoot":"","sources":["../../src/db/library-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library-store.js","sourceRoot":"","sources":["../../src/db/library-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,36 @@ export declare function updateMemory(lemmaDb: LemmaDB, idOrLegacy: string | numb
|
|
|
20
20
|
related_guides: string[];
|
|
21
21
|
access_count: number;
|
|
22
22
|
associated_with: string[];
|
|
23
|
+
invalidated_at: string | null;
|
|
23
24
|
}>): boolean;
|
|
24
25
|
export declare function deleteMemory(lemmaDb: LemmaDB, idOrLegacy: string | number): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* B1 — capacity-driven Heat eviction. When the live-fragment count exceeds
|
|
28
|
+
* `maxFragments`, move the coldest fragments (lowest Heat = injectionScore
|
|
29
|
+
* `confidence·0.7 + recency·0.3`) into fragments_archive and remove them from the
|
|
30
|
+
* working set. Never a hard delete of content — the archive keeps it, restorable.
|
|
31
|
+
* Returns the number evicted. Localized (survey O7): a single bounded query +
|
|
32
|
+
* batched moves, never a whole-memory rebuild.
|
|
33
|
+
*/
|
|
34
|
+
export declare function evictColdFragments(lemmaDb: LemmaDB, maxFragments: number): number;
|
|
35
|
+
/** Count of archived (evicted) fragments. */
|
|
36
|
+
export declare function getArchiveCount(lemmaDb: LemmaDB): number;
|
|
37
|
+
/** Restore an evicted fragment from the archive back into the working set. */
|
|
38
|
+
export declare function restoreFromArchive(lemmaDb: LemmaDB, legacyId: string): boolean;
|
|
39
|
+
export interface FragmentHistoryEntry {
|
|
40
|
+
title: string;
|
|
41
|
+
fragment: string;
|
|
42
|
+
description: string | null;
|
|
43
|
+
confidence: number;
|
|
44
|
+
type: string;
|
|
45
|
+
changed_at: string;
|
|
46
|
+
}
|
|
47
|
+
/** B2/N9: hide a fragment from recall without deleting it (logical invalidation). */
|
|
48
|
+
export declare function invalidateMemory(lemmaDb: LemmaDB, idOrLegacy: string | number): boolean;
|
|
49
|
+
/** Reverse a logical invalidation — the fragment returns to recall. */
|
|
50
|
+
export declare function restoreMemory(lemmaDb: LemmaDB, idOrLegacy: string | number): boolean;
|
|
51
|
+
/** Prior content versions of a fragment, newest first (populated by the AFTER UPDATE trigger). */
|
|
52
|
+
export declare function getFragmentHistory(lemmaDb: LemmaDB, idOrLegacy: string | number, limit?: number): FragmentHistoryEntry[];
|
|
25
53
|
export declare function searchMemories(lemmaDb: LemmaDB, query: string, options?: {
|
|
26
54
|
project?: string | null;
|
|
27
55
|
type?: FragmentType;
|
|
@@ -30,6 +58,7 @@ export declare function searchMemories(lemmaDb: LemmaDB, query: string, options?
|
|
|
30
58
|
afterDate?: string;
|
|
31
59
|
beforeDate?: string;
|
|
32
60
|
all?: boolean;
|
|
61
|
+
includeInvalidated?: boolean;
|
|
33
62
|
}): MemoryFragment[];
|
|
34
63
|
export declare function addRelation(lemmaDb: LemmaDB, sourceId: number, targetId: number, type: string, note?: string): boolean;
|
|
35
64
|
export declare function getRelations(lemmaDb: LemmaDB, memoryId: number): MemoryRelation[];
|
|
@@ -38,5 +67,5 @@ export declare function shouldRunDecay(lemmaDb: LemmaDB): boolean;
|
|
|
38
67
|
export declare function markDecayRun(lemmaDb: LemmaDB): void;
|
|
39
68
|
export declare function decayMemories(lemmaDb: LemmaDB): number;
|
|
40
69
|
export declare function getMemoryStats(lemmaDb: LemmaDB, project?: string | null): MemoryStats;
|
|
41
|
-
export declare function mergeMemories(lemmaDb: LemmaDB, ids: number[], title: string, fragment: string, description?: string): number | null;
|
|
70
|
+
export declare function mergeMemories(lemmaDb: LemmaDB, ids: number[], title: string, fragment: string, description?: string, consolidate?: boolean): number | null;
|
|
42
71
|
//# sourceMappingURL=memory-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
|
package/dist/db/memory-store.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import crypto from "crypto";
|
|
2
2
|
import { logger } from "../logger.js";
|
|
3
3
|
import { sanitizeFtsQuery } from "./fts.js";
|
|
4
|
+
import { loadConfig } from "../memory/config.js";
|
|
4
5
|
function generateLegacyId() {
|
|
5
6
|
return "m" + crypto.randomBytes(6).toString("hex");
|
|
6
7
|
}
|
|
@@ -55,6 +56,7 @@ function rowToFragment(row, relations = []) {
|
|
|
55
56
|
type: row.type,
|
|
56
57
|
related_guides: parseJsonArray(row.related_guides),
|
|
57
58
|
distill_candidate: row.distill_candidate === 1,
|
|
59
|
+
invalidated_at: row.invalidated_at ?? null,
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
function resolveId(lemmaDb, idOrLegacy) {
|
|
@@ -178,6 +180,10 @@ export function updateMemory(lemmaDb, idOrLegacy, updates) {
|
|
|
178
180
|
setClauses.push("associated_with = ?");
|
|
179
181
|
params.push(updates.associated_with.length > 0 ? JSON.stringify(updates.associated_with) : null);
|
|
180
182
|
}
|
|
183
|
+
if (updates.invalidated_at !== undefined) {
|
|
184
|
+
setClauses.push("invalidated_at = ?");
|
|
185
|
+
params.push(updates.invalidated_at);
|
|
186
|
+
}
|
|
181
187
|
if (setClauses.length === 0)
|
|
182
188
|
return false;
|
|
183
189
|
setClauses.push("updated_at = datetime('now')");
|
|
@@ -195,10 +201,102 @@ export function deleteMemory(lemmaDb, idOrLegacy) {
|
|
|
195
201
|
.run(id);
|
|
196
202
|
return result.changes > 0;
|
|
197
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* B1 — capacity-driven Heat eviction. When the live-fragment count exceeds
|
|
206
|
+
* `maxFragments`, move the coldest fragments (lowest Heat = injectionScore
|
|
207
|
+
* `confidence·0.7 + recency·0.3`) into fragments_archive and remove them from the
|
|
208
|
+
* working set. Never a hard delete of content — the archive keeps it, restorable.
|
|
209
|
+
* Returns the number evicted. Localized (survey O7): a single bounded query +
|
|
210
|
+
* batched moves, never a whole-memory rebuild.
|
|
211
|
+
*/
|
|
212
|
+
export function evictColdFragments(lemmaDb, maxFragments) {
|
|
213
|
+
const { db } = lemmaDb;
|
|
214
|
+
const total = db.prepare("SELECT COUNT(*) AS c FROM memories").get().c;
|
|
215
|
+
if (total <= maxFragments)
|
|
216
|
+
return 0;
|
|
217
|
+
const toEvict = total - maxFragments;
|
|
218
|
+
return db.transaction(() => {
|
|
219
|
+
// Coldest first by Heat = injectionScore (confidence·0.7 + recency·0.3),
|
|
220
|
+
// recency linear over 180 days. Ties broken by oldest last-access.
|
|
221
|
+
const cold = db.prepare(`SELECT id,
|
|
222
|
+
confidence * 0.7
|
|
223
|
+
+ MAX(0.0, 1.0 - (julianday('now') - julianday(created_at)) / 180.0) * 0.3 AS heat
|
|
224
|
+
FROM memories
|
|
225
|
+
ORDER BY heat ASC, COALESCE(last_accessed_at, created_at) ASC
|
|
226
|
+
LIMIT ?`).all(toEvict);
|
|
227
|
+
const archive = lemmaDb.prepareCached(`INSERT INTO fragments_archive (legacy_id, title, fragment, description, type, project, confidence, source, context_tags, created_at, heat)
|
|
228
|
+
SELECT legacy_id, title, fragment, description, type, project, confidence, source, context_tags, created_at, ?
|
|
229
|
+
FROM memories WHERE id = ?`);
|
|
230
|
+
const remove = lemmaDb.prepareCached("DELETE FROM memories WHERE id = ?");
|
|
231
|
+
let evicted = 0;
|
|
232
|
+
for (const row of cold) {
|
|
233
|
+
archive.run(row.heat, row.id);
|
|
234
|
+
remove.run(row.id);
|
|
235
|
+
evicted++;
|
|
236
|
+
}
|
|
237
|
+
logger.info("Heat eviction complete", { evicted, total, maxFragments });
|
|
238
|
+
return evicted;
|
|
239
|
+
})();
|
|
240
|
+
}
|
|
241
|
+
/** Count of archived (evicted) fragments. */
|
|
242
|
+
export function getArchiveCount(lemmaDb) {
|
|
243
|
+
return lemmaDb.prepareCached("SELECT COUNT(*) AS c FROM fragments_archive").get().c;
|
|
244
|
+
}
|
|
245
|
+
/** Restore an evicted fragment from the archive back into the working set. */
|
|
246
|
+
export function restoreFromArchive(lemmaDb, legacyId) {
|
|
247
|
+
const { db } = lemmaDb;
|
|
248
|
+
return db.transaction(() => {
|
|
249
|
+
const row = lemmaDb.prepareCached("SELECT * FROM fragments_archive WHERE legacy_id = ? ORDER BY archived_at DESC LIMIT 1").get(legacyId);
|
|
250
|
+
if (!row)
|
|
251
|
+
return false;
|
|
252
|
+
// Skip if it somehow already exists live (avoid a UNIQUE(legacy_id) clash).
|
|
253
|
+
const exists = lemmaDb.prepareCached("SELECT 1 FROM memories WHERE legacy_id = ?").get(legacyId);
|
|
254
|
+
if (exists)
|
|
255
|
+
return false;
|
|
256
|
+
lemmaDb.prepareCached(`INSERT INTO memories (legacy_id, title, fragment, description, type, project, confidence, source, context_tags, created_at)
|
|
257
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(row.legacy_id, row.title, row.fragment, row.description, row.type, row.project, row.confidence, row.source, row.context_tags, row.created_at);
|
|
258
|
+
lemmaDb.prepareCached("DELETE FROM fragments_archive WHERE legacy_id = ?").run(legacyId);
|
|
259
|
+
return true;
|
|
260
|
+
})();
|
|
261
|
+
}
|
|
262
|
+
/** B2/N9: hide a fragment from recall without deleting it (logical invalidation). */
|
|
263
|
+
export function invalidateMemory(lemmaDb, idOrLegacy) {
|
|
264
|
+
const id = resolveId(lemmaDb, idOrLegacy);
|
|
265
|
+
if (id === null)
|
|
266
|
+
return false;
|
|
267
|
+
const result = lemmaDb
|
|
268
|
+
.prepareCached("UPDATE memories SET invalidated_at = datetime('now'), updated_at = datetime('now') WHERE id = ? AND invalidated_at IS NULL")
|
|
269
|
+
.run(id);
|
|
270
|
+
return result.changes > 0;
|
|
271
|
+
}
|
|
272
|
+
/** Reverse a logical invalidation — the fragment returns to recall. */
|
|
273
|
+
export function restoreMemory(lemmaDb, idOrLegacy) {
|
|
274
|
+
const id = resolveId(lemmaDb, idOrLegacy);
|
|
275
|
+
if (id === null)
|
|
276
|
+
return false;
|
|
277
|
+
const result = lemmaDb
|
|
278
|
+
.prepareCached("UPDATE memories SET invalidated_at = NULL, updated_at = datetime('now') WHERE id = ? AND invalidated_at IS NOT NULL")
|
|
279
|
+
.run(id);
|
|
280
|
+
return result.changes > 0;
|
|
281
|
+
}
|
|
282
|
+
/** Prior content versions of a fragment, newest first (populated by the AFTER UPDATE trigger). */
|
|
283
|
+
export function getFragmentHistory(lemmaDb, idOrLegacy, limit = 20) {
|
|
284
|
+
const id = resolveId(lemmaDb, idOrLegacy);
|
|
285
|
+
if (id === null)
|
|
286
|
+
return [];
|
|
287
|
+
return lemmaDb
|
|
288
|
+
.prepareCached(`SELECT title, fragment, description, confidence, type, changed_at
|
|
289
|
+
FROM fragment_history WHERE memory_id = ? ORDER BY changed_at DESC, id DESC LIMIT ?`)
|
|
290
|
+
.all(id, limit);
|
|
291
|
+
}
|
|
198
292
|
export function searchMemories(lemmaDb, query, options) {
|
|
199
293
|
const topK = options?.topK ?? 20;
|
|
200
294
|
const conditions = [];
|
|
201
295
|
const params = [];
|
|
296
|
+
// B2/N9: logically-invalidated fragments are hidden from recall by default.
|
|
297
|
+
if (!options?.includeInvalidated) {
|
|
298
|
+
conditions.push("m.invalidated_at IS NULL");
|
|
299
|
+
}
|
|
202
300
|
if (options?.type) {
|
|
203
301
|
conditions.push("m.type = ?");
|
|
204
302
|
params.push(options.type);
|
|
@@ -221,8 +319,11 @@ export function searchMemories(lemmaDb, query, options) {
|
|
|
221
319
|
conditions.push("m.project IS NULL");
|
|
222
320
|
}
|
|
223
321
|
else {
|
|
322
|
+
// Normalize to the canonical project key (trim + lowercase) so the search
|
|
323
|
+
// side matches the write side. Without this a search scoped to "Lemma"
|
|
324
|
+
// misses fragments stored under the normalized "lemma".
|
|
224
325
|
conditions.push("m.project = ?");
|
|
225
|
-
params.push(options.project);
|
|
326
|
+
params.push(normalizeProject(options.project));
|
|
226
327
|
}
|
|
227
328
|
}
|
|
228
329
|
}
|
|
@@ -334,6 +435,7 @@ export function boostConfidence(lemmaDb, id, amount) {
|
|
|
334
435
|
lemmaDb
|
|
335
436
|
.prepareCached(`UPDATE memories SET confidence = MIN(1.0, confidence + ?),
|
|
336
437
|
access_count = access_count + 1,
|
|
438
|
+
access_window = access_window + 1,
|
|
337
439
|
last_accessed_at = datetime('now'),
|
|
338
440
|
updated_at = datetime('now')
|
|
339
441
|
WHERE id = ?`)
|
|
@@ -351,22 +453,47 @@ export function shouldRunDecay(lemmaDb) {
|
|
|
351
453
|
export function markDecayRun(lemmaDb) {
|
|
352
454
|
lemmaDb.prepareCached(`INSERT OR REPLACE INTO schema_version (version, applied_at) VALUES (-1, datetime('now'))`).run();
|
|
353
455
|
}
|
|
456
|
+
const FRAGMENT_TYPES = ["fact", "pattern", "lesson", "warning", "context"];
|
|
354
457
|
export function decayMemories(lemmaDb) {
|
|
355
458
|
if (!shouldRunDecay(lemmaDb)) {
|
|
356
459
|
logger.info("Memory decay skipped (too recent)");
|
|
357
460
|
return 0;
|
|
358
461
|
}
|
|
462
|
+
const cfg = loadConfig();
|
|
463
|
+
const decayCfg = cfg.decay ?? { model: "linear", half_life_days: undefined };
|
|
359
464
|
const { db } = lemmaDb;
|
|
360
465
|
return db.transaction(() => {
|
|
361
|
-
|
|
362
|
-
|
|
466
|
+
let changed = 0;
|
|
467
|
+
if (decayCfg.model === "ebbinghaus") {
|
|
468
|
+
// Exponential, type-aware retention keyed off the true elapsed time since
|
|
469
|
+
// the last decay run — so a long absence forgets more (Ebbinghaus), while
|
|
470
|
+
// access (access_count > 0 this window) fully resets the fragment.
|
|
471
|
+
const row = lemmaDb.prepareCached(`SELECT applied_at FROM schema_version WHERE version = -1`).get();
|
|
472
|
+
const lastMs = row ? new Date(row.applied_at).getTime() : Date.now() - DECAY_INTERVAL_HOURS * 3600 * 1000;
|
|
473
|
+
const elapsedDays = Math.max(0.5, (Date.now() - lastMs) / 86400000);
|
|
474
|
+
const halfLives = decayCfg.half_life_days ?? {};
|
|
475
|
+
for (const type of FRAGMENT_TYPES) {
|
|
476
|
+
const halfLife = halfLives[type] || 60;
|
|
477
|
+
const retention = Math.pow(0.5, elapsedDays / halfLife);
|
|
478
|
+
const r = lemmaDb.prepareCached(`UPDATE memories SET confidence = MAX(0, confidence * ?), updated_at = datetime('now')
|
|
479
|
+
WHERE access_window = 0 AND confidence > 0 AND type = ?`).run(retention, type);
|
|
480
|
+
changed += r.changes;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
// Linear (default, unchanged): flat −0.002 for every unaccessed fragment.
|
|
485
|
+
const result = lemmaDb.prepareCached(`UPDATE memories SET confidence = MAX(0, confidence - 0.002),
|
|
363
486
|
updated_at = datetime('now')
|
|
364
|
-
WHERE
|
|
365
|
-
.
|
|
366
|
-
|
|
487
|
+
WHERE access_window = 0 AND confidence > 0`).run();
|
|
488
|
+
changed = result.changes;
|
|
489
|
+
}
|
|
490
|
+
// Reset only the decay window, NOT the lifetime access_count. access_count is
|
|
491
|
+
// what analytics/scoring read as total usage; zeroing it here (the old bug)
|
|
492
|
+
// made every fragment look "never accessed" after each cycle.
|
|
493
|
+
lemmaDb.prepareCached("UPDATE memories SET access_window = 0").run();
|
|
367
494
|
markDecayRun(lemmaDb);
|
|
368
|
-
logger.info("Memory decay complete", { decayed:
|
|
369
|
-
return
|
|
495
|
+
logger.info("Memory decay complete", { decayed: changed, model: decayCfg.model });
|
|
496
|
+
return changed;
|
|
370
497
|
})();
|
|
371
498
|
}
|
|
372
499
|
export function getMemoryStats(lemmaDb, project) {
|
|
@@ -390,7 +517,7 @@ export function getMemoryStats(lemmaDb, project) {
|
|
|
390
517
|
high_confidence: row.high_confidence,
|
|
391
518
|
};
|
|
392
519
|
}
|
|
393
|
-
export function mergeMemories(lemmaDb, ids, title, fragment, description) {
|
|
520
|
+
export function mergeMemories(lemmaDb, ids, title, fragment, description, consolidate = false) {
|
|
394
521
|
if (ids.length === 0)
|
|
395
522
|
return null;
|
|
396
523
|
const { db } = lemmaDb;
|
|
@@ -411,11 +538,23 @@ export function mergeMemories(lemmaDb, ids, title, fragment, description) {
|
|
|
411
538
|
addRelation(lemmaDb, rel.source_id, newId, rel.type, rel.note ?? undefined);
|
|
412
539
|
}
|
|
413
540
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
541
|
+
if (consolidate) {
|
|
542
|
+
// Non-destructive: keep the sources but mark them superseded by the merged
|
|
543
|
+
// fragment and heavily down-weight them, so recall/injection ignores them
|
|
544
|
+
// yet nothing is lost and it's reversible (roadmap B3; SDFT; survey O4).
|
|
545
|
+
for (const id of ids) {
|
|
546
|
+
addRelation(lemmaDb, newId, id, "supersedes", "consolidated");
|
|
547
|
+
lemmaDb.prepareCached(`UPDATE memories SET confidence = MIN(confidence, 0.1), updated_at = datetime('now') WHERE id = ?`).run(id);
|
|
548
|
+
}
|
|
549
|
+
logger.info("Memories consolidated (non-destructive)", { sourceIds: ids, newId });
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
const deleteStmt = lemmaDb.prepareCached("DELETE FROM memories WHERE id = ?");
|
|
553
|
+
for (const id of ids) {
|
|
554
|
+
deleteStmt.run(id);
|
|
555
|
+
}
|
|
556
|
+
logger.info("Memories merged", { sourceIds: ids, newId });
|
|
417
557
|
}
|
|
418
|
-
logger.info("Memories merged", { sourceIds: ids, newId });
|
|
419
558
|
return newId;
|
|
420
559
|
})();
|
|
421
560
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export declare const SCHEMA_V1 = "\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER PRIMARY KEY,\n applied_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS memories (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n legacy_id TEXT UNIQUE,\n title TEXT NOT NULL,\n fragment TEXT NOT NULL,\n description TEXT,\n type TEXT NOT NULL CHECK(type IN ('fact', 'pattern', 'lesson', 'warning', 'context')),\n project TEXT,\n source TEXT DEFAULT 'ai' NOT NULL,\n confidence REAL DEFAULT 0.5 NOT NULL,\n context_tags TEXT,\n access_count INTEGER DEFAULT 0 NOT NULL,\n last_accessed_at TEXT,\n negative_hits INTEGER DEFAULT 0 NOT NULL,\n positive_feedback INTEGER DEFAULT 0 NOT NULL,\n negative_feedback INTEGER DEFAULT 0 NOT NULL,\n quality_score REAL,\n refinement_count INTEGER DEFAULT 0 NOT NULL,\n parent_id INTEGER REFERENCES memories(id),\n session_id TEXT,\n task_type TEXT,\n distill_candidate INTEGER DEFAULT 0,\n related_guides TEXT,\n associated_with TEXT,\n last_refined TEXT,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL,\n updated_at TEXT DEFAULT (datetime('now')) NOT NULL,\n CHECK (confidence >= 0 AND confidence <= 1)\n);\n\nCREATE INDEX IF NOT EXISTS idx_memories_project ON memories(project);\nCREATE INDEX IF NOT EXISTS idx_memories_type ON memories(type);\nCREATE INDEX IF NOT EXISTS idx_memories_confidence ON memories(confidence);\nCREATE INDEX IF NOT EXISTS idx_memories_updated_at ON memories(updated_at);\nCREATE INDEX IF NOT EXISTS idx_memories_project_type ON memories(project, type);\nCREATE INDEX IF NOT EXISTS idx_memories_source ON memories(source);\nCREATE INDEX IF NOT EXISTS idx_memories_legacy_id ON memories(legacy_id);\n\nCREATE VIRTUAL TABLE IF NOT EXISTS memory_fts USING fts5(\n title,\n fragment,\n description,\n content='memories',\n content_rowid='id',\n tokenize='unicode61 remove_diacritics 2'\n);\n\nCREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN\n INSERT INTO memory_fts(rowid, title, fragment, description)\n VALUES (new.id, new.title, new.fragment, new.description);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN\n INSERT INTO memory_fts(memory_fts, rowid, title, fragment, description)\n VALUES ('delete', old.id, old.title, old.fragment, old.description);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE ON memories BEGIN\n INSERT INTO memory_fts(memory_fts, rowid, title, fragment, description)\n VALUES ('delete', old.id, old.title, old.fragment, old.description);\n INSERT INTO memory_fts(rowid, title, fragment, description)\n VALUES (new.id, new.title, new.fragment, new.description);\nEND;\n\nCREATE TABLE IF NOT EXISTS relations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n source_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n target_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n type TEXT NOT NULL CHECK(type IN ('supports', 'contradicts', 'supersedes', 'superseded_by', 'related_to')),\n note TEXT,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL,\n UNIQUE(source_id, target_id, type)\n);\n\nCREATE INDEX IF NOT EXISTS idx_relations_source ON relations(source_id);\nCREATE INDEX IF NOT EXISTS idx_relations_target ON relations(target_id);\nCREATE INDEX IF NOT EXISTS idx_relations_type ON relations(type);\n\nCREATE TRIGGER IF NOT EXISTS relations_reverse_ai AFTER INSERT ON relations BEGIN\n INSERT OR IGNORE INTO relations(source_id, target_id, type, note, created_at)\n SELECT\n new.target_id,\n new.source_id,\n CASE new.type\n WHEN 'supports' THEN 'supports'\n WHEN 'contradicts' THEN 'contradicts'\n WHEN 'supersedes' THEN 'superseded_by'\n WHEN 'superseded_by' THEN 'supersedes'\n WHEN 'related_to' THEN 'related_to'\n END,\n 'Auto-reverse of: ' || COALESCE(new.note, ''),\n datetime('now')\n WHERE new.source_id != new.target_id\n AND new.type != 'superseded_by';\nEND;\n\nCREATE TABLE IF NOT EXISTS guides (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n guide TEXT NOT NULL UNIQUE,\n category TEXT NOT NULL,\n description TEXT NOT NULL,\n mission TEXT,\n protocol TEXT,\n anti_patterns TEXT,\n pitfalls TEXT,\n deprecated INTEGER DEFAULT 0 NOT NULL,\n superseded_by TEXT,\n usage_count INTEGER DEFAULT 0 NOT NULL,\n success_count INTEGER DEFAULT 0 NOT NULL,\n failure_count INTEGER DEFAULT 0 NOT NULL,\n last_used_at TEXT,\n depends_on TEXT,\n enables TEXT,\n source_memories TEXT,\n validated_by TEXT,\n last_refined TEXT,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL,\n updated_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_guides_category ON guides(category);\nCREATE INDEX IF NOT EXISTS idx_guides_deprecated ON guides(deprecated);\n\nCREATE VIRTUAL TABLE IF NOT EXISTS guides_fts USING fts5(\n guide,\n description,\n content='guides',\n content_rowid='id',\n tokenize='unicode61 remove_diacritics 2'\n);\n\nCREATE TRIGGER IF NOT EXISTS guides_ai AFTER INSERT ON guides BEGIN\n INSERT INTO guides_fts(rowid, guide, description)\n VALUES (new.id, new.guide, new.description);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS guides_ad AFTER DELETE ON guides BEGIN\n INSERT INTO guides_fts(guides_fts, rowid, guide, description)\n VALUES ('delete', old.id, old.guide, old.description);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS guides_au AFTER UPDATE ON guides BEGIN\n INSERT INTO guides_fts(guides_fts, rowid, guide, description)\n VALUES ('delete', old.id, old.guide, old.description);\n INSERT INTO guides_fts(rowid, guide, description)\n VALUES (new.id, new.guide, new.description);\nEND;\n\nCREATE TABLE IF NOT EXISTS guide_contexts (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE,\n context TEXT NOT NULL,\n UNIQUE(guide_id, context)\n);\n\nCREATE INDEX IF NOT EXISTS idx_guide_contexts_guide ON guide_contexts(guide_id);\n\nCREATE TABLE IF NOT EXISTS guide_learnings (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE,\n learning TEXT NOT NULL,\n UNIQUE(guide_id, learning)\n);\n\nCREATE INDEX IF NOT EXISTS idx_guide_learnings_guide ON guide_learnings(guide_id);\n\nCREATE TABLE IF NOT EXISTS guide_memory_links (\n guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE,\n memory_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n link_type TEXT NOT NULL CHECK(link_type IN ('source', 'validated_by', 'related')),\n PRIMARY KEY (guide_id, memory_id, link_type)\n);\n\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n task_type TEXT,\n technologies TEXT,\n initial_approach TEXT,\n final_approach TEXT,\n approach_changed INTEGER DEFAULT 0,\n outcome TEXT CHECK(outcome IS NULL OR outcome IN ('success', 'partial', 'failure', 'abandoned')),\n refinement_attempts INTEGER DEFAULT 0,\n self_critique_count INTEGER DEFAULT 0,\n lessons TEXT,\n tool_calls INTEGER DEFAULT 0 NOT NULL,\n memory_count INTEGER DEFAULT 0 NOT NULL,\n status TEXT DEFAULT 'active' CHECK(status IN ('active', 'completed', 'abandoned')),\n project TEXT,\n started_at TEXT DEFAULT (datetime('now')) NOT NULL,\n ended_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_outcome ON sessions(outcome);\nCREATE INDEX IF NOT EXISTS idx_sessions_started ON sessions(started_at);\n\nCREATE TABLE IF NOT EXISTS session_guide_usage (\n session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,\n guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE,\n PRIMARY KEY (session_id, guide_id)\n);\n\nCREATE TABLE IF NOT EXISTS session_memory_links (\n session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,\n memory_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n interaction_type TEXT NOT NULL CHECK(interaction_type IN ('read', 'created', 'updated')),\n PRIMARY KEY (session_id, memory_id, interaction_type)\n);\n\nCREATE TABLE IF NOT EXISTS feedback_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n memory_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n useful INTEGER NOT NULL CHECK(useful IN (0, 1)),\n context TEXT,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_feedback_memory ON feedback_log(memory_id);\nCREATE INDEX IF NOT EXISTS idx_feedback_created ON feedback_log(created_at);\n";
|
|
2
2
|
export declare const SCHEMA_V2 = "\nCREATE TABLE IF NOT EXISTS session_attempts (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,\n seq INTEGER NOT NULL,\n approach TEXT NOT NULL,\n rationale TEXT,\n outcome TEXT NOT NULL CHECK(outcome IN ('rejected','partial','promising')),\n critique TEXT,\n related_memory_id INTEGER REFERENCES memories(id) ON DELETE SET NULL,\n confidence REAL DEFAULT 0.5 NOT NULL,\n last_accessed_at TEXT,\n access_count INTEGER DEFAULT 0 NOT NULL,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL,\n UNIQUE(session_id, seq),\n CHECK (confidence >= 0 AND confidence <= 1)\n);\n\nCREATE INDEX IF NOT EXISTS idx_attempts_session ON session_attempts(session_id);\nCREATE INDEX IF NOT EXISTS idx_attempts_outcome ON session_attempts(outcome);\n\nCREATE TABLE IF NOT EXISTS improvement_suggestions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL,\n suggestion TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'offered' CHECK(status IN ('offered','accepted','dismissed')),\n created_at TEXT DEFAULT (datetime('now')) NOT NULL,\n resolved_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_suggestions_status ON improvement_suggestions(status);\n";
|
|
3
3
|
export declare const SCHEMA_V3 = "\n-- Normalize stored project keys so per-project isolation actually works.\n-- Fixes historical data written before write-side normalization: mixed-case\n-- duplicates (\"Ailyro\" vs \"ailyro\"), full paths stored as project\n-- (\"/home/x/Projeler/scroll/mobil\"), and the literal string \"global\" used to\n-- mean global scope. Applied once, gated by schema_version. Idempotent: a\n-- second run is a no-op (already-lowercased, no slash, no \"global\").\n\nUPDATE memories SET project = replace(project, '\\', '/') WHERE project LIKE '%\\%';\nUPDATE memories SET project = replace(project, rtrim(project, replace(project, '/', '')), '') WHERE project LIKE '%/%';\nUPDATE memories SET project = lower(project) WHERE project IS NOT NULL;\nUPDATE memories SET project = NULL WHERE project = 'global';\n\nUPDATE sessions SET project = replace(project, '\\', '/') WHERE project LIKE '%\\%';\nUPDATE sessions SET project = replace(project, rtrim(project, replace(project, '/', '')), '') WHERE project LIKE '%/%';\nUPDATE sessions SET project = lower(project) WHERE project IS NOT NULL;\nUPDATE sessions SET project = NULL WHERE project = 'global';\n";
|
|
4
|
+
export declare const SCHEMA_V4 = "\n-- Separate the decay \"window\" flag from the lifetime access counter.\n-- Historically decay overloaded access_count: it decayed rows with\n-- access_count = 0, then reset access_count = 0 for EVERY row each 24h cycle.\n-- That reset destroyed the lifetime access signal that analytics/scoring rely on\n-- (never_accessed_count, most_accessed, quality usageScore) \u2014 so right after any\n-- decay run, all fragments read as \"never accessed\". Fix: give decay its own\n-- window counter (access_window) and leave access_count as a true lifetime count\n-- that decay never touches. Seed the window from the current access_count so the\n-- first post-upgrade decay still spares fragments touched in the current window.\n-- Additive + idempotent (gated by schema_version); old code ignores the column.\n\nALTER TABLE memories ADD COLUMN access_window INTEGER DEFAULT 0 NOT NULL;\nUPDATE memories SET access_window = access_count;\n";
|
|
5
|
+
export declare const SCHEMA_V5 = "\n-- B2: fragment versioning + logical invalidation (survey N9: never physically\n-- delete a superseded fact \u2014 hide it from recall but preserve its content and\n-- history). Additive + gated.\n\n-- Logical invalidation flag. NULL = live; a timestamp = hidden from recall but\n-- kept in the DB (and in fragment_history). Recall queries filter it out.\nALTER TABLE memories ADD COLUMN invalidated_at TEXT;\n\n-- Prior-version log, populated by an AFTER UPDATE trigger whenever a fragment's\n-- CONTENT changes (title/fragment/description) \u2014 not on confidence-only touches\n-- (boost/decay), which fire constantly. Same trigger pattern as the reverse\n-- relation / FTS sync triggers.\nCREATE TABLE IF NOT EXISTS fragment_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n memory_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n title TEXT NOT NULL,\n fragment TEXT NOT NULL,\n description TEXT,\n confidence REAL NOT NULL,\n type TEXT NOT NULL,\n changed_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_fragment_history_memory ON fragment_history(memory_id);\n\nCREATE TRIGGER IF NOT EXISTS memories_history_au AFTER UPDATE ON memories\nWHEN old.fragment <> new.fragment\n OR old.title <> new.title\n OR IFNULL(old.description, '') <> IFNULL(new.description, '')\nBEGIN\n INSERT INTO fragment_history (memory_id, title, fragment, description, confidence, type, changed_at)\n VALUES (old.id, old.title, old.fragment, old.description, old.confidence, old.type, datetime('now'));\nEND;\n";
|
|
6
|
+
export declare const SCHEMA_V6 = "\n-- B1: capacity-driven \"Heat\" eviction target. When the live-fragment count\n-- exceeds a config threshold, the coldest fragments (lowest injectionScore Heat)\n-- are MOVED here instead of being hard-deleted (survey 2.4 eviction; O4 never\n-- destroy user data). Restorable. Additive + gated; empty and inert until the\n-- opt-in eviction.enabled config is set.\nCREATE TABLE IF NOT EXISTS fragments_archive (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n legacy_id TEXT,\n title TEXT NOT NULL,\n fragment TEXT NOT NULL,\n description TEXT,\n type TEXT NOT NULL,\n project TEXT,\n confidence REAL NOT NULL,\n source TEXT NOT NULL,\n context_tags TEXT,\n created_at TEXT,\n heat REAL,\n archived_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_fragments_archive_legacy ON fragments_archive(legacy_id);\n";
|
|
7
|
+
export declare const SCHEMA_V7 = "\n-- B6: code-evidence for a fragment (community PR #1, embeddings deliberately\n-- excluded). A code-backed fragment may cite a file + optional symbol + the exact\n-- snippet it was derived from, plus a SHA-256 of that snippet. An opt-in recall\n-- check re-reads the file and flags the fragment stale if the snippet has drifted\n-- \u2014 never hard-deleted, advisory only. Additive + gated; Windows-safe (text\n-- search, no native parsing).\nCREATE TABLE IF NOT EXISTS memory_evidence (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n memory_id INTEGER NOT NULL REFERENCES memories(id) ON DELETE CASCADE,\n file_path TEXT NOT NULL,\n symbol TEXT,\n snippet TEXT NOT NULL,\n snippet_hash TEXT NOT NULL,\n created_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_memory_evidence_memory ON memory_evidence(memory_id);\n";
|
|
8
|
+
export declare const SCHEMA_V8 = "\n-- A4: TF-IDF vector cache. Term frequencies are corpus-independent (only IDF\n-- depends on the corpus), so caching the per-fragment TF map keyed by a content\n-- hash lets hybrid retrieval skip re-tokenizing unchanged fragments each query\n-- \u2014 killing the O(N) rebuild cost. Falls back to live compute on a miss/mismatch.\n-- Additive + gated; safe to drop/rebuild at any time (pure cache).\nCREATE TABLE IF NOT EXISTS tfidf_cache (\n legacy_id TEXT PRIMARY KEY REFERENCES memories(legacy_id) ON DELETE CASCADE,\n content_hash TEXT NOT NULL,\n terms TEXT NOT NULL,\n updated_at TEXT DEFAULT (datetime('now')) NOT NULL\n);\n";
|
|
4
9
|
export declare const MIGRATIONS: [number, string][];
|
|
5
10
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,muQAgOrB,CAAC;AAEF,eAAO,MAAM,SAAS,mvCA+BrB,CAAC;AAEF,eAAO,MAAM,SAAS,goCAiBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,muQAgOrB,CAAC;AAEF,eAAO,MAAM,SAAS,mvCA+BrB,CAAC;AAEF,eAAO,MAAM,SAAS,goCAiBrB,CAAC;AAEF,eAAO,MAAM,SAAS,46BAcrB,CAAC;AAEF,eAAO,MAAM,SAAS,yhDAkCrB,CAAC;AAEF,eAAO,MAAM,SAAS,q1BAuBrB,CAAC;AAEF,eAAO,MAAM,SAAS,01BAkBrB,CAAC;AAEF,eAAO,MAAM,SAAS,koBAYrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAqI,CAAC"}
|