causantic 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +2 -7
  2. package/config.schema.json +66 -0
  3. package/dist/cli/commands/init/ingest.js +2 -2
  4. package/dist/cli/commands/init/ingest.js.map +1 -1
  5. package/dist/cli/skill-templates.js +2 -2
  6. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  7. package/dist/clusters/cluster-manager.js.map +1 -1
  8. package/dist/config/bootstrap.d.ts +20 -0
  9. package/dist/config/bootstrap.d.ts.map +1 -0
  10. package/dist/config/bootstrap.js +24 -0
  11. package/dist/config/bootstrap.js.map +1 -0
  12. package/dist/config/index.d.ts +1 -0
  13. package/dist/config/index.d.ts.map +1 -1
  14. package/dist/config/index.js +1 -0
  15. package/dist/config/index.js.map +1 -1
  16. package/dist/config/loader.d.ts +16 -1
  17. package/dist/config/loader.d.ts.map +1 -1
  18. package/dist/config/loader.js +194 -176
  19. package/dist/config/loader.js.map +1 -1
  20. package/dist/config/memory-config.d.ts +12 -0
  21. package/dist/config/memory-config.d.ts.map +1 -1
  22. package/dist/config/memory-config.js +64 -6
  23. package/dist/config/memory-config.js.map +1 -1
  24. package/dist/dashboard/server.d.ts.map +1 -1
  25. package/dist/dashboard/server.js +3 -1
  26. package/dist/dashboard/server.js.map +1 -1
  27. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -1
  28. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -1
  29. package/dist/eval/experiments/index-differentiation/alignment-analysis.js +3 -9
  30. package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -1
  31. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -1
  32. package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -1
  33. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -1
  34. package/dist/eval/experiments/index-differentiation/refinement-test.js +1 -3
  35. package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -1
  36. package/dist/eval/experiments/index-differentiation/run-experiment.js +5 -7
  37. package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -1
  38. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -1
  39. package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -1
  40. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +1 -3
  41. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -1
  42. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -1
  43. package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -1
  44. package/dist/eval/experiments/index-vs-chunk/run-experiment.js +6 -16
  45. package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -1
  46. package/dist/eval/experiments/pipeline-dropout/run-experiment.js +12 -4
  47. package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -1
  48. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -1
  49. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +26 -12
  50. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -1
  51. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +1 -1
  52. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -1
  53. package/dist/hooks/hook-utils.d.ts +1 -1
  54. package/dist/hooks/hook-utils.d.ts.map +1 -1
  55. package/dist/hooks/hook-utils.js +4 -2
  56. package/dist/hooks/hook-utils.js.map +1 -1
  57. package/dist/hooks/session-start.d.ts.map +1 -1
  58. package/dist/hooks/session-start.js +4 -1
  59. package/dist/hooks/session-start.js.map +1 -1
  60. package/dist/index-entries/index-generator.d.ts.map +1 -1
  61. package/dist/index-entries/index-generator.js +1 -3
  62. package/dist/index-entries/index-generator.js.map +1 -1
  63. package/dist/index-entries/index-refresher.d.ts.map +1 -1
  64. package/dist/index-entries/index-refresher.js.map +1 -1
  65. package/dist/index-entries/index.d.ts +1 -1
  66. package/dist/index-entries/index.d.ts.map +1 -1
  67. package/dist/index-entries/index.js +1 -1
  68. package/dist/index-entries/index.js.map +1 -1
  69. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  70. package/dist/ingest/brief-debrief-detector.js +6 -5
  71. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  72. package/dist/ingest/ingest-session.d.ts.map +1 -1
  73. package/dist/ingest/ingest-session.js +109 -37
  74. package/dist/ingest/ingest-session.js.map +1 -1
  75. package/dist/ingest/session-state.d.ts.map +1 -1
  76. package/dist/ingest/session-state.js +6 -18
  77. package/dist/ingest/session-state.js.map +1 -1
  78. package/dist/mcp/server.d.ts +1 -1
  79. package/dist/mcp/server.d.ts.map +1 -1
  80. package/dist/mcp/server.js +15 -5
  81. package/dist/mcp/server.js.map +1 -1
  82. package/dist/mcp/services.d.ts.map +1 -1
  83. package/dist/mcp/services.js +9 -0
  84. package/dist/mcp/services.js.map +1 -1
  85. package/dist/mcp/tools.d.ts.map +1 -1
  86. package/dist/mcp/tools.js +36 -47
  87. package/dist/mcp/tools.js.map +1 -1
  88. package/dist/models/embedder.d.ts.map +1 -1
  89. package/dist/models/embedder.js +1 -0
  90. package/dist/models/embedder.js.map +1 -1
  91. package/dist/repomap/parser.d.ts.map +1 -1
  92. package/dist/repomap/parser.js +71 -22
  93. package/dist/repomap/parser.js.map +1 -1
  94. package/dist/repomap/regex-parser.d.ts.map +1 -1
  95. package/dist/repomap/regex-parser.js +30 -6
  96. package/dist/repomap/regex-parser.js.map +1 -1
  97. package/dist/repomap/renderer.d.ts.map +1 -1
  98. package/dist/repomap/renderer.js.map +1 -1
  99. package/dist/repomap/scanner.d.ts.map +1 -1
  100. package/dist/repomap/scanner.js +30 -11
  101. package/dist/repomap/scanner.js.map +1 -1
  102. package/dist/retrieval/chain-walker.d.ts.map +1 -1
  103. package/dist/retrieval/chain-walker.js +6 -2
  104. package/dist/retrieval/chain-walker.js.map +1 -1
  105. package/dist/retrieval/context-assembler.d.ts +1 -1
  106. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  107. package/dist/retrieval/rrf.d.ts +1 -1
  108. package/dist/retrieval/rrf.d.ts.map +1 -1
  109. package/dist/retrieval/rrf.js +1 -1
  110. package/dist/retrieval/rrf.js.map +1 -1
  111. package/dist/retrieval/search-assembler.d.ts +1 -1
  112. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  113. package/dist/retrieval/search-assembler.js +324 -227
  114. package/dist/retrieval/search-assembler.js.map +1 -1
  115. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  116. package/dist/retrieval/session-reconstructor.js +7 -5
  117. package/dist/retrieval/session-reconstructor.js.map +1 -1
  118. package/dist/storage/chunk-store.d.ts.map +1 -1
  119. package/dist/storage/chunk-store.js +2 -0
  120. package/dist/storage/chunk-store.js.map +1 -1
  121. package/dist/storage/cluster-store.d.ts.map +1 -1
  122. package/dist/storage/cluster-store.js +3 -11
  123. package/dist/storage/cluster-store.js.map +1 -1
  124. package/dist/storage/db.d.ts +7 -0
  125. package/dist/storage/db.d.ts.map +1 -1
  126. package/dist/storage/db.js +25 -4
  127. package/dist/storage/db.js.map +1 -1
  128. package/dist/storage/entity-store.d.ts +48 -0
  129. package/dist/storage/entity-store.d.ts.map +1 -0
  130. package/dist/storage/entity-store.js +111 -0
  131. package/dist/storage/entity-store.js.map +1 -0
  132. package/dist/storage/index-entry-store.d.ts.map +1 -1
  133. package/dist/storage/index-entry-store.js +39 -40
  134. package/dist/storage/index-entry-store.js.map +1 -1
  135. package/dist/storage/keyword-store.d.ts +5 -0
  136. package/dist/storage/keyword-store.d.ts.map +1 -1
  137. package/dist/storage/keyword-store.js +1 -1
  138. package/dist/storage/keyword-store.js.map +1 -1
  139. package/dist/storage/migrations.d.ts.map +1 -1
  140. package/dist/storage/migrations.js +45 -0
  141. package/dist/storage/migrations.js.map +1 -1
  142. package/dist/storage/schema.sql +38 -2
  143. package/dist/storage/session-state-store.d.ts.map +1 -1
  144. package/dist/storage/session-state-store.js +46 -8
  145. package/dist/storage/session-state-store.js.map +1 -1
  146. package/dist/storage/types.d.ts +4 -2
  147. package/dist/storage/types.d.ts.map +1 -1
  148. package/dist/storage/vector-store-cleanup.d.ts +47 -0
  149. package/dist/storage/vector-store-cleanup.d.ts.map +1 -0
  150. package/dist/storage/vector-store-cleanup.js +101 -0
  151. package/dist/storage/vector-store-cleanup.js.map +1 -0
  152. package/dist/storage/vector-store.d.ts +13 -1
  153. package/dist/storage/vector-store.d.ts.map +1 -1
  154. package/dist/storage/vector-store.js +56 -111
  155. package/dist/storage/vector-store.js.map +1 -1
  156. package/dist/utils/entity-extractor.d.ts +23 -0
  157. package/dist/utils/entity-extractor.d.ts.map +1 -0
  158. package/dist/utils/entity-extractor.js +233 -0
  159. package/dist/utils/entity-extractor.js.map +1 -0
  160. package/package.json +3 -2
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Vector store cleanup and eviction logic.
3
+ *
4
+ * Extracted from VectorStore to separate TTL/eviction concerns from the
5
+ * core vector storage and search responsibilities.
6
+ *
7
+ * These functions handle the DB-level operations (finding expired/excess
8
+ * vectors, deleting them and their related data). The caller is responsible
9
+ * for updating in-memory indexes after deletion.
10
+ *
11
+ * @module storage/vector-store-cleanup
12
+ */
13
+ import { sqlPlaceholders, isTableNotFoundError } from './db.js';
14
+ /**
15
+ * Remove vectors and all related data (chunks, clusters, index entries) by ID.
16
+ *
17
+ * Handles:
18
+ * - Chunk deletion (FK cascades handle chunk_clusters and edges)
19
+ * - Vector deletion from the specified table
20
+ * - Orphaned cluster cleanup
21
+ * - Orphaned index entry and index vector cleanup
22
+ *
23
+ * @param db - Database instance
24
+ * @param tableName - Vector table name (e.g. 'vectors' or 'index_vectors')
25
+ * @param ids - Vector/chunk IDs to remove
26
+ * @returns Number of vectors deleted from the DB
27
+ */
28
+ export function removeVectorsAndRelated(db, tableName, ids) {
29
+ const placeholders = sqlPlaceholders(ids.length);
30
+ // Delete chunks first (FK cascades handle chunk_clusters and edges)
31
+ db.prepare(`DELETE FROM chunks WHERE id IN (${placeholders})`).run(...ids);
32
+ // Delete vectors
33
+ const result = db.prepare(`DELETE FROM ${tableName} WHERE id IN (${placeholders})`).run(...ids);
34
+ // Remove empty clusters (no remaining members after chunk deletion)
35
+ db.prepare(`
36
+ DELETE FROM clusters WHERE id NOT IN (
37
+ SELECT DISTINCT cluster_id FROM chunk_clusters
38
+ )
39
+ `).run();
40
+ // Clean up index entries that referenced the deleted chunks
41
+ try {
42
+ const placeholdersForCleanup = sqlPlaceholders(ids.length);
43
+ db.prepare(`DELETE FROM index_entry_chunks WHERE chunk_id IN (${placeholdersForCleanup})`).run(...ids);
44
+ // Delete orphaned index entries (no remaining chunk references)
45
+ const orphaned = db
46
+ .prepare(`SELECT id FROM index_entries WHERE id NOT IN (
47
+ SELECT DISTINCT index_entry_id FROM index_entry_chunks
48
+ )`)
49
+ .all();
50
+ if (orphaned.length > 0) {
51
+ const orphanIds = orphaned.map((r) => r.id);
52
+ const orphanPlaceholders = sqlPlaceholders(orphanIds.length);
53
+ db.prepare(`DELETE FROM index_entries WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
54
+ // Remove from index vector store (if this is the chunk vector store)
55
+ if (tableName === 'vectors') {
56
+ db.prepare(`DELETE FROM index_vectors WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
57
+ }
58
+ }
59
+ }
60
+ catch (e) {
61
+ if (!isTableNotFoundError(e))
62
+ throw e;
63
+ }
64
+ return result.changes;
65
+ }
66
+ /**
67
+ * Find vector IDs that have expired based on their last_accessed timestamp.
68
+ *
69
+ * @param db - Database instance
70
+ * @param tableName - Vector table name
71
+ * @param ttlDays - Number of days after which unaccessed vectors expire
72
+ * @returns Array of expired vector IDs
73
+ */
74
+ export function findExpiredVectorIds(db, tableName, ttlDays) {
75
+ const expiredRows = db
76
+ .prepare(`
77
+ SELECT id FROM ${tableName}
78
+ WHERE last_accessed < datetime('now', '-' || ? || ' days')
79
+ `)
80
+ .all(ttlDays);
81
+ return expiredRows.map((r) => r.id);
82
+ }
83
+ /**
84
+ * Find the oldest vector IDs that exceed a maximum count.
85
+ *
86
+ * @param db - Database instance
87
+ * @param tableName - Vector table name
88
+ * @param overage - Number of vectors to evict (currentCount - maxCount)
89
+ * @returns Array of vector IDs to evict (oldest by last_accessed)
90
+ */
91
+ export function findOldestVectorIds(db, tableName, overage) {
92
+ const toEvict = db
93
+ .prepare(`
94
+ SELECT id FROM ${tableName}
95
+ ORDER BY last_accessed ASC
96
+ LIMIT ?
97
+ `)
98
+ .all(overage);
99
+ return toEvict.map((r) => r.id);
100
+ }
101
+ //# sourceMappingURL=vector-store-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store-cleanup.js","sourceRoot":"","sources":["../../src/storage/vector-store-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAqB,EACrB,SAAsC,EACtC,GAAa;IAEb,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjD,oEAAoE;IACpE,EAAE,CAAC,OAAO,CAAC,mCAAmC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAE3E,iBAAiB;IACjB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,SAAS,iBAAiB,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEhG,oEAAoE;IACpE,EAAE,CAAC,OAAO,CACR;;;;GAID,CACA,CAAC,GAAG,EAAE,CAAC;IAER,4DAA4D;IAC5D,IAAI,CAAC;QACH,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,EAAE,CAAC,OAAO,CAAC,qDAAqD,sBAAsB,GAAG,CAAC,CAAC,GAAG,CAC5F,GAAG,GAAG,CACP,CAAC;QAEF,gEAAgE;QAChE,MAAM,QAAQ,GAAG,EAAE;aAChB,OAAO,CACN;;QAEA,CACD;aACA,GAAG,EAA2B,CAAC;QAElC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7D,EAAE,CAAC,OAAO,CAAC,0CAA0C,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;YAE9F,qEAAqE;YACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,EAAE,CAAC,OAAO,CAAC,0CAA0C,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAC7E,GAAG,SAAS,CACb,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,EAAqB,EACrB,SAAsC,EACtC,OAAe;IAEf,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CACN;qBACe,SAAS;;GAE3B,CACE;SACA,GAAG,CAAC,OAAO,CAAqB,CAAC;IAEpC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAqB,EACrB,SAAsC,EACtC,OAAe;IAEf,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;qBACe,SAAS;;;GAG3B,CACE;SACA,GAAG,CAAC,OAAO,CAAqB,CAAC;IAEpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC"}
@@ -89,7 +89,7 @@ export declare class VectorStore {
89
89
  /** Optional lookup table for resolving entity metadata (e.g. 'index_entries' for index vectors). */
90
90
  private readonly metadataTable;
91
91
  constructor(options?: {
92
- tableName?: string;
92
+ tableName?: 'vectors' | 'index_vectors';
93
93
  metadataTable?: string | null;
94
94
  });
95
95
  /**
@@ -219,6 +219,18 @@ export declare class VectorStore {
219
219
  */
220
220
  private rankAndTouch;
221
221
  private touchLastAccessed;
222
+ /**
223
+ * Remove vectors and all related data (chunks, clusters, index entries) by ID.
224
+ * Delegates DB operations to the extracted cleanup module, then updates in-memory indexes.
225
+ *
226
+ * @param ids - Vector/chunk IDs to remove
227
+ * @returns Number of vectors deleted from the DB
228
+ */
229
+ private removeFromDb;
230
+ /**
231
+ * Remove IDs from all in-memory indexes.
232
+ */
233
+ private removeFromMemory;
222
234
  /**
223
235
  * Clean up expired vectors and their corresponding chunks.
224
236
  * Removes vectors that haven't been accessed within the TTL period.
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;;;GAQG;AAEH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAAkC;IACzD,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAAkC;IAExD,+DAA+D;IAC/D,OAAO,CAAC,OAAO,CAAwB;IACvC,2DAA2D;IAC3D,OAAO,CAAC,YAAY,CAAe;IAEnC,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAK3E;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUjC;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyF3B;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DnF;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAK/C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAa3E;;;OAGG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAehC;;;;;;;;;;OAUG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsBhC;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBjD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAQ1E;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;OAOG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiFtD;;;;;;OAMG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgFrD;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aAG3B,CAAC"}
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"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"}
@@ -61,10 +61,11 @@
61
61
  *
62
62
  * @module storage/vector-store
63
63
  */
64
- import { getDb, sqlPlaceholders } from './db.js';
64
+ import { getDb, sqlPlaceholders, isTableNotFoundError } from './db.js';
65
65
  import { angularDistance } from '../utils/angular-distance.js';
66
66
  import { serializeEmbedding, deserializeEmbedding } from '../utils/embedding-utils.js';
67
67
  import { getModel } from '../models/model-registry.js';
68
+ import { removeVectorsAndRelated, findExpiredVectorIds, findOldestVectorIds, } from './vector-store-cleanup.js';
68
69
  /**
69
70
  * In-memory vector index backed by SQLite for persistence.
70
71
  *
@@ -167,8 +168,9 @@ export class VectorStore {
167
168
  this.chunkProjectIndex.set(row.id, row.session_slug);
168
169
  }
169
170
  }
170
- catch {
171
- // metadata table may not exist yet (e.g., during migrations)
171
+ catch (e) {
172
+ if (!isTableNotFoundError(e))
173
+ throw e;
172
174
  }
173
175
  try {
174
176
  const agentRows = db
@@ -178,8 +180,9 @@ export class VectorStore {
178
180
  this.chunkAgentIndex.set(row.id, row.agent_id);
179
181
  }
180
182
  }
181
- catch {
182
- // metadata table may not exist yet
183
+ catch (e) {
184
+ if (!isTableNotFoundError(e))
185
+ throw e;
183
186
  }
184
187
  try {
185
188
  const teamRows = db
@@ -189,8 +192,9 @@ export class VectorStore {
189
192
  this.chunkTeamIndex.set(row.id, row.team_name);
190
193
  }
191
194
  }
192
- catch {
193
- // metadata table may not exist yet
195
+ catch (e) {
196
+ if (!isTableNotFoundError(e))
197
+ throw e;
194
198
  }
195
199
  this.loaded = true;
196
200
  }
@@ -223,8 +227,9 @@ export class VectorStore {
223
227
  this.chunkTeamIndex.set(id, row.team_name);
224
228
  }
225
229
  }
226
- catch {
227
- // metadata table may not exist
230
+ catch (e) {
231
+ if (!isTableNotFoundError(e))
232
+ throw e;
228
233
  }
229
234
  }
230
235
  /**
@@ -270,8 +275,9 @@ export class VectorStore {
270
275
  }
271
276
  }
272
277
  }
273
- catch {
274
- // metadata table may not exist
278
+ catch (e) {
279
+ if (!isTableNotFoundError(e))
280
+ throw e;
275
281
  }
276
282
  }
277
283
  /**
@@ -383,6 +389,9 @@ export class VectorStore {
383
389
  const db = getDb();
384
390
  const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`).run(id);
385
391
  this.vectors.delete(id);
392
+ this.chunkProjectIndex.delete(id);
393
+ this.chunkAgentIndex.delete(id);
394
+ this.chunkTeamIndex.delete(id);
386
395
  return result.changes > 0;
387
396
  }
388
397
  /**
@@ -394,10 +403,14 @@ export class VectorStore {
394
403
  await this.load();
395
404
  const db = getDb();
396
405
  const placeholders = sqlPlaceholders(ids.length);
397
- const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`).run(...ids);
406
+ const result = db
407
+ .prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`)
408
+ .run(...ids);
398
409
  for (const id of ids) {
399
410
  this.vectors.delete(id);
400
411
  this.chunkProjectIndex.delete(id);
412
+ this.chunkAgentIndex.delete(id);
413
+ this.chunkTeamIndex.delete(id);
401
414
  }
402
415
  return result.changes;
403
416
  }
@@ -474,6 +487,27 @@ export class VectorStore {
474
487
  const placeholders = sqlPlaceholders(ids.length);
475
488
  db.prepare(`UPDATE ${this.tableName} SET last_accessed = CURRENT_TIMESTAMP WHERE id IN (${placeholders})`).run(...ids);
476
489
  }
490
+ /**
491
+ * Remove vectors and all related data (chunks, clusters, index entries) by ID.
492
+ * Delegates DB operations to the extracted cleanup module, then updates in-memory indexes.
493
+ *
494
+ * @param ids - Vector/chunk IDs to remove
495
+ * @returns Number of vectors deleted from the DB
496
+ */
497
+ removeFromDb(ids) {
498
+ return removeVectorsAndRelated(getDb(), this.tableName, ids);
499
+ }
500
+ /**
501
+ * Remove IDs from all in-memory indexes.
502
+ */
503
+ removeFromMemory(ids) {
504
+ for (const id of ids) {
505
+ this.vectors.delete(id);
506
+ this.chunkProjectIndex.delete(id);
507
+ this.chunkAgentIndex.delete(id);
508
+ this.chunkTeamIndex.delete(id);
509
+ }
510
+ }
477
511
  /**
478
512
  * Clean up expired vectors and their corresponding chunks.
479
513
  * Removes vectors that haven't been accessed within the TTL period.
@@ -484,59 +518,12 @@ export class VectorStore {
484
518
  */
485
519
  async cleanupExpired(ttlDays) {
486
520
  await this.load();
487
- const db = getDb();
488
- // Find expired vectors (any vector not accessed within TTL)
489
- const expiredRows = db
490
- .prepare(`
491
- SELECT id FROM ${this.tableName}
492
- WHERE last_accessed < datetime('now', '-' || ? || ' days')
493
- `)
494
- .all(ttlDays);
495
- if (expiredRows.length === 0) {
521
+ const expiredIds = findExpiredVectorIds(getDb(), this.tableName, ttlDays);
522
+ if (expiredIds.length === 0)
496
523
  return 0;
497
- }
498
- const expiredIds = expiredRows.map((r) => r.id);
499
- const placeholders = sqlPlaceholders(expiredIds.length);
500
- // Delete chunks first (FK cascades handle chunk_clusters and edges)
501
- db.prepare(`DELETE FROM chunks WHERE id IN (${placeholders})`).run(...expiredIds);
502
- // Delete vectors
503
- const result = db
504
- .prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`)
505
- .run(...expiredIds);
506
- // Remove empty clusters (no remaining members after chunk deletion)
507
- db.prepare(`
508
- DELETE FROM clusters WHERE id NOT IN (
509
- SELECT DISTINCT cluster_id FROM chunk_clusters
510
- )
511
- `).run();
512
- // Clean up index entries that referenced the deleted chunks
513
- try {
514
- const placeholdersForCleanup = sqlPlaceholders(expiredIds.length);
515
- // Remove reverse-lookup rows
516
- db.prepare(`DELETE FROM index_entry_chunks WHERE chunk_id IN (${placeholdersForCleanup})`).run(...expiredIds);
517
- // Delete orphaned index entries (no remaining chunk references)
518
- const orphaned = db.prepare(`SELECT id FROM index_entries WHERE id NOT IN (
519
- SELECT DISTINCT index_entry_id FROM index_entry_chunks
520
- )`).all();
521
- if (orphaned.length > 0) {
522
- const orphanIds = orphaned.map((r) => r.id);
523
- const orphanPlaceholders = sqlPlaceholders(orphanIds.length);
524
- db.prepare(`DELETE FROM index_entries WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
525
- // Remove from index vector store (if this is the chunk vector store)
526
- if (this.tableName === 'vectors') {
527
- db.prepare(`DELETE FROM index_vectors WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
528
- }
529
- }
530
- }
531
- catch {
532
- // index_entry_chunks table may not exist yet
533
- }
534
- // Remove from memory
535
- for (const id of expiredIds) {
536
- this.vectors.delete(id);
537
- this.chunkProjectIndex.delete(id);
538
- }
539
- return result.changes;
524
+ const deletedCount = this.removeFromDb(expiredIds);
525
+ this.removeFromMemory(expiredIds);
526
+ return deletedCount;
540
527
  }
541
528
  /**
542
529
  * Evict the oldest vectors when collection exceeds maxCount.
@@ -553,54 +540,12 @@ export class VectorStore {
553
540
  if (currentCount <= maxCount)
554
541
  return 0;
555
542
  const overage = currentCount - maxCount;
556
- const db = getDb();
557
- // Select the oldest vectors by last_accessed
558
- const toEvict = db
559
- .prepare(`
560
- SELECT id FROM ${this.tableName}
561
- ORDER BY last_accessed ASC
562
- LIMIT ?
563
- `)
564
- .all(overage);
565
- if (toEvict.length === 0)
543
+ const evictIds = findOldestVectorIds(getDb(), this.tableName, overage);
544
+ if (evictIds.length === 0)
566
545
  return 0;
567
- const evictIds = toEvict.map((r) => r.id);
568
- const placeholders = sqlPlaceholders(evictIds.length);
569
- // Delete chunks first (FK cascades handle chunk_clusters and edges)
570
- db.prepare(`DELETE FROM chunks WHERE id IN (${placeholders})`).run(...evictIds);
571
- // Delete vectors
572
- const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`).run(...evictIds);
573
- // Remove empty clusters
574
- db.prepare(`
575
- DELETE FROM clusters WHERE id NOT IN (
576
- SELECT DISTINCT cluster_id FROM chunk_clusters
577
- )
578
- `).run();
579
- // Clean up index entries that referenced the deleted chunks
580
- try {
581
- const placeholdersForCleanup = sqlPlaceholders(evictIds.length);
582
- db.prepare(`DELETE FROM index_entry_chunks WHERE chunk_id IN (${placeholdersForCleanup})`).run(...evictIds);
583
- const orphaned = db.prepare(`SELECT id FROM index_entries WHERE id NOT IN (
584
- SELECT DISTINCT index_entry_id FROM index_entry_chunks
585
- )`).all();
586
- if (orphaned.length > 0) {
587
- const orphanIds = orphaned.map((r) => r.id);
588
- const orphanPlaceholders = sqlPlaceholders(orphanIds.length);
589
- db.prepare(`DELETE FROM index_entries WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
590
- if (this.tableName === 'vectors') {
591
- db.prepare(`DELETE FROM index_vectors WHERE id IN (${orphanPlaceholders})`).run(...orphanIds);
592
- }
593
- }
594
- }
595
- catch {
596
- // index_entry_chunks table may not exist yet
597
- }
598
- // Remove from memory
599
- for (const id of evictIds) {
600
- this.vectors.delete(id);
601
- this.chunkProjectIndex.delete(id);
602
- }
603
- return result.changes;
546
+ const deletedCount = this.removeFromDb(evictIds);
547
+ this.removeFromMemory(evictIds);
548
+ return deletedCount;
604
549
  }
605
550
  }
606
551
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD;;;;;;;;GAQG;AACH,6DAA6D;AAC7D,MAAM,OAAO,WAAW;IACd,OAAO,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC3C,MAAM,GAAG,KAAK,CAAC;IACvB,8DAA8D;IACtD,iBAAiB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC3D,wDAAwD;IAChD,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACzD,yDAAyD;IACjD,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAExD,+DAA+D;IACvD,OAAO,GAAW,YAAY,CAAC;IACvC,2DAA2D;IACnD,YAAY,GAAW,GAAG,CAAC;IAEnC,0DAA0D;IACzC,SAAS,CAAS;IACnC,oGAAoG;IACnF,aAAa,CAAgB;IAE9C,YAAY,OAA+D;QACzE,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAe;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,+CAA+C;QAC/C,EAAE,CAAC,IAAI,CAAC;mCACuB,IAAI,CAAC,SAAS;;;;;;;KAO5C,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAwB,CAAC;QAC/F,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,2CAA2C,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,0DAA0D,CAAC,CAAC;YACjG,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,oEAAoE,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,gDAAgD,CAAC,CAAC;YACvF,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,qDAAqD,CAAC,CAAC;YACvF,EAAE,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;QACnG,CAAC;QAED,iDAAiD;QACjD,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CAAC,6BAA6B,IAAI,CAAC,SAAS,qBAAqB,CAAC;aACzE,GAAG,CAAC,IAAI,CAAC,OAAO,CAGhB,CAAC;QAEJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,EAAE;iBACnB,OAAO,CAAC,gCAAgC,SAAS,2BAA2B,CAAC;iBAC7E,GAAG,EAAiD,CAAC;YAExD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,EAAE;iBACjB,OAAO,CAAC,4BAA4B,SAAS,6BAA6B,CAAC;iBAC3E,GAAG,EAA6C,CAAC;YAEpD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE;iBAChB,OAAO,CAAC,6BAA6B,SAAS,8BAA8B,CAAC;iBAC7E,GAAG,EAA8C,CAAC;YAErD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,SAAmB;QAC1C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,CAAC,MAAM,qBAAqB,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,YAAY,EAAE,CACvH,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE3C,EAAE,CAAC,OAAO,CACR,0BAA0B,IAAI,CAAC,SAAS,kGAAkG,CAC3I,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEhC,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CAAC,iDAAiD,SAAS,eAAe,CAAC;iBAClF,GAAG,CAAC,EAAE,CAEI,CAAC;YACd,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAiD;QACjE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,wDAAwD;QACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,qBAAqB,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,YAAY,EAAE,CAC7I,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,0BAA0B,IAAI,CAAC,SAAS,kGAAkG,CAC3I,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,KAAiD,EAAE,EAAE;YACtF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,CAAC,CAAC;QAElB,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,EAAE;qBACZ,OAAO,CACN,qDAAqD,SAAS,iBAAiB,YAAY,0BAA0B,CACtH;qBACA,GAAG,CAAC,GAAG,GAAG,CAKX,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;oBACrD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjD,CAAC;oBACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,MAAM,CAAC,KAAe,EAAE,KAAa;QACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,KAAe,EACf,YAAsB,EACtB,KAAa;QAEb,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe,CACnB,KAAe,EACf,QAA2B,EAC3B,KAAa,EACb,OAAgB;QAEhB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,UAAU,KAAK,OAAO;oBAAE,SAAS;YACvC,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAa;QAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,iBAAiB,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAErG,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,EAAE;YACF,SAAS;SACV,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,+EAA+E;IAE/E;;;OAGG;IACH;;;OAGG;IACK,YAAY,CAAC,OAA6B,EAAE,KAAa;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,GAAa;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,EAAE,CAAC,OAAO,CACR,UAAU,IAAI,CAAC,SAAS,uDAAuD,YAAY,GAAG,CAC/F,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,4DAA4D;QAC5D,MAAM,WAAW,GAAG,EAAE;aACnB,OAAO,CACN;uBACe,IAAI,CAAC,SAAS;;KAEhC,CACE;aACA,GAAG,CAAC,OAAO,CAAqB,CAAC;QAEpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExD,oEAAoE;QACpE,EAAE,CAAC,OAAO,CAAC,mCAAmC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAElF,iBAAiB;QACjB,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,iBAAiB,YAAY,GAAG,CAAC;aACtE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAEtB,oEAAoE;QACpE,EAAE,CAAC,OAAO,CACR;;;;KAID,CACA,CAAC,GAAG,EAAE,CAAC;QAER,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,sBAAsB,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClE,6BAA6B;YAC7B,EAAE,CAAC,OAAO,CACR,qDAAqD,sBAAsB,GAAG,CAC/E,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;YAErB,gEAAgE;YAChE,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB;;UAEE,CACH,CAAC,GAAG,EAA2B,CAAC;YAEjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7D,EAAE,CAAC,OAAO,CACR,0CAA0C,kBAAkB,GAAG,CAChE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBAEpB,qEAAqE;gBACrE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,EAAE,CAAC,OAAO,CACR,0CAA0C,kBAAkB,GAAG,CAChE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,IAAI,YAAY,IAAI,QAAQ;YAAE,OAAO,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,6CAA6C;QAC7C,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CACN;uBACe,IAAI,CAAC,SAAS;;;KAGhC,CACE;aACA,GAAG,CAAC,OAAO,CAAqB,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtD,oEAAoE;QACpE,EAAE,CAAC,OAAO,CAAC,mCAAmC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEhF,iBAAiB;QACjB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,iBAAiB,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE1G,wBAAwB;QACxB,EAAE,CAAC,OAAO,CACR;;;;KAID,CACA,CAAC,GAAG,EAAE,CAAC;QAER,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,sBAAsB,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChE,EAAE,CAAC,OAAO,CACR,qDAAqD,sBAAsB,GAAG,CAC/E,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB;;UAEE,CACH,CAAC,GAAG,EAA2B,CAAC;YAEjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7D,EAAE,CAAC,OAAO,CACR,0CAA0C,kBAAkB,GAAG,CAChE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBAEpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,EAAE,CAAC,OAAO,CACR,0CAA0C,kBAAkB,GAAG,CAChE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAC;IAC9C,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,eAAe;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Deterministic entity extraction from chunk content.
3
+ *
4
+ * Pure function — no LLM, no database access. Extracts mentions of
5
+ * people, channels, meetings, organizations, and URLs using regex patterns.
6
+ *
7
+ * Only extracts from [User] and [Assistant] blocks; skips [Thinking] blocks
8
+ * and code blocks (triple-backtick fencing) to reduce noise.
9
+ */
10
+ export type EntityType = 'person' | 'channel' | 'meeting' | 'organization' | 'url';
11
+ export interface EntityMention {
12
+ entityType: EntityType;
13
+ mentionForm: string;
14
+ normalizedName: string;
15
+ confidence: number;
16
+ }
17
+ /**
18
+ * Extract entities from chunk text.
19
+ *
20
+ * Returns deduplicated entity mentions with types, normalized names, and confidence scores.
21
+ */
22
+ export declare function extractEntities(text: string): EntityMention[];
23
+ //# sourceMappingURL=entity-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/entity-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAoJD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CA4F7D"}