context-vault 3.4.3 → 3.4.4
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/server.js +28 -10
- package/dist/server.js.map +1 -1
- package/dist/tools/get-context.d.ts +2 -1
- package/dist/tools/get-context.d.ts.map +1 -1
- package/dist/tools/get-context.js +22 -2
- package/dist/tools/get-context.js.map +1 -1
- package/dist/tools/save-context.d.ts +2 -1
- package/dist/tools/save-context.d.ts.map +1 -1
- package/dist/tools/save-context.js +63 -2
- package/dist/tools/save-context.js.map +1 -1
- package/node_modules/@context-vault/core/dist/context.d.ts +34 -0
- package/node_modules/@context-vault/core/dist/context.d.ts.map +1 -0
- package/node_modules/@context-vault/core/dist/context.js +55 -0
- package/node_modules/@context-vault/core/dist/context.js.map +1 -0
- package/node_modules/@context-vault/core/dist/db.d.ts +3 -1
- package/node_modules/@context-vault/core/dist/db.d.ts.map +1 -1
- package/node_modules/@context-vault/core/dist/db.js +29 -2
- package/node_modules/@context-vault/core/dist/db.js.map +1 -1
- package/node_modules/@context-vault/core/dist/search.d.ts +1 -0
- package/node_modules/@context-vault/core/dist/search.d.ts.map +1 -1
- package/node_modules/@context-vault/core/dist/search.js +57 -3
- package/node_modules/@context-vault/core/dist/search.js.map +1 -1
- package/node_modules/@context-vault/core/dist/types.d.ts +6 -0
- package/node_modules/@context-vault/core/dist/types.d.ts.map +1 -1
- package/node_modules/@context-vault/core/package.json +5 -1
- package/node_modules/@context-vault/core/src/context.ts +65 -0
- package/node_modules/@context-vault/core/src/db.ts +29 -2
- package/node_modules/@context-vault/core/src/search.ts +54 -2
- package/node_modules/@context-vault/core/src/types.ts +6 -0
- package/package.json +2 -2
- package/src/server.ts +32 -9
- package/src/tools/get-context.ts +25 -1
- package/src/tools/save-context.ts +62 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual reinstatement: encoding context capture and serialization.
|
|
3
|
+
*
|
|
4
|
+
* Inspired by hippocampal contextual reinstatement in neuroscience:
|
|
5
|
+
* the brain stores the situation (place, task, goal) alongside each memory,
|
|
6
|
+
* and re-entering a similar situation boosts recall. This module provides
|
|
7
|
+
* the same mechanism for vault entries.
|
|
8
|
+
*/
|
|
9
|
+
export interface EncodingContext {
|
|
10
|
+
project?: string;
|
|
11
|
+
arc?: string;
|
|
12
|
+
task?: string;
|
|
13
|
+
cwd?: string;
|
|
14
|
+
session_id?: string;
|
|
15
|
+
[key: string]: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Serialize an EncodingContext into a natural-language sentence suitable
|
|
19
|
+
* for embedding with MiniLM. The output is a simple key-value string
|
|
20
|
+
* that produces meaningful sentence embeddings for similarity matching.
|
|
21
|
+
*
|
|
22
|
+
* Example: "project: leadfront, arc: auth-rewrite, task: implementing JWT rotation"
|
|
23
|
+
*/
|
|
24
|
+
export declare function serializeContext(ctx: EncodingContext): string;
|
|
25
|
+
/**
|
|
26
|
+
* Parse and validate a context parameter from tool input.
|
|
27
|
+
* Accepts either a string (used as-is for embedding) or a structured object.
|
|
28
|
+
* Returns null if the input is empty or invalid.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseContextParam(input: unknown): {
|
|
31
|
+
text: string;
|
|
32
|
+
structured: EncodingContext | null;
|
|
33
|
+
} | null;
|
|
34
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAQ7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAwB7G"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual reinstatement: encoding context capture and serialization.
|
|
3
|
+
*
|
|
4
|
+
* Inspired by hippocampal contextual reinstatement in neuroscience:
|
|
5
|
+
* the brain stores the situation (place, task, goal) alongside each memory,
|
|
6
|
+
* and re-entering a similar situation boosts recall. This module provides
|
|
7
|
+
* the same mechanism for vault entries.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Serialize an EncodingContext into a natural-language sentence suitable
|
|
11
|
+
* for embedding with MiniLM. The output is a simple key-value string
|
|
12
|
+
* that produces meaningful sentence embeddings for similarity matching.
|
|
13
|
+
*
|
|
14
|
+
* Example: "project: leadfront, arc: auth-rewrite, task: implementing JWT rotation"
|
|
15
|
+
*/
|
|
16
|
+
export function serializeContext(ctx) {
|
|
17
|
+
const parts = [];
|
|
18
|
+
for (const [key, value] of Object.entries(ctx)) {
|
|
19
|
+
if (value != null && typeof value === 'string' && value.trim()) {
|
|
20
|
+
parts.push(`${key}: ${value.trim()}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return parts.join(', ');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parse and validate a context parameter from tool input.
|
|
27
|
+
* Accepts either a string (used as-is for embedding) or a structured object.
|
|
28
|
+
* Returns null if the input is empty or invalid.
|
|
29
|
+
*/
|
|
30
|
+
export function parseContextParam(input) {
|
|
31
|
+
if (input == null)
|
|
32
|
+
return null;
|
|
33
|
+
if (typeof input === 'string') {
|
|
34
|
+
const trimmed = input.trim();
|
|
35
|
+
if (!trimmed)
|
|
36
|
+
return null;
|
|
37
|
+
return { text: trimmed, structured: null };
|
|
38
|
+
}
|
|
39
|
+
if (typeof input === 'object' && !Array.isArray(input)) {
|
|
40
|
+
const obj = input;
|
|
41
|
+
const ctx = {};
|
|
42
|
+
let hasValue = false;
|
|
43
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
44
|
+
if (typeof value === 'string' && value.trim()) {
|
|
45
|
+
ctx[key] = value.trim();
|
|
46
|
+
hasValue = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!hasValue)
|
|
50
|
+
return null;
|
|
51
|
+
return { text: serializeContext(ctx), structured: ctx };
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -4,10 +4,12 @@ export declare class NativeModuleError extends Error {
|
|
|
4
4
|
originalError: Error;
|
|
5
5
|
constructor(originalError: Error);
|
|
6
6
|
}
|
|
7
|
-
export declare const SCHEMA_DDL = "\n CREATE TABLE IF NOT EXISTS vault (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n category TEXT NOT NULL DEFAULT 'knowledge',\n title TEXT,\n body TEXT NOT NULL,\n meta TEXT,\n tags TEXT,\n source TEXT,\n file_path TEXT UNIQUE,\n identity_key TEXT,\n expires_at TEXT,\n superseded_by TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT,\n hit_count INTEGER DEFAULT 0,\n last_accessed_at TEXT,\n source_files TEXT,\n tier TEXT DEFAULT 'working' CHECK(tier IN ('ephemeral', 'working', 'durable')),\n related_to TEXT\n );\n\n CREATE INDEX IF NOT EXISTS idx_vault_kind ON vault(kind);\n CREATE INDEX IF NOT EXISTS idx_vault_category ON vault(category);\n CREATE INDEX IF NOT EXISTS idx_vault_category_created ON vault(category, created_at DESC);\n CREATE INDEX IF NOT EXISTS idx_vault_updated ON vault(updated_at DESC);\n CREATE UNIQUE INDEX IF NOT EXISTS idx_vault_identity ON vault(kind, identity_key) WHERE identity_key IS NOT NULL AND category = 'entity';\n CREATE INDEX IF NOT EXISTS idx_vault_superseded ON vault(superseded_by) WHERE superseded_by IS NOT NULL;\n CREATE INDEX IF NOT EXISTS idx_vault_tier ON vault(tier);\n\n CREATE VIRTUAL TABLE IF NOT EXISTS vault_fts USING fts5(\n title, body, tags, kind,\n content='vault', content_rowid='rowid'\n );\n\n CREATE TRIGGER IF NOT EXISTS vault_ai AFTER INSERT ON vault BEGIN\n INSERT INTO vault_fts(rowid, title, body, tags, kind)\n VALUES (new.rowid, new.title, new.body, new.tags, new.kind);\n END;\n CREATE TRIGGER IF NOT EXISTS vault_ad AFTER DELETE ON vault BEGIN\n INSERT INTO vault_fts(vault_fts, rowid, title, body, tags, kind)\n VALUES ('delete', old.rowid, old.title, old.body, old.tags, old.kind);\n END;\n CREATE TRIGGER IF NOT EXISTS vault_au AFTER UPDATE ON vault BEGIN\n INSERT INTO vault_fts(vault_fts, rowid, title, body, tags, kind)\n VALUES ('delete', old.rowid, old.title, old.body, old.tags, old.kind);\n INSERT INTO vault_fts(rowid, title, body, tags, kind)\n VALUES (new.rowid, new.title, new.body, new.tags, new.kind);\n END;\n\n CREATE VIRTUAL TABLE IF NOT EXISTS vault_vec USING vec0(embedding float[384]);\n";
|
|
7
|
+
export declare const SCHEMA_DDL = "\n CREATE TABLE IF NOT EXISTS vault (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n category TEXT NOT NULL DEFAULT 'knowledge',\n title TEXT,\n body TEXT NOT NULL,\n meta TEXT,\n tags TEXT,\n source TEXT,\n file_path TEXT UNIQUE,\n identity_key TEXT,\n expires_at TEXT,\n superseded_by TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT,\n hit_count INTEGER DEFAULT 0,\n last_accessed_at TEXT,\n source_files TEXT,\n tier TEXT DEFAULT 'working' CHECK(tier IN ('ephemeral', 'working', 'durable')),\n related_to TEXT\n );\n\n CREATE INDEX IF NOT EXISTS idx_vault_kind ON vault(kind);\n CREATE INDEX IF NOT EXISTS idx_vault_category ON vault(category);\n CREATE INDEX IF NOT EXISTS idx_vault_category_created ON vault(category, created_at DESC);\n CREATE INDEX IF NOT EXISTS idx_vault_updated ON vault(updated_at DESC);\n CREATE UNIQUE INDEX IF NOT EXISTS idx_vault_identity ON vault(kind, identity_key) WHERE identity_key IS NOT NULL AND category = 'entity';\n CREATE INDEX IF NOT EXISTS idx_vault_superseded ON vault(superseded_by) WHERE superseded_by IS NOT NULL;\n CREATE INDEX IF NOT EXISTS idx_vault_tier ON vault(tier);\n\n CREATE VIRTUAL TABLE IF NOT EXISTS vault_fts USING fts5(\n title, body, tags, kind,\n content='vault', content_rowid='rowid'\n );\n\n CREATE TRIGGER IF NOT EXISTS vault_ai AFTER INSERT ON vault BEGIN\n INSERT INTO vault_fts(rowid, title, body, tags, kind)\n VALUES (new.rowid, new.title, new.body, new.tags, new.kind);\n END;\n CREATE TRIGGER IF NOT EXISTS vault_ad AFTER DELETE ON vault BEGIN\n INSERT INTO vault_fts(vault_fts, rowid, title, body, tags, kind)\n VALUES ('delete', old.rowid, old.title, old.body, old.tags, old.kind);\n END;\n CREATE TRIGGER IF NOT EXISTS vault_au AFTER UPDATE ON vault BEGIN\n INSERT INTO vault_fts(vault_fts, rowid, title, body, tags, kind)\n VALUES ('delete', old.rowid, old.title, old.body, old.tags, old.kind);\n INSERT INTO vault_fts(rowid, title, body, tags, kind)\n VALUES (new.rowid, new.title, new.body, new.tags, new.kind);\n END;\n\n CREATE VIRTUAL TABLE IF NOT EXISTS vault_vec USING vec0(embedding float[384]);\n\n CREATE VIRTUAL TABLE IF NOT EXISTS vault_ctx_vec USING vec0(embedding float[384]);\n";
|
|
8
8
|
export declare function initDatabase(dbPath: string): Promise<DatabaseSync>;
|
|
9
9
|
export declare function prepareStatements(db: DatabaseSync): PreparedStatements;
|
|
10
10
|
export declare function insertVec(stmts: PreparedStatements, rowid: number, embedding: Float32Array): void;
|
|
11
11
|
export declare function deleteVec(stmts: PreparedStatements, rowid: number): void;
|
|
12
|
+
export declare function insertCtxVec(stmts: PreparedStatements, rowid: number, embedding: Float32Array): void;
|
|
13
|
+
export declare function deleteCtxVec(stmts: PreparedStatements, rowid: number): void;
|
|
12
14
|
export declare function testConnection(db: DatabaseSync): boolean;
|
|
13
15
|
//# sourceMappingURL=db.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiDrD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,aAAa,EAAE,KAAK,CAAC;gBACT,aAAa,EAAE,KAAK;CAMjC;AAiED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiDrD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,aAAa,EAAE,KAAK,CAAC;gBACT,aAAa,EAAE,KAAK;CAMjC;AAiED,eAAO,MAAM,UAAU,84EAsDtB,CAAC;AAIF,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoFxE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,kBAAkB,CAmCtE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAIjG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAIpG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI3E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAOxD"}
|
|
@@ -176,8 +176,10 @@ export const SCHEMA_DDL = `
|
|
|
176
176
|
END;
|
|
177
177
|
|
|
178
178
|
CREATE VIRTUAL TABLE IF NOT EXISTS vault_vec USING vec0(embedding float[384]);
|
|
179
|
+
|
|
180
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vault_ctx_vec USING vec0(embedding float[384]);
|
|
179
181
|
`;
|
|
180
|
-
const CURRENT_VERSION =
|
|
182
|
+
const CURRENT_VERSION = 16;
|
|
181
183
|
export async function initDatabase(dbPath) {
|
|
182
184
|
const sqliteVec = await loadSqliteVec();
|
|
183
185
|
function createDb(path) {
|
|
@@ -199,6 +201,17 @@ export async function initDatabase(dbPath) {
|
|
|
199
201
|
const db = createDb(dbPath);
|
|
200
202
|
const version = db.prepare('PRAGMA user_version').get()
|
|
201
203
|
.user_version;
|
|
204
|
+
// v15 -> v16: add vault_ctx_vec table for contextual reinstatement
|
|
205
|
+
if (version === 15) {
|
|
206
|
+
try {
|
|
207
|
+
db.exec('CREATE VIRTUAL TABLE IF NOT EXISTS vault_ctx_vec USING vec0(embedding float[384])');
|
|
208
|
+
db.exec(`PRAGMA user_version = ${CURRENT_VERSION}`);
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
console.error(`[context-vault] v15->v16 migration failed: ${e.message}`);
|
|
212
|
+
}
|
|
213
|
+
return db;
|
|
214
|
+
}
|
|
202
215
|
if (version > 0 && version < 15) {
|
|
203
216
|
console.error(`[context-vault] Schema v${version} is outdated. Rebuilding database...`);
|
|
204
217
|
const backupPath = `${dbPath}.v${version}.backup`;
|
|
@@ -235,7 +248,7 @@ export async function initDatabase(dbPath) {
|
|
|
235
248
|
freshDb.exec(`PRAGMA user_version = ${CURRENT_VERSION}`);
|
|
236
249
|
return freshDb;
|
|
237
250
|
}
|
|
238
|
-
if (version <
|
|
251
|
+
if (version < 16) {
|
|
239
252
|
db.exec(SCHEMA_DDL);
|
|
240
253
|
db.exec(`PRAGMA user_version = ${CURRENT_VERSION}`);
|
|
241
254
|
}
|
|
@@ -262,6 +275,8 @@ export function prepareStatements(db) {
|
|
|
262
275
|
deleteVecStmt: db.prepare(`DELETE FROM vault_vec WHERE rowid = ?`),
|
|
263
276
|
updateSupersededBy: db.prepare(`UPDATE vault SET superseded_by = ? WHERE id = ?`),
|
|
264
277
|
clearSupersededByRef: db.prepare(`UPDATE vault SET superseded_by = NULL WHERE superseded_by = ?`),
|
|
278
|
+
insertCtxVecStmt: db.prepare(`INSERT INTO vault_ctx_vec (rowid, embedding) VALUES (?, ?)`),
|
|
279
|
+
deleteCtxVecStmt: db.prepare(`DELETE FROM vault_ctx_vec WHERE rowid = ?`),
|
|
265
280
|
};
|
|
266
281
|
}
|
|
267
282
|
catch (e) {
|
|
@@ -282,6 +297,18 @@ export function deleteVec(stmts, rowid) {
|
|
|
282
297
|
throw new Error(`Invalid rowid: ${rowid}`);
|
|
283
298
|
stmts.deleteVecStmt.run(safeRowid);
|
|
284
299
|
}
|
|
300
|
+
export function insertCtxVec(stmts, rowid, embedding) {
|
|
301
|
+
const safeRowid = BigInt(rowid);
|
|
302
|
+
if (safeRowid < 1n)
|
|
303
|
+
throw new Error(`Invalid rowid: ${rowid}`);
|
|
304
|
+
stmts.insertCtxVecStmt.run(safeRowid, embedding);
|
|
305
|
+
}
|
|
306
|
+
export function deleteCtxVec(stmts, rowid) {
|
|
307
|
+
const safeRowid = BigInt(rowid);
|
|
308
|
+
if (safeRowid < 1n)
|
|
309
|
+
throw new Error(`Invalid rowid: ${rowid}`);
|
|
310
|
+
stmts.deleteCtxVecStmt.run(safeRowid);
|
|
311
|
+
}
|
|
285
312
|
export function testConnection(db) {
|
|
286
313
|
try {
|
|
287
314
|
db.prepare('SELECT 1').get();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,5 @@ export declare function buildFilterClauses({ categoryFilter, excludeEvents, sinc
|
|
|
16
16
|
};
|
|
17
17
|
export declare function reciprocalRankFusion(rankedLists: string[][], k?: number): Map<string, number>;
|
|
18
18
|
export declare function hybridSearch(ctx: BaseCtx, query: string, opts?: SearchOptions): Promise<SearchResult[]>;
|
|
19
|
+
export declare function trackAccess(ctx: BaseCtx, entries: SearchResult[]): void;
|
|
19
20
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AAKnF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,SAAO,GAAG,MAAM,CAIhG;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAInE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW1D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAIxF;AAED,wBAAgB,kBAAkB,CAAC,EACjC,cAAc,EACd,aAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAA0B,EAC1B,gBAAwB,GACzB,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;CAAE,CA0B5D;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EAAE,EAAE,EACvB,CAAC,GAAE,MAAc,GAChB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASrB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,YAAY,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AAKnF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,SAAO,GAAG,MAAM,CAIhG;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAInE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW1D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAIxF;AAED,wBAAgB,kBAAkB,CAAC,EACjC,cAAc,EACd,aAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAA0B,EAC1B,gBAAwB,GACzB,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;CAAE,CA0B5D;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EAAE,EAAE,EACvB,CAAC,GAAE,MAAc,GAChB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASrB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,YAAY,EAAE,CAAC,CAsOzB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAYvE"}
|
|
@@ -70,7 +70,7 @@ export function reciprocalRankFusion(rankedLists, k = RRF_K) {
|
|
|
70
70
|
return scores;
|
|
71
71
|
}
|
|
72
72
|
export async function hybridSearch(ctx, query, opts = {}) {
|
|
73
|
-
const { kindFilter = null, categoryFilter = null, excludeEvents = false, since = null, until = null, limit = 20, offset = 0, decayDays = 30, includeSuperseeded = false, includeEphemeral = false, } = opts;
|
|
73
|
+
const { kindFilter = null, categoryFilter = null, excludeEvents = false, since = null, until = null, limit = 20, offset = 0, decayDays = 30, includeSuperseeded = false, includeEphemeral = false, contextEmbedding = null, } = opts;
|
|
74
74
|
const rowMap = new Map();
|
|
75
75
|
const idToRowid = new Map();
|
|
76
76
|
let queryVec = null;
|
|
@@ -161,9 +161,63 @@ export async function hybridSearch(ctx, query, opts = {}) {
|
|
|
161
161
|
console.error(`[retrieve] Vector search error: ${err.message}`);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
// Context vector pass: KNN against vault_ctx_vec for contextual reinstatement
|
|
165
|
+
const ctxRankedIds = [];
|
|
166
|
+
if (contextEmbedding) {
|
|
167
|
+
try {
|
|
168
|
+
const ctxVecCount = ctx.db.prepare('SELECT COUNT(*) as c FROM vault_ctx_vec').get().c;
|
|
169
|
+
if (ctxVecCount > 0) {
|
|
170
|
+
const ctxRows = ctx.db
|
|
171
|
+
.prepare(`SELECT v.rowid, v.distance FROM vault_ctx_vec v WHERE embedding MATCH ? ORDER BY distance LIMIT 15`)
|
|
172
|
+
.all(contextEmbedding, 15);
|
|
173
|
+
if (ctxRows.length) {
|
|
174
|
+
const ctxRowids = ctxRows.map((cr) => cr.rowid);
|
|
175
|
+
const placeholders = ctxRowids.map(() => '?').join(',');
|
|
176
|
+
const ctxHydrated = ctx.db
|
|
177
|
+
.prepare(`SELECT rowid, * FROM vault WHERE rowid IN (${placeholders})`)
|
|
178
|
+
.all(...ctxRowids);
|
|
179
|
+
const ctxByRowid = new Map();
|
|
180
|
+
for (const row of ctxHydrated)
|
|
181
|
+
ctxByRowid.set(row.rowid, row);
|
|
182
|
+
for (const cr of ctxRows) {
|
|
183
|
+
const row = ctxByRowid.get(cr.rowid);
|
|
184
|
+
if (!row)
|
|
185
|
+
continue;
|
|
186
|
+
if (kindFilter && row.kind !== kindFilter)
|
|
187
|
+
continue;
|
|
188
|
+
if (categoryFilter && row.category !== categoryFilter)
|
|
189
|
+
continue;
|
|
190
|
+
if (excludeEvents && row.category === 'event')
|
|
191
|
+
continue;
|
|
192
|
+
if (since && row.created_at < since)
|
|
193
|
+
continue;
|
|
194
|
+
if (until && row.created_at > until)
|
|
195
|
+
continue;
|
|
196
|
+
if (row.expires_at && new Date(row.expires_at) <= new Date())
|
|
197
|
+
continue;
|
|
198
|
+
const { rowid: _rowid, ...cleanRow } = row;
|
|
199
|
+
ctxRankedIds.push(cleanRow.id);
|
|
200
|
+
if (!rowMap.has(cleanRow.id))
|
|
201
|
+
rowMap.set(cleanRow.id, cleanRow);
|
|
202
|
+
if (!idToRowid.has(cleanRow.id))
|
|
203
|
+
idToRowid.set(cleanRow.id, Number(row.rowid));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
if (!err.message?.includes('no such table')) {
|
|
210
|
+
console.error(`[retrieve] Context vector search error: ${err.message}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
164
214
|
if (rowMap.size === 0)
|
|
165
215
|
return [];
|
|
166
|
-
|
|
216
|
+
// Build ranked lists for RRF: content FTS + content vec + optional context vec
|
|
217
|
+
const rankedLists = [ftsRankedIds, vecRankedIds];
|
|
218
|
+
if (ctxRankedIds.length > 0)
|
|
219
|
+
rankedLists.push(ctxRankedIds);
|
|
220
|
+
const rrfScores = reciprocalRankFusion(rankedLists);
|
|
167
221
|
for (const [id, entry] of rowMap) {
|
|
168
222
|
const boost = recencyBoost(entry.created_at, entry.category, decayDays);
|
|
169
223
|
rrfScores.set(id, (rrfScores.get(id) ?? 0) * boost);
|
|
@@ -225,7 +279,7 @@ export async function hybridSearch(ctx, query, opts = {}) {
|
|
|
225
279
|
trackAccess(ctx, finalPage);
|
|
226
280
|
return finalPage;
|
|
227
281
|
}
|
|
228
|
-
function trackAccess(ctx, entries) {
|
|
282
|
+
export function trackAccess(ctx, entries) {
|
|
229
283
|
if (!entries.length)
|
|
230
284
|
return;
|
|
231
285
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ export interface PreparedStatements {
|
|
|
61
61
|
deleteVecStmt: StatementSync;
|
|
62
62
|
updateSupersededBy: StatementSync;
|
|
63
63
|
clearSupersededByRef: StatementSync;
|
|
64
|
+
insertCtxVecStmt: StatementSync;
|
|
65
|
+
deleteCtxVecStmt: StatementSync;
|
|
64
66
|
}
|
|
65
67
|
export interface VaultEntry {
|
|
66
68
|
id: string;
|
|
@@ -161,6 +163,8 @@ export interface BaseCtx {
|
|
|
161
163
|
embed: (text: string) => Promise<Float32Array | null>;
|
|
162
164
|
insertVec: (rowid: number, embedding: Float32Array) => void;
|
|
163
165
|
deleteVec: (rowid: number) => void;
|
|
166
|
+
insertCtxVec: (rowid: number, embedding: Float32Array) => void;
|
|
167
|
+
deleteCtxVec: (rowid: number) => void;
|
|
164
168
|
}
|
|
165
169
|
export interface SearchOptions {
|
|
166
170
|
kindFilter?: string | null;
|
|
@@ -173,5 +177,7 @@ export interface SearchOptions {
|
|
|
173
177
|
decayDays?: number;
|
|
174
178
|
includeSuperseeded?: boolean;
|
|
175
179
|
includeEphemeral?: boolean;
|
|
180
|
+
/** Pre-computed context embedding for contextual reinstatement boosting. */
|
|
181
|
+
contextEmbedding?: Float32Array | null;
|
|
176
182
|
}
|
|
177
183
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,gBAAgB,EAAE,aAAa,CAAC;IAChC,mBAAmB,EAAE,aAAa,CAAC;IACnC,iBAAiB,EAAE,aAAa,CAAC;IACjC,eAAe,EAAE,aAAa,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,aAAa,CAAC;IAClC,oBAAoB,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-vault/core",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Pure local engine: capture, index, search, and utilities for context-vault",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -61,6 +61,10 @@
|
|
|
61
61
|
"./types": {
|
|
62
62
|
"types": "./dist/types.d.ts",
|
|
63
63
|
"import": "./dist/types.js"
|
|
64
|
+
},
|
|
65
|
+
"./context": {
|
|
66
|
+
"types": "./dist/context.d.ts",
|
|
67
|
+
"import": "./dist/context.js"
|
|
64
68
|
}
|
|
65
69
|
},
|
|
66
70
|
"files": [
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual reinstatement: encoding context capture and serialization.
|
|
3
|
+
*
|
|
4
|
+
* Inspired by hippocampal contextual reinstatement in neuroscience:
|
|
5
|
+
* the brain stores the situation (place, task, goal) alongside each memory,
|
|
6
|
+
* and re-entering a similar situation boosts recall. This module provides
|
|
7
|
+
* the same mechanism for vault entries.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export interface EncodingContext {
|
|
11
|
+
project?: string;
|
|
12
|
+
arc?: string;
|
|
13
|
+
task?: string;
|
|
14
|
+
cwd?: string;
|
|
15
|
+
session_id?: string;
|
|
16
|
+
[key: string]: string | undefined;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Serialize an EncodingContext into a natural-language sentence suitable
|
|
21
|
+
* for embedding with MiniLM. The output is a simple key-value string
|
|
22
|
+
* that produces meaningful sentence embeddings for similarity matching.
|
|
23
|
+
*
|
|
24
|
+
* Example: "project: leadfront, arc: auth-rewrite, task: implementing JWT rotation"
|
|
25
|
+
*/
|
|
26
|
+
export function serializeContext(ctx: EncodingContext): string {
|
|
27
|
+
const parts: string[] = [];
|
|
28
|
+
for (const [key, value] of Object.entries(ctx)) {
|
|
29
|
+
if (value != null && typeof value === 'string' && value.trim()) {
|
|
30
|
+
parts.push(`${key}: ${value.trim()}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return parts.join(', ');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Parse and validate a context parameter from tool input.
|
|
38
|
+
* Accepts either a string (used as-is for embedding) or a structured object.
|
|
39
|
+
* Returns null if the input is empty or invalid.
|
|
40
|
+
*/
|
|
41
|
+
export function parseContextParam(input: unknown): { text: string; structured: EncodingContext | null } | null {
|
|
42
|
+
if (input == null) return null;
|
|
43
|
+
|
|
44
|
+
if (typeof input === 'string') {
|
|
45
|
+
const trimmed = input.trim();
|
|
46
|
+
if (!trimmed) return null;
|
|
47
|
+
return { text: trimmed, structured: null };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (typeof input === 'object' && !Array.isArray(input)) {
|
|
51
|
+
const obj = input as Record<string, unknown>;
|
|
52
|
+
const ctx: EncodingContext = {};
|
|
53
|
+
let hasValue = false;
|
|
54
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
55
|
+
if (typeof value === 'string' && value.trim()) {
|
|
56
|
+
ctx[key] = value.trim();
|
|
57
|
+
hasValue = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!hasValue) return null;
|
|
61
|
+
return { text: serializeContext(ctx), structured: ctx };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
@@ -175,9 +175,11 @@ export const SCHEMA_DDL = `
|
|
|
175
175
|
END;
|
|
176
176
|
|
|
177
177
|
CREATE VIRTUAL TABLE IF NOT EXISTS vault_vec USING vec0(embedding float[384]);
|
|
178
|
+
|
|
179
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vault_ctx_vec USING vec0(embedding float[384]);
|
|
178
180
|
`;
|
|
179
181
|
|
|
180
|
-
const CURRENT_VERSION =
|
|
182
|
+
const CURRENT_VERSION = 16;
|
|
181
183
|
|
|
182
184
|
export async function initDatabase(dbPath: string): Promise<DatabaseSync> {
|
|
183
185
|
const sqliteVec = await loadSqliteVec();
|
|
@@ -202,6 +204,17 @@ export async function initDatabase(dbPath: string): Promise<DatabaseSync> {
|
|
|
202
204
|
const version = (db.prepare('PRAGMA user_version').get() as { user_version: number })
|
|
203
205
|
.user_version;
|
|
204
206
|
|
|
207
|
+
// v15 -> v16: add vault_ctx_vec table for contextual reinstatement
|
|
208
|
+
if (version === 15) {
|
|
209
|
+
try {
|
|
210
|
+
db.exec('CREATE VIRTUAL TABLE IF NOT EXISTS vault_ctx_vec USING vec0(embedding float[384])');
|
|
211
|
+
db.exec(`PRAGMA user_version = ${CURRENT_VERSION}`);
|
|
212
|
+
} catch (e) {
|
|
213
|
+
console.error(`[context-vault] v15->v16 migration failed: ${(e as Error).message}`);
|
|
214
|
+
}
|
|
215
|
+
return db;
|
|
216
|
+
}
|
|
217
|
+
|
|
205
218
|
if (version > 0 && version < 15) {
|
|
206
219
|
console.error(`[context-vault] Schema v${version} is outdated. Rebuilding database...`);
|
|
207
220
|
|
|
@@ -243,7 +256,7 @@ export async function initDatabase(dbPath: string): Promise<DatabaseSync> {
|
|
|
243
256
|
return freshDb;
|
|
244
257
|
}
|
|
245
258
|
|
|
246
|
-
if (version <
|
|
259
|
+
if (version < 16) {
|
|
247
260
|
db.exec(SCHEMA_DDL);
|
|
248
261
|
db.exec(`PRAGMA user_version = ${CURRENT_VERSION}`);
|
|
249
262
|
}
|
|
@@ -279,6 +292,8 @@ export function prepareStatements(db: DatabaseSync): PreparedStatements {
|
|
|
279
292
|
clearSupersededByRef: db.prepare(
|
|
280
293
|
`UPDATE vault SET superseded_by = NULL WHERE superseded_by = ?`
|
|
281
294
|
),
|
|
295
|
+
insertCtxVecStmt: db.prepare(`INSERT INTO vault_ctx_vec (rowid, embedding) VALUES (?, ?)`),
|
|
296
|
+
deleteCtxVecStmt: db.prepare(`DELETE FROM vault_ctx_vec WHERE rowid = ?`),
|
|
282
297
|
};
|
|
283
298
|
} catch (e) {
|
|
284
299
|
throw new Error(
|
|
@@ -301,6 +316,18 @@ export function deleteVec(stmts: PreparedStatements, rowid: number): void {
|
|
|
301
316
|
stmts.deleteVecStmt.run(safeRowid);
|
|
302
317
|
}
|
|
303
318
|
|
|
319
|
+
export function insertCtxVec(stmts: PreparedStatements, rowid: number, embedding: Float32Array): void {
|
|
320
|
+
const safeRowid = BigInt(rowid);
|
|
321
|
+
if (safeRowid < 1n) throw new Error(`Invalid rowid: ${rowid}`);
|
|
322
|
+
stmts.insertCtxVecStmt.run(safeRowid, embedding);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export function deleteCtxVec(stmts: PreparedStatements, rowid: number): void {
|
|
326
|
+
const safeRowid = BigInt(rowid);
|
|
327
|
+
if (safeRowid < 1n) throw new Error(`Invalid rowid: ${rowid}`);
|
|
328
|
+
stmts.deleteCtxVecStmt.run(safeRowid);
|
|
329
|
+
}
|
|
330
|
+
|
|
304
331
|
export function testConnection(db: DatabaseSync): boolean {
|
|
305
332
|
try {
|
|
306
333
|
db.prepare('SELECT 1').get();
|