@kybernesis/brain-core 0.2.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/entity-graph.d.ts +11 -13
  2. package/dist/entity-graph.d.ts.map +1 -1
  3. package/dist/entity-graph.js +36 -548
  4. package/dist/entity-graph.js.map +1 -1
  5. package/dist/fact-retrieval.d.ts.map +1 -1
  6. package/dist/fact-retrieval.js +45 -116
  7. package/dist/fact-retrieval.js.map +1 -1
  8. package/dist/fact-store.d.ts +5 -0
  9. package/dist/fact-store.d.ts.map +1 -1
  10. package/dist/fact-store.js +17 -157
  11. package/dist/fact-store.js.map +1 -1
  12. package/dist/fts-sanitizer.d.ts +7 -28
  13. package/dist/fts-sanitizer.d.ts.map +1 -1
  14. package/dist/fts-sanitizer.js +7 -57
  15. package/dist/fts-sanitizer.js.map +1 -1
  16. package/dist/hybrid-search.d.ts +6 -1
  17. package/dist/hybrid-search.d.ts.map +1 -1
  18. package/dist/hybrid-search.js +47 -97
  19. package/dist/hybrid-search.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/ops.d.ts.map +1 -1
  25. package/dist/ops.js +10 -34
  26. package/dist/ops.js.map +1 -1
  27. package/dist/sleep/db.d.ts +12 -12
  28. package/dist/sleep/db.d.ts.map +1 -1
  29. package/dist/sleep/db.js +12 -110
  30. package/dist/sleep/db.js.map +1 -1
  31. package/dist/sleep/index.d.ts.map +1 -1
  32. package/dist/sleep/index.js +29 -45
  33. package/dist/sleep/index.js.map +1 -1
  34. package/dist/sleep/steps/consolidate.d.ts.map +1 -1
  35. package/dist/sleep/steps/consolidate.js +5 -36
  36. package/dist/sleep/steps/consolidate.js.map +1 -1
  37. package/dist/sleep/steps/decay.d.ts.map +1 -1
  38. package/dist/sleep/steps/decay.js +12 -41
  39. package/dist/sleep/steps/decay.js.map +1 -1
  40. package/dist/sleep/steps/entity-hygiene.d.ts.map +1 -1
  41. package/dist/sleep/steps/entity-hygiene.js +22 -64
  42. package/dist/sleep/steps/entity-hygiene.js.map +1 -1
  43. package/dist/sleep/steps/link.d.ts.map +1 -1
  44. package/dist/sleep/steps/link.js +18 -36
  45. package/dist/sleep/steps/link.js.map +1 -1
  46. package/dist/sleep/steps/observe.d.ts.map +1 -1
  47. package/dist/sleep/steps/observe.js +5 -28
  48. package/dist/sleep/steps/observe.js.map +1 -1
  49. package/dist/sleep/steps/reasoning.d.ts.map +1 -1
  50. package/dist/sleep/steps/reasoning.js +3 -9
  51. package/dist/sleep/steps/reasoning.js.map +1 -1
  52. package/dist/sleep/steps/summarize.d.ts.map +1 -1
  53. package/dist/sleep/steps/summarize.js +21 -53
  54. package/dist/sleep/steps/summarize.js.map +1 -1
  55. package/dist/sleep/steps/tag.d.ts.map +1 -1
  56. package/dist/sleep/steps/tag.js +3 -15
  57. package/dist/sleep/steps/tag.js.map +1 -1
  58. package/dist/sleep/steps/tier.d.ts.map +1 -1
  59. package/dist/sleep/steps/tier.js +18 -33
  60. package/dist/sleep/steps/tier.js.map +1 -1
  61. package/dist/sleep/utils/checkpoint.d.ts +8 -4
  62. package/dist/sleep/utils/checkpoint.d.ts.map +1 -1
  63. package/dist/sleep/utils/checkpoint.js +10 -13
  64. package/dist/sleep/utils/checkpoint.js.map +1 -1
  65. package/dist/storage.d.ts +28 -0
  66. package/dist/storage.d.ts.map +1 -0
  67. package/dist/storage.js +40 -0
  68. package/dist/storage.js.map +1 -0
  69. package/dist/timeline.d.ts +11 -22
  70. package/dist/timeline.d.ts.map +1 -1
  71. package/dist/timeline.js +24 -310
  72. package/dist/timeline.js.map +1 -1
  73. package/dist/user-profile.d.ts.map +1 -1
  74. package/dist/user-profile.js +11 -57
  75. package/dist/user-profile.js.map +1 -1
  76. package/dist/vectors.d.ts +8 -10
  77. package/dist/vectors.d.ts.map +1 -1
  78. package/dist/vectors.js +22 -72
  79. package/dist/vectors.js.map +1 -1
  80. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../src/entity-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../src/entity-graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fact-retrieval.d.ts","sourceRoot":"","sources":["../src/fact-retrieval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;KAC1F,CAAC,CAAC;IACH,kBAAkB,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AA4UD,wBAAsB,eAAe,CACnC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAoJ3B"}
1
+ {"version":3,"file":"fact-retrieval.d.ts","sourceRoot":"","sources":["../src/fact-retrieval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;KAC1F,CAAC,CAAC;IACH,kBAAkB,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AA0QD,wBAAsB,eAAe,CACnC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA2H3B"}
@@ -11,7 +11,7 @@
11
11
  * Bug Fix #2 applied here: uses sanitizeFtsQuery for all FTS MATCH calls.
12
12
  * Bug Fix #9 applied here: wordMatchRatio denominator is FTS-query token count.
13
13
  */
14
- import { getDb } from '@kybernesis/brain-storage-sqlite';
14
+ import { getStorage } from './storage.js';
15
15
  import { ensureFactsTable, getFactsForEntity } from './fact-store.js';
16
16
  import { semanticSearch } from './vectors.js';
17
17
  import { sanitizeFtsQuery } from './fts-sanitizer.js';
@@ -45,7 +45,6 @@ function wordOverlap(a, b) {
45
45
  // ─── Layer 1: Direct fact search ─────────────────────────────────────────────
46
46
  async function searchFactsDirect(t, query, limit) {
47
47
  await ensureFactsTable(t);
48
- const db = getDb(t, 'timeline');
49
48
  const results = [];
50
49
  // Bug Fix #2: use sanitizeFtsQuery instead of naive replace
51
50
  const sanitized = sanitizeFtsQuery(query);
@@ -54,39 +53,25 @@ async function searchFactsDirect(t, query, limit) {
54
53
  ? sanitized.split(' OR ').map(t => t.replace(/^"|"$/g, '').toLowerCase()).filter(Boolean)
55
54
  : [];
56
55
  if (sanitized) {
57
- try {
58
- const ftsRows = db.prepare(`
59
- SELECT f.id, f.content, f.category, f.confidence, f.timestamp,
60
- f.entities_json, f.is_latest, f.expires_at, f.source_conversation_id
61
- FROM facts f
62
- JOIN facts_fts fts ON f.id = fts.rowid
63
- WHERE facts_fts MATCH ?
64
- AND COALESCE(f.is_latest, 1) = 1
65
- AND (f.expires_at IS NULL OR f.expires_at > datetime('now'))
66
- ORDER BY rank
67
- LIMIT ?
68
- `).all(sanitized, limit * 2);
69
- for (const row of ftsRows) {
70
- const contentLower = row.content.toLowerCase();
71
- // Bug Fix #9: denominator is ftsTokens.length, not raw query word count
72
- const matchedCount = ftsTokens.filter(w => contentLower.includes(w)).length;
73
- const wordMatchRatio = ftsTokens.length > 0 ? matchedCount / ftsTokens.length : 0;
74
- const score = 0.5 + wordMatchRatio * 0.5;
75
- results.push({
76
- id: row.id,
77
- content: row.content,
78
- category: row.category || 'general',
79
- confidence: row.confidence || 0.7,
80
- timestamp: row.timestamp,
81
- entities: JSON.parse(row.entities_json || '[]'),
82
- score,
83
- source: 'direct',
84
- source_conversation_id: row.source_conversation_id,
85
- });
86
- }
87
- }
88
- catch (err) {
89
- console.warn('[brain-core/fact-retrieval] FTS search failed', { err: String(err) });
56
+ // Candidate fetch behind the seam; scoring (Bug Fix #9 ratio) stays here.
57
+ const ftsRows = await getStorage().domain.factRetrieval.searchFactsByFts(t, sanitized, limit * 2);
58
+ for (const row of ftsRows) {
59
+ const contentLower = row.content.toLowerCase();
60
+ // Bug Fix #9: denominator is ftsTokens.length, not raw query word count
61
+ const matchedCount = ftsTokens.filter(w => contentLower.includes(w)).length;
62
+ const wordMatchRatio = ftsTokens.length > 0 ? matchedCount / ftsTokens.length : 0;
63
+ const score = 0.5 + wordMatchRatio * 0.5;
64
+ results.push({
65
+ id: row.id,
66
+ content: row.content,
67
+ category: row.category || 'general',
68
+ confidence: row.confidence || 0.7,
69
+ timestamp: row.timestamp,
70
+ entities: JSON.parse(row.entities_json || '[]'),
71
+ score,
72
+ source: 'direct',
73
+ source_conversation_id: row.source_conversation_id ?? undefined,
74
+ });
90
75
  }
91
76
  }
92
77
  // Semantic search (no-op until Day 4 vectors)
@@ -137,46 +122,22 @@ async function searchFactsDirect(t, query, limit) {
137
122
  return deduped.sort((a, b) => b.score - a.score).slice(0, limit);
138
123
  }
139
124
  // ─── Layer 2: Entity expansion ────────────────────────────────────────────────
125
+ // hop-distance penalty: scoring policy, applied in brain-core over the
126
+ // {id, hopDistance} the seam's traverseEntityGraph returns.
140
127
  const HOP_DISTANCE_PENALTY = { 0: 1.0, 1: 0.7, 2: 0.5, 3: 0.3 };
141
- function traverseEntityGraph(entityDb, seedIds, maxHops, maxEntities) {
142
- const visited = new Map();
143
- for (const id of seedIds)
144
- visited.set(id, 0);
145
- let frontier = [...seedIds];
146
- for (let hop = 0; hop < maxHops && frontier.length > 0; hop++) {
147
- const next = [];
148
- for (const eid of frontier) {
149
- try {
150
- const connected = entityDb.prepare(`
151
- SELECT CASE WHEN source_id = ? THEN target_id ELSE source_id END as cid
152
- FROM entity_relations
153
- WHERE source_id = ? OR target_id = ?
154
- ORDER BY strength DESC LIMIT 10
155
- `).all(eid, eid, eid);
156
- for (const c of connected) {
157
- if (!visited.has(c.cid) && visited.size < maxEntities) {
158
- visited.set(c.cid, hop + 1);
159
- next.push(c.cid);
160
- }
161
- }
162
- }
163
- catch { /* skip */ }
164
- }
165
- frontier = next;
166
- }
167
- return Array.from(visited.entries()).map(([id, hopDistance]) => ({ id, hopDistance }));
168
- }
169
128
  async function expandByEntities(t, query, existingFacts, limit) {
170
129
  const expanded = [];
171
130
  try {
172
- const entityDb = getDb(t, 'entityGraph');
173
131
  const queryLower = query.toLowerCase();
174
- const allEntities = entityDb.prepare('SELECT id, name FROM entities ORDER BY mention_count DESC LIMIT 200').all();
132
+ // Seed list = top entities by mention_count (same ordering as the old inline
133
+ // query) via the entity repository; the query-name filter + traversal seeds
134
+ // are brain-core policy.
135
+ const allEntities = await getStorage().repositories.entities.getMostMentionedEntities(t, { limit: 200 });
175
136
  const matched = allEntities.filter(e => e.name.length >= 3 && queryLower.includes(e.name.toLowerCase()));
176
137
  if (matched.length === 0)
177
138
  return [];
178
139
  const seedIds = matched.slice(0, 5).map(e => e.id);
179
- const reached = traverseEntityGraph(entityDb, seedIds, 1, 10);
140
+ const reached = await getStorage().domain.factRetrieval.traverseEntityGraph(t, seedIds, 1, 10);
180
141
  const nameMap = new Map(allEntities.map(e => [e.id, e.name]));
181
142
  const existingContent = existingFacts.map(f => f.content);
182
143
  for (const r of reached) {
@@ -215,36 +176,23 @@ async function expandByEntities(t, query, existingFacts, limit) {
215
176
  async function findSupportingContext(t, facts, maxFacts, maxPerFact) {
216
177
  const supporting = [];
217
178
  try {
218
- const db = getDb(t, 'timeline');
179
+ const fr = getStorage().domain.factRetrieval;
219
180
  for (const fact of facts.slice(0, maxFacts)) {
220
- let parentPath = null;
221
- try {
222
- const row = db.prepare('SELECT source_conversation_id FROM facts WHERE id = ?').get(fact.id);
223
- if (row)
224
- parentPath = row.source_conversation_id;
225
- }
226
- catch { /* best-effort */ }
181
+ const parentPath = await fr.getFactConversationId(t, fact.id);
227
182
  if (!parentPath)
228
183
  continue;
229
- try {
230
- const segs = db.prepare(`
231
- SELECT source_path, summary, timestamp FROM timeline_events
232
- WHERE source_path LIKE ? OR source_path = ?
233
- ORDER BY timestamp ASC LIMIT ?
234
- `).all(`${parentPath}%`, parentPath, maxPerFact);
235
- for (const seg of segs) {
236
- if (!seg.summary || seg.summary.trim().length < 10)
237
- continue;
238
- supporting.push({
239
- content: seg.summary,
240
- source_path: seg.source_path,
241
- timestamp: seg.timestamp,
242
- related_fact_id: fact.id,
243
- score: fact.score,
244
- });
245
- }
184
+ const segs = await fr.findSupportingSegments(t, parentPath, maxPerFact);
185
+ for (const seg of segs) {
186
+ if (!seg.summary || seg.summary.trim().length < 10)
187
+ continue;
188
+ supporting.push({
189
+ content: seg.summary,
190
+ source_path: seg.source_path,
191
+ timestamp: seg.timestamp,
192
+ related_fact_id: fact.id,
193
+ score: fact.score,
194
+ });
246
195
  }
247
- catch { /* best-effort */ }
248
196
  }
249
197
  }
250
198
  catch (err) {
@@ -302,29 +250,16 @@ export async function factFirstSearch(t, query, options = {}) {
302
250
  let bridgeCount = 0;
303
251
  const seenIds = new Set(allFacts.map(f => f.id));
304
252
  try {
305
- const db = getDb(t, 'timeline');
253
+ const fr = getStorage().domain.factRetrieval;
306
254
  for (const topFact of allFacts.slice(0, 5)) {
307
255
  let convId = topFact.source_conversation_id;
308
256
  if (!convId && topFact.id > 0) {
309
- try {
310
- const row = db.prepare('SELECT source_conversation_id FROM facts WHERE id = ?')
311
- .get(topFact.id);
312
- if (row)
313
- convId = row.source_conversation_id;
314
- }
315
- catch { /* best-effort */ }
257
+ convId = (await fr.getFactConversationId(t, topFact.id)) ?? undefined;
316
258
  }
317
259
  if (!convId)
318
260
  continue;
319
261
  try {
320
- const nearby = db.prepare(`
321
- SELECT id, content, category, confidence, timestamp, entities_json, source_conversation_id
322
- FROM facts
323
- WHERE source_conversation_id = ? AND id != ?
324
- AND COALESCE(is_latest, 1) = 1
325
- AND (expires_at IS NULL OR expires_at > datetime('now'))
326
- ORDER BY ABS(id - ?) ASC LIMIT 3
327
- `).all(convId, topFact.id, topFact.id);
262
+ const nearby = await fr.nearbyFactsInConversation(t, convId, topFact.id, 3);
328
263
  for (const n of nearby) {
329
264
  if (!seenIds.has(n.id)) {
330
265
  seenIds.add(n.id);
@@ -334,7 +269,7 @@ export async function factFirstSearch(t, query, options = {}) {
334
269
  confidence: n.confidence || 0.7, timestamp: n.timestamp,
335
270
  entities: JSON.parse(n.entities_json || '[]'),
336
271
  score: topFact.score * 0.6, source: 'scene_expansion',
337
- source_conversation_id: n.source_conversation_id,
272
+ source_conversation_id: n.source_conversation_id ?? undefined,
338
273
  });
339
274
  }
340
275
  }
@@ -346,13 +281,7 @@ export async function factFirstSearch(t, query, options = {}) {
346
281
  if (topFacts.length >= 2) {
347
282
  const entitySets = topFacts.map(f => new Set(f.entities.map(e => e.toLowerCase())));
348
283
  try {
349
- const bridgeCandidates = db.prepare(`
350
- SELECT id, content, category, confidence, timestamp, entities_json
351
- FROM facts
352
- WHERE COALESCE(is_latest, 1) = 1
353
- AND (expires_at IS NULL OR expires_at > datetime('now'))
354
- LIMIT 100
355
- `).all();
284
+ const bridgeCandidates = await fr.listBridgeCandidates(t, 100);
356
285
  for (const candidate of bridgeCandidates) {
357
286
  if (seenIds.has(candidate.id))
358
287
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"fact-retrieval.js","sourceRoot":"","sources":["../src/fact-retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fact-retrieval.js","sourceRoot":"","sources":["../src/fact-retrieval.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Fact store — public API. Behaviour now lives behind the storage seam
3
+ * (getStorage().repositories.facts); these are thin, signature-stable delegators so
4
+ * consumers and internal callers are unchanged (Stage 1, G1).
5
+ */
1
6
  import type { TenantContext, FactCategory, Fact } from '@kybernesis/brain-contracts';
2
7
  export declare const VALID_CATEGORIES: Set<"biographical" | "preference" | "event" | "relationship" | "temporal" | "opinion" | "plan" | "general">;
3
8
  export declare function ensureFactsTable(t: TenantContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"fact-store.d.ts","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGrF,eAAO,MAAM,gBAAgB,6GAG3B,CAAC;AAmGH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC,GACpF,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAsB,WAAW,CAC/B,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAA0B,GACtC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAKxF;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC9E,OAAO,CAAC,IAAI,EAAE,CAAC,CAqBjB;AAED,wBAAsB,kBAAkB,CACtC,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC/F,OAAO,CAAC,IAAI,EAAE,CAAC,CAcjB;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,IAAI,EAAE,CAAC,CAYjB;AAED,wBAAsB,cAAc,CAClC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAgBjB"}
1
+ {"version":3,"file":"fact-store.d.ts","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGrF,eAAO,MAAM,gBAAgB,6GAG3B,CAAC;AAEH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC,GACpF,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,WAAW,CAC/B,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAA0B,GACtC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAExF;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC9E,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,kBAAkB,CACtC,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC/F,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAClC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB"}
@@ -1,184 +1,44 @@
1
- import { getDb } from '@kybernesis/brain-storage-sqlite';
2
- import { sanitizeFtsQuery } from './fts-sanitizer.js';
1
+ /**
2
+ * Fact store public API. Behaviour now lives behind the storage seam
3
+ * (getStorage().repositories.facts); these are thin, signature-stable delegators so
4
+ * consumers and internal callers are unchanged (Stage 1, G1).
5
+ */
6
+ import { getStorage } from './storage.js';
3
7
  export const VALID_CATEGORIES = new Set([
4
8
  'biographical', 'preference', 'event', 'relationship',
5
9
  'temporal', 'opinion', 'plan', 'general',
6
10
  ]);
7
- function rowToFact(row) {
8
- return {
9
- id: row.id,
10
- content: row.content,
11
- source_path: row.source_path,
12
- source_conversation_id: row.source_conversation_id,
13
- entities: JSON.parse(row.entities_json || '[]'),
14
- timestamp: row.timestamp,
15
- confidence: row.confidence,
16
- category: row.category,
17
- created_at: row.created_at,
18
- is_latest: (row.is_latest ?? 1) === 1,
19
- superseded_by: row.superseded_by ?? undefined,
20
- expires_at: row.expires_at ?? undefined,
21
- updated_at: row.updated_at ?? undefined,
22
- access_count: row.access_count ?? 0,
23
- source_type: row.source_type ?? 'chat',
24
- is_retracted: (row.is_retracted ?? 0) === 1,
25
- retracted_by: row.retracted_by ?? undefined,
26
- last_reinforced_at: row.last_reinforced_at ?? undefined,
27
- project_id: row.project_id ?? undefined,
28
- tags: JSON.parse(row.tags_json || '[]'),
29
- classification: row.classification ?? undefined,
30
- connection_id: row.connection_id ?? undefined,
31
- source_did: row.source_did ?? undefined,
32
- };
33
- }
34
- // ─── Schema initialization ────────────────────────────────────────────────────
35
- // Facts table lives in timeline.db (same file as timeline_events).
36
- // Schema is created by timeline.ts ensureSchema. This module only ensures
37
- // the FTS index and triggers exist.
38
- const initialized = new Set();
39
- function ensureFactsFts(t) {
40
- if (initialized.has(t.slug))
41
- return;
42
- const db = getDb(t, 'timeline');
43
- // Bug Fix 1 (CANONICAL.md §6): The non-contentless facts_fts table must use
44
- // explicit DELETE FROM ... WHERE rowid = ? in triggers, NOT the ('delete', ...)
45
- // command form which is only valid for contentless FTS5 tables. Using the wrong
46
- // form threw SqliteError on every UPDATE/DELETE, silently swallowed by empty
47
- // catch{} in decay.ts, meaning KAD has NEVER expired temporal facts in production.
48
- db.exec(`
49
- CREATE VIRTUAL TABLE IF NOT EXISTS facts_fts USING fts5(
50
- content, entities,
51
- tokenize = 'unicode61 remove_diacritics 2'
52
- );
53
-
54
- CREATE TRIGGER IF NOT EXISTS facts_fts_ai AFTER INSERT ON facts BEGIN
55
- INSERT INTO facts_fts(rowid, content, entities) VALUES (new.id, new.content, new.entities_json);
56
- END;
57
-
58
- CREATE TRIGGER IF NOT EXISTS facts_fts_ad AFTER DELETE ON facts BEGIN
59
- DELETE FROM facts_fts WHERE rowid = old.id;
60
- END;
61
-
62
- CREATE TRIGGER IF NOT EXISTS facts_fts_au AFTER UPDATE ON facts BEGIN
63
- DELETE FROM facts_fts WHERE rowid = old.id;
64
- INSERT INTO facts_fts(rowid, content, entities) VALUES (new.id, new.content, new.entities_json);
65
- END;
66
- `);
67
- initialized.add(t.slug);
68
- }
69
- // ─── Operations ───────────────────────────────────────────────────────────────
70
11
  export async function ensureFactsTable(t) {
71
- ensureFactsFts(t);
12
+ return getStorage().repositories.facts.ensureFactsTable(t);
72
13
  }
73
14
  export async function storeFact(t, fact) {
74
- ensureFactsFts(t);
75
- const db = getDb(t, 'timeline');
76
- const result = db.prepare(`
77
- INSERT OR REPLACE INTO facts
78
- (content, source_path, source_conversation_id, entities_json, timestamp, confidence, category,
79
- expires_at, source_type, project_id, tags_json, classification, connection_id, source_did)
80
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
81
- `).run(fact.content, fact.source_path, fact.source_conversation_id, JSON.stringify(fact.entities), fact.timestamp, fact.confidence, fact.category, fact.expires_at ?? null, fact.source_type ?? 'chat', fact.project_id ?? null, JSON.stringify(fact.tags ?? []), fact.classification ?? null, fact.connection_id ?? null, fact.source_did ?? null);
82
- return result.lastInsertRowid;
15
+ return getStorage().repositories.facts.storeFact(t, fact);
83
16
  }
84
17
  export async function retractFact(t, factId, retractedBy = 'user-correction') {
85
- ensureFactsFts(t);
86
- const db = getDb(t, 'timeline');
87
- db.prepare(`
88
- UPDATE facts SET is_retracted = 1, retracted_by = ?, is_latest = 0, updated_at = datetime('now')
89
- WHERE id = ?
90
- `).run(retractedBy, factId);
18
+ return getStorage().repositories.facts.retractFact(t, factId, retractedBy);
91
19
  }
92
20
  export async function reinforceFact(t, factId) {
93
- ensureFactsFts(t);
94
- const db = getDb(t, 'timeline');
95
- db.prepare(`UPDATE facts SET last_reinforced_at = datetime('now'), updated_at = datetime('now') WHERE id = ?`).run(factId);
21
+ return getStorage().repositories.facts.reinforceFact(t, factId);
96
22
  }
97
23
  export async function getFactById(t, factId) {
98
- ensureFactsFts(t);
99
- const db = getDb(t, 'timeline');
100
- const row = db.prepare('SELECT * FROM facts WHERE id = ?').get(factId);
101
- return row ? rowToFact(row) : null;
24
+ return getStorage().repositories.facts.getFactById(t, factId);
102
25
  }
103
26
  export async function getFactsForEntity(t, entity, options = {}) {
104
- const { latestOnly = true, limit = 20, category } = options;
105
- ensureFactsFts(t);
106
- const db = getDb(t, 'timeline');
107
- const escapedEntity = entity.toLowerCase().replace(/[%_\\]/g, ch => `\\${ch}`);
108
- const entityPattern = `%${escapedEntity}%`;
109
- let sql = `
110
- SELECT * FROM facts
111
- WHERE LOWER(entities_json) LIKE ? ESCAPE '\\'
112
- AND COALESCE(is_retracted, 0) = 0
113
- `;
114
- const params = [entityPattern];
115
- if (latestOnly) {
116
- sql += ` AND COALESCE(is_latest, 1) = 1`;
117
- }
118
- if (category) {
119
- sql += ` AND category = ?`;
120
- params.push(category);
121
- }
122
- sql += ` ORDER BY timestamp DESC LIMIT ?`;
123
- params.push(limit);
124
- return db.prepare(sql).all(...params).map(rowToFact);
27
+ return getStorage().repositories.facts.getFactsForEntity(t, entity, options);
125
28
  }
126
29
  export async function markFactSuperseded(t, oldFactId, newFactId) {
127
- ensureFactsFts(t);
128
- const db = getDb(t, 'timeline');
129
- db.prepare('UPDATE facts SET is_latest = 0, superseded_by = ? WHERE id = ?').run(newFactId, oldFactId);
30
+ return getStorage().repositories.facts.markFactSuperseded(t, oldFactId, newFactId);
130
31
  }
131
32
  export async function factsCount(t) {
132
- ensureFactsFts(t);
133
- const db = getDb(t, 'timeline');
134
- const { count } = db.prepare('SELECT COUNT(*) as count FROM facts WHERE COALESCE(is_retracted, 0) = 0').get();
135
- return count;
33
+ return getStorage().repositories.facts.factsCount(t);
136
34
  }
137
35
  export async function listFacts(t, options = {}) {
138
- const { limit = 50, offset = 0, latestOnly = true, category } = options;
139
- ensureFactsFts(t);
140
- const db = getDb(t, 'timeline');
141
- let sql = 'SELECT * FROM facts WHERE COALESCE(is_retracted, 0) = 0';
142
- const params = [];
143
- if (latestOnly) {
144
- sql += ' AND COALESCE(is_latest, 1) = 1';
145
- }
146
- if (category) {
147
- sql += ' AND category = ?';
148
- params.push(category);
149
- }
150
- sql += ' ORDER BY timestamp DESC LIMIT ? OFFSET ?';
151
- params.push(limit, offset);
152
- return db.prepare(sql).all(...params).map(rowToFact);
36
+ return getStorage().repositories.facts.listFacts(t, options);
153
37
  }
154
38
  export async function listTemporalFacts(t, options = {}) {
155
- const { includeExpired = false, limit = 50 } = options;
156
- ensureFactsFts(t);
157
- const db = getDb(t, 'timeline');
158
- let sql = `SELECT * FROM facts WHERE expires_at IS NOT NULL AND COALESCE(is_retracted, 0) = 0`;
159
- const params = [];
160
- if (!includeExpired) {
161
- sql += ` AND (expires_at IS NULL OR expires_at > datetime('now'))`;
162
- }
163
- sql += ' ORDER BY expires_at ASC LIMIT ?';
164
- params.push(limit);
165
- return db.prepare(sql).all(...params).map(rowToFact);
39
+ return getStorage().repositories.facts.listTemporalFacts(t, options);
166
40
  }
167
41
  export async function searchFactsFts(t, query, limit = 20) {
168
- ensureFactsFts(t);
169
- const db = getDb(t, 'timeline');
170
- const sanitized = sanitizeFtsQuery(query);
171
- if (!sanitized)
172
- return [];
173
- try {
174
- const rowids = db.prepare(`SELECT rowid FROM facts_fts WHERE facts_fts MATCH ? LIMIT ?`).all(sanitized, limit);
175
- if (rowids.length === 0)
176
- return [];
177
- const placeholders = rowids.map(() => '?').join(',');
178
- return db.prepare(`SELECT * FROM facts WHERE id IN (${placeholders})`).all(...rowids.map(r => r.rowid)).map(rowToFact);
179
- }
180
- catch {
181
- return [];
182
- }
42
+ return getStorage().repositories.facts.searchFactsFts(t, query, limit);
183
43
  }
184
44
  //# sourceMappingURL=fact-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fact-store.js","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fact-store.js","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAe;IACpD,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc;IACrD,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,CAAgB;IACrD,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,IAAqF;IAErF,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,CAAgB,EAChB,MAAc,EACd,cAAsB,iBAAiB;IAEvC,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAgB,EAAE,MAAc;IAClE,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAgB,EAAE,MAAc;IAChE,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,MAAc,EACd,UAA6E,EAAE;IAE/E,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,SAAiB,EACjB,SAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAgB;IAC/C,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,UAA8F,EAAE;IAEhG,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,UAAwD,EAAE;IAE1D,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAgB,EAChB,KAAa,EACb,QAAgB,EAAE;IAElB,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC"}