causantic 0.7.1 → 0.8.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 (131) hide show
  1. package/README.md +5 -4
  2. package/config.schema.json +46 -0
  3. package/dist/cli/commands/init/api-key.d.ts +2 -0
  4. package/dist/cli/commands/init/api-key.d.ts.map +1 -0
  5. package/dist/cli/commands/init/api-key.js +26 -0
  6. package/dist/cli/commands/init/api-key.js.map +1 -0
  7. package/dist/cli/commands/init/encryption.d.ts +2 -0
  8. package/dist/cli/commands/init/encryption.d.ts.map +1 -0
  9. package/dist/cli/commands/init/encryption.js +104 -0
  10. package/dist/cli/commands/init/encryption.js.map +1 -0
  11. package/dist/cli/commands/init/health.d.ts +2 -0
  12. package/dist/cli/commands/init/health.d.ts.map +1 -0
  13. package/dist/cli/commands/init/health.js +15 -0
  14. package/dist/cli/commands/init/health.js.map +1 -0
  15. package/dist/cli/commands/init/hooks.d.ts +2 -0
  16. package/dist/cli/commands/init/hooks.d.ts.map +1 -0
  17. package/dist/cli/commands/init/hooks.js +92 -0
  18. package/dist/cli/commands/init/hooks.js.map +1 -0
  19. package/dist/cli/commands/init/index.d.ts +3 -0
  20. package/dist/cli/commands/init/index.d.ts.map +1 -0
  21. package/dist/cli/commands/init/index.js +95 -0
  22. package/dist/cli/commands/init/index.js.map +1 -0
  23. package/dist/cli/commands/init/ingest.d.ts +2 -0
  24. package/dist/cli/commands/init/ingest.d.ts.map +1 -0
  25. package/dist/cli/commands/init/ingest.js +171 -0
  26. package/dist/cli/commands/init/ingest.js.map +1 -0
  27. package/dist/cli/commands/init/mcp-config.d.ts +9 -0
  28. package/dist/cli/commands/init/mcp-config.d.ts.map +1 -0
  29. package/dist/cli/commands/init/mcp-config.js +191 -0
  30. package/dist/cli/commands/init/mcp-config.js.map +1 -0
  31. package/dist/cli/commands/init/shared.d.ts +9 -0
  32. package/dist/cli/commands/init/shared.d.ts.map +1 -0
  33. package/dist/cli/commands/init/shared.js +58 -0
  34. package/dist/cli/commands/init/shared.js.map +1 -0
  35. package/dist/cli/commands/init/skills.d.ts +2 -0
  36. package/dist/cli/commands/init/skills.d.ts.map +1 -0
  37. package/dist/cli/commands/init/skills.js +68 -0
  38. package/dist/cli/commands/init/skills.js.map +1 -0
  39. package/dist/cli/commands/reindex.d.ts +8 -0
  40. package/dist/cli/commands/reindex.d.ts.map +1 -0
  41. package/dist/cli/commands/reindex.js +143 -0
  42. package/dist/cli/commands/reindex.js.map +1 -0
  43. package/dist/cli/index.js +4 -7
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/cli/skill-templates.d.ts.map +1 -1
  46. package/dist/cli/skill-templates.js +800 -317
  47. package/dist/cli/skill-templates.js.map +1 -1
  48. package/dist/clusters/cluster-manager.d.ts +23 -0
  49. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  50. package/dist/clusters/cluster-manager.js +134 -0
  51. package/dist/clusters/cluster-manager.js.map +1 -1
  52. package/dist/clusters/hdbscan-model-store.d.ts +37 -0
  53. package/dist/clusters/hdbscan-model-store.d.ts.map +1 -0
  54. package/dist/clusters/hdbscan-model-store.js +73 -0
  55. package/dist/clusters/hdbscan-model-store.js.map +1 -0
  56. package/dist/config/loader.d.ts +8 -0
  57. package/dist/config/loader.d.ts.map +1 -1
  58. package/dist/config/loader.js +38 -0
  59. package/dist/config/loader.js.map +1 -1
  60. package/dist/config/memory-config.d.ts +6 -0
  61. package/dist/config/memory-config.d.ts.map +1 -1
  62. package/dist/config/memory-config.js +6 -0
  63. package/dist/config/memory-config.js.map +1 -1
  64. package/dist/dashboard/client/assets/index-Bv5lFW-1.js +17 -0
  65. package/dist/dashboard/client/assets/index-DTriNsi9.css +1 -0
  66. package/dist/dashboard/client/index.html +2 -2
  67. package/dist/ingest/ingest-session.d.ts.map +1 -1
  68. package/dist/ingest/ingest-session.js +165 -217
  69. package/dist/ingest/ingest-session.js.map +1 -1
  70. package/dist/maintenance/scheduler.d.ts.map +1 -1
  71. package/dist/maintenance/scheduler.js +17 -6
  72. package/dist/maintenance/scheduler.js.map +1 -1
  73. package/dist/maintenance/tasks/update-clusters.d.ts +9 -0
  74. package/dist/maintenance/tasks/update-clusters.d.ts.map +1 -1
  75. package/dist/maintenance/tasks/update-clusters.js +26 -7
  76. package/dist/maintenance/tasks/update-clusters.js.map +1 -1
  77. package/dist/mcp/server.d.ts.map +1 -1
  78. package/dist/mcp/server.js +1 -6
  79. package/dist/mcp/server.js.map +1 -1
  80. package/dist/mcp/services.d.ts +27 -0
  81. package/dist/mcp/services.d.ts.map +1 -0
  82. package/dist/mcp/services.js +99 -0
  83. package/dist/mcp/services.js.map +1 -0
  84. package/dist/mcp/tools.d.ts.map +1 -1
  85. package/dist/mcp/tools.js +39 -102
  86. package/dist/mcp/tools.js.map +1 -1
  87. package/dist/models/embedder.d.ts.map +1 -1
  88. package/dist/models/embedder.js +2 -0
  89. package/dist/models/embedder.js.map +1 -1
  90. package/dist/retrieval/chain-assembler.js +2 -6
  91. package/dist/retrieval/chain-assembler.js.map +1 -1
  92. package/dist/retrieval/chain-walker.d.ts +12 -6
  93. package/dist/retrieval/chain-walker.d.ts.map +1 -1
  94. package/dist/retrieval/chain-walker.js +121 -84
  95. package/dist/retrieval/chain-walker.js.map +1 -1
  96. package/dist/retrieval/cluster-expander.d.ts +1 -1
  97. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  98. package/dist/retrieval/cluster-expander.js +13 -1
  99. package/dist/retrieval/cluster-expander.js.map +1 -1
  100. package/dist/retrieval/formatting.d.ts +13 -0
  101. package/dist/retrieval/formatting.d.ts.map +1 -0
  102. package/dist/retrieval/formatting.js +27 -0
  103. package/dist/retrieval/formatting.js.map +1 -0
  104. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  105. package/dist/retrieval/search-assembler.js +21 -15
  106. package/dist/retrieval/search-assembler.js.map +1 -1
  107. package/dist/storage/feedback-store.d.ts +34 -0
  108. package/dist/storage/feedback-store.d.ts.map +1 -0
  109. package/dist/storage/feedback-store.js +67 -0
  110. package/dist/storage/feedback-store.js.map +1 -0
  111. package/dist/storage/migrations.d.ts.map +1 -1
  112. package/dist/storage/migrations.js +68 -0
  113. package/dist/storage/migrations.js.map +1 -1
  114. package/dist/storage/schema.sql +24 -2
  115. package/dist/storage/vector-store.d.ts +20 -0
  116. package/dist/storage/vector-store.d.ts.map +1 -1
  117. package/dist/storage/vector-store.js +66 -26
  118. package/dist/storage/vector-store.js.map +1 -1
  119. package/dist/utils/version.d.ts +2 -0
  120. package/dist/utils/version.d.ts.map +1 -0
  121. package/dist/utils/version.js +7 -0
  122. package/dist/utils/version.js.map +1 -0
  123. package/package.json +8 -7
  124. package/src/dashboard/client/package-lock.json +179 -880
  125. package/src/dashboard/client/package.json +3 -3
  126. package/dist/cli/commands/init.d.ts +0 -3
  127. package/dist/cli/commands/init.d.ts.map +0 -1
  128. package/dist/cli/commands/init.js +0 -781
  129. package/dist/cli/commands/init.js.map +0 -1
  130. package/dist/dashboard/client/assets/index-BmZeW-Jd.css +0 -1
  131. package/dist/dashboard/client/assets/index-Br0W1mEc.js +0 -166
@@ -1 +1 @@
1
- {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,10 @@ export interface ClusteringOptions {
54
54
  clusterThreshold?: number;
55
55
  /** Clear existing clusters before reclustering. Default: true. */
56
56
  clearExisting?: boolean;
57
+ /** Project ID for persisting HDBSCAN model (incremental clustering). */
58
+ projectId?: string;
59
+ /** Embedding model ID for model-aware persistence. Default: 'jina-small'. */
60
+ embeddingModel?: string;
57
61
  }
58
62
  /**
59
63
  * Cluster manager for running HDBSCAN and managing cluster assignments.
@@ -64,6 +68,25 @@ export declare class ClusterManager {
64
68
  * Run HDBSCAN on all chunks and create clusters.
65
69
  */
66
70
  recluster(options?: ClusteringOptions): Promise<ClusteringResult>;
71
+ /**
72
+ * Incrementally assign new chunks to existing clusters using a persisted HDBSCAN model.
73
+ *
74
+ * Falls back to full recluster if:
75
+ * - No persisted model exists
76
+ * - Embedding model has changed (model invalidation)
77
+ * - New chunk ratio exceeds incrementalClusterThreshold
78
+ *
79
+ * @returns Result from either incremental assignment or full recluster
80
+ */
81
+ incrementalAssign(newChunkIds: string[], options: {
82
+ projectId: string;
83
+ embeddingModel?: string;
84
+ incrementalThreshold?: number;
85
+ }): Promise<{
86
+ assigned: number;
87
+ noise: number;
88
+ usedFullRecluster: boolean;
89
+ }>;
67
90
  /**
68
91
  * Assign a new chunk to existing clusters based on angular distance.
69
92
  * Returns IDs of clusters the chunk was assigned to.
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-manager.d.ts","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-manager.d.ts","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import { upsertCluster, assignChunksToClusters, getAllClusters, clearAllClusters
7
7
  import { angularDistance } from '../utils/angular-distance.js';
8
8
  import { getConfig } from '../config/memory-config.js';
9
9
  import { generateId } from '../storage/db.js';
10
+ import { predictLabels } from './hdbscan/incremental.js';
11
+ import { saveModel, loadModel } from './hdbscan-model-store.js';
10
12
  /**
11
13
  * Match new clusters to old clusters by Jaccard overlap, returning
12
14
  * a map of newClusterId → matched old snapshot. Uses greedy best-match
@@ -188,6 +190,12 @@ export class ClusterManager {
188
190
  }
189
191
  }
190
192
  const noiseCount = rawNoiseCount - reassignedNoiseIds.size;
193
+ // Save the HDBSCAN model for incremental assignment
194
+ const hdbscanModel = hdbscan.getModel();
195
+ if (hdbscanModel && options.projectId) {
196
+ const embeddingModel = options.embeddingModel ?? 'jina-small';
197
+ saveModel(options.projectId, embeddingModel, hdbscanModel, vectors.length);
198
+ }
191
199
  return {
192
200
  numClusters: clusterMembers.size,
193
201
  assignedChunks: assignments.length + noiseAssignments.length,
@@ -198,6 +206,132 @@ export class ClusterManager {
198
206
  durationMs: Date.now() - startTime,
199
207
  };
200
208
  }
209
+ /**
210
+ * Incrementally assign new chunks to existing clusters using a persisted HDBSCAN model.
211
+ *
212
+ * Falls back to full recluster if:
213
+ * - No persisted model exists
214
+ * - Embedding model has changed (model invalidation)
215
+ * - New chunk ratio exceeds incrementalClusterThreshold
216
+ *
217
+ * @returns Result from either incremental assignment or full recluster
218
+ */
219
+ async incrementalAssign(newChunkIds, options) {
220
+ const embeddingModel = options.embeddingModel ?? 'jina-small';
221
+ const clusterThreshold = options.incrementalThreshold ?? this.config.clusterThreshold;
222
+ // Try to load persisted model
223
+ const stored = loadModel(options.projectId, embeddingModel);
224
+ if (!stored) {
225
+ // No model or model mismatch — full recluster
226
+ await this.recluster({
227
+ projectId: options.projectId,
228
+ embeddingModel,
229
+ });
230
+ return { assigned: newChunkIds.length, noise: 0, usedFullRecluster: true };
231
+ }
232
+ // Check if threshold exceeded: too many new chunks since last recluster
233
+ const currentCount = await vectorStore.count();
234
+ const newSinceRecluster = currentCount - stored.chunkCount;
235
+ const ratio = stored.chunkCount > 0 ? newSinceRecluster / stored.chunkCount : 1;
236
+ if (ratio > this.config.incrementalClusterThreshold) {
237
+ // Too many new chunks — full recluster
238
+ await this.recluster({
239
+ projectId: options.projectId,
240
+ embeddingModel,
241
+ });
242
+ return { assigned: newChunkIds.length, noise: 0, usedFullRecluster: true };
243
+ }
244
+ // Get embeddings for new chunks
245
+ const newEmbeddings = [];
246
+ const validChunkIds = [];
247
+ for (const id of newChunkIds) {
248
+ const embedding = await vectorStore.get(id);
249
+ if (embedding) {
250
+ newEmbeddings.push(embedding);
251
+ validChunkIds.push(id);
252
+ }
253
+ }
254
+ if (newEmbeddings.length === 0) {
255
+ return { assigned: 0, noise: 0, usedFullRecluster: false };
256
+ }
257
+ // Load all embeddings for core distance computation
258
+ const allVectors = await vectorStore.getAllVectors();
259
+ const allEmbeddings = allVectors.map((v) => v.embedding);
260
+ // Reconstruct a full model with current embeddings for predictLabels
261
+ const fullModel = {
262
+ ...stored.model,
263
+ embeddings: allEmbeddings,
264
+ };
265
+ // Run incremental assignment
266
+ const labels = predictLabels(newEmbeddings, fullModel, this.config.minClusterSize, 'angular');
267
+ // Process assignments
268
+ const assignments = [];
269
+ let noiseCount = 0;
270
+ for (let i = 0; i < labels.length; i++) {
271
+ const label = labels[i];
272
+ if (label >= 0) {
273
+ // Find the cluster with this label's centroid
274
+ const centroid = stored.model.centroids.get(label);
275
+ if (centroid) {
276
+ const distance = angularDistance(newEmbeddings[i], centroid);
277
+ // Find matching cluster by centroid distance
278
+ const clusters = getAllClusters();
279
+ let bestCluster = null;
280
+ let bestDist = Infinity;
281
+ for (const cluster of clusters) {
282
+ if (!cluster.centroid)
283
+ continue;
284
+ const d = angularDistance(centroid, cluster.centroid);
285
+ if (d < bestDist) {
286
+ bestDist = d;
287
+ bestCluster = cluster;
288
+ }
289
+ }
290
+ if (bestCluster && bestDist < 0.1) {
291
+ assignments.push({
292
+ chunkId: validChunkIds[i],
293
+ clusterId: bestCluster.id,
294
+ distance,
295
+ });
296
+ }
297
+ else {
298
+ noiseCount++;
299
+ }
300
+ }
301
+ else {
302
+ noiseCount++;
303
+ }
304
+ }
305
+ else {
306
+ noiseCount++;
307
+ }
308
+ }
309
+ // Assign noise points to nearest cluster (fallback)
310
+ if (noiseCount > 0) {
311
+ for (let i = 0; i < labels.length; i++) {
312
+ if (labels[i] >= 0)
313
+ continue; // Already assigned
314
+ // Check if already assigned via the block above
315
+ if (assignments.some((a) => a.chunkId === validChunkIds[i]))
316
+ continue;
317
+ const assigned = await this.assignChunkToClusters(validChunkIds[i], newEmbeddings[i], {
318
+ threshold: clusterThreshold,
319
+ });
320
+ if (assigned.length > 0) {
321
+ noiseCount--;
322
+ }
323
+ }
324
+ }
325
+ if (assignments.length > 0) {
326
+ assignChunksToClusters(assignments);
327
+ await this.updateCentroids();
328
+ }
329
+ return {
330
+ assigned: assignments.length + (validChunkIds.length - noiseCount - assignments.length),
331
+ noise: noiseCount,
332
+ usedFullRecluster: false,
333
+ };
334
+ }
201
335
  /**
202
336
  * Assign a new chunk to existing clusters based on angular distance.
203
337
  * Returns IDs of clusters the chunk was assigned to.
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-manager.js","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-manager.js","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Persistence layer for HDBSCAN models.
3
+ *
4
+ * Serializes/deserializes HDBSCANModel to SQLite BLOB for incremental clustering.
5
+ * Maps are converted to [key, value][] arrays for JSON.stringify (bare stringify produces {}).
6
+ * Excludes model.embeddings from the blob — too large. Load from vector store on demand.
7
+ */
8
+ import type { HDBSCANModel } from './hdbscan/types.js';
9
+ /**
10
+ * Serialize an HDBSCANModel to a JSON blob, excluding embeddings.
11
+ */
12
+ declare function serializeModel(model: HDBSCANModel): Buffer;
13
+ /**
14
+ * Deserialize a JSON blob back to an HDBSCANModel (embeddings will be empty).
15
+ */
16
+ declare function deserializeModel(blob: Buffer): Omit<HDBSCANModel, 'embeddings'>;
17
+ /**
18
+ * Save an HDBSCAN model for a project.
19
+ */
20
+ export declare function saveModel(projectId: string, embeddingModel: string, model: HDBSCANModel, chunkCount: number): void;
21
+ /**
22
+ * Load an HDBSCAN model for a project.
23
+ *
24
+ * Returns null if:
25
+ * - No model exists for this project
26
+ * - Stored embedding_model doesn't match currentEmbeddingModel (model invalidation)
27
+ */
28
+ export declare function loadModel(projectId: string, currentEmbeddingModel: string): {
29
+ model: Omit<HDBSCANModel, 'embeddings'>;
30
+ chunkCount: number;
31
+ } | null;
32
+ /**
33
+ * Delete saved model for a project.
34
+ */
35
+ export declare function deleteModel(projectId: string): void;
36
+ export { serializeModel as _serializeModel, deserializeModel as _deserializeModel };
37
+ //# sourceMappingURL=hdbscan-model-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hdbscan-model-store.d.ts","sourceRoot":"","sources":["../../src/clusters/hdbscan-model-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD;;GAEG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUnD;AAED;;GAEG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GACjB,IAAI,CAQN;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,MAAM,GAC5B;IAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGnD;AAGD,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Persistence layer for HDBSCAN models.
3
+ *
4
+ * Serializes/deserializes HDBSCANModel to SQLite BLOB for incremental clustering.
5
+ * Maps are converted to [key, value][] arrays for JSON.stringify (bare stringify produces {}).
6
+ * Excludes model.embeddings from the blob — too large. Load from vector store on demand.
7
+ */
8
+ import { getDb } from '../storage/db.js';
9
+ /**
10
+ * Serialize an HDBSCANModel to a JSON blob, excluding embeddings.
11
+ */
12
+ function serializeModel(model) {
13
+ const serialized = {
14
+ coreDistances: model.coreDistances,
15
+ labels: model.labels,
16
+ centroids: Array.from(model.centroids.entries()),
17
+ exemplars: Array.from(model.exemplars.entries()),
18
+ lambdaValues: model.lambdaValues,
19
+ clusterMaxLambda: Array.from(model.clusterMaxLambda.entries()),
20
+ };
21
+ return Buffer.from(JSON.stringify(serialized));
22
+ }
23
+ /**
24
+ * Deserialize a JSON blob back to an HDBSCANModel (embeddings will be empty).
25
+ */
26
+ function deserializeModel(blob) {
27
+ const parsed = JSON.parse(blob.toString('utf-8'));
28
+ return {
29
+ coreDistances: parsed.coreDistances,
30
+ labels: parsed.labels,
31
+ centroids: new Map(parsed.centroids),
32
+ exemplars: new Map(parsed.exemplars),
33
+ lambdaValues: parsed.lambdaValues,
34
+ clusterMaxLambda: new Map(parsed.clusterMaxLambda),
35
+ };
36
+ }
37
+ /**
38
+ * Save an HDBSCAN model for a project.
39
+ */
40
+ export function saveModel(projectId, embeddingModel, model, chunkCount) {
41
+ const db = getDb();
42
+ const blob = serializeModel(model);
43
+ db.prepare(`INSERT OR REPLACE INTO hdbscan_models (project_id, embedding_model, model_blob, chunk_count, created_at)
44
+ VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP)`).run(projectId, embeddingModel, blob, chunkCount);
45
+ }
46
+ /**
47
+ * Load an HDBSCAN model for a project.
48
+ *
49
+ * Returns null if:
50
+ * - No model exists for this project
51
+ * - Stored embedding_model doesn't match currentEmbeddingModel (model invalidation)
52
+ */
53
+ export function loadModel(projectId, currentEmbeddingModel) {
54
+ const db = getDb();
55
+ const row = db
56
+ .prepare('SELECT model_blob, embedding_model, chunk_count FROM hdbscan_models WHERE project_id = ? AND embedding_model = ?')
57
+ .get(projectId, currentEmbeddingModel);
58
+ if (!row) {
59
+ return null;
60
+ }
61
+ const model = deserializeModel(row.model_blob);
62
+ return { model, chunkCount: row.chunk_count };
63
+ }
64
+ /**
65
+ * Delete saved model for a project.
66
+ */
67
+ export function deleteModel(projectId) {
68
+ const db = getDb();
69
+ db.prepare('DELETE FROM hdbscan_models WHERE project_id = ?').run(projectId);
70
+ }
71
+ // Re-export for testing
72
+ export { serializeModel as _serializeModel, deserializeModel as _deserializeModel };
73
+ //# sourceMappingURL=hdbscan-model-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hdbscan-model-store.js","sourceRoot":"","sources":["../../src/clusters/hdbscan-model-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAezC;;GAEG;AACH,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,UAAU,GAAoB;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAChD,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAChD,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;KAC/D,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,gBAAgB,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,cAAsB,EACtB,KAAmB,EACnB,UAAkB;IAElB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAEnC,EAAE,CAAC,OAAO,CACR;4CACwC,CACzC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,qBAA6B;IAE7B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,kHAAkH,CACnH;SACA,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAE1B,CAAC;IAEd,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,wBAAwB;AACxB,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -14,6 +14,8 @@ export interface ExternalConfig {
14
14
  clustering?: {
15
15
  threshold?: number;
16
16
  minClusterSize?: number;
17
+ /** Ratio of new chunks (vs total) that triggers a full recluster. Default: 0.3. */
18
+ incrementalThreshold?: number;
17
19
  };
18
20
  traversal?: {
19
21
  maxDepth?: number;
@@ -29,6 +31,8 @@ export interface ExternalConfig {
29
31
  llm?: {
30
32
  clusterRefreshModel?: string;
31
33
  refreshRateLimitPerMin?: number;
34
+ /** Enable LLM-based cluster labelling. Requires Anthropic API key. Default: true. */
35
+ enableLabelling?: boolean;
32
36
  };
33
37
  encryption?: {
34
38
  enabled?: boolean;
@@ -45,6 +49,8 @@ export interface ExternalConfig {
45
49
  embedding?: {
46
50
  /** Device for embedding inference: 'auto' | 'coreml' | 'cuda' | 'cpu' | 'wasm'. Default: 'auto'. */
47
51
  device?: string;
52
+ /** Embedding model ID from model registry. Default: 'jina-small'. */
53
+ model?: string;
48
54
  };
49
55
  maintenance?: {
50
56
  /** Hour of day (0-23) to run reclustering. Default: 2. */
@@ -53,6 +59,8 @@ export interface ExternalConfig {
53
59
  retrieval?: {
54
60
  /** MMR lambda: 0 = pure diversity, 1 = pure relevance. Default: 0.7 */
55
61
  mmrLambda?: number;
62
+ /** Feedback weight for cluster expansion scoring. Default: 0.1 */
63
+ feedbackWeight?: number;
56
64
  };
57
65
  recency?: {
58
66
  /** Amplitude of the time-decay boost (multiplied by exp decay). Default: 0.3 */
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKpF,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QAClC,SAAS,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,yFAAyF;QACzF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wGAAwG;QACxG,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,oGAAoG;QACpG,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,0DAA0D;QAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,uEAAuE;QACvE,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,gFAAgF;QAChF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,6DAA6D;QAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,qCAAqC;AACrC,QAAA,MAAM,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CA2C/C,CAAC;AAgLF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAiDvE;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAoCpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAQA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,YAAY,CAmChF;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  import { existsSync, readFileSync } from 'node:fs';
12
12
  import { join } from 'node:path';
13
13
  import { resolvePath, DEFAULT_CONFIG } from './memory-config.js';
14
+ import { getAllModelIds } from '../models/model-registry.js';
14
15
  import { createLogger } from '../utils/logger.js';
15
16
  const log = createLogger('config-loader');
16
17
  /** Default external config values */
@@ -18,6 +19,7 @@ const EXTERNAL_DEFAULTS = {
18
19
  clustering: {
19
20
  threshold: 0.1,
20
21
  minClusterSize: 4,
22
+ incrementalThreshold: 0.3,
21
23
  },
22
24
  traversal: {
23
25
  maxDepth: 50, // Safety net for chain walk depth
@@ -33,6 +35,7 @@ const EXTERNAL_DEFAULTS = {
33
35
  llm: {
34
36
  clusterRefreshModel: 'claude-3-haiku-20240307',
35
37
  refreshRateLimitPerMin: 30,
38
+ enableLabelling: true,
36
39
  },
37
40
  encryption: {
38
41
  enabled: false,
@@ -46,12 +49,14 @@ const EXTERNAL_DEFAULTS = {
46
49
  },
47
50
  embedding: {
48
51
  device: 'auto',
52
+ model: 'jina-small',
49
53
  },
50
54
  maintenance: {
51
55
  clusterHour: 2,
52
56
  },
53
57
  retrieval: {
54
58
  mmrLambda: 0.7,
59
+ feedbackWeight: 0.1,
55
60
  },
56
61
  recency: {
57
62
  decayFactor: 0.3,
@@ -94,6 +99,10 @@ function loadEnvConfig() {
94
99
  config.clustering = config.clustering ?? {};
95
100
  config.clustering.minClusterSize = parseInt(process.env.CAUSANTIC_CLUSTERING_MIN_CLUSTER_SIZE, 10);
96
101
  }
102
+ if (process.env.CAUSANTIC_CLUSTERING_INCREMENTAL_THRESHOLD) {
103
+ config.clustering = config.clustering ?? {};
104
+ config.clustering.incrementalThreshold = parseFloat(process.env.CAUSANTIC_CLUSTERING_INCREMENTAL_THRESHOLD);
105
+ }
97
106
  // Traversal
98
107
  if (process.env.CAUSANTIC_TRAVERSAL_MAX_DEPTH) {
99
108
  config.traversal = config.traversal ?? {};
@@ -126,6 +135,10 @@ function loadEnvConfig() {
126
135
  config.llm = config.llm ?? {};
127
136
  config.llm.refreshRateLimitPerMin = parseInt(process.env.CAUSANTIC_LLM_REFRESH_RATE_LIMIT, 10);
128
137
  }
138
+ if (process.env.CAUSANTIC_LLM_ENABLE_LABELLING) {
139
+ config.llm = config.llm ?? {};
140
+ config.llm.enableLabelling = process.env.CAUSANTIC_LLM_ENABLE_LABELLING === 'true';
141
+ }
129
142
  // Encryption
130
143
  if (process.env.CAUSANTIC_ENCRYPTION_ENABLED) {
131
144
  config.encryption = config.encryption ?? {};
@@ -162,11 +175,19 @@ function loadEnvConfig() {
162
175
  config.embedding = config.embedding ?? {};
163
176
  config.embedding.device = process.env.CAUSANTIC_EMBEDDING_DEVICE;
164
177
  }
178
+ if (process.env.CAUSANTIC_EMBEDDING_MODEL) {
179
+ config.embedding = config.embedding ?? {};
180
+ config.embedding.model = process.env.CAUSANTIC_EMBEDDING_MODEL;
181
+ }
165
182
  // Retrieval
166
183
  if (process.env.CAUSANTIC_RETRIEVAL_MMR_LAMBDA) {
167
184
  config.retrieval = config.retrieval ?? {};
168
185
  config.retrieval.mmrLambda = parseFloat(process.env.CAUSANTIC_RETRIEVAL_MMR_LAMBDA);
169
186
  }
187
+ if (process.env.CAUSANTIC_RETRIEVAL_FEEDBACK_WEIGHT) {
188
+ config.retrieval = config.retrieval ?? {};
189
+ config.retrieval.feedbackWeight = parseFloat(process.env.CAUSANTIC_RETRIEVAL_FEEDBACK_WEIGHT);
190
+ }
170
191
  // Recency
171
192
  if (process.env.CAUSANTIC_RECENCY_DECAY_FACTOR) {
172
193
  config.recency = config.recency ?? {};
@@ -245,12 +266,24 @@ export function validateExternalConfig(config) {
245
266
  errors.push('vectors.maxCount must be >= 0 (0 = unlimited)');
246
267
  }
247
268
  }
269
+ // Embedding validation
270
+ if (config.embedding?.model !== undefined) {
271
+ const validModels = getAllModelIds();
272
+ if (!validModels.includes(config.embedding.model)) {
273
+ errors.push(`embedding.model '${config.embedding.model}' is not a registered model. Available: ${validModels.join(', ')}`);
274
+ }
275
+ }
248
276
  // Retrieval validation
249
277
  if (config.retrieval?.mmrLambda !== undefined) {
250
278
  if (config.retrieval.mmrLambda < 0 || config.retrieval.mmrLambda > 1) {
251
279
  errors.push('retrieval.mmrLambda must be between 0 and 1 (inclusive)');
252
280
  }
253
281
  }
282
+ if (config.retrieval?.feedbackWeight !== undefined) {
283
+ if (config.retrieval.feedbackWeight < 0 || config.retrieval.feedbackWeight > 1) {
284
+ errors.push('retrieval.feedbackWeight must be between 0 and 1 (inclusive)');
285
+ }
286
+ }
254
287
  return errors;
255
288
  }
256
289
  /**
@@ -317,6 +350,8 @@ export function toRuntimeConfig(external) {
317
350
  // Clustering
318
351
  clusterThreshold: external.clustering.threshold ?? DEFAULT_CONFIG.clusterThreshold,
319
352
  minClusterSize: external.clustering.minClusterSize ?? DEFAULT_CONFIG.minClusterSize,
353
+ // Clustering (incremental)
354
+ incrementalClusterThreshold: external.clustering.incrementalThreshold ?? DEFAULT_CONFIG.incrementalClusterThreshold,
320
355
  // Chain walking
321
356
  maxChainDepth: external.traversal.maxDepth ?? DEFAULT_CONFIG.maxChainDepth,
322
357
  // Tokens
@@ -328,10 +363,13 @@ export function toRuntimeConfig(external) {
328
363
  // LLM
329
364
  clusterRefreshModel: external.llm.clusterRefreshModel ?? DEFAULT_CONFIG.clusterRefreshModel,
330
365
  refreshRateLimitPerMin: external.llm.refreshRateLimitPerMin ?? DEFAULT_CONFIG.refreshRateLimitPerMin,
366
+ // Embedding
367
+ embeddingModel: external.embedding?.model ?? DEFAULT_CONFIG.embeddingModel,
331
368
  // Retrieval
332
369
  mmrReranking: {
333
370
  lambda: external.retrieval?.mmrLambda ?? DEFAULT_CONFIG.mmrReranking.lambda,
334
371
  },
372
+ feedbackWeight: external.retrieval?.feedbackWeight ?? DEFAULT_CONFIG.feedbackWeight,
335
373
  // Recency
336
374
  recency: {
337
375
  decayFactor: external.recency?.decayFactor ?? DEFAULT_CONFIG.recency.decayFactor,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}