oh-my-second-brain 0.3.0 → 0.6.2
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/ACKNOWLEDGMENTS.md +8 -0
- package/CHANGELOG-assets.md +10 -0
- package/CHANGELOG-cli.md +11 -0
- package/CHANGELOG-kernel.md +31 -0
- package/CHANGELOG-mcp.md +12 -0
- package/CHANGELOG-vendors.md +6 -0
- package/CHANGELOG.md +35 -0
- package/assets/hermes-manifest.json +1 -1
- package/assets/skills/doctor/SKILL.md +2 -2
- package/assets/skills/search/SKILL.md +17 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +13 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/host-commands.js +2 -1
- package/dist/cli/host-commands.js.map +1 -1
- package/dist/cli/oms.d.ts +1 -1
- package/dist/cli/oms.js +26 -3
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/semantic-args.js +102 -3
- package/dist/cli/semantic-args.js.map +1 -1
- package/dist/cli/semantic.js +30 -6
- package/dist/cli/semantic.js.map +1 -1
- package/dist/cli/setup-command.d.ts +16 -0
- package/dist/cli/setup-command.js +50 -1
- package/dist/cli/setup-command.js.map +1 -1
- package/dist/kernel/contracts/index.d.ts +144 -0
- package/dist/kernel/contracts/index.js +401 -0
- package/dist/kernel/contracts/index.js.map +1 -0
- package/dist/kernel/conventions/note-exclude.d.ts +14 -0
- package/dist/kernel/conventions/note-exclude.js +95 -0
- package/dist/kernel/conventions/note-exclude.js.map +1 -0
- package/dist/kernel/engine/assemble.d.ts +22 -1
- package/dist/kernel/engine/assemble.js +202 -19
- package/dist/kernel/engine/assemble.js.map +1 -1
- package/dist/kernel/engine/axes/store.d.ts +90 -0
- package/dist/kernel/engine/axes/store.js +422 -0
- package/dist/kernel/engine/axes/store.js.map +1 -0
- package/dist/kernel/engine/conventions/vault-lint.d.ts +7 -2
- package/dist/kernel/engine/conventions/vault-lint.js +7 -21
- package/dist/kernel/engine/conventions/vault-lint.js.map +1 -1
- package/dist/kernel/engine/embed/identity.d.ts +14 -4
- package/dist/kernel/engine/embed/identity.js +33 -1
- package/dist/kernel/engine/embed/identity.js.map +1 -1
- package/dist/kernel/engine/embed/model.d.ts +134 -0
- package/dist/kernel/engine/embed/model.js +302 -0
- package/dist/kernel/engine/embed/model.js.map +1 -0
- package/dist/kernel/engine/embed/provider.d.ts +36 -5
- package/dist/kernel/engine/embed/provider.js +240 -103
- package/dist/kernel/engine/embed/provider.js.map +1 -1
- package/dist/kernel/engine/embed/store.d.ts +5 -1
- package/dist/kernel/engine/embed/store.js +136 -26
- package/dist/kernel/engine/embed/store.js.map +1 -1
- package/dist/kernel/engine/embed/sync.d.ts +53 -0
- package/dist/kernel/engine/embed/sync.js +489 -59
- package/dist/kernel/engine/embed/sync.js.map +1 -1
- package/dist/kernel/engine/graph/builder.d.ts +9 -5
- package/dist/kernel/engine/graph/builder.js +225 -82
- package/dist/kernel/engine/graph/builder.js.map +1 -1
- package/dist/kernel/engine/graph/node.d.ts +49 -1
- package/dist/kernel/engine/graph/node.js +205 -0
- package/dist/kernel/engine/graph/node.js.map +1 -1
- package/dist/kernel/engine/mcp/facade.d.ts +21 -1
- package/dist/kernel/engine/mcp/facade.js +523 -28
- package/dist/kernel/engine/mcp/facade.js.map +1 -1
- package/dist/kernel/engine/mcp/query-mapper.d.ts +27 -2
- package/dist/kernel/engine/mcp/query-mapper.js +157 -12
- package/dist/kernel/engine/mcp/query-mapper.js.map +1 -1
- package/dist/kernel/engine/mcp/types.d.ts +64 -2
- package/dist/kernel/engine/retrieval/dispatcher.d.ts +22 -0
- package/dist/kernel/engine/retrieval/dispatcher.js +84 -8
- package/dist/kernel/engine/retrieval/dispatcher.js.map +1 -1
- package/dist/kernel/engine/retrieval/index.d.ts +2 -1
- package/dist/kernel/engine/retrieval/index.js +1 -1
- package/dist/kernel/engine/retrieval/index.js.map +1 -1
- package/dist/kernel/engine/retrieval/reranker.d.ts +82 -4
- package/dist/kernel/engine/retrieval/reranker.js +178 -3
- package/dist/kernel/engine/retrieval/reranker.js.map +1 -1
- package/dist/kernel/engine/retrieval/rrf.d.ts +10 -2
- package/dist/kernel/engine/retrieval/rrf.js +39 -16
- package/dist/kernel/engine/retrieval/rrf.js.map +1 -1
- package/dist/kernel/engine/tracer.d.ts +13 -0
- package/dist/kernel/engine/tracer.js +63 -6
- package/dist/kernel/engine/tracer.js.map +1 -1
- package/dist/kernel/graph/cache.js +174 -23
- package/dist/kernel/graph/cache.js.map +1 -1
- package/dist/kernel/index.d.ts +2 -0
- package/dist/kernel/index.js +2 -0
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/measurement/no-default-contract.d.ts +17 -0
- package/dist/kernel/measurement/no-default-contract.js +84 -0
- package/dist/kernel/measurement/no-default-contract.js.map +1 -0
- package/dist/kernel/searchbackend/engine-search-backend.js +93 -7
- package/dist/kernel/searchbackend/engine-search-backend.js.map +1 -1
- package/dist/kernel/searchbackend/search-backend.d.ts +11 -1
- package/dist/kernel/searchbackend/search-backend.js +66 -5
- package/dist/kernel/searchbackend/search-backend.js.map +1 -1
- package/dist/kernel/semantic/semantic-engine.js +31 -5
- package/dist/kernel/semantic/semantic-engine.js.map +1 -1
- package/dist/kernel/semantic/semantic-retrieve-args.d.ts +19 -2
- package/dist/kernel/semantic/semantic-retrieve-args.js +81 -7
- package/dist/kernel/semantic/semantic-retrieve-args.js.map +1 -1
- package/dist/kernel/update/update.d.ts +7 -0
- package/dist/kernel/update/update.js +106 -8
- package/dist/kernel/update/update.js.map +1 -1
- package/dist/mcp/server.js +84 -34
- package/dist/mcp/server.js.map +1 -1
- package/package.json +3 -2
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - vec/HyDE MUST NOT silently degrade to empty hits; vector usage must fail loudly.
|
|
7
7
|
* - A core-only open path must exist for lex-only operation without embedding config.
|
|
8
8
|
*/
|
|
9
|
-
import { mkdirSync } from "node:fs";
|
|
9
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import Database from "better-sqlite3";
|
|
12
12
|
import * as sqliteVec from "sqlite-vec";
|
|
@@ -14,12 +14,20 @@ export const DEFAULT_SQLITE_VEC_LOADER = (db) => sqliteVec.load(db);
|
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Constants
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
17
|
-
export const ENGINE_EMBED_META_VERSION = "oms-embed-meta-
|
|
17
|
+
export const ENGINE_EMBED_META_VERSION = "oms-embed-meta-v2";
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
19
|
// Internal helpers
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
|
-
/** Pack a Float32Array as raw
|
|
21
|
+
/** Pack a finite Float32Array as raw bytes for sqlite-vec operations. */
|
|
22
22
|
function vecBuf(vector) {
|
|
23
|
+
if (!(vector instanceof Float32Array)) {
|
|
24
|
+
throw new Error("EngineStore vector must be a Float32Array.");
|
|
25
|
+
}
|
|
26
|
+
for (let index = 0; index < vector.length; index += 1) {
|
|
27
|
+
if (!Number.isFinite(vector[index])) {
|
|
28
|
+
throw new Error(`EngineStore vector contains a non-finite value at index ${index}.`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
23
31
|
return Buffer.from(vector.buffer, vector.byteOffset, vector.byteLength);
|
|
24
32
|
}
|
|
25
33
|
/** Simple tokeniser for FTS5 query building — mirrors the legacy search layer. */
|
|
@@ -48,11 +56,29 @@ function ensureCoreSchema(db) {
|
|
|
48
56
|
embedding_provider TEXT,
|
|
49
57
|
embedding_model TEXT,
|
|
50
58
|
embedding_dimensions INTEGER,
|
|
59
|
+
embedding_context_length INTEGER,
|
|
60
|
+
embedding_mrl_dim INTEGER,
|
|
61
|
+
embedding_normalization TEXT,
|
|
62
|
+
embedding_prefix_scheme TEXT,
|
|
51
63
|
embedding_fingerprint TEXT,
|
|
52
64
|
embedding_schema_version TEXT NOT NULL,
|
|
53
65
|
updated_at TEXT NOT NULL
|
|
54
66
|
);
|
|
55
67
|
`);
|
|
68
|
+
// Existing stores are deliberately not rewritten here. Additive columns
|
|
69
|
+
// let us inspect their schema version and reject stale identities loudly
|
|
70
|
+
// instead of accidentally treating old vectors as compatible.
|
|
71
|
+
const columns = new Set(db.prepare("PRAGMA table_info(engine_meta)").all().map((column) => column.name));
|
|
72
|
+
const additions = [
|
|
73
|
+
["embedding_context_length", "INTEGER"],
|
|
74
|
+
["embedding_mrl_dim", "INTEGER"],
|
|
75
|
+
["embedding_normalization", "TEXT"],
|
|
76
|
+
["embedding_prefix_scheme", "TEXT"],
|
|
77
|
+
];
|
|
78
|
+
for (const [name, type] of additions) {
|
|
79
|
+
if (!columns.has(name))
|
|
80
|
+
db.exec(`ALTER TABLE engine_meta ADD COLUMN ${name} ${type}`);
|
|
81
|
+
}
|
|
56
82
|
db.prepare("INSERT OR IGNORE INTO engine_meta (id, embedding_schema_version, updated_at) VALUES (1, ?, strftime('%Y-%m-%dT%H:%M:%fZ','now'))").run(ENGINE_EMBED_META_VERSION);
|
|
57
83
|
// (2) engine_chunk_meta + engine_chunk_fts
|
|
58
84
|
db.exec(`
|
|
@@ -135,8 +161,8 @@ export function openEngineStoreCore(dbPath) {
|
|
|
135
161
|
const stmtClearDocFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)");
|
|
136
162
|
const stmtClearDocMeta = db.prepare("DELETE FROM engine_chunk_meta WHERE doc_path = ?");
|
|
137
163
|
const stmtListDocPaths = db.prepare("SELECT DISTINCT doc_path FROM engine_chunk_meta");
|
|
138
|
-
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_fingerprint FROM engine_meta WHERE id = 1");
|
|
139
|
-
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
164
|
+
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_context_length, embedding_mrl_dim, embedding_normalization, embedding_prefix_scheme, embedding_fingerprint, embedding_schema_version FROM engine_meta WHERE id = 1");
|
|
165
|
+
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_context_length = ?, embedding_mrl_dim = ?, embedding_normalization = ?, embedding_prefix_scheme = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
140
166
|
const doUpsertLex = db.transaction((rows) => {
|
|
141
167
|
for (const row of rows) {
|
|
142
168
|
const existing = stmtGetMeta.get(row.docPath, row.ordinal);
|
|
@@ -201,21 +227,42 @@ export function openEngineStoreCore(dbPath) {
|
|
|
201
227
|
const row = stmtReadIdentity.get();
|
|
202
228
|
if (!row)
|
|
203
229
|
return null;
|
|
230
|
+
if (row.embedding_schema_version !== ENGINE_EMBED_META_VERSION) {
|
|
231
|
+
throw new Error(`Embedding metadata version "${row.embedding_schema_version}" is incompatible; expected "${ENGINE_EMBED_META_VERSION}".`);
|
|
232
|
+
}
|
|
233
|
+
const hasAnyIdentityField = row.embedding_provider !== null ||
|
|
234
|
+
row.embedding_model !== null ||
|
|
235
|
+
row.embedding_dimensions !== null ||
|
|
236
|
+
row.embedding_context_length !== null ||
|
|
237
|
+
row.embedding_mrl_dim !== null ||
|
|
238
|
+
row.embedding_normalization !== null ||
|
|
239
|
+
row.embedding_prefix_scheme !== null ||
|
|
240
|
+
row.embedding_fingerprint !== null;
|
|
241
|
+
if (!hasAnyIdentityField)
|
|
242
|
+
return null;
|
|
204
243
|
if (!row.embedding_provider ||
|
|
205
244
|
!row.embedding_model ||
|
|
206
245
|
row.embedding_dimensions === null ||
|
|
246
|
+
row.embedding_context_length === null ||
|
|
247
|
+
row.embedding_mrl_dim === null ||
|
|
248
|
+
!row.embedding_normalization ||
|
|
249
|
+
!row.embedding_prefix_scheme ||
|
|
207
250
|
!row.embedding_fingerprint) {
|
|
208
|
-
|
|
251
|
+
throw new Error("Embedding metadata identity is incomplete.");
|
|
209
252
|
}
|
|
210
253
|
return {
|
|
211
254
|
provider: row.embedding_provider,
|
|
212
255
|
model: row.embedding_model,
|
|
213
256
|
dimensions: row.embedding_dimensions,
|
|
257
|
+
contextLength: row.embedding_context_length,
|
|
258
|
+
mrlDim: row.embedding_mrl_dim,
|
|
259
|
+
normalization: row.embedding_normalization,
|
|
260
|
+
prefixScheme: row.embedding_prefix_scheme,
|
|
214
261
|
fingerprint: row.embedding_fingerprint,
|
|
215
262
|
};
|
|
216
263
|
},
|
|
217
264
|
writeEmbeddingIdentity(identity) {
|
|
218
|
-
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.fingerprint);
|
|
265
|
+
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.contextLength, identity.mrlDim, identity.normalization, identity.prefixScheme, identity.fingerprint);
|
|
219
266
|
},
|
|
220
267
|
getShas(docPath) {
|
|
221
268
|
const rows = stmtGetShas.all(docPath);
|
|
@@ -294,8 +341,8 @@ export function openEngineStore(dbPath, dimensions, opts = {}) {
|
|
|
294
341
|
const stmtClearDocFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)");
|
|
295
342
|
const stmtClearDocMeta = db.prepare("DELETE FROM engine_chunk_meta WHERE doc_path = ?");
|
|
296
343
|
const stmtListDocPaths = db.prepare("SELECT DISTINCT doc_path FROM engine_chunk_meta");
|
|
297
|
-
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_fingerprint FROM engine_meta WHERE id = 1");
|
|
298
|
-
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
344
|
+
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_context_length, embedding_mrl_dim, embedding_normalization, embedding_prefix_scheme, embedding_fingerprint, embedding_schema_version FROM engine_meta WHERE id = 1");
|
|
345
|
+
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_context_length = ?, embedding_mrl_dim = ?, embedding_normalization = ?, embedding_prefix_scheme = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
299
346
|
// Prepared statements (vec)
|
|
300
347
|
const stmtDeleteVec = vecAvailable
|
|
301
348
|
? db.prepare("DELETE FROM engine_chunk_vec WHERE rowid = ?")
|
|
@@ -324,6 +371,10 @@ export function openEngineStore(dbPath, dimensions, opts = {}) {
|
|
|
324
371
|
const existing = stmtGetMeta.get(row.docPath, row.ordinal);
|
|
325
372
|
if (existing) {
|
|
326
373
|
const id = BigInt(existing.rowid);
|
|
374
|
+
// Lex-only updates can change the chunk text without regenerating an
|
|
375
|
+
// embedding. Remove the old vector before replacing metadata so a
|
|
376
|
+
// later vector query cannot return a stale hit for the new chunk.
|
|
377
|
+
stmtDeleteVec?.run(id);
|
|
327
378
|
stmtDeleteFts.run(id);
|
|
328
379
|
stmtUpdateMeta.run(row.text, row.sha, row.docPath, row.ordinal);
|
|
329
380
|
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
@@ -368,31 +419,52 @@ export function openEngineStore(dbPath, dimensions, opts = {}) {
|
|
|
368
419
|
const row = stmtReadIdentity.get();
|
|
369
420
|
if (!row)
|
|
370
421
|
return null;
|
|
422
|
+
if (row.embedding_schema_version !== ENGINE_EMBED_META_VERSION) {
|
|
423
|
+
throw new Error(`Embedding metadata version "${row.embedding_schema_version}" is incompatible; expected "${ENGINE_EMBED_META_VERSION}".`);
|
|
424
|
+
}
|
|
425
|
+
const hasAnyIdentityField = row.embedding_provider !== null ||
|
|
426
|
+
row.embedding_model !== null ||
|
|
427
|
+
row.embedding_dimensions !== null ||
|
|
428
|
+
row.embedding_context_length !== null ||
|
|
429
|
+
row.embedding_mrl_dim !== null ||
|
|
430
|
+
row.embedding_normalization !== null ||
|
|
431
|
+
row.embedding_prefix_scheme !== null ||
|
|
432
|
+
row.embedding_fingerprint !== null;
|
|
433
|
+
if (!hasAnyIdentityField)
|
|
434
|
+
return null;
|
|
371
435
|
if (!row.embedding_provider ||
|
|
372
436
|
!row.embedding_model ||
|
|
373
437
|
row.embedding_dimensions === null ||
|
|
438
|
+
row.embedding_context_length === null ||
|
|
439
|
+
row.embedding_mrl_dim === null ||
|
|
440
|
+
!row.embedding_normalization ||
|
|
441
|
+
!row.embedding_prefix_scheme ||
|
|
374
442
|
!row.embedding_fingerprint) {
|
|
375
|
-
|
|
443
|
+
throw new Error("Embedding metadata identity is incomplete.");
|
|
376
444
|
}
|
|
377
445
|
return {
|
|
378
446
|
provider: row.embedding_provider,
|
|
379
447
|
model: row.embedding_model,
|
|
380
448
|
dimensions: row.embedding_dimensions,
|
|
449
|
+
contextLength: row.embedding_context_length,
|
|
450
|
+
mrlDim: row.embedding_mrl_dim,
|
|
451
|
+
normalization: row.embedding_normalization,
|
|
452
|
+
prefixScheme: row.embedding_prefix_scheme,
|
|
381
453
|
fingerprint: row.embedding_fingerprint,
|
|
382
454
|
};
|
|
383
455
|
},
|
|
384
456
|
writeEmbeddingIdentity(identity) {
|
|
385
|
-
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.fingerprint);
|
|
457
|
+
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.contextLength, identity.mrlDim, identity.normalization, identity.prefixScheme, identity.fingerprint);
|
|
386
458
|
},
|
|
387
459
|
// VectorStore
|
|
388
460
|
upsert(rows) {
|
|
389
461
|
doUpsert(rows);
|
|
390
462
|
},
|
|
391
463
|
queryVec(vec, k, collection) {
|
|
464
|
+
const buf = vecBuf(vec);
|
|
392
465
|
if (!stmtQueryVec) {
|
|
393
466
|
throw new Error("EngineStore: vector queries are unavailable (sqlite-vec not loaded).");
|
|
394
467
|
}
|
|
395
|
-
const buf = vecBuf(vec);
|
|
396
468
|
// sqlite-vec cannot apply a metadata predicate to ANN search. Fetch every
|
|
397
469
|
// indexed chunk before filtering so collection scoping cannot be starved
|
|
398
470
|
// by globally higher-ranked candidates, then restore the requested limit.
|
|
@@ -471,27 +543,38 @@ const REQUIRED_CORE_TABLES = [
|
|
|
471
543
|
* mutator throws.
|
|
472
544
|
*/
|
|
473
545
|
function openExistingCoreStore(dbPath) {
|
|
546
|
+
if (!existsSync(dbPath))
|
|
547
|
+
return null;
|
|
474
548
|
let db;
|
|
475
549
|
try {
|
|
476
550
|
db = new Database(dbPath, { fileMustExist: true });
|
|
477
551
|
}
|
|
478
|
-
catch {
|
|
479
|
-
|
|
552
|
+
catch (error) {
|
|
553
|
+
throw new Error(`Engine store is unavailable at "${dbPath}": ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
480
554
|
}
|
|
481
555
|
try {
|
|
482
556
|
const rows = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name IN (?, ?, ?)").all(...REQUIRED_CORE_TABLES);
|
|
483
557
|
if (rows.length !== REQUIRED_CORE_TABLES.length) {
|
|
484
|
-
|
|
485
|
-
|
|
558
|
+
throw new Error(`Engine store at "${dbPath}" is corrupt or incompatible: required core tables are missing.`);
|
|
559
|
+
}
|
|
560
|
+
const metaColumns = new Set(db.prepare("PRAGMA table_info(engine_meta)").all().map((column) => column.name));
|
|
561
|
+
const requiredMetaColumns = [
|
|
562
|
+
"embedding_context_length",
|
|
563
|
+
"embedding_mrl_dim",
|
|
564
|
+
"embedding_normalization",
|
|
565
|
+
"embedding_prefix_scheme",
|
|
566
|
+
];
|
|
567
|
+
if (requiredMetaColumns.some((column) => !metaColumns.has(column))) {
|
|
568
|
+
throw new Error(`Engine store at "${dbPath}" is corrupt or incompatible: required metadata columns are missing.`);
|
|
486
569
|
}
|
|
487
570
|
return db;
|
|
488
571
|
}
|
|
489
|
-
catch {
|
|
490
|
-
// A store that exists but cannot be read (corrupt, truncated, or written by
|
|
491
|
-
// an incompatible build) is treated exactly like an absent index: search
|
|
492
|
-
// reports it as unavailable rather than crashing the caller's request.
|
|
572
|
+
catch (error) {
|
|
493
573
|
db.close();
|
|
494
|
-
|
|
574
|
+
if (error instanceof Error && error.message.startsWith(`Engine store at "${dbPath}"`)) {
|
|
575
|
+
throw error;
|
|
576
|
+
}
|
|
577
|
+
throw new Error(`Engine store at "${dbPath}" is corrupt or unreadable: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
495
578
|
}
|
|
496
579
|
}
|
|
497
580
|
function readonlyMutation(method) {
|
|
@@ -515,7 +598,7 @@ function openReadOnlyStore(dbPath, opts = {}) {
|
|
|
515
598
|
LIMIT ?`);
|
|
516
599
|
const stmtGetShas = db.prepare("SELECT ordinal, sha FROM engine_chunk_meta WHERE doc_path = ?");
|
|
517
600
|
const stmtListDocPaths = db.prepare("SELECT DISTINCT doc_path FROM engine_chunk_meta");
|
|
518
|
-
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_fingerprint FROM engine_meta WHERE id = 1");
|
|
601
|
+
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_context_length, embedding_mrl_dim, embedding_normalization, embedding_prefix_scheme, embedding_fingerprint, embedding_schema_version FROM engine_meta WHERE id = 1");
|
|
519
602
|
// These carry their bound parameter and row types: the bare
|
|
520
603
|
// ReturnType<prepare> erases both generics, which makes `.get()` demand an
|
|
521
604
|
// argument it does not take and forces a cast on every row read.
|
|
@@ -549,11 +632,12 @@ function openReadOnlyStore(dbPath, opts = {}) {
|
|
|
549
632
|
readonlyMutation("upsert");
|
|
550
633
|
},
|
|
551
634
|
queryVec(vec, k, collection) {
|
|
635
|
+
const buf = vecBuf(vec);
|
|
552
636
|
if (!stmtQueryVec || !stmtCountChunks) {
|
|
553
637
|
throw new Error("EngineStore: vector queries are unavailable (sqlite-vec not loaded).");
|
|
554
638
|
}
|
|
555
639
|
const candidateLimit = collection === undefined ? k : (stmtCountChunks.get()?.count ?? 0);
|
|
556
|
-
return stmtQueryVec.all(
|
|
640
|
+
return stmtQueryVec.all(buf, candidateLimit)
|
|
557
641
|
.filter((row) => collection === undefined || row.doc_path === collection || row.doc_path.startsWith(`${collection}/`))
|
|
558
642
|
.slice(0, k)
|
|
559
643
|
.map((row) => ({
|
|
@@ -576,8 +660,8 @@ function openReadOnlyStore(dbPath, opts = {}) {
|
|
|
576
660
|
score: 1 / (1 + index),
|
|
577
661
|
}));
|
|
578
662
|
}
|
|
579
|
-
catch {
|
|
580
|
-
|
|
663
|
+
catch (error) {
|
|
664
|
+
throw new Error(`Engine store lexical query failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
581
665
|
}
|
|
582
666
|
},
|
|
583
667
|
close() {
|
|
@@ -585,13 +669,39 @@ function openReadOnlyStore(dbPath, opts = {}) {
|
|
|
585
669
|
},
|
|
586
670
|
readEmbeddingIdentity() {
|
|
587
671
|
const row = stmtReadIdentity.get();
|
|
588
|
-
if (!row
|
|
672
|
+
if (!row)
|
|
673
|
+
return null;
|
|
674
|
+
if (row.embedding_schema_version !== ENGINE_EMBED_META_VERSION) {
|
|
675
|
+
throw new Error(`Embedding metadata version "${row.embedding_schema_version}" is incompatible; expected "${ENGINE_EMBED_META_VERSION}".`);
|
|
676
|
+
}
|
|
677
|
+
const hasAnyIdentityField = row.embedding_provider !== null ||
|
|
678
|
+
row.embedding_model !== null ||
|
|
679
|
+
row.embedding_dimensions !== null ||
|
|
680
|
+
row.embedding_context_length !== null ||
|
|
681
|
+
row.embedding_mrl_dim !== null ||
|
|
682
|
+
row.embedding_normalization !== null ||
|
|
683
|
+
row.embedding_prefix_scheme !== null ||
|
|
684
|
+
row.embedding_fingerprint !== null;
|
|
685
|
+
if (!hasAnyIdentityField)
|
|
589
686
|
return null;
|
|
687
|
+
if (!row.embedding_provider ||
|
|
688
|
+
!row.embedding_model ||
|
|
689
|
+
row.embedding_dimensions === null ||
|
|
690
|
+
row.embedding_context_length === null ||
|
|
691
|
+
row.embedding_mrl_dim === null ||
|
|
692
|
+
!row.embedding_normalization ||
|
|
693
|
+
!row.embedding_prefix_scheme ||
|
|
694
|
+
!row.embedding_fingerprint) {
|
|
695
|
+
throw new Error("Embedding metadata identity is incomplete.");
|
|
590
696
|
}
|
|
591
697
|
return {
|
|
592
698
|
provider: row.embedding_provider,
|
|
593
699
|
model: row.embedding_model,
|
|
594
700
|
dimensions: row.embedding_dimensions,
|
|
701
|
+
contextLength: row.embedding_context_length,
|
|
702
|
+
mrlDim: row.embedding_mrl_dim,
|
|
703
|
+
normalization: row.embedding_normalization,
|
|
704
|
+
prefixScheme: row.embedding_prefix_scheme,
|
|
595
705
|
fingerprint: row.embedding_fingerprint,
|
|
596
706
|
};
|
|
597
707
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/kernel/engine/embed/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/kernel/engine/embed/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { ChunkerOptions } from "../types.js";
|
|
10
10
|
import type { EmbeddingIdentity, EngineStore } from "./store.js";
|
|
11
|
+
import type { EmbeddingModelDescriptor } from "./model.js";
|
|
11
12
|
export interface EngineSyncOptions {
|
|
12
13
|
/** Absolute path to the vault root (OMS_VAULT). */
|
|
13
14
|
vault: string;
|
|
@@ -15,6 +16,11 @@ export interface EngineSyncOptions {
|
|
|
15
16
|
collection?: string;
|
|
16
17
|
/** Vault-relative sub-path to sync (default: entire vault). */
|
|
17
18
|
collectionPath?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Explicit vault-relative markdown files to sync. When supplied, this
|
|
21
|
+
* selection replaces recursive walking of collectionPath.
|
|
22
|
+
*/
|
|
23
|
+
files?: readonly string[];
|
|
18
24
|
/** Absolute path to the SQLite engine store database file. Default: <vault>/.oms/engine-store.sqlite */
|
|
19
25
|
dbPath?: string;
|
|
20
26
|
/** When false, updates lexical index only (no vectors). Default: true. */
|
|
@@ -25,10 +31,44 @@ export interface EngineSyncOptions {
|
|
|
25
31
|
embeddingProvider?: string;
|
|
26
32
|
/** Explicit embedding model/id/path (OMS_EMBEDDING_MODEL). */
|
|
27
33
|
embeddingModel?: string;
|
|
34
|
+
/** Canonical descriptor supplied by setup; scalar fields override it. */
|
|
35
|
+
embeddingDescriptor?: EmbeddingModelDescriptor;
|
|
36
|
+
/** Descriptor-derived vector width (defaults to the provider's width). */
|
|
37
|
+
embeddingDimensions?: number;
|
|
38
|
+
/** Canonical descriptor context window in tokens. */
|
|
39
|
+
embeddingContext?: number;
|
|
40
|
+
/** Descriptor-derived context length; no implicit identity default. */
|
|
41
|
+
embeddingContextLength?: number;
|
|
42
|
+
/** Setup descriptor alias for embeddingContextLength. */
|
|
43
|
+
embeddingContextTokens?: number;
|
|
44
|
+
/** Descriptor-derived MRL output width. */
|
|
45
|
+
embeddingMrlDim?: number;
|
|
46
|
+
/** Descriptor-declared vector normalization scheme. */
|
|
47
|
+
embeddingNormalization?: string;
|
|
48
|
+
/** Descriptor-declared query/passage prefix scheme. */
|
|
49
|
+
embeddingPrefixScheme?: string;
|
|
28
50
|
/** Chunker overrides (maxTokens, overlapRatio). */
|
|
29
51
|
chunkerOpts?: Partial<ChunkerOptions>;
|
|
30
52
|
/** Pre-opened store to populate. The caller retains ownership of this handle. */
|
|
31
53
|
store?: EngineStore;
|
|
54
|
+
/** Keep synchronization process-local when populating an in-memory store. */
|
|
55
|
+
persist?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Test-only crash injection for generation swaps. Production callers should
|
|
58
|
+
* leave this unset; it is intentionally explicit so crash recovery tests can
|
|
59
|
+
* exercise every boundary without mutating process-global state.
|
|
60
|
+
*/
|
|
61
|
+
crashPoint?: GenerationSwapCrashPoint;
|
|
62
|
+
/**
|
|
63
|
+
* Close any long-lived handle that is bound to the active generation before
|
|
64
|
+
* its sidecars are removed and the generation is renamed.
|
|
65
|
+
*/
|
|
66
|
+
onGenerationSwapPrepare?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Rebind a long-lived handle after the swap (or restore it when preparation
|
|
69
|
+
* aborts). Called while the writer lock is still held.
|
|
70
|
+
*/
|
|
71
|
+
onGenerationSwapComplete?: (swapped: boolean) => void;
|
|
32
72
|
}
|
|
33
73
|
export interface EngineSyncResult {
|
|
34
74
|
available: boolean;
|
|
@@ -42,6 +82,19 @@ export interface EngineSyncResult {
|
|
|
42
82
|
skipped: number;
|
|
43
83
|
storedIdentity?: EmbeddingIdentity;
|
|
44
84
|
configuredIdentity?: EmbeddingIdentity;
|
|
85
|
+
/** True when this sync replaced the active on-disk generation. */
|
|
86
|
+
generationSwapped?: boolean;
|
|
45
87
|
}
|
|
88
|
+
export type GenerationSwapCrashPoint = "after-build" | "after-validation" | "before-swap" | "after-swap";
|
|
46
89
|
export declare function walkMarkdown(dir: string, base: string): AsyncGenerator<string>;
|
|
90
|
+
/**
|
|
91
|
+
* Acquire the writer lock without a dependency on a native locking package.
|
|
92
|
+
*
|
|
93
|
+
* A complete owner payload is published through a temporary O_EXCL inode and
|
|
94
|
+
* atomically claimed with a hard link. The file records the owner PID so a
|
|
95
|
+
* process killed between claim and release does not strand every future sync.
|
|
96
|
+
* A live owner is always rejected (rather than silently waiting), which keeps
|
|
97
|
+
* concurrent writers loud and bounded.
|
|
98
|
+
*/
|
|
99
|
+
export declare function acquireEngineStoreWriterLock(dbPath: string): () => void;
|
|
47
100
|
export declare function syncEngineStore(opts: EngineSyncOptions): Promise<EngineSyncResult>;
|