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.
- package/README.md +2 -7
- package/config.schema.json +66 -0
- package/dist/cli/commands/init/ingest.js +2 -2
- package/dist/cli/commands/init/ingest.js.map +1 -1
- package/dist/cli/skill-templates.js +2 -2
- package/dist/clusters/cluster-manager.d.ts.map +1 -1
- package/dist/clusters/cluster-manager.js.map +1 -1
- package/dist/config/bootstrap.d.ts +20 -0
- package/dist/config/bootstrap.d.ts.map +1 -0
- package/dist/config/bootstrap.js +24 -0
- package/dist/config/bootstrap.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +16 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +194 -176
- package/dist/config/loader.js.map +1 -1
- package/dist/config/memory-config.d.ts +12 -0
- package/dist/config/memory-config.d.ts.map +1 -1
- package/dist/config/memory-config.js +64 -6
- package/dist/config/memory-config.js.map +1 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +3 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -1
- package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -1
- package/dist/eval/experiments/index-differentiation/alignment-analysis.js +3 -9
- package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -1
- package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -1
- package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -1
- package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -1
- package/dist/eval/experiments/index-differentiation/refinement-test.js +1 -3
- package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -1
- package/dist/eval/experiments/index-differentiation/run-experiment.js +5 -7
- package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -1
- package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -1
- package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -1
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +1 -3
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -1
- package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -1
- package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -1
- package/dist/eval/experiments/index-vs-chunk/run-experiment.js +6 -16
- package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -1
- package/dist/eval/experiments/pipeline-dropout/run-experiment.js +12 -4
- package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -1
- package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -1
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +26 -12
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -1
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +1 -1
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -1
- package/dist/hooks/hook-utils.d.ts +1 -1
- package/dist/hooks/hook-utils.d.ts.map +1 -1
- package/dist/hooks/hook-utils.js +4 -2
- package/dist/hooks/hook-utils.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +4 -1
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/index-entries/index-generator.d.ts.map +1 -1
- package/dist/index-entries/index-generator.js +1 -3
- package/dist/index-entries/index-generator.js.map +1 -1
- package/dist/index-entries/index-refresher.d.ts.map +1 -1
- package/dist/index-entries/index-refresher.js.map +1 -1
- package/dist/index-entries/index.d.ts +1 -1
- package/dist/index-entries/index.d.ts.map +1 -1
- package/dist/index-entries/index.js +1 -1
- package/dist/index-entries/index.js.map +1 -1
- package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
- package/dist/ingest/brief-debrief-detector.js +6 -5
- package/dist/ingest/brief-debrief-detector.js.map +1 -1
- package/dist/ingest/ingest-session.d.ts.map +1 -1
- package/dist/ingest/ingest-session.js +109 -37
- package/dist/ingest/ingest-session.js.map +1 -1
- package/dist/ingest/session-state.d.ts.map +1 -1
- package/dist/ingest/session-state.js +6 -18
- package/dist/ingest/session-state.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +15 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services.d.ts.map +1 -1
- package/dist/mcp/services.js +9 -0
- package/dist/mcp/services.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +36 -47
- package/dist/mcp/tools.js.map +1 -1
- package/dist/models/embedder.d.ts.map +1 -1
- package/dist/models/embedder.js +1 -0
- package/dist/models/embedder.js.map +1 -1
- package/dist/repomap/parser.d.ts.map +1 -1
- package/dist/repomap/parser.js +71 -22
- package/dist/repomap/parser.js.map +1 -1
- package/dist/repomap/regex-parser.d.ts.map +1 -1
- package/dist/repomap/regex-parser.js +30 -6
- package/dist/repomap/regex-parser.js.map +1 -1
- package/dist/repomap/renderer.d.ts.map +1 -1
- package/dist/repomap/renderer.js.map +1 -1
- package/dist/repomap/scanner.d.ts.map +1 -1
- package/dist/repomap/scanner.js +30 -11
- package/dist/repomap/scanner.js.map +1 -1
- package/dist/retrieval/chain-walker.d.ts.map +1 -1
- package/dist/retrieval/chain-walker.js +6 -2
- package/dist/retrieval/chain-walker.js.map +1 -1
- package/dist/retrieval/context-assembler.d.ts +1 -1
- package/dist/retrieval/context-assembler.d.ts.map +1 -1
- package/dist/retrieval/rrf.d.ts +1 -1
- package/dist/retrieval/rrf.d.ts.map +1 -1
- package/dist/retrieval/rrf.js +1 -1
- package/dist/retrieval/rrf.js.map +1 -1
- package/dist/retrieval/search-assembler.d.ts +1 -1
- package/dist/retrieval/search-assembler.d.ts.map +1 -1
- package/dist/retrieval/search-assembler.js +324 -227
- package/dist/retrieval/search-assembler.js.map +1 -1
- package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
- package/dist/retrieval/session-reconstructor.js +7 -5
- package/dist/retrieval/session-reconstructor.js.map +1 -1
- package/dist/storage/chunk-store.d.ts.map +1 -1
- package/dist/storage/chunk-store.js +2 -0
- package/dist/storage/chunk-store.js.map +1 -1
- package/dist/storage/cluster-store.d.ts.map +1 -1
- package/dist/storage/cluster-store.js +3 -11
- package/dist/storage/cluster-store.js.map +1 -1
- package/dist/storage/db.d.ts +7 -0
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js +25 -4
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/entity-store.d.ts +48 -0
- package/dist/storage/entity-store.d.ts.map +1 -0
- package/dist/storage/entity-store.js +111 -0
- package/dist/storage/entity-store.js.map +1 -0
- package/dist/storage/index-entry-store.d.ts.map +1 -1
- package/dist/storage/index-entry-store.js +39 -40
- package/dist/storage/index-entry-store.js.map +1 -1
- package/dist/storage/keyword-store.d.ts +5 -0
- package/dist/storage/keyword-store.d.ts.map +1 -1
- package/dist/storage/keyword-store.js +1 -1
- package/dist/storage/keyword-store.js.map +1 -1
- package/dist/storage/migrations.d.ts.map +1 -1
- package/dist/storage/migrations.js +45 -0
- package/dist/storage/migrations.js.map +1 -1
- package/dist/storage/schema.sql +38 -2
- package/dist/storage/session-state-store.d.ts.map +1 -1
- package/dist/storage/session-state-store.js +46 -8
- package/dist/storage/session-state-store.js.map +1 -1
- package/dist/storage/types.d.ts +4 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/vector-store-cleanup.d.ts +47 -0
- package/dist/storage/vector-store-cleanup.d.ts.map +1 -0
- package/dist/storage/vector-store-cleanup.js +101 -0
- package/dist/storage/vector-store-cleanup.js.map +1 -0
- package/dist/storage/vector-store.d.ts +13 -1
- package/dist/storage/vector-store.d.ts.map +1 -1
- package/dist/storage/vector-store.js +56 -111
- package/dist/storage/vector-store.js.map +1 -1
- package/dist/utils/entity-extractor.d.ts +23 -0
- package/dist/utils/entity-extractor.d.ts.map +1 -0
- package/dist/utils/entity-extractor.js +233 -0
- package/dist/utils/entity-extractor.js.map +1 -0
- 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?:
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
488
|
-
|
|
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
|
-
|
|
499
|
-
|
|
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
|
|
557
|
-
|
|
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
|
|
568
|
-
|
|
569
|
-
|
|
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":"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"}
|
|
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,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACvE,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,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC;;;;;;;;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,CAA8B;IACxD,oGAAoG;IACnF,aAAa,CAAgB;IAE9C,YAAY,OAGX;QACC,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,CACL,eAAe,IAAI,CAAC,SAAS,0DAA0D,CACxF,CAAC;YACF,EAAE,CAAC,IAAI,CACL,UAAU,IAAI,CAAC,SAAS,oEAAoE,CAC7F,CAAC;QACJ,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,CACL,kCAAkC,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,YAAY,CACxF,CAAC;QACJ,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,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC;QACxC,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,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC;QACxC,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,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC;QACxC,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,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC;QACxC,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,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC;QACxC,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,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,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;aACd,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,iBAAiB,YAAY,GAAG,CAAC;aACtE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAEf,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;YAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,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;;;;;;OAMG;IACK,YAAY,CAAC,GAAa;QAChC,OAAO,uBAAuB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAa;QACpC,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;YAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,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,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,YAAY,CAAC;IACtB,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"}
|
|
@@ -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"}
|