@kybernesis/brain-core 0.5.0 → 0.6.1

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 (62) hide show
  1. package/dist/entity-graph.d.ts +1 -1
  2. package/dist/entity-graph.js +28 -28
  3. package/dist/entity-graph.js.map +1 -1
  4. package/dist/fact-retrieval.d.ts.map +1 -1
  5. package/dist/fact-retrieval.js +45 -116
  6. package/dist/fact-retrieval.js.map +1 -1
  7. package/dist/fact-store.d.ts +2 -2
  8. package/dist/fact-store.js +12 -12
  9. package/dist/fact-store.js.map +1 -1
  10. package/dist/hybrid-search.d.ts +6 -1
  11. package/dist/hybrid-search.d.ts.map +1 -1
  12. package/dist/hybrid-search.js +47 -97
  13. package/dist/hybrid-search.js.map +1 -1
  14. package/dist/ops.js +4 -4
  15. package/dist/ops.js.map +1 -1
  16. package/dist/sleep/db.d.ts +12 -12
  17. package/dist/sleep/db.d.ts.map +1 -1
  18. package/dist/sleep/db.js +12 -110
  19. package/dist/sleep/db.js.map +1 -1
  20. package/dist/sleep/index.d.ts.map +1 -1
  21. package/dist/sleep/index.js +29 -45
  22. package/dist/sleep/index.js.map +1 -1
  23. package/dist/sleep/steps/consolidate.d.ts.map +1 -1
  24. package/dist/sleep/steps/consolidate.js +5 -36
  25. package/dist/sleep/steps/consolidate.js.map +1 -1
  26. package/dist/sleep/steps/decay.d.ts.map +1 -1
  27. package/dist/sleep/steps/decay.js +12 -41
  28. package/dist/sleep/steps/decay.js.map +1 -1
  29. package/dist/sleep/steps/entity-hygiene.d.ts.map +1 -1
  30. package/dist/sleep/steps/entity-hygiene.js +22 -64
  31. package/dist/sleep/steps/entity-hygiene.js.map +1 -1
  32. package/dist/sleep/steps/link.d.ts.map +1 -1
  33. package/dist/sleep/steps/link.js +18 -36
  34. package/dist/sleep/steps/link.js.map +1 -1
  35. package/dist/sleep/steps/observe.d.ts.map +1 -1
  36. package/dist/sleep/steps/observe.js +5 -28
  37. package/dist/sleep/steps/observe.js.map +1 -1
  38. package/dist/sleep/steps/reasoning.d.ts.map +1 -1
  39. package/dist/sleep/steps/reasoning.js +3 -9
  40. package/dist/sleep/steps/reasoning.js.map +1 -1
  41. package/dist/sleep/steps/summarize.d.ts.map +1 -1
  42. package/dist/sleep/steps/summarize.js +21 -53
  43. package/dist/sleep/steps/summarize.js.map +1 -1
  44. package/dist/sleep/steps/tag.d.ts.map +1 -1
  45. package/dist/sleep/steps/tag.js +3 -15
  46. package/dist/sleep/steps/tag.js.map +1 -1
  47. package/dist/sleep/steps/tier.d.ts.map +1 -1
  48. package/dist/sleep/steps/tier.js +14 -33
  49. package/dist/sleep/steps/tier.js.map +1 -1
  50. package/dist/sleep/utils/checkpoint.d.ts +8 -4
  51. package/dist/sleep/utils/checkpoint.d.ts.map +1 -1
  52. package/dist/sleep/utils/checkpoint.js +10 -13
  53. package/dist/sleep/utils/checkpoint.js.map +1 -1
  54. package/dist/timeline.d.ts +1 -1
  55. package/dist/timeline.js +11 -11
  56. package/dist/timeline.js.map +1 -1
  57. package/dist/user-profile.js +2 -2
  58. package/dist/user-profile.js.map +1 -1
  59. package/dist/vectors.d.ts +1 -1
  60. package/dist/vectors.js +4 -4
  61. package/dist/vectors.js.map +1 -1
  62. package/package.json +6 -6
@@ -16,7 +16,7 @@
16
16
  * Per-step results are recorded in sleep_telemetry. The run lifecycle
17
17
  * (sleep_runs row, checkpoint, completion/failure status) is managed here.
18
18
  */
19
- import { ensureSleepSchema } from './db.js';
19
+ import { getStorage } from '../storage.js';
20
20
  import { saveCheckpoint } from './utils/checkpoint.js';
21
21
  import { runDecayStep } from './steps/decay.js';
22
22
  import { runTagStep } from './steps/tag.js';
@@ -29,26 +29,21 @@ import { runProfileStep } from './steps/profile.js';
29
29
  import {} from './steps/reasoning.js';
30
30
  import { runEntityHygieneStep } from './steps/entity-hygiene.js';
31
31
  import { DEFAULT_CONFIG } from './config.js';
32
- function recordTelemetry(db, runId, step, result) {
33
- try {
34
- const metadata = { count: result.count };
35
- if (result.processed !== undefined)
36
- metadata.processed = result.processed;
37
- if (result.errors)
38
- metadata.errors = result.errors;
39
- db.prepare(`
40
- INSERT INTO sleep_telemetry (run_id, step, event_type, count, duration_ms, metadata)
41
- VALUES (?, ?, 'step_completed', ?, ?, ?)
42
- `).run(runId, step, result.count, result.durationMs, JSON.stringify(metadata));
43
- }
44
- catch { /* telemetry must never break the cycle */ }
32
+ async function recordTelemetry(t, runId, step, result) {
33
+ const metadata = { count: result.count };
34
+ if (result.processed !== undefined)
35
+ metadata.processed = result.processed;
36
+ if (result.errors)
37
+ metadata.errors = result.errors;
38
+ // The impl wraps the INSERT in try/catch — telemetry must never break the cycle.
39
+ await getStorage().repositories.sleep.recordTelemetry(t, runId, step, 'step_completed', result.count, result.durationMs, JSON.stringify(metadata));
45
40
  }
46
- async function runStep(db, runId, step, fn) {
47
- saveCheckpoint(db, runId, step);
41
+ async function runStep(t, runId, step, fn) {
42
+ await saveCheckpoint(t, runId, step);
48
43
  const start = Date.now();
49
44
  const result = await fn();
50
45
  const durationMs = Date.now() - start;
51
- recordTelemetry(db, runId, step, { ...result, durationMs });
46
+ await recordTelemetry(t, runId, step, { ...result, durationMs });
52
47
  return { ...result, durationMs };
53
48
  }
54
49
  /**
@@ -74,51 +69,40 @@ export class SleepAlreadyRunningError extends Error {
74
69
  */
75
70
  export async function runSleepCycleNow(t, configOverride = {}) {
76
71
  const cfg = { ...DEFAULT_CONFIG, ...configOverride };
77
- const db = ensureSleepSchema(t);
72
+ const sleep = getStorage().repositories.sleep;
73
+ await sleep.ensureSchema(t);
78
74
  const startTime = Date.now();
79
75
  // Concurrency guard. Without this, a daemon restart that races a
80
76
  // scheduled trigger spawns two cycles in parallel — page-level SQLite
81
77
  // serialization prevents corruption, but logical conflicts (duplicate
82
78
  // fact extraction, double decay, duplicate tier transitions) are silent.
83
79
  // recoverStaleSleepRuns only catches >2h-old rows.
84
- const inFlight = db.prepare(`SELECT id FROM sleep_runs WHERE status = 'running' LIMIT 1`).get();
85
- if (inFlight) {
86
- throw new SleepAlreadyRunningError(t.slug, inFlight.id);
80
+ const inFlightId = await sleep.findRunningRun(t);
81
+ if (inFlightId !== null) {
82
+ throw new SleepAlreadyRunningError(t.slug, inFlightId);
87
83
  }
88
- const runResult = db.prepare(`
89
- INSERT INTO sleep_runs (started_at, status)
90
- VALUES (datetime('now'), 'running')
91
- `).run();
92
- const runId = runResult.lastInsertRowid;
84
+ const runId = await sleep.startRun(t);
93
85
  try {
94
- const decay = await runStep(db, runId, 'decay', () => runDecayStep(t, cfg));
95
- const tag = await runStep(db, runId, 'tag', () => runTagStep(t, cfg));
96
- const consolidate = await runStep(db, runId, 'consolidate', () => runConsolidateStep(t, cfg));
97
- const link = await runStep(db, runId, 'link', () => runLinkStep(t, cfg));
98
- const tier = await runStep(db, runId, 'tier', () => runTierStep(t, cfg));
99
- const summarize = await runStep(db, runId, 'summarize', () => runSummarizeStep(t, cfg));
100
- const observe = await runStep(db, runId, 'observe', () => runObserveStep(t, cfg));
101
- const profile = await runStep(db, runId, 'profile', () => runProfileStep(t, cfg));
102
- const entityHygiene = await runStep(db, runId, 'entity-hygiene', () => runEntityHygieneStep(t, cfg));
86
+ const decay = await runStep(t, runId, 'decay', () => runDecayStep(t, cfg));
87
+ const tag = await runStep(t, runId, 'tag', () => runTagStep(t, cfg));
88
+ const consolidate = await runStep(t, runId, 'consolidate', () => runConsolidateStep(t, cfg));
89
+ const link = await runStep(t, runId, 'link', () => runLinkStep(t, cfg));
90
+ const tier = await runStep(t, runId, 'tier', () => runTierStep(t, cfg));
91
+ const summarize = await runStep(t, runId, 'summarize', () => runSummarizeStep(t, cfg));
92
+ const observe = await runStep(t, runId, 'observe', () => runObserveStep(t, cfg));
93
+ const profile = await runStep(t, runId, 'profile', () => runProfileStep(t, cfg));
94
+ const entityHygiene = await runStep(t, runId, 'entity-hygiene', () => runEntityHygieneStep(t, cfg));
103
95
  const totalDurationMs = Date.now() - startTime;
104
96
  const metrics = {
105
97
  decay, tag, consolidate, link, tier, summarize, observe,
106
98
  profile, entityHygiene, totalDurationMs,
107
99
  };
108
- db.prepare(`
109
- UPDATE sleep_runs
110
- SET status = 'completed', completed_at = datetime('now'), metrics = ?
111
- WHERE id = ?
112
- `).run(JSON.stringify(metrics), runId);
100
+ await sleep.completeRun(t, runId, JSON.stringify(metrics));
113
101
  return metrics;
114
102
  }
115
103
  catch (err) {
116
104
  const errorMessage = err instanceof Error ? err.message : String(err);
117
- db.prepare(`
118
- UPDATE sleep_runs
119
- SET status = 'failed', completed_at = datetime('now'), error_message = ?
120
- WHERE id = ?
121
- `).run(errorMessage, runId);
105
+ await sleep.failRun(t, runId, errorMessage);
122
106
  throw err;
123
107
  }
124
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/consolidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CACtC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAwE5B"}
1
+ {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/consolidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CACtC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAmC5B"}
@@ -8,35 +8,16 @@
8
8
  * Threshold: HAVING COUNT(*) >= consolidationTitleThreshold (default 3).
9
9
  * Skips pinned items.
10
10
  */
11
- import { getDb } from '@kybernesis/brain-storage-sqlite';
11
+ import { getStorage } from '../../storage.js';
12
12
  export async function runConsolidateStep(t, config) {
13
13
  if (!config.enableConsolidation)
14
14
  return { count: 0, processed: 0 };
15
- const db = getDb(t, 'timeline');
15
+ const maint = getStorage().domain.sleep;
16
16
  let consolidated = 0;
17
17
  let processed = 0;
18
18
  const errors = [];
19
19
  try {
20
- const groups = db.prepare(`
21
- SELECT
22
- TRIM(REPLACE(
23
- CASE WHEN INSTR(title, '] ') > 0
24
- THEN SUBSTR(title, INSTR(title, '] ') + 2)
25
- ELSE title
26
- END,
27
- '...', ''
28
- )) as normalized_title,
29
- COUNT(*) as cnt,
30
- GROUP_CONCAT(id) as ids,
31
- MIN(timestamp) as first_ts,
32
- MAX(timestamp) as last_ts
33
- FROM timeline_events
34
- WHERE (is_pinned IS NULL OR is_pinned = 0)
35
- GROUP BY normalized_title
36
- HAVING COUNT(*) >= ?
37
- ORDER BY cnt DESC
38
- LIMIT ?
39
- `).all(config.consolidationTitleThreshold, config.batchSize || 50);
20
+ const groups = await maint.fetchConsolidationGroups(t, config.consolidationTitleThreshold, config.batchSize || 50);
40
21
  for (const group of groups) {
41
22
  processed++;
42
23
  const ids = group.ids.split(',').map(Number);
@@ -45,20 +26,8 @@ export async function runConsolidateStep(t, config) {
45
26
  try {
46
27
  const keepId = ids[ids.length - 1];
47
28
  const removeIds = ids.slice(0, -1);
48
- const placeholders = removeIds.map(() => '?').join(',');
49
- const totalAccess = db.prepare(`
50
- SELECT COALESCE(SUM(COALESCE(access_count, 0)), 0) as total
51
- FROM timeline_events WHERE id IN (${placeholders})
52
- `).get(...removeIds);
53
- db.prepare(`
54
- UPDATE timeline_events
55
- SET access_count = COALESCE(access_count, 0) + ?,
56
- last_accessed = datetime('now')
57
- WHERE id = ?
58
- `).run(totalAccess.total + removeIds.length, keepId);
59
- db.prepare(`
60
- DELETE FROM timeline_events WHERE id IN (${placeholders})
61
- `).run(...removeIds);
29
+ const totalAccess = await maint.sumAccessCounts(t, removeIds);
30
+ await maint.consolidateInto(t, keepId, removeIds, totalAccess + removeIds.length);
62
31
  consolidated += removeIds.length;
63
32
  }
64
33
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../../src/sleep/steps/consolidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AASzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,MAAmB;IAEnB,IAAI,CAAC,MAAM,CAAC,mBAAmB;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAEnE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;KAmBzB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAM/D,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAE7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAExD,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;8CAEO,YAAY;SACjD,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAsB,CAAC;gBAE1C,EAAE,CAAC,OAAO,CAAC;;;;;SAKV,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAErD,EAAE,CAAC,OAAO,CAAC;qDACkC,YAAY;SACxD,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBAErB,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,gBAAgB,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../../src/sleep/steps/consolidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,MAAmB;IAEnB,IAAI,CAAC,MAAM,CAAC,mBAAmB;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAEnE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACxC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,wBAAwB,CACjD,CAAC,EAAE,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAC9D,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAE7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEnC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC9D,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAElF,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,gBAAgB,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAWD,wBAAsB,YAAY,CAChC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAuHtB"}
1
+ {"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAWD,wBAAsB,YAAY,CAChC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAgFtB"}
@@ -8,7 +8,7 @@
8
8
  * 3. Weekly fact-confidence decay: confidence *= 0.95 (floor 0.15) for
9
9
  * old ai-extraction/chat facts with no reinforcement
10
10
  */
11
- import { getDb } from '@kybernesis/brain-storage-sqlite';
11
+ import { getStorage } from '../../storage.js';
12
12
  import { ensureFactsTable } from '../../fact-store.js';
13
13
  function isRepetitiveContent(title) {
14
14
  const REPETITIVE_PATTERNS = [
@@ -19,7 +19,6 @@ function isRepetitiveContent(title) {
19
19
  return REPETITIVE_PATTERNS.some(p => p.test(title));
20
20
  }
21
21
  export async function runDecayStep(t, config) {
22
- const db = getDb(t, 'timeline');
23
22
  const now = Date.now();
24
23
  let updated = 0;
25
24
  let processed = 0;
@@ -27,14 +26,9 @@ export async function runDecayStep(t, config) {
27
26
  // ── Subjob 2: Sweep expired temporal facts ──────────────────────────
28
27
  try {
29
28
  await ensureFactsTable(t);
30
- const expired = db.prepare(`
31
- UPDATE facts SET is_latest = 0, updated_at = datetime('now')
32
- WHERE expires_at IS NOT NULL
33
- AND expires_at < datetime('now')
34
- AND is_latest = 1
35
- `).run();
36
- if (expired.changes > 0) {
37
- console.info('[brain-core/sleep/decay] expired temporal facts', { count: expired.changes });
29
+ const expiredCount = await getStorage().domain.sleep.expireTemporalFacts(t);
30
+ if (expiredCount > 0) {
31
+ console.info('[brain-core/sleep/decay] expired temporal facts', { count: expiredCount });
38
32
  }
39
33
  }
40
34
  catch (err) {
@@ -42,13 +36,7 @@ export async function runDecayStep(t, config) {
42
36
  }
43
37
  // ── Subjob 1: Memory decay on timeline_events ───────────────────────
44
38
  try {
45
- const items = db.prepare(`
46
- SELECT id, title, source_path, timestamp, priority, decay_score, access_count, is_pinned
47
- FROM timeline_events
48
- WHERE tier != 'archive' OR tier IS NULL
49
- ORDER BY priority DESC
50
- LIMIT ?
51
- `).all(config.batchSize * 2);
39
+ const items = await getStorage().repositories.sleep.fetchDecayCandidates(t, config.batchSize * 2);
52
40
  processed = items.length;
53
41
  for (const item of items) {
54
42
  try {
@@ -70,11 +58,7 @@ export async function runDecayStep(t, config) {
70
58
  const decayChanged = Math.abs(newDecay - (item.decay_score || 0)) > 0.001;
71
59
  const priorityChanged = Math.abs(newPriority - (item.priority ?? 0.5)) > 0.001;
72
60
  if (decayChanged || priorityChanged) {
73
- db.prepare(`
74
- UPDATE timeline_events
75
- SET decay_score = ?, priority = ?
76
- WHERE id = ?
77
- `).run(newDecay, newPriority, item.id);
61
+ await getStorage().repositories.sleep.updateEventDecay(t, item.id, newDecay, newPriority);
78
62
  updated++;
79
63
  }
80
64
  }
@@ -90,26 +74,13 @@ export async function runDecayStep(t, config) {
90
74
  // ── Subjob 3: Weekly fact-confidence decay ──────────────────────────
91
75
  try {
92
76
  await ensureFactsTable(t);
93
- const lastDecay = db.prepare(`
94
- SELECT MAX(updated_at) as last_decay FROM facts
95
- WHERE updated_at IS NOT NULL AND confidence < 0.85
96
- `).get();
97
- const shouldDecayFacts = !lastDecay?.last_decay ||
98
- (Date.now() - new Date(lastDecay.last_decay).getTime()) > 7 * 24 * 60 * 60 * 1000;
77
+ const lastDecay = await getStorage().domain.sleep.lastFactConfidenceDecayAt(t);
78
+ const shouldDecayFacts = !lastDecay ||
79
+ (Date.now() - new Date(lastDecay).getTime()) > 7 * 24 * 60 * 60 * 1000;
99
80
  if (shouldDecayFacts) {
100
- const factDecay = db.prepare(`
101
- UPDATE facts
102
- SET confidence = MAX(confidence * 0.95, 0.15),
103
- updated_at = datetime('now')
104
- WHERE source_type IN ('ai-extraction', 'chat')
105
- AND created_at < datetime('now', '-90 days')
106
- AND last_reinforced_at IS NULL
107
- AND COALESCE(is_retracted, 0) = 0
108
- AND confidence > 0.15
109
- AND is_latest = 1
110
- `).run();
111
- if (factDecay.changes > 0) {
112
- console.info('[brain-core/sleep/decay] fact-confidence decayed', { count: factDecay.changes });
81
+ const changed = await getStorage().domain.sleep.decayFactConfidence(t);
82
+ if (changed > 0) {
83
+ console.info('[brain-core/sleep/decay] fact-confidence decayed', { count: changed });
113
84
  }
114
85
  }
115
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decay.js","sourceRoot":"","sources":["../../../src/sleep/steps/decay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decay.js","sourceRoot":"","sources":["../../../src/sleep/steps/decay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-hygiene.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/entity-hygiene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AASjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAwVD,wBAAsB,oBAAoB,CACxC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAsK9B"}
1
+ {"version":3,"file":"entity-hygiene.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/entity-hygiene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AASjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAuUD,wBAAsB,oBAAoB,CACxC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAmI9B"}
@@ -14,7 +14,7 @@
14
14
  * pruneMinAgeDays AND is_pinned IS NULL/0 AND no entity_relations.
15
15
  * A v1 port dropped filter(s) and over-pruned the entity graph.
16
16
  */
17
- import { getDb } from '@kybernesis/brain-storage-sqlite';
17
+ import { getStorage } from '../../storage.js';
18
18
  import { callClaude } from '../../claude-call.js';
19
19
  import { mergeEntities, deleteEntity, getEntityProfile, saveEntityProfile, } from '../../entity-graph.js';
20
20
  import { getFactsForEntity } from '../../fact-store.js';
@@ -73,28 +73,18 @@ function areNicknames(a, b) {
73
73
  return true;
74
74
  return false;
75
75
  }
76
- function buildEntityProfile(db, entity) {
77
- const mentions = db.prepare(`
78
- SELECT context FROM entity_mentions
79
- WHERE entity_id = ? AND context IS NOT NULL AND context != ''
80
- ORDER BY timestamp DESC, context ASC LIMIT 5
81
- `).all(entity.id);
82
- const related = db.prepare(`
83
- SELECT DISTINCT e.name FROM entity_relations r
84
- JOIN entities e ON (
85
- (r.source_id = ? AND e.id = r.target_id) OR
86
- (r.target_id = ? AND e.id = r.source_id)
87
- )
88
- ORDER BY r.strength DESC, e.name ASC LIMIT 10
89
- `).all(entity.id, entity.id);
76
+ async function buildEntityProfile(t, entity) {
77
+ // SQL (mention contexts + related names) behind the seam; the slice(0,200)
78
+ // presentation trim stays here.
79
+ const { contexts, related } = await getStorage().domain.sleep.fetchEntityProfile(t, entity.id);
90
80
  return {
91
81
  id: entity.id, name: entity.name, type: entity.type,
92
82
  mentions: entity.mention_count,
93
- sampleContexts: mentions.map(m => m.context.slice(0, 200)),
94
- relatedEntities: related.map(r => r.name),
83
+ sampleContexts: contexts.map(c => c.slice(0, 200)),
84
+ relatedEntities: related,
95
85
  };
96
86
  }
97
- function buildSameNameCandidates(db, groups) {
87
+ async function buildSameNameCandidates(t, groups) {
98
88
  const candidates = [];
99
89
  for (const group of groups) {
100
90
  const ids = group.ids.split(',').map(Number);
@@ -108,8 +98,8 @@ function buildSameNameCandidates(db, groups) {
108
98
  for (let i = 0; i < ids.length; i++) {
109
99
  if (i === keepIdx)
110
100
  continue;
111
- const keepProfile = buildEntityProfile(db, { id: ids[keepIdx], name: names[keepIdx], type: types[keepIdx], mention_count: mentions[keepIdx] });
112
- const removeProfile = buildEntityProfile(db, { id: ids[i], name: names[i], type: types[i], mention_count: mentions[i] });
101
+ const keepProfile = await buildEntityProfile(t, { id: ids[keepIdx], name: names[keepIdx], type: types[keepIdx], mention_count: mentions[keepIdx] });
102
+ const removeProfile = await buildEntityProfile(t, { id: ids[i], name: names[i], type: types[i], mention_count: mentions[i] });
113
103
  candidates.push({ keep: keepProfile, remove: removeProfile, matchReason: 'same-name-different-type' });
114
104
  }
115
105
  }
@@ -168,11 +158,8 @@ function detectVariantMatch(nameA, nameB, typeA, typeB) {
168
158
  }
169
159
  return null;
170
160
  }
171
- function findVariantCandidates(db) {
172
- const entities = db.prepare(`
173
- SELECT id, name, normalized_name, type, mention_count
174
- FROM entities ORDER BY mention_count DESC, normalized_name ASC, type ASC LIMIT 500
175
- `).all();
161
+ async function findVariantCandidates(t) {
162
+ const entities = await getStorage().domain.sleep.fetchVariantEntities(t, 500);
176
163
  const candidates = [];
177
164
  const seen = new Set();
178
165
  const MAX_CANDIDATES = 50;
@@ -194,8 +181,8 @@ function findVariantCandidates(db) {
194
181
  seen.add(key);
195
182
  const [keep, remove] = a.mention_count >= b.mention_count ? [a, b] : [b, a];
196
183
  candidates.push({
197
- keep: buildEntityProfile(db, keep),
198
- remove: buildEntityProfile(db, remove),
184
+ keep: await buildEntityProfile(t, keep),
185
+ remove: await buildEntityProfile(t, remove),
199
186
  matchReason,
200
187
  });
201
188
  }
@@ -325,20 +312,12 @@ export async function runEntityHygieneStep(t, config) {
325
312
  let pruned = 0;
326
313
  let assessed = 0;
327
314
  let totalActions = 0;
328
- const db = getDb(t, 'entityGraph');
315
+ const maint = getStorage().domain.sleep;
329
316
  try {
330
317
  // Phase 0: Clean orphans
331
- db.prepare(`
332
- DELETE FROM entity_relations WHERE
333
- source_id NOT IN (SELECT id FROM entities) OR
334
- target_id NOT IN (SELECT id FROM entities)
335
- `).run();
336
- db.prepare(`
337
- DELETE FROM entity_mentions WHERE
338
- entity_id NOT IN (SELECT id FROM entities)
339
- `).run();
318
+ await maint.cleanOrphans(t);
340
319
  // Phase 1: Pattern-matched artifacts
341
- const allEntities = db.prepare('SELECT id, name, type, mention_count FROM entities').all();
320
+ const allEntities = await maint.fetchAllEntities(t);
342
321
  for (const entity of allEntities) {
343
322
  if (totalActions >= config.maxMergesPerRun)
344
323
  break;
@@ -357,18 +336,9 @@ export async function runEntityHygieneStep(t, config) {
357
336
  return buildResult(artifactsCleaned, merged, pruned, assessed, errors);
358
337
  }
359
338
  // Phase 2: Same-name-different-type
360
- const sameNameGroups = db.prepare(`
361
- SELECT normalized_name,
362
- GROUP_CONCAT(id ORDER BY type) as ids,
363
- GROUP_CONCAT(type ORDER BY type) as types,
364
- GROUP_CONCAT(name ORDER BY type) as names,
365
- GROUP_CONCAT(mention_count ORDER BY type) as mention_counts
366
- FROM entities
367
- GROUP BY normalized_name
368
- HAVING COUNT(DISTINCT type) > 1
369
- `).all();
339
+ const sameNameGroups = await maint.fetchSameNameGroups(t);
370
340
  if (sameNameGroups.length > 0) {
371
- const candidates = buildSameNameCandidates(db, sameNameGroups);
341
+ const candidates = await buildSameNameCandidates(t, sameNameGroups);
372
342
  const batch = candidates.slice(0, config.maxMergesPerRun - totalActions);
373
343
  if (batch.length > 0) {
374
344
  const { mergeCount, assessCount, errs } = await assessAndMerge(t, batch, 0.6, 'same-name');
@@ -382,7 +352,7 @@ export async function runEntityHygieneStep(t, config) {
382
352
  return buildResult(artifactsCleaned, merged, pruned, assessed, errors);
383
353
  }
384
354
  // Phase 3: Variant names
385
- const variantCandidates = findVariantCandidates(db);
355
+ const variantCandidates = await findVariantCandidates(t);
386
356
  if (variantCandidates.length > 0) {
387
357
  const batch = variantCandidates.slice(0, config.maxMergesPerRun - totalActions);
388
358
  if (batch.length > 0) {
@@ -401,15 +371,7 @@ export async function runEntityHygieneStep(t, config) {
401
371
  // 4. is_pinned IS NULL OR is_pinned = 0
402
372
  // 5. NOT EXISTS in entity_relations
403
373
  const pruneDate = new Date(Date.now() - config.pruneMinAgeDays * 24 * 60 * 60 * 1000).toISOString();
404
- const noisyEntities = db.prepare(`
405
- SELECT e.id, e.name, e.type, e.mention_count, e.last_seen, e.is_pinned
406
- FROM entities e
407
- WHERE e.mention_count <= 1
408
- AND e.type = 'topic'
409
- AND e.last_seen < ?
410
- AND (e.is_pinned IS NULL OR e.is_pinned = 0)
411
- AND NOT EXISTS (SELECT 1 FROM entity_relations WHERE source_id = e.id OR target_id = e.id)
412
- `).all(pruneDate);
374
+ const noisyEntities = await maint.fetchPruneCandidates(t, pruneDate);
413
375
  for (const entity of noisyEntities) {
414
376
  if (totalActions >= config.maxMergesPerRun)
415
377
  break;
@@ -428,11 +390,7 @@ export async function runEntityHygieneStep(t, config) {
428
390
  }
429
391
  // Phase 5: Narrative profiles for top entities
430
392
  try {
431
- const profileCandidates = db.prepare(`
432
- SELECT id, name, type FROM entities
433
- WHERE mention_count >= 3
434
- ORDER BY mention_count DESC, name ASC, type ASC LIMIT 10
435
- `).all();
393
+ const profileCandidates = await getStorage().domain.sleep.fetchProfileCandidates(t, 10);
436
394
  let profilesGenerated = 0;
437
395
  const maxProfiles = 5;
438
396
  for (const entity of profileCandidates) {
@@ -1 +1 @@
1
- {"version":3,"file":"entity-hygiene.js","sourceRoot":"","sources":["../../../src/sleep/steps/entity-hygiene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-hygiene.js","sourceRoot":"","sources":["../../../src/sleep/steps/entity-hygiene.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AA4CD,wBAAsB,WAAW,CAC/B,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CA4LrB"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/sleep/steps/link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AA4CD,wBAAsB,WAAW,CAC/B,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CA4JrB"}