@kybernesis/brain-core 0.5.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 (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 +18 -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
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Entity graph — public API. Storage now lives behind the seam
3
- * (getStorage().entities); these are thin, signature-stable delegators plus the
3
+ * (getStorage().repositories.entities); these are thin, signature-stable delegators plus the
4
4
  * `linkEntitiesFromConversation` orchestrator that composes findOrCreateEntity +
5
5
  * addEntityMention (Stage 1, G3). The two internal transactions (mergeEntities,
6
6
  * deleteEntity) and the historical merge-edge-relocation fix live in the impl.
@@ -1,28 +1,28 @@
1
1
  /**
2
2
  * Entity graph — public API. Storage now lives behind the seam
3
- * (getStorage().entities); these are thin, signature-stable delegators plus the
3
+ * (getStorage().repositories.entities); these are thin, signature-stable delegators plus the
4
4
  * `linkEntitiesFromConversation` orchestrator that composes findOrCreateEntity +
5
5
  * addEntityMention (Stage 1, G3). The two internal transactions (mergeEntities,
6
6
  * deleteEntity) and the historical merge-edge-relocation fix live in the impl.
7
7
  */
8
8
  import { getStorage } from './storage.js';
9
9
  export async function findOrCreateEntity(t, name, type, timestamp) {
10
- return getStorage().entities.findOrCreateEntity(t, name, type, timestamp);
10
+ return getStorage().repositories.entities.findOrCreateEntity(t, name, type, timestamp);
11
11
  }
12
12
  export async function addEntityAlias(t, entityId, alias) {
13
- return getStorage().entities.addEntityAlias(t, entityId, alias);
13
+ return getStorage().repositories.entities.addEntityAlias(t, entityId, alias);
14
14
  }
15
15
  export async function addEntityMention(t, entityId, conversationId, sourcePath, context, timestamp, sourceType = 'chat', confidence = 0.85) {
16
- return getStorage().entities.addEntityMention(t, entityId, conversationId, sourcePath, context, timestamp, sourceType, confidence);
16
+ return getStorage().repositories.entities.addEntityMention(t, entityId, conversationId, sourcePath, context, timestamp, sourceType, confidence);
17
17
  }
18
18
  export async function linkEntities(t, sourceId, targetId, relationship = 'co-occurred') {
19
- return getStorage().entities.linkEntities(t, sourceId, targetId, relationship);
19
+ return getStorage().repositories.entities.linkEntities(t, sourceId, targetId, relationship);
20
20
  }
21
21
  export async function linkEntitiesWithType(t, sourceId, targetId, options) {
22
- return getStorage().entities.linkEntitiesWithType(t, sourceId, targetId, options);
22
+ return getStorage().repositories.entities.linkEntitiesWithType(t, sourceId, targetId, options);
23
23
  }
24
24
  export async function getTypedRelationships(t, entityId) {
25
- return getStorage().entities.getTypedRelationships(t, entityId);
25
+ return getStorage().repositories.entities.getTypedRelationships(t, entityId);
26
26
  }
27
27
  /** Orchestrator: compose findOrCreateEntity + addEntityMention per entity. */
28
28
  export async function linkEntitiesFromConversation(t, conversationId, sourcePath, timestamp, entities) {
@@ -34,66 +34,66 @@ export async function linkEntitiesFromConversation(t, conversationId, sourcePath
34
34
  }
35
35
  }
36
36
  export async function getEntityContext(t, nameOrId) {
37
- return getStorage().entities.getEntityContext(t, nameOrId);
37
+ return getStorage().repositories.entities.getEntityContext(t, nameOrId);
38
38
  }
39
39
  export async function searchEntities(t, query, options = {}) {
40
- return getStorage().entities.searchEntities(t, query, options);
40
+ return getStorage().repositories.entities.searchEntities(t, query, options);
41
41
  }
42
42
  export async function getRecentEntities(t, limit = 20) {
43
- return getStorage().entities.getRecentEntities(t, limit);
43
+ return getStorage().repositories.entities.getRecentEntities(t, limit);
44
44
  }
45
45
  export async function getMostMentionedEntities(t, options = {}) {
46
- return getStorage().entities.getMostMentionedEntities(t, options);
46
+ return getStorage().repositories.entities.getMostMentionedEntities(t, options);
47
47
  }
48
48
  export async function getEntityGraphStats(t) {
49
- return getStorage().entities.stats(t);
49
+ return getStorage().repositories.entities.stats(t);
50
50
  }
51
51
  export async function detectEntitiesInQuery(t, query) {
52
- return getStorage().entities.detectEntitiesInQuery(t, query);
52
+ return getStorage().repositories.entities.detectEntitiesInQuery(t, query);
53
53
  }
54
54
  export async function mergeEntities(t, keepId, removeId, reason, confidence, aiRationale, mergedBy) {
55
- return getStorage().entities.mergeEntities(t, keepId, removeId, reason, confidence, aiRationale, mergedBy);
55
+ return getStorage().repositories.entities.mergeEntities(t, keepId, removeId, reason, confidence, aiRationale, mergedBy);
56
56
  }
57
57
  export async function deleteEntity(t, entityId, reason, mergedBy) {
58
- return getStorage().entities.deleteEntity(t, entityId, reason, mergedBy);
58
+ return getStorage().repositories.entities.deleteEntity(t, entityId, reason, mergedBy);
59
59
  }
60
60
  export async function getEntityProfile(t, entityId) {
61
- return getStorage().entities.getEntityProfile(t, entityId);
61
+ return getStorage().repositories.entities.getEntityProfile(t, entityId);
62
62
  }
63
63
  export async function saveEntityProfile(t, entityId, profile, factCount) {
64
- return getStorage().entities.saveEntityProfile(t, entityId, profile, factCount);
64
+ return getStorage().repositories.entities.saveEntityProfile(t, entityId, profile, factCount);
65
65
  }
66
66
  export async function createContradiction(t, entityId, factAId, factBId, factA, factB, description) {
67
- return getStorage().entities.createContradiction(t, entityId, factAId, factBId, factA, factB, description);
67
+ return getStorage().repositories.entities.createContradiction(t, entityId, factAId, factBId, factA, factB, description);
68
68
  }
69
69
  export async function getOpenContradictions(t, entityId) {
70
- return getStorage().entities.getOpenContradictions(t, entityId);
70
+ return getStorage().repositories.entities.getOpenContradictions(t, entityId);
71
71
  }
72
72
  export async function resolveContradiction(t, contradictionId, resolvedBy) {
73
- return getStorage().entities.resolveContradiction(t, contradictionId, resolvedBy);
73
+ return getStorage().repositories.entities.resolveContradiction(t, contradictionId, resolvedBy);
74
74
  }
75
75
  export async function applyContradictions(t, entityId, factIds) {
76
- return getStorage().entities.applyContradictions(t, entityId, factIds);
76
+ return getStorage().repositories.entities.applyContradictions(t, entityId, factIds);
77
77
  }
78
78
  export async function saveEntityInsight(t, entityId, insightType, insight, reasoning, confidence, sourceEntityIds = [], expiresAt) {
79
- return getStorage().entities.saveEntityInsight(t, entityId, insightType, insight, reasoning, confidence, sourceEntityIds, expiresAt);
79
+ return getStorage().repositories.entities.saveEntityInsight(t, entityId, insightType, insight, reasoning, confidence, sourceEntityIds, expiresAt);
80
80
  }
81
81
  export async function getEntityInsights(t, entityId, minConfidence = 0.60) {
82
- return getStorage().entities.getEntityInsights(t, entityId, minConfidence);
82
+ return getStorage().repositories.entities.getEntityInsights(t, entityId, minConfidence);
83
83
  }
84
84
  export async function markInsightsStale(t, entityId) {
85
- return getStorage().entities.markInsightsStale(t, entityId);
85
+ return getStorage().repositories.entities.markInsightsStale(t, entityId);
86
86
  }
87
87
  export async function getEntitiesForReasoning(t, limit = 5, staleDays = 7, recencyDays = 14) {
88
- return getStorage().entities.getEntitiesForReasoning(t, limit, staleDays, recencyDays);
88
+ return getStorage().repositories.entities.getEntitiesForReasoning(t, limit, staleDays, recencyDays);
89
89
  }
90
90
  export async function markEntityReasoned(t, entityId) {
91
- return getStorage().entities.markEntityReasoned(t, entityId);
91
+ return getStorage().repositories.entities.markEntityReasoned(t, entityId);
92
92
  }
93
93
  export async function pinEntity(t, entityId, pinned = true) {
94
- return getStorage().entities.pinEntity(t, entityId, pinned);
94
+ return getStorage().repositories.entities.pinEntity(t, entityId, pinned);
95
95
  }
96
96
  export async function listPinned(t, type) {
97
- return getStorage().entities.listPinned(t, type);
97
+ return getStorage().repositories.entities.listPinned(t, type);
98
98
  }
99
99
  //# sourceMappingURL=entity-graph.js.map
@@ -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,10 +1,10 @@
1
1
  /**
2
2
  * Fact store — public API. Behaviour now lives behind the storage seam
3
- * (getStorage().facts); these are thin, signature-stable delegators so
3
+ * (getStorage().repositories.facts); these are thin, signature-stable delegators so
4
4
  * consumers and internal callers are unchanged (Stage 1, G1).
5
5
  */
6
6
  import type { TenantContext, FactCategory, Fact } from '@kybernesis/brain-contracts';
7
- export declare const VALID_CATEGORIES: Set<"biographical" | "preference" | "relationship" | "plan" | "event" | "temporal" | "opinion" | "general">;
7
+ export declare const VALID_CATEGORIES: Set<"biographical" | "preference" | "event" | "relationship" | "temporal" | "opinion" | "plan" | "general">;
8
8
  export declare function ensureFactsTable(t: TenantContext): Promise<void>;
9
9
  export declare function storeFact(t: TenantContext, fact: Omit<Fact, 'id' | 'created_at' | 'is_latest' | 'access_count' | 'is_retracted'>): Promise<number>;
10
10
  export declare function retractFact(t: TenantContext, factId: number, retractedBy?: string): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Fact store — public API. Behaviour now lives behind the storage seam
3
- * (getStorage().facts); these are thin, signature-stable delegators so
3
+ * (getStorage().repositories.facts); these are thin, signature-stable delegators so
4
4
  * consumers and internal callers are unchanged (Stage 1, G1).
5
5
  */
6
6
  import { getStorage } from './storage.js';
@@ -9,36 +9,36 @@ export const VALID_CATEGORIES = new Set([
9
9
  'temporal', 'opinion', 'plan', 'general',
10
10
  ]);
11
11
  export async function ensureFactsTable(t) {
12
- return getStorage().facts.ensureFactsTable(t);
12
+ return getStorage().repositories.facts.ensureFactsTable(t);
13
13
  }
14
14
  export async function storeFact(t, fact) {
15
- return getStorage().facts.storeFact(t, fact);
15
+ return getStorage().repositories.facts.storeFact(t, fact);
16
16
  }
17
17
  export async function retractFact(t, factId, retractedBy = 'user-correction') {
18
- return getStorage().facts.retractFact(t, factId, retractedBy);
18
+ return getStorage().repositories.facts.retractFact(t, factId, retractedBy);
19
19
  }
20
20
  export async function reinforceFact(t, factId) {
21
- return getStorage().facts.reinforceFact(t, factId);
21
+ return getStorage().repositories.facts.reinforceFact(t, factId);
22
22
  }
23
23
  export async function getFactById(t, factId) {
24
- return getStorage().facts.getFactById(t, factId);
24
+ return getStorage().repositories.facts.getFactById(t, factId);
25
25
  }
26
26
  export async function getFactsForEntity(t, entity, options = {}) {
27
- return getStorage().facts.getFactsForEntity(t, entity, options);
27
+ return getStorage().repositories.facts.getFactsForEntity(t, entity, options);
28
28
  }
29
29
  export async function markFactSuperseded(t, oldFactId, newFactId) {
30
- return getStorage().facts.markFactSuperseded(t, oldFactId, newFactId);
30
+ return getStorage().repositories.facts.markFactSuperseded(t, oldFactId, newFactId);
31
31
  }
32
32
  export async function factsCount(t) {
33
- return getStorage().facts.factsCount(t);
33
+ return getStorage().repositories.facts.factsCount(t);
34
34
  }
35
35
  export async function listFacts(t, options = {}) {
36
- return getStorage().facts.listFacts(t, options);
36
+ return getStorage().repositories.facts.listFacts(t, options);
37
37
  }
38
38
  export async function listTemporalFacts(t, options = {}) {
39
- return getStorage().facts.listTemporalFacts(t, options);
39
+ return getStorage().repositories.facts.listTemporalFacts(t, options);
40
40
  }
41
41
  export async function searchFactsFts(t, query, limit = 20) {
42
- return getStorage().facts.searchFactsFts(t, query, limit);
42
+ return getStorage().repositories.facts.searchFactsFts(t, query, limit);
43
43
  }
44
44
  //# sourceMappingURL=fact-store.js.map
@@ -1 +1 @@
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,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,IAAqF;IAErF,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,CAAgB,EAChB,MAAc,EACd,cAAsB,iBAAiB;IAEvC,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAgB,EAAE,MAAc;IAClE,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAgB,EAAE,MAAc;IAChE,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,MAAc,EACd,UAA6E,EAAE;IAE/E,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,SAAiB,EACjB,SAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAgB;IAC/C,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,UAA8F,EAAE;IAEhG,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,UAAwD,EAAE;IAE1D,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAgB,EAChB,KAAa,EACb,QAAgB,EAAE;IAElB,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC"}
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"}
@@ -5,7 +5,12 @@
5
5
  * search. Uses Reciprocal Rank Fusion (RRF k=60) to merge ranked lists.
6
6
  *
7
7
  * Bug Fix #3: the null `getSleepDb` stub that made sleep-edge enrichment
8
- * dead code has been deleted. Uses `getDb(t, 'sleep')` directly.
8
+ * dead code has been deleted. Sleep edges come through the storage seam.
9
+ *
10
+ * Storage untangle (gate U1): all candidate/factor SQL now lives behind
11
+ * getStorage().domain.search (+ repositories.sleep for memory edges). This
12
+ * module holds only the SCORING — RRF fusion, metadata weights, tier boosts,
13
+ * segment dedup — over rows the seam returns. No raw database handles here.
9
14
  */
10
15
  import type { TenantContext } from '@kybernesis/brain-contracts';
11
16
  export interface HybridSearchResult {
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../src/hybrid-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAkRD,wBAAsB,YAAY,CAChC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8K/B"}
1
+ {"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../src/hybrid-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgOD,wBAAsB,YAAY,CAChC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwJ/B"}