causantic 0.9.3 → 0.10.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 (201) hide show
  1. package/README.md +70 -56
  2. package/dist/cli/skill-templates.d.ts.map +1 -1
  3. package/dist/cli/skill-templates.js +23 -18
  4. package/dist/cli/skill-templates.js.map +1 -1
  5. package/dist/clusters/cluster-manager.d.ts +16 -0
  6. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  7. package/dist/clusters/cluster-manager.js +119 -1
  8. package/dist/clusters/cluster-manager.js.map +1 -1
  9. package/dist/config/loader.d.ts +16 -0
  10. package/dist/config/loader.d.ts.map +1 -1
  11. package/dist/config/loader.js +51 -0
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/memory-config.d.ts +26 -0
  14. package/dist/config/memory-config.d.ts.map +1 -1
  15. package/dist/config/memory-config.js +22 -0
  16. package/dist/config/memory-config.js.map +1 -1
  17. package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts +20 -0
  18. package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts.map +1 -0
  19. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js +289 -0
  20. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -0
  21. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts +53 -0
  22. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -0
  23. package/dist/eval/experiments/index-differentiation/alignment-analysis.js +91 -0
  24. package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -0
  25. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts +24 -0
  26. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -0
  27. package/dist/eval/experiments/index-differentiation/discrimination-test.js +79 -0
  28. package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -0
  29. package/dist/eval/experiments/index-differentiation/index.d.ts +11 -0
  30. package/dist/eval/experiments/index-differentiation/index.d.ts.map +1 -0
  31. package/dist/eval/experiments/index-differentiation/index.js +8 -0
  32. package/dist/eval/experiments/index-differentiation/index.js.map +1 -0
  33. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts +32 -0
  34. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -0
  35. package/dist/eval/experiments/index-differentiation/refinement-test.js +203 -0
  36. package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -0
  37. package/dist/eval/experiments/index-differentiation/run-experiment.d.ts +20 -0
  38. package/dist/eval/experiments/index-differentiation/run-experiment.d.ts.map +1 -0
  39. package/dist/eval/experiments/index-differentiation/run-experiment.js +338 -0
  40. package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -0
  41. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts +31 -0
  42. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -0
  43. package/dist/eval/experiments/index-differentiation/similarity-analysis.js +60 -0
  44. package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -0
  45. package/dist/eval/experiments/index-differentiation/types.d.ts +114 -0
  46. package/dist/eval/experiments/index-differentiation/types.d.ts.map +1 -0
  47. package/dist/eval/experiments/index-differentiation/types.js +8 -0
  48. package/dist/eval/experiments/index-differentiation/types.js.map +1 -0
  49. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts +19 -0
  50. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts.map +1 -0
  51. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +328 -0
  52. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -0
  53. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts +27 -0
  54. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts.map +1 -0
  55. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js +154 -0
  56. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -0
  57. package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts +23 -0
  58. package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts.map +1 -0
  59. package/dist/eval/experiments/index-vs-chunk/query-generator.js +113 -0
  60. package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -0
  61. package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts +17 -0
  62. package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts.map +1 -0
  63. package/dist/eval/experiments/index-vs-chunk/run-experiment.js +341 -0
  64. package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -0
  65. package/dist/eval/experiments/index-vs-chunk/types.d.ts +71 -0
  66. package/dist/eval/experiments/index-vs-chunk/types.d.ts.map +1 -0
  67. package/dist/eval/experiments/index-vs-chunk/types.js +8 -0
  68. package/dist/eval/experiments/index-vs-chunk/types.js.map +1 -0
  69. package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts +18 -0
  70. package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts.map +1 -0
  71. package/dist/eval/experiments/pipeline-dropout/run-experiment.js +347 -0
  72. package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -0
  73. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts +17 -0
  74. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts.map +1 -0
  75. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js +247 -0
  76. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -0
  77. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts +18 -0
  78. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts.map +1 -0
  79. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +443 -0
  80. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -0
  81. package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts +16 -0
  82. package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts.map +1 -0
  83. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +226 -0
  84. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -0
  85. package/dist/index-entries/index-generator.d.ts +74 -0
  86. package/dist/index-entries/index-generator.d.ts.map +1 -0
  87. package/dist/index-entries/index-generator.js +323 -0
  88. package/dist/index-entries/index-generator.js.map +1 -0
  89. package/dist/index-entries/index-refresher.d.ts +54 -0
  90. package/dist/index-entries/index-refresher.d.ts.map +1 -0
  91. package/dist/index-entries/index-refresher.js +203 -0
  92. package/dist/index-entries/index-refresher.js.map +1 -0
  93. package/dist/index-entries/index.d.ts +6 -0
  94. package/dist/index-entries/index.d.ts.map +1 -0
  95. package/dist/index-entries/index.js +6 -0
  96. package/dist/index-entries/index.js.map +1 -0
  97. package/dist/index.d.ts +4 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +5 -0
  100. package/dist/index.js.map +1 -1
  101. package/dist/ingest/index-entry-hook.d.ts +15 -0
  102. package/dist/ingest/index-entry-hook.d.ts.map +1 -0
  103. package/dist/ingest/index-entry-hook.js +84 -0
  104. package/dist/ingest/index-entry-hook.js.map +1 -0
  105. package/dist/ingest/ingest-session.d.ts.map +1 -1
  106. package/dist/ingest/ingest-session.js +72 -18
  107. package/dist/ingest/ingest-session.js.map +1 -1
  108. package/dist/ingest/session-state.d.ts +49 -0
  109. package/dist/ingest/session-state.d.ts.map +1 -0
  110. package/dist/ingest/session-state.js +158 -0
  111. package/dist/ingest/session-state.js.map +1 -0
  112. package/dist/maintenance/scheduler.d.ts.map +1 -1
  113. package/dist/maintenance/scheduler.js +25 -0
  114. package/dist/maintenance/scheduler.js.map +1 -1
  115. package/dist/maintenance/tasks/backfill-index.d.ts +27 -0
  116. package/dist/maintenance/tasks/backfill-index.d.ts.map +1 -0
  117. package/dist/maintenance/tasks/backfill-index.js +44 -0
  118. package/dist/maintenance/tasks/backfill-index.js.map +1 -0
  119. package/dist/mcp/tools.d.ts +4 -0
  120. package/dist/mcp/tools.d.ts.map +1 -1
  121. package/dist/mcp/tools.js +115 -7
  122. package/dist/mcp/tools.js.map +1 -1
  123. package/dist/models/embedder.js +2 -2
  124. package/dist/models/embedder.js.map +1 -1
  125. package/dist/models/model-registry.d.ts +2 -0
  126. package/dist/models/model-registry.d.ts.map +1 -1
  127. package/dist/models/model-registry.js +15 -0
  128. package/dist/models/model-registry.js.map +1 -1
  129. package/dist/repomap/cache.d.ts +58 -0
  130. package/dist/repomap/cache.d.ts.map +1 -0
  131. package/dist/repomap/cache.js +101 -0
  132. package/dist/repomap/cache.js.map +1 -0
  133. package/dist/repomap/graph.d.ts +54 -0
  134. package/dist/repomap/graph.d.ts.map +1 -0
  135. package/dist/repomap/graph.js +113 -0
  136. package/dist/repomap/graph.js.map +1 -0
  137. package/dist/repomap/index.d.ts +83 -0
  138. package/dist/repomap/index.d.ts.map +1 -0
  139. package/dist/repomap/index.js +99 -0
  140. package/dist/repomap/index.js.map +1 -0
  141. package/dist/repomap/parser.d.ts +43 -0
  142. package/dist/repomap/parser.d.ts.map +1 -0
  143. package/dist/repomap/parser.js +994 -0
  144. package/dist/repomap/parser.js.map +1 -0
  145. package/dist/repomap/regex-parser.d.ts +24 -0
  146. package/dist/repomap/regex-parser.d.ts.map +1 -0
  147. package/dist/repomap/regex-parser.js +190 -0
  148. package/dist/repomap/regex-parser.js.map +1 -0
  149. package/dist/repomap/renderer.d.ts +40 -0
  150. package/dist/repomap/renderer.d.ts.map +1 -0
  151. package/dist/repomap/renderer.js +163 -0
  152. package/dist/repomap/renderer.js.map +1 -0
  153. package/dist/repomap/scanner.d.ts +32 -0
  154. package/dist/repomap/scanner.d.ts.map +1 -0
  155. package/dist/repomap/scanner.js +171 -0
  156. package/dist/repomap/scanner.js.map +1 -0
  157. package/dist/retrieval/chain-assembler.d.ts.map +1 -1
  158. package/dist/retrieval/chain-assembler.js +22 -3
  159. package/dist/retrieval/chain-assembler.js.map +1 -1
  160. package/dist/retrieval/index.d.ts +2 -0
  161. package/dist/retrieval/index.d.ts.map +1 -1
  162. package/dist/retrieval/index.js +2 -0
  163. package/dist/retrieval/index.js.map +1 -1
  164. package/dist/retrieval/mmr.d.ts +1 -0
  165. package/dist/retrieval/mmr.d.ts.map +1 -1
  166. package/dist/retrieval/mmr.js +35 -1
  167. package/dist/retrieval/mmr.js.map +1 -1
  168. package/dist/retrieval/search-assembler.d.ts +10 -1
  169. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  170. package/dist/retrieval/search-assembler.js +249 -81
  171. package/dist/retrieval/search-assembler.js.map +1 -1
  172. package/dist/retrieval/session-reconstructor.d.ts +36 -0
  173. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  174. package/dist/retrieval/session-reconstructor.js +126 -0
  175. package/dist/retrieval/session-reconstructor.js.map +1 -1
  176. package/dist/storage/db.d.ts.map +1 -1
  177. package/dist/storage/db.js +15 -0
  178. package/dist/storage/db.js.map +1 -1
  179. package/dist/storage/index-entry-store.d.ts +71 -0
  180. package/dist/storage/index-entry-store.d.ts.map +1 -0
  181. package/dist/storage/index-entry-store.js +275 -0
  182. package/dist/storage/index-entry-store.js.map +1 -0
  183. package/dist/storage/index.d.ts +5 -2
  184. package/dist/storage/index.d.ts.map +1 -1
  185. package/dist/storage/index.js +5 -1
  186. package/dist/storage/index.js.map +1 -1
  187. package/dist/storage/migrations.d.ts.map +1 -1
  188. package/dist/storage/migrations.js +102 -0
  189. package/dist/storage/migrations.js.map +1 -1
  190. package/dist/storage/schema.sql +68 -2
  191. package/dist/storage/session-state-store.d.ts +61 -0
  192. package/dist/storage/session-state-store.d.ts.map +1 -0
  193. package/dist/storage/session-state-store.js +119 -0
  194. package/dist/storage/session-state-store.js.map +1 -0
  195. package/dist/storage/types.d.ts +50 -0
  196. package/dist/storage/types.d.ts.map +1 -1
  197. package/dist/storage/vector-store.d.ts +17 -2
  198. package/dist/storage/vector-store.d.ts.map +1 -1
  199. package/dist/storage/vector-store.js +96 -36
  200. package/dist/storage/vector-store.js.map +1 -1
  201. package/package.json +4 -2
@@ -88,6 +88,14 @@ export class VectorStore {
88
88
  modelId = 'jina-small';
89
89
  /** Expected embedding dimensions for the current model. */
90
90
  expectedDims = 512;
91
+ /** SQL table name for persistence. Default: 'vectors'. */
92
+ tableName;
93
+ /** Optional lookup table for resolving entity metadata (e.g. 'index_entries' for index vectors). */
94
+ metadataTable;
95
+ constructor(options) {
96
+ this.tableName = options?.tableName ?? 'vectors';
97
+ this.metadataTable = options?.metadataTable ?? null;
98
+ }
91
99
  /**
92
100
  * Set the active model ID for this vector store.
93
101
  * Only vectors matching this model_id are loaded and returned from search.
@@ -116,7 +124,7 @@ export class VectorStore {
116
124
  const db = getDb();
117
125
  // Ensure vectors table exists with TTL columns
118
126
  db.exec(`
119
- CREATE TABLE IF NOT EXISTS vectors (
127
+ CREATE TABLE IF NOT EXISTS ${this.tableName} (
120
128
  id TEXT PRIMARY KEY,
121
129
  embedding BLOB NOT NULL,
122
130
  orphaned_at TEXT DEFAULT NULL,
@@ -125,65 +133,64 @@ export class VectorStore {
125
133
  )
126
134
  `);
127
135
  // Migrate existing tables
128
- const columns = db.prepare('PRAGMA table_info(vectors)').all();
136
+ const columns = db.prepare(`PRAGMA table_info(${this.tableName})`).all();
129
137
  const hasOrphanedAt = columns.some((c) => c.name === 'orphaned_at');
130
138
  const hasLastAccessed = columns.some((c) => c.name === 'last_accessed');
131
139
  const hasModelId = columns.some((c) => c.name === 'model_id');
132
140
  if (!hasOrphanedAt) {
133
- db.exec('ALTER TABLE vectors ADD COLUMN orphaned_at TEXT DEFAULT NULL');
141
+ db.exec(`ALTER TABLE ${this.tableName} ADD COLUMN orphaned_at TEXT DEFAULT NULL`);
134
142
  }
135
143
  if (!hasLastAccessed) {
136
- db.exec('ALTER TABLE vectors ADD COLUMN last_accessed TEXT DEFAULT CURRENT_TIMESTAMP');
137
- db.exec('UPDATE vectors SET last_accessed = CURRENT_TIMESTAMP WHERE last_accessed IS NULL');
144
+ db.exec(`ALTER TABLE ${this.tableName} ADD COLUMN last_accessed TEXT DEFAULT CURRENT_TIMESTAMP`);
145
+ db.exec(`UPDATE ${this.tableName} SET last_accessed = CURRENT_TIMESTAMP WHERE last_accessed IS NULL`);
138
146
  }
139
147
  if (!hasModelId) {
140
- db.exec("ALTER TABLE vectors ADD COLUMN model_id TEXT DEFAULT 'jina-small'");
141
- db.exec("UPDATE vectors SET model_id = 'jina-small' WHERE model_id IS NULL");
142
- db.exec('CREATE INDEX IF NOT EXISTS idx_vectors_model ON vectors(model_id)');
148
+ db.exec(`ALTER TABLE ${this.tableName} ADD COLUMN model_id TEXT DEFAULT 'jina-small'`);
149
+ db.exec(`UPDATE ${this.tableName} SET model_id = 'jina-small' WHERE model_id IS NULL`);
150
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_${this.tableName}_model ON ${this.tableName}(model_id)`);
143
151
  }
144
152
  // Load only vectors matching the active model_id
145
153
  const rows = db
146
- .prepare('SELECT id, embedding FROM vectors WHERE model_id = ?')
154
+ .prepare(`SELECT id, embedding FROM ${this.tableName} WHERE model_id = ?`)
147
155
  .all(this.modelId);
148
156
  for (const row of rows) {
149
157
  const embedding = deserializeEmbedding(row.embedding);
150
158
  this.vectors.set(row.id, embedding);
151
159
  }
152
- // Populate chunk→project index from chunks table
160
+ // Populate metadata indexes (project, agent, team)
161
+ const metaTable = this.metadataTable ?? 'chunks';
153
162
  try {
154
- const chunkRows = db
155
- .prepare("SELECT id, session_slug FROM chunks WHERE session_slug != ''")
163
+ const projectRows = db
164
+ .prepare(`SELECT id, session_slug FROM ${metaTable} WHERE session_slug != ''`)
156
165
  .all();
157
- for (const row of chunkRows) {
166
+ for (const row of projectRows) {
158
167
  this.chunkProjectIndex.set(row.id, row.session_slug);
159
168
  }
160
169
  }
161
170
  catch {
162
- // chunks table may not exist yet (e.g., during migrations)
171
+ // metadata table may not exist yet (e.g., during migrations)
163
172
  }
164
- // Populate chunk→agent index
165
173
  try {
166
174
  const agentRows = db
167
- .prepare('SELECT id, agent_id FROM chunks WHERE agent_id IS NOT NULL')
175
+ .prepare(`SELECT id, agent_id FROM ${metaTable} WHERE agent_id IS NOT NULL`)
168
176
  .all();
169
177
  for (const row of agentRows) {
170
178
  this.chunkAgentIndex.set(row.id, row.agent_id);
171
179
  }
172
180
  }
173
181
  catch {
174
- // chunks table may not exist yet
182
+ // metadata table may not exist yet
175
183
  }
176
- // Populate chunk→team index
177
184
  try {
178
185
  const teamRows = db
179
- .prepare('SELECT id, team_name FROM chunks WHERE team_name IS NOT NULL')
186
+ .prepare(`SELECT id, team_name FROM ${metaTable} WHERE team_name IS NOT NULL`)
180
187
  .all();
181
188
  for (const row of teamRows) {
182
189
  this.chunkTeamIndex.set(row.id, row.team_name);
183
190
  }
184
191
  }
185
192
  catch {
186
- // chunks table may not exist yet
193
+ // metadata table may not exist yet
187
194
  }
188
195
  this.loaded = true;
189
196
  }
@@ -198,12 +205,13 @@ export class VectorStore {
198
205
  }
199
206
  const db = getDb();
200
207
  const blob = serializeEmbedding(embedding);
201
- db.prepare('INSERT OR REPLACE INTO vectors (id, embedding, orphaned_at, last_accessed, model_id) VALUES (?, ?, NULL, CURRENT_TIMESTAMP, ?)').run(id, blob, this.modelId);
208
+ db.prepare(`INSERT OR REPLACE INTO ${this.tableName} (id, embedding, orphaned_at, last_accessed, model_id) VALUES (?, ?, NULL, CURRENT_TIMESTAMP, ?)`).run(id, blob, this.modelId);
202
209
  this.vectors.set(id, embedding);
203
210
  // Update project, agent, and team indexes
211
+ const metaTable = this.metadataTable ?? 'chunks';
204
212
  try {
205
213
  const row = db
206
- .prepare('SELECT session_slug, agent_id, team_name FROM chunks WHERE id = ?')
214
+ .prepare(`SELECT session_slug, agent_id, team_name FROM ${metaTable} WHERE id = ?`)
207
215
  .get(id);
208
216
  if (row?.session_slug) {
209
217
  this.chunkProjectIndex.set(id, row.session_slug);
@@ -216,7 +224,7 @@ export class VectorStore {
216
224
  }
217
225
  }
218
226
  catch {
219
- // chunks table may not exist
227
+ // metadata table may not exist
220
228
  }
221
229
  }
222
230
  /**
@@ -232,7 +240,7 @@ export class VectorStore {
232
240
  }
233
241
  }
234
242
  const db = getDb();
235
- const stmt = db.prepare('INSERT OR REPLACE INTO vectors (id, embedding, orphaned_at, last_accessed, model_id) VALUES (?, ?, NULL, CURRENT_TIMESTAMP, ?)');
243
+ const stmt = db.prepare(`INSERT OR REPLACE INTO ${this.tableName} (id, embedding, orphaned_at, last_accessed, model_id) VALUES (?, ?, NULL, CURRENT_TIMESTAMP, ?)`);
236
244
  const modelId = this.modelId;
237
245
  const insertMany = db.transaction((items) => {
238
246
  for (const item of items) {
@@ -243,12 +251,13 @@ export class VectorStore {
243
251
  });
244
252
  insertMany(items);
245
253
  // Update project, agent, and team indexes for batch
254
+ const metaTable = this.metadataTable ?? 'chunks';
246
255
  try {
247
256
  const ids = items.map((i) => i.id);
248
257
  if (ids.length > 0) {
249
258
  const placeholders = sqlPlaceholders(ids.length);
250
259
  const rows = db
251
- .prepare(`SELECT id, session_slug, agent_id, team_name FROM chunks WHERE id IN (${placeholders}) AND session_slug != ''`)
260
+ .prepare(`SELECT id, session_slug, agent_id, team_name FROM ${metaTable} WHERE id IN (${placeholders}) AND session_slug != ''`)
252
261
  .all(...ids);
253
262
  for (const row of rows) {
254
263
  this.chunkProjectIndex.set(row.id, row.session_slug);
@@ -262,7 +271,7 @@ export class VectorStore {
262
271
  }
263
272
  }
264
273
  catch {
265
- // chunks table may not exist
274
+ // metadata table may not exist
266
275
  }
267
276
  }
268
277
  /**
@@ -372,7 +381,7 @@ export class VectorStore {
372
381
  async delete(id) {
373
382
  await this.load();
374
383
  const db = getDb();
375
- const result = db.prepare('DELETE FROM vectors WHERE id = ?').run(id);
384
+ const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`).run(id);
376
385
  this.vectors.delete(id);
377
386
  return result.changes > 0;
378
387
  }
@@ -385,7 +394,7 @@ export class VectorStore {
385
394
  await this.load();
386
395
  const db = getDb();
387
396
  const placeholders = sqlPlaceholders(ids.length);
388
- const result = db.prepare(`DELETE FROM vectors WHERE id IN (${placeholders})`).run(...ids);
397
+ const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`).run(...ids);
389
398
  for (const id of ids) {
390
399
  this.vectors.delete(id);
391
400
  this.chunkProjectIndex.delete(id);
@@ -411,7 +420,7 @@ export class VectorStore {
411
420
  */
412
421
  async clear() {
413
422
  const db = getDb();
414
- db.exec('DELETE FROM vectors');
423
+ db.exec(`DELETE FROM ${this.tableName}`);
415
424
  this.vectors.clear();
416
425
  }
417
426
  /**
@@ -463,7 +472,7 @@ export class VectorStore {
463
472
  return;
464
473
  const db = getDb();
465
474
  const placeholders = sqlPlaceholders(ids.length);
466
- db.prepare(`UPDATE vectors SET last_accessed = CURRENT_TIMESTAMP WHERE id IN (${placeholders})`).run(...ids);
475
+ db.prepare(`UPDATE ${this.tableName} SET last_accessed = CURRENT_TIMESTAMP WHERE id IN (${placeholders})`).run(...ids);
467
476
  }
468
477
  /**
469
478
  * Clean up expired vectors and their corresponding chunks.
@@ -479,7 +488,7 @@ export class VectorStore {
479
488
  // Find expired vectors (any vector not accessed within TTL)
480
489
  const expiredRows = db
481
490
  .prepare(`
482
- SELECT id FROM vectors
491
+ SELECT id FROM ${this.tableName}
483
492
  WHERE last_accessed < datetime('now', '-' || ? || ' days')
484
493
  `)
485
494
  .all(ttlDays);
@@ -492,7 +501,7 @@ export class VectorStore {
492
501
  db.prepare(`DELETE FROM chunks WHERE id IN (${placeholders})`).run(...expiredIds);
493
502
  // Delete vectors
494
503
  const result = db
495
- .prepare(`DELETE FROM vectors WHERE id IN (${placeholders})`)
504
+ .prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`)
496
505
  .run(...expiredIds);
497
506
  // Remove empty clusters (no remaining members after chunk deletion)
498
507
  db.prepare(`
@@ -500,6 +509,28 @@ export class VectorStore {
500
509
  SELECT DISTINCT cluster_id FROM chunk_clusters
501
510
  )
502
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
+ }
503
534
  // Remove from memory
504
535
  for (const id of expiredIds) {
505
536
  this.vectors.delete(id);
@@ -526,7 +557,7 @@ export class VectorStore {
526
557
  // Select the oldest vectors by last_accessed
527
558
  const toEvict = db
528
559
  .prepare(`
529
- SELECT id FROM vectors
560
+ SELECT id FROM ${this.tableName}
530
561
  ORDER BY last_accessed ASC
531
562
  LIMIT ?
532
563
  `)
@@ -538,13 +569,32 @@ export class VectorStore {
538
569
  // Delete chunks first (FK cascades handle chunk_clusters and edges)
539
570
  db.prepare(`DELETE FROM chunks WHERE id IN (${placeholders})`).run(...evictIds);
540
571
  // Delete vectors
541
- const result = db.prepare(`DELETE FROM vectors WHERE id IN (${placeholders})`).run(...evictIds);
572
+ const result = db.prepare(`DELETE FROM ${this.tableName} WHERE id IN (${placeholders})`).run(...evictIds);
542
573
  // Remove empty clusters
543
574
  db.prepare(`
544
575
  DELETE FROM clusters WHERE id NOT IN (
545
576
  SELECT DISTINCT cluster_id FROM chunk_clusters
546
577
  )
547
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
+ }
548
598
  // Remove from memory
549
599
  for (const id of evictIds) {
550
600
  this.vectors.delete(id);
@@ -554,10 +604,20 @@ export class VectorStore {
554
604
  }
555
605
  }
556
606
  /**
557
- * Singleton vector store instance.
607
+ * Singleton vector store instance for chunk embeddings.
558
608
  *
559
- * Use this for all vector operations to ensure consistent state.
609
+ * Use this for all chunk vector operations to ensure consistent state.
560
610
  * The instance lazy-loads vectors from SQLite on first operation.
561
611
  */
562
612
  export const vectorStore = new VectorStore();
613
+ /**
614
+ * Singleton vector store instance for index entry embeddings.
615
+ *
616
+ * Stores embeddings in the `index_vectors` table and looks up metadata
617
+ * from the `index_entries` table for project/agent/team filtering.
618
+ */
619
+ export const indexVectorStore = new VectorStore({
620
+ tableName: 'index_vectors',
621
+ metadataTable: 'index_entries',
622
+ });
563
623
  //# sourceMappingURL=vector-store.js.map
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "causantic",
3
- "version": "0.9.3",
3
+ "version": "0.10.0",
4
4
  "description": "Long-term memory for Claude Code — local-first, graph-augmented, self-benchmarking",
5
5
  "type": "module",
6
6
  "private": false,
@@ -86,9 +86,11 @@
86
86
  "dependencies": {
87
87
  "@anthropic-ai/sdk": "^0.78.0",
88
88
  "@huggingface/transformers": "^3.4.1",
89
+ "@vscode/tree-sitter-wasm": "^0.3.0",
89
90
  "better-sqlite3-multiple-ciphers": "^12.6.2",
90
91
  "express": "^5.2.1",
91
- "onnxruntime-node": "^1.24.1"
92
+ "onnxruntime-node": "^1.24.1",
93
+ "web-tree-sitter": "^0.26.6"
92
94
  },
93
95
  "overrides": {
94
96
  "qs": ">=6.14.2",