causantic 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +2 -7
  2. package/config.schema.json +66 -0
  3. package/dist/cli/commands/init/ingest.js +2 -2
  4. package/dist/cli/commands/init/ingest.js.map +1 -1
  5. package/dist/cli/skill-templates.js +2 -2
  6. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  7. package/dist/clusters/cluster-manager.js.map +1 -1
  8. package/dist/config/bootstrap.d.ts +20 -0
  9. package/dist/config/bootstrap.d.ts.map +1 -0
  10. package/dist/config/bootstrap.js +24 -0
  11. package/dist/config/bootstrap.js.map +1 -0
  12. package/dist/config/index.d.ts +1 -0
  13. package/dist/config/index.d.ts.map +1 -1
  14. package/dist/config/index.js +1 -0
  15. package/dist/config/index.js.map +1 -1
  16. package/dist/config/loader.d.ts +16 -1
  17. package/dist/config/loader.d.ts.map +1 -1
  18. package/dist/config/loader.js +194 -176
  19. package/dist/config/loader.js.map +1 -1
  20. package/dist/config/memory-config.d.ts +12 -0
  21. package/dist/config/memory-config.d.ts.map +1 -1
  22. package/dist/config/memory-config.js +64 -6
  23. package/dist/config/memory-config.js.map +1 -1
  24. package/dist/dashboard/server.d.ts.map +1 -1
  25. package/dist/dashboard/server.js +3 -1
  26. package/dist/dashboard/server.js.map +1 -1
  27. package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -1
  28. package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -1
  29. package/dist/eval/experiments/index-differentiation/alignment-analysis.js +3 -9
  30. package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -1
  31. package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -1
  32. package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -1
  33. package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -1
  34. package/dist/eval/experiments/index-differentiation/refinement-test.js +1 -3
  35. package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -1
  36. package/dist/eval/experiments/index-differentiation/run-experiment.js +5 -7
  37. package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -1
  38. package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -1
  39. package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -1
  40. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +1 -3
  41. package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -1
  42. package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -1
  43. package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -1
  44. package/dist/eval/experiments/index-vs-chunk/run-experiment.js +6 -16
  45. package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -1
  46. package/dist/eval/experiments/pipeline-dropout/run-experiment.js +12 -4
  47. package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -1
  48. package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -1
  49. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +26 -12
  50. package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -1
  51. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +1 -1
  52. package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -1
  53. package/dist/hooks/hook-utils.d.ts +1 -1
  54. package/dist/hooks/hook-utils.d.ts.map +1 -1
  55. package/dist/hooks/hook-utils.js +4 -2
  56. package/dist/hooks/hook-utils.js.map +1 -1
  57. package/dist/hooks/session-start.d.ts.map +1 -1
  58. package/dist/hooks/session-start.js +4 -1
  59. package/dist/hooks/session-start.js.map +1 -1
  60. package/dist/index-entries/index-generator.d.ts.map +1 -1
  61. package/dist/index-entries/index-generator.js +1 -3
  62. package/dist/index-entries/index-generator.js.map +1 -1
  63. package/dist/index-entries/index-refresher.d.ts.map +1 -1
  64. package/dist/index-entries/index-refresher.js.map +1 -1
  65. package/dist/index-entries/index.d.ts +1 -1
  66. package/dist/index-entries/index.d.ts.map +1 -1
  67. package/dist/index-entries/index.js +1 -1
  68. package/dist/index-entries/index.js.map +1 -1
  69. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  70. package/dist/ingest/brief-debrief-detector.js +6 -5
  71. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  72. package/dist/ingest/ingest-session.d.ts.map +1 -1
  73. package/dist/ingest/ingest-session.js +109 -37
  74. package/dist/ingest/ingest-session.js.map +1 -1
  75. package/dist/ingest/session-state.d.ts.map +1 -1
  76. package/dist/ingest/session-state.js +6 -18
  77. package/dist/ingest/session-state.js.map +1 -1
  78. package/dist/mcp/server.d.ts +1 -1
  79. package/dist/mcp/server.d.ts.map +1 -1
  80. package/dist/mcp/server.js +15 -5
  81. package/dist/mcp/server.js.map +1 -1
  82. package/dist/mcp/services.d.ts.map +1 -1
  83. package/dist/mcp/services.js +9 -0
  84. package/dist/mcp/services.js.map +1 -1
  85. package/dist/mcp/tools.d.ts.map +1 -1
  86. package/dist/mcp/tools.js +36 -47
  87. package/dist/mcp/tools.js.map +1 -1
  88. package/dist/models/embedder.d.ts.map +1 -1
  89. package/dist/models/embedder.js +1 -0
  90. package/dist/models/embedder.js.map +1 -1
  91. package/dist/repomap/parser.d.ts.map +1 -1
  92. package/dist/repomap/parser.js +71 -22
  93. package/dist/repomap/parser.js.map +1 -1
  94. package/dist/repomap/regex-parser.d.ts.map +1 -1
  95. package/dist/repomap/regex-parser.js +30 -6
  96. package/dist/repomap/regex-parser.js.map +1 -1
  97. package/dist/repomap/renderer.d.ts.map +1 -1
  98. package/dist/repomap/renderer.js.map +1 -1
  99. package/dist/repomap/scanner.d.ts.map +1 -1
  100. package/dist/repomap/scanner.js +30 -11
  101. package/dist/repomap/scanner.js.map +1 -1
  102. package/dist/retrieval/chain-walker.d.ts.map +1 -1
  103. package/dist/retrieval/chain-walker.js +6 -2
  104. package/dist/retrieval/chain-walker.js.map +1 -1
  105. package/dist/retrieval/context-assembler.d.ts +1 -1
  106. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  107. package/dist/retrieval/rrf.d.ts +1 -1
  108. package/dist/retrieval/rrf.d.ts.map +1 -1
  109. package/dist/retrieval/rrf.js +1 -1
  110. package/dist/retrieval/rrf.js.map +1 -1
  111. package/dist/retrieval/search-assembler.d.ts +1 -1
  112. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  113. package/dist/retrieval/search-assembler.js +324 -227
  114. package/dist/retrieval/search-assembler.js.map +1 -1
  115. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  116. package/dist/retrieval/session-reconstructor.js +7 -5
  117. package/dist/retrieval/session-reconstructor.js.map +1 -1
  118. package/dist/storage/chunk-store.d.ts.map +1 -1
  119. package/dist/storage/chunk-store.js +2 -0
  120. package/dist/storage/chunk-store.js.map +1 -1
  121. package/dist/storage/cluster-store.d.ts.map +1 -1
  122. package/dist/storage/cluster-store.js +3 -11
  123. package/dist/storage/cluster-store.js.map +1 -1
  124. package/dist/storage/db.d.ts +7 -0
  125. package/dist/storage/db.d.ts.map +1 -1
  126. package/dist/storage/db.js +25 -4
  127. package/dist/storage/db.js.map +1 -1
  128. package/dist/storage/entity-store.d.ts +48 -0
  129. package/dist/storage/entity-store.d.ts.map +1 -0
  130. package/dist/storage/entity-store.js +111 -0
  131. package/dist/storage/entity-store.js.map +1 -0
  132. package/dist/storage/index-entry-store.d.ts.map +1 -1
  133. package/dist/storage/index-entry-store.js +39 -40
  134. package/dist/storage/index-entry-store.js.map +1 -1
  135. package/dist/storage/keyword-store.d.ts +5 -0
  136. package/dist/storage/keyword-store.d.ts.map +1 -1
  137. package/dist/storage/keyword-store.js +1 -1
  138. package/dist/storage/keyword-store.js.map +1 -1
  139. package/dist/storage/migrations.d.ts.map +1 -1
  140. package/dist/storage/migrations.js +45 -0
  141. package/dist/storage/migrations.js.map +1 -1
  142. package/dist/storage/schema.sql +38 -2
  143. package/dist/storage/session-state-store.d.ts.map +1 -1
  144. package/dist/storage/session-state-store.js +46 -8
  145. package/dist/storage/session-state-store.js.map +1 -1
  146. package/dist/storage/types.d.ts +4 -2
  147. package/dist/storage/types.d.ts.map +1 -1
  148. package/dist/storage/vector-store-cleanup.d.ts +47 -0
  149. package/dist/storage/vector-store-cleanup.d.ts.map +1 -0
  150. package/dist/storage/vector-store-cleanup.js +101 -0
  151. package/dist/storage/vector-store-cleanup.js.map +1 -0
  152. package/dist/storage/vector-store.d.ts +13 -1
  153. package/dist/storage/vector-store.d.ts.map +1 -1
  154. package/dist/storage/vector-store.js +56 -111
  155. package/dist/storage/vector-store.js.map +1 -1
  156. package/dist/utils/entity-extractor.d.ts +23 -0
  157. package/dist/utils/entity-extractor.d.ts.map +1 -0
  158. package/dist/utils/entity-extractor.js +233 -0
  159. package/dist/utils/entity-extractor.js.map +1 -0
  160. package/package.json +3 -2
@@ -58,7 +58,7 @@ const EXTERNAL_DEFAULTS = {
58
58
  retrieval: {
59
59
  mmrLambda: 0.7,
60
60
  feedbackWeight: 0.1,
61
- primary: 'keyword',
61
+ primary: 'hybrid',
62
62
  vectorEnrichment: false,
63
63
  },
64
64
  recency: {
@@ -93,145 +93,117 @@ function loadConfigFile(path) {
93
93
  return null;
94
94
  }
95
95
  }
96
- /**
97
- * Load config from environment variables.
98
- * Variables are prefixed with CAUSANTIC_ and use underscores for nesting.
99
- * Examples:
100
- * CAUSANTIC_DECAY_BACKWARD_TYPE=linear
101
- * CAUSANTIC_CLUSTERING_THRESHOLD=0.09
102
- * CAUSANTIC_STORAGE_DB_PATH=~/.causantic/memory.db
103
- */
104
- function loadEnvConfig() {
105
- const config = {};
96
+ /** All CAUSANTIC_* environment variable mappings. */
97
+ export const ENV_MAPPINGS = [
106
98
  // Clustering
107
- if (process.env.CAUSANTIC_CLUSTERING_THRESHOLD) {
108
- config.clustering = config.clustering ?? {};
109
- config.clustering.threshold = parseFloat(process.env.CAUSANTIC_CLUSTERING_THRESHOLD);
110
- }
111
- if (process.env.CAUSANTIC_CLUSTERING_MIN_CLUSTER_SIZE) {
112
- config.clustering = config.clustering ?? {};
113
- config.clustering.minClusterSize = parseInt(process.env.CAUSANTIC_CLUSTERING_MIN_CLUSTER_SIZE, 10);
114
- }
115
- if (process.env.CAUSANTIC_CLUSTERING_INCREMENTAL_THRESHOLD) {
116
- config.clustering = config.clustering ?? {};
117
- config.clustering.incrementalThreshold = parseFloat(process.env.CAUSANTIC_CLUSTERING_INCREMENTAL_THRESHOLD);
118
- }
99
+ { env: 'CAUSANTIC_CLUSTERING_THRESHOLD', path: 'clustering.threshold', type: 'float' },
100
+ { env: 'CAUSANTIC_CLUSTERING_MIN_CLUSTER_SIZE', path: 'clustering.minClusterSize', type: 'int' },
101
+ {
102
+ env: 'CAUSANTIC_CLUSTERING_INCREMENTAL_THRESHOLD',
103
+ path: 'clustering.incrementalThreshold',
104
+ type: 'float',
105
+ },
119
106
  // Traversal
120
- if (process.env.CAUSANTIC_TRAVERSAL_MAX_DEPTH) {
121
- config.traversal = config.traversal ?? {};
122
- config.traversal.maxDepth = parseInt(process.env.CAUSANTIC_TRAVERSAL_MAX_DEPTH, 10);
123
- }
107
+ { env: 'CAUSANTIC_TRAVERSAL_MAX_DEPTH', path: 'traversal.maxDepth', type: 'int' },
124
108
  // Tokens
125
- if (process.env.CAUSANTIC_TOKENS_CLAUDE_MD_BUDGET) {
126
- config.tokens = config.tokens ?? {};
127
- config.tokens.claudeMdBudget = parseInt(process.env.CAUSANTIC_TOKENS_CLAUDE_MD_BUDGET, 10);
128
- }
129
- if (process.env.CAUSANTIC_TOKENS_MCP_MAX_RESPONSE) {
130
- config.tokens = config.tokens ?? {};
131
- config.tokens.mcpMaxResponse = parseInt(process.env.CAUSANTIC_TOKENS_MCP_MAX_RESPONSE, 10);
132
- }
109
+ { env: 'CAUSANTIC_TOKENS_CLAUDE_MD_BUDGET', path: 'tokens.claudeMdBudget', type: 'int' },
110
+ { env: 'CAUSANTIC_TOKENS_MCP_MAX_RESPONSE', path: 'tokens.mcpMaxResponse', type: 'int' },
133
111
  // Storage
134
- if (process.env.CAUSANTIC_STORAGE_DB_PATH) {
135
- config.storage = config.storage ?? {};
136
- config.storage.dbPath = process.env.CAUSANTIC_STORAGE_DB_PATH;
137
- }
138
- if (process.env.CAUSANTIC_STORAGE_VECTOR_PATH) {
139
- config.storage = config.storage ?? {};
140
- config.storage.vectorPath = process.env.CAUSANTIC_STORAGE_VECTOR_PATH;
141
- }
112
+ { env: 'CAUSANTIC_STORAGE_DB_PATH', path: 'storage.dbPath', type: 'string' },
113
+ { env: 'CAUSANTIC_STORAGE_VECTOR_PATH', path: 'storage.vectorPath', type: 'string' },
142
114
  // LLM
143
- if (process.env.CAUSANTIC_LLM_CLUSTER_REFRESH_MODEL) {
144
- config.llm = config.llm ?? {};
145
- config.llm.clusterRefreshModel = process.env.CAUSANTIC_LLM_CLUSTER_REFRESH_MODEL;
146
- }
147
- if (process.env.CAUSANTIC_LLM_REFRESH_RATE_LIMIT) {
148
- config.llm = config.llm ?? {};
149
- config.llm.refreshRateLimitPerMin = parseInt(process.env.CAUSANTIC_LLM_REFRESH_RATE_LIMIT, 10);
150
- }
151
- if (process.env.CAUSANTIC_LLM_ENABLE_LABELLING) {
152
- config.llm = config.llm ?? {};
153
- config.llm.enableLabelling = process.env.CAUSANTIC_LLM_ENABLE_LABELLING === 'true';
154
- }
115
+ { env: 'CAUSANTIC_LLM_CLUSTER_REFRESH_MODEL', path: 'llm.clusterRefreshModel', type: 'string' },
116
+ { env: 'CAUSANTIC_LLM_REFRESH_RATE_LIMIT', path: 'llm.refreshRateLimitPerMin', type: 'int' },
117
+ { env: 'CAUSANTIC_LLM_ENABLE_LABELLING', path: 'llm.enableLabelling', type: 'boolean' },
155
118
  // Encryption
156
- if (process.env.CAUSANTIC_ENCRYPTION_ENABLED) {
157
- config.encryption = config.encryption ?? {};
158
- config.encryption.enabled = process.env.CAUSANTIC_ENCRYPTION_ENABLED === 'true';
159
- }
160
- if (process.env.CAUSANTIC_ENCRYPTION_CIPHER) {
161
- config.encryption = config.encryption ?? {};
162
- config.encryption.cipher = process.env.CAUSANTIC_ENCRYPTION_CIPHER;
163
- }
164
- if (process.env.CAUSANTIC_ENCRYPTION_KEY_SOURCE) {
165
- config.encryption = config.encryption ?? {};
166
- config.encryption.keySource = process.env.CAUSANTIC_ENCRYPTION_KEY_SOURCE;
167
- }
168
- if (process.env.CAUSANTIC_ENCRYPTION_AUDIT_LOG) {
169
- config.encryption = config.encryption ?? {};
170
- config.encryption.auditLog = process.env.CAUSANTIC_ENCRYPTION_AUDIT_LOG === 'true';
171
- }
119
+ { env: 'CAUSANTIC_ENCRYPTION_ENABLED', path: 'encryption.enabled', type: 'boolean' },
120
+ { env: 'CAUSANTIC_ENCRYPTION_CIPHER', path: 'encryption.cipher', type: 'string' },
121
+ { env: 'CAUSANTIC_ENCRYPTION_KEY_SOURCE', path: 'encryption.keySource', type: 'string' },
122
+ { env: 'CAUSANTIC_ENCRYPTION_AUDIT_LOG', path: 'encryption.auditLog', type: 'boolean' },
172
123
  // Vectors
173
- if (process.env.CAUSANTIC_VECTORS_TTL_DAYS) {
174
- config.vectors = config.vectors ?? {};
175
- config.vectors.ttlDays = parseInt(process.env.CAUSANTIC_VECTORS_TTL_DAYS, 10);
176
- }
177
- if (process.env.CAUSANTIC_VECTORS_MAX_COUNT) {
178
- config.vectors = config.vectors ?? {};
179
- config.vectors.maxCount = parseInt(process.env.CAUSANTIC_VECTORS_MAX_COUNT, 10);
180
- }
124
+ { env: 'CAUSANTIC_VECTORS_TTL_DAYS', path: 'vectors.ttlDays', type: 'int' },
125
+ { env: 'CAUSANTIC_VECTORS_MAX_COUNT', path: 'vectors.maxCount', type: 'int' },
181
126
  // Maintenance
182
- if (process.env.CAUSANTIC_MAINTENANCE_CLUSTER_HOUR) {
183
- config.maintenance = config.maintenance ?? {};
184
- config.maintenance.clusterHour = parseInt(process.env.CAUSANTIC_MAINTENANCE_CLUSTER_HOUR, 10);
185
- }
127
+ { env: 'CAUSANTIC_MAINTENANCE_CLUSTER_HOUR', path: 'maintenance.clusterHour', type: 'int' },
186
128
  // Embedding
187
- if (process.env.CAUSANTIC_EMBEDDING_DEVICE) {
188
- config.embedding = config.embedding ?? {};
189
- config.embedding.device = process.env.CAUSANTIC_EMBEDDING_DEVICE;
190
- }
191
- if (process.env.CAUSANTIC_EMBEDDING_MODEL) {
192
- config.embedding = config.embedding ?? {};
193
- config.embedding.model = process.env.CAUSANTIC_EMBEDDING_MODEL;
194
- }
195
- if (process.env.CAUSANTIC_EMBEDDING_EAGER) {
196
- config.embedding = config.embedding ?? {};
197
- config.embedding.eager = process.env.CAUSANTIC_EMBEDDING_EAGER === 'true';
198
- }
129
+ { env: 'CAUSANTIC_EMBEDDING_DEVICE', path: 'embedding.device', type: 'string' },
130
+ { env: 'CAUSANTIC_EMBEDDING_MODEL', path: 'embedding.model', type: 'string' },
131
+ { env: 'CAUSANTIC_EMBEDDING_EAGER', path: 'embedding.eager', type: 'boolean' },
199
132
  // Retrieval
200
- if (process.env.CAUSANTIC_RETRIEVAL_MMR_LAMBDA) {
201
- config.retrieval = config.retrieval ?? {};
202
- config.retrieval.mmrLambda = parseFloat(process.env.CAUSANTIC_RETRIEVAL_MMR_LAMBDA);
203
- }
204
- if (process.env.CAUSANTIC_RETRIEVAL_FEEDBACK_WEIGHT) {
205
- config.retrieval = config.retrieval ?? {};
206
- config.retrieval.feedbackWeight = parseFloat(process.env.CAUSANTIC_RETRIEVAL_FEEDBACK_WEIGHT);
207
- }
208
- if (process.env.CAUSANTIC_RETRIEVAL_PRIMARY) {
209
- config.retrieval = config.retrieval ?? {};
210
- config.retrieval.primary = process.env.CAUSANTIC_RETRIEVAL_PRIMARY;
211
- }
212
- if (process.env.CAUSANTIC_RETRIEVAL_VECTOR_ENRICHMENT) {
213
- config.retrieval = config.retrieval ?? {};
214
- config.retrieval.vectorEnrichment =
215
- process.env.CAUSANTIC_RETRIEVAL_VECTOR_ENRICHMENT === 'true';
216
- }
133
+ { env: 'CAUSANTIC_RETRIEVAL_MMR_LAMBDA', path: 'retrieval.mmrLambda', type: 'float' },
134
+ { env: 'CAUSANTIC_RETRIEVAL_FEEDBACK_WEIGHT', path: 'retrieval.feedbackWeight', type: 'float' },
135
+ { env: 'CAUSANTIC_RETRIEVAL_PRIMARY', path: 'retrieval.primary', type: 'string' },
136
+ {
137
+ env: 'CAUSANTIC_RETRIEVAL_VECTOR_ENRICHMENT',
138
+ path: 'retrieval.vectorEnrichment',
139
+ type: 'boolean',
140
+ },
217
141
  // Recency
218
- if (process.env.CAUSANTIC_RECENCY_DECAY_FACTOR) {
219
- config.recency = config.recency ?? {};
220
- config.recency.decayFactor = parseFloat(process.env.CAUSANTIC_RECENCY_DECAY_FACTOR);
221
- }
222
- if (process.env.CAUSANTIC_RECENCY_HALF_LIFE_HOURS) {
223
- config.recency = config.recency ?? {};
224
- config.recency.halfLifeHours = parseFloat(process.env.CAUSANTIC_RECENCY_HALF_LIFE_HOURS);
225
- }
142
+ { env: 'CAUSANTIC_RECENCY_DECAY_FACTOR', path: 'recency.decayFactor', type: 'float' },
143
+ { env: 'CAUSANTIC_RECENCY_HALF_LIFE_HOURS', path: 'recency.halfLifeHours', type: 'float' },
226
144
  // Semantic Index
227
- if (process.env.CAUSANTIC_SEMANTIC_INDEX_ENABLED) {
228
- config.semanticIndex = config.semanticIndex ?? {};
229
- config.semanticIndex.enabled = process.env.CAUSANTIC_SEMANTIC_INDEX_ENABLED === 'true';
230
- }
231
- if (process.env.CAUSANTIC_SEMANTIC_INDEX_USE_FOR_SEARCH) {
232
- config.semanticIndex = config.semanticIndex ?? {};
233
- config.semanticIndex.useForSearch = process.env.CAUSANTIC_SEMANTIC_INDEX_USE_FOR_SEARCH === 'true';
145
+ { env: 'CAUSANTIC_SEMANTIC_INDEX_ENABLED', path: 'semanticIndex.enabled', type: 'boolean' },
146
+ {
147
+ env: 'CAUSANTIC_SEMANTIC_INDEX_USE_FOR_SEARCH',
148
+ path: 'semanticIndex.useForSearch',
149
+ type: 'boolean',
150
+ },
151
+ ];
152
+ /**
153
+ * Apply environment variable mappings to a config object.
154
+ * Parses values according to their declared type and sets them at the dot-path.
155
+ */
156
+ function applyEnvMappings(config, mappings) {
157
+ for (const { env, path, type } of mappings) {
158
+ const value = process.env[env];
159
+ if (value === undefined)
160
+ continue;
161
+ const parts = path.split('.');
162
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
+ let obj = config;
164
+ for (let i = 0; i < parts.length - 1; i++) {
165
+ obj[parts[i]] = obj[parts[i]] ?? {};
166
+ obj = obj[parts[i]];
167
+ }
168
+ const key = parts[parts.length - 1];
169
+ switch (type) {
170
+ case 'int': {
171
+ const parsed = parseInt(value, 10);
172
+ if (isNaN(parsed)) {
173
+ log.warn(`Invalid integer for ${env}: '${value}'`);
174
+ continue;
175
+ }
176
+ obj[key] = parsed;
177
+ break;
178
+ }
179
+ case 'float': {
180
+ const parsed = parseFloat(value);
181
+ if (isNaN(parsed)) {
182
+ log.warn(`Invalid float for ${env}: '${value}'`);
183
+ continue;
184
+ }
185
+ obj[key] = parsed;
186
+ break;
187
+ }
188
+ case 'boolean':
189
+ obj[key] = value === 'true';
190
+ break;
191
+ case 'string':
192
+ obj[key] = value;
193
+ break;
194
+ }
234
195
  }
196
+ }
197
+ /**
198
+ * Load config from environment variables.
199
+ * Variables are prefixed with CAUSANTIC_ and use underscores for nesting.
200
+ * Examples:
201
+ * CAUSANTIC_CLUSTERING_THRESHOLD=0.09
202
+ * CAUSANTIC_STORAGE_DB_PATH=~/.causantic/memory.db
203
+ */
204
+ function loadEnvConfig() {
205
+ const config = {};
206
+ applyEnvMappings(config, ENV_MAPPINGS);
235
207
  return config;
236
208
  }
237
209
  /**
@@ -308,6 +280,23 @@ export function validateExternalConfig(config) {
308
280
  errors.push(`embedding.model '${config.embedding.model}' is not a registered model. Available: ${validModels.join(', ')}`);
309
281
  }
310
282
  }
283
+ // Maintenance validation
284
+ if (config.maintenance?.clusterHour !== undefined) {
285
+ if (config.maintenance.clusterHour < 0 || config.maintenance.clusterHour > 23) {
286
+ errors.push('maintenance.clusterHour must be between 0 and 23 (inclusive)');
287
+ }
288
+ }
289
+ // Recency validation
290
+ if (config.recency?.halfLifeHours !== undefined) {
291
+ if (config.recency.halfLifeHours <= 0) {
292
+ errors.push('recency.halfLifeHours must be greater than 0');
293
+ }
294
+ }
295
+ if (config.recency?.decayFactor !== undefined) {
296
+ if (config.recency.decayFactor < 0) {
297
+ errors.push('recency.decayFactor must be >= 0');
298
+ }
299
+ }
311
300
  // Length penalty validation
312
301
  if (config.lengthPenalty?.referenceTokens !== undefined) {
313
302
  if (config.lengthPenalty.referenceTokens <= 0) {
@@ -384,6 +373,67 @@ export function getResolvedPaths(config) {
384
373
  vectorPath: resolvePath(vectorPath),
385
374
  };
386
375
  }
376
+ /** All ExternalConfig -> MemoryConfig field mappings. */
377
+ export const CONFIG_MAPPINGS = [
378
+ // Clustering
379
+ { from: 'clustering.threshold', to: 'clusterThreshold' },
380
+ { from: 'clustering.minClusterSize', to: 'minClusterSize' },
381
+ { from: 'clustering.incrementalThreshold', to: 'incrementalClusterThreshold' },
382
+ // Chain walking
383
+ { from: 'traversal.maxDepth', to: 'maxChainDepth' },
384
+ // Tokens
385
+ { from: 'tokens.claudeMdBudget', to: 'claudeMdBudgetTokens' },
386
+ { from: 'tokens.mcpMaxResponse', to: 'mcpMaxResponseTokens' },
387
+ // Storage
388
+ { from: 'storage.dbPath', to: 'dbPath' },
389
+ { from: 'storage.vectorPath', to: 'vectorStorePath' },
390
+ // LLM
391
+ { from: 'llm.clusterRefreshModel', to: 'clusterRefreshModel' },
392
+ { from: 'llm.refreshRateLimitPerMin', to: 'refreshRateLimitPerMin' },
393
+ // Retrieval strategy
394
+ { from: 'retrieval.primary', to: 'retrievalPrimary' },
395
+ { from: 'retrieval.vectorEnrichment', to: 'vectorEnrichment' },
396
+ // Embedding
397
+ { from: 'embedding.model', to: 'embeddingModel' },
398
+ { from: 'embedding.eager', to: 'embeddingEager' },
399
+ // Retrieval scoring
400
+ { from: 'retrieval.mmrLambda', to: 'mmrReranking.lambda' },
401
+ { from: 'retrieval.feedbackWeight', to: 'feedbackWeight' },
402
+ // Recency
403
+ { from: 'recency.decayFactor', to: 'recency.decayFactor' },
404
+ { from: 'recency.halfLifeHours', to: 'recency.halfLifeHours' },
405
+ // Length penalty
406
+ { from: 'lengthPenalty.enabled', to: 'lengthPenalty.enabled' },
407
+ { from: 'lengthPenalty.referenceTokens', to: 'lengthPenalty.referenceTokens' },
408
+ // Semantic index
409
+ { from: 'semanticIndex.enabled', to: 'semanticIndex.enabled' },
410
+ { from: 'semanticIndex.targetDescriptionTokens', to: 'semanticIndex.targetDescriptionTokens' },
411
+ { from: 'semanticIndex.batchRefreshLimit', to: 'semanticIndex.batchRefreshLimit' },
412
+ { from: 'semanticIndex.useForSearch', to: 'semanticIndex.useForSearch' },
413
+ ];
414
+ /** Read a value from a nested object using a dot-separated path. */
415
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
416
+ function getPath(obj, path) {
417
+ const parts = path.split('.');
418
+ let current = obj;
419
+ for (const part of parts) {
420
+ if (current === null || current === undefined)
421
+ return undefined;
422
+ current = current[part];
423
+ }
424
+ return current;
425
+ }
426
+ /** Set a value on a nested object using a dot-separated path, creating intermediates as needed. */
427
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
428
+ function setPath(obj, path, value) {
429
+ const parts = path.split('.');
430
+ let current = obj;
431
+ for (let i = 0; i < parts.length - 1; i++) {
432
+ current[parts[i]] = current[parts[i]] ?? {};
433
+ current = current[parts[i]];
434
+ }
435
+ current[parts[parts.length - 1]] = value;
436
+ }
387
437
  /**
388
438
  * Convert ExternalConfig to MemoryConfig (the runtime format).
389
439
  *
@@ -391,57 +441,25 @@ export function getResolvedPaths(config) {
391
441
  * DEFAULT_CONFIG so callers get a complete MemoryConfig.
392
442
  */
393
443
  export function toRuntimeConfig(external) {
394
- return {
444
+ // Start with a full copy of defaults
445
+ const runtime = {
395
446
  ...DEFAULT_CONFIG,
396
- // Clustering
397
- clusterThreshold: external.clustering.threshold ?? DEFAULT_CONFIG.clusterThreshold,
398
- minClusterSize: external.clustering.minClusterSize ?? DEFAULT_CONFIG.minClusterSize,
399
- // Clustering (incremental)
400
- incrementalClusterThreshold: external.clustering.incrementalThreshold ?? DEFAULT_CONFIG.incrementalClusterThreshold,
401
- // Chain walking
402
- maxChainDepth: external.traversal.maxDepth ?? DEFAULT_CONFIG.maxChainDepth,
403
- // Tokens
404
- claudeMdBudgetTokens: external.tokens.claudeMdBudget ?? DEFAULT_CONFIG.claudeMdBudgetTokens,
405
- mcpMaxResponseTokens: external.tokens.mcpMaxResponse ?? DEFAULT_CONFIG.mcpMaxResponseTokens,
406
- // Storage
407
- dbPath: external.storage.dbPath ?? DEFAULT_CONFIG.dbPath,
408
- vectorStorePath: external.storage.vectorPath ?? DEFAULT_CONFIG.vectorStorePath,
409
- // LLM
410
- clusterRefreshModel: external.llm.clusterRefreshModel ?? DEFAULT_CONFIG.clusterRefreshModel,
411
- refreshRateLimitPerMin: external.llm.refreshRateLimitPerMin ?? DEFAULT_CONFIG.refreshRateLimitPerMin,
412
- // Retrieval strategy
413
- retrievalPrimary: external.retrieval?.primary ?? DEFAULT_CONFIG.retrievalPrimary,
414
- vectorEnrichment: external.retrieval?.vectorEnrichment ?? DEFAULT_CONFIG.vectorEnrichment,
415
- // Embedding
416
- embeddingModel: external.embedding?.model ?? DEFAULT_CONFIG.embeddingModel,
417
- embeddingEager: external.embedding?.eager ?? DEFAULT_CONFIG.embeddingEager,
418
- // Retrieval
419
- mmrReranking: {
420
- lambda: external.retrieval?.mmrLambda ?? DEFAULT_CONFIG.mmrReranking.lambda,
421
- },
422
- feedbackWeight: external.retrieval?.feedbackWeight ?? DEFAULT_CONFIG.feedbackWeight,
423
- // Recency
424
- recency: {
425
- decayFactor: external.recency?.decayFactor ?? DEFAULT_CONFIG.recency.decayFactor,
426
- halfLifeHours: external.recency?.halfLifeHours ?? DEFAULT_CONFIG.recency.halfLifeHours,
427
- },
428
- // Length penalty
429
- lengthPenalty: {
430
- enabled: external.lengthPenalty?.enabled ?? DEFAULT_CONFIG.lengthPenalty.enabled,
431
- referenceTokens: external.lengthPenalty?.referenceTokens ?? DEFAULT_CONFIG.lengthPenalty.referenceTokens,
432
- },
433
- // Repo map (uses DEFAULT_CONFIG defaults — no external config mapping yet)
434
- repomap: DEFAULT_CONFIG.repomap,
435
- // Semantic index
436
- semanticIndex: {
437
- enabled: external.semanticIndex?.enabled ?? DEFAULT_CONFIG.semanticIndex.enabled,
438
- targetDescriptionTokens: external.semanticIndex?.targetDescriptionTokens ??
439
- DEFAULT_CONFIG.semanticIndex.targetDescriptionTokens,
440
- batchRefreshLimit: external.semanticIndex?.batchRefreshLimit ??
441
- DEFAULT_CONFIG.semanticIndex.batchRefreshLimit,
442
- useForSearch: external.semanticIndex?.useForSearch ?? DEFAULT_CONFIG.semanticIndex.useForSearch,
443
- },
447
+ hybridSearch: { ...DEFAULT_CONFIG.hybridSearch },
448
+ clusterExpansion: { ...DEFAULT_CONFIG.clusterExpansion },
449
+ mmrReranking: { ...DEFAULT_CONFIG.mmrReranking },
450
+ recency: { ...DEFAULT_CONFIG.recency },
451
+ lengthPenalty: { ...DEFAULT_CONFIG.lengthPenalty },
452
+ repomap: { ...DEFAULT_CONFIG.repomap, languages: [...DEFAULT_CONFIG.repomap.languages] },
453
+ semanticIndex: { ...DEFAULT_CONFIG.semanticIndex },
444
454
  };
455
+ // Apply table-driven mappings: external value wins over default
456
+ for (const { from, to } of CONFIG_MAPPINGS) {
457
+ const value = getPath(external, from);
458
+ if (value !== null && value !== undefined) {
459
+ setPath(runtime, to, value);
460
+ }
461
+ }
462
+ return runtime;
445
463
  }
446
464
  // Re-export for convenience
447
465
  export { EXTERNAL_DEFAULTS };
@@ -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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"}
@@ -100,8 +100,20 @@ export interface MemoryConfig {
100
100
  * pass doubled cluster coverage (26% → 50%) on a 7k-chunk dataset.
101
101
  */
102
102
  export declare const DEFAULT_CONFIG: MemoryConfig;
103
+ /**
104
+ * Initialize the runtime config cache. Call once at startup (e.g., MCP server start).
105
+ * This ensures getConfig() respects user config files and env vars.
106
+ */
107
+ export declare function initRuntimeConfig(config: MemoryConfig): void;
108
+ /**
109
+ * Reset the runtime config cache (test-only).
110
+ * Reverts getConfig() to returning DEFAULT_CONFIG.
111
+ */
112
+ export declare function resetRuntimeConfig(): void;
103
113
  /**
104
114
  * Get configuration with overrides applied.
115
+ * Returns the cached runtime config (from initRuntimeConfig) if available,
116
+ * otherwise falls back to DEFAULT_CONFIG.
105
117
  */
106
118
  export declare function getConfig(overrides?: Partial<MemoryConfig>): MemoryConfig;
107
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"memory-config.d.ts","sourceRoot":"","sources":["../../src/config/memory-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IAGvB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;IAGtB,gDAAgD;IAChD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4CAA4C;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAG7B,mDAAmD;IACnD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,sBAAsB,EAAE,MAAM,CAAC;IAG/B,oDAAoD;IACpD,YAAY,EAAE;QACZ,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,uCAAuC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,wCAAwC;QACxC,aAAa,EAAE,MAAM,CAAC;QACtB,wCAAwC;QACxC,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF,2DAA2D;IAC3D,gBAAgB,EAAE;QAChB,kCAAkC;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,+BAA+B;QAC/B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,+DAA+D;IAC/D,YAAY,EAAE;QACZ,2DAA2D;QAC3D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IAEvB,yDAAyD;IACzD,OAAO,EAAE;QACP,sDAAsD;QACtD,WAAW,EAAE,MAAM,CAAC;QACpB,6DAA6D;QAC7D,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF,yFAAyF;IACzF,aAAa,EAAE;QACb,2CAA2C;QAC3C,OAAO,EAAE,OAAO,CAAC;QACjB,kEAAkE;QAClE,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAGF,8EAA8E;IAC9E,2BAA2B,EAAE,MAAM,CAAC;IAGpC,uGAAuG;IACvG,gBAAgB,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClD,6FAA6F;IAC7F,gBAAgB,EAAE,OAAO,CAAC;IAG1B,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,EAAE,OAAO,CAAC;IAGxB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IAGxB,iDAAiD;IACjD,aAAa,EAAE;QACb,oDAAoD;QACpD,OAAO,EAAE,OAAO,CAAC;QACjB,yDAAyD;QACzD,uBAAuB,EAAE,MAAM,CAAC;QAChC,8DAA8D;QAC9D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kEAAkE;QAClE,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAGF,gDAAgD;IAChD,OAAO,EAAE;QACP,iDAAiD;QACjD,OAAO,EAAE,OAAO,CAAC;QACjB,6DAA6D;QAC7D,SAAS,EAAE,MAAM,CAAC;QAClB,0DAA0D;QAC1D,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,YA8E5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAE7E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAuB7D"}
1
+ {"version":3,"file":"memory-config.d.ts","sourceRoot":"","sources":["../../src/config/memory-config.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export const DEFAULT_CONFIG = {
47
47
  // Clustering (incremental)
48
48
  incrementalClusterThreshold: 0.3,
49
49
  // Retrieval strategy
50
- retrievalPrimary: 'keyword',
50
+ retrievalPrimary: 'hybrid',
51
51
  vectorEnrichment: false,
52
52
  // Embedding
53
53
  embeddingModel: 'jina-small',
@@ -67,18 +67,76 @@ export const DEFAULT_CONFIG = {
67
67
  enabled: true,
68
68
  maxTokens: 1024,
69
69
  languages: [
70
- 'typescript', 'javascript', 'python', 'java', 'c', 'cpp',
71
- 'rust', 'go', 'ruby', 'c-sharp', 'php', 'bash',
72
- 'scala', 'kotlin', 'swift', 'haskell', 'lua', 'dart',
73
- 'zig', 'elixir', 'perl', 'r',
70
+ 'typescript',
71
+ 'javascript',
72
+ 'python',
73
+ 'java',
74
+ 'c',
75
+ 'cpp',
76
+ 'rust',
77
+ 'go',
78
+ 'ruby',
79
+ 'c-sharp',
80
+ 'php',
81
+ 'bash',
82
+ 'scala',
83
+ 'kotlin',
84
+ 'swift',
85
+ 'haskell',
86
+ 'lua',
87
+ 'dart',
88
+ 'zig',
89
+ 'elixir',
90
+ 'perl',
91
+ 'r',
74
92
  ],
75
93
  },
76
94
  };
95
+ /**
96
+ * Cached runtime config, populated by initRuntimeConfig().
97
+ * When set, getConfig() returns this instead of bare defaults,
98
+ * ensuring user config files and env vars are respected.
99
+ */
100
+ let _runtimeConfig = null;
101
+ /**
102
+ * Initialize the runtime config cache. Call once at startup (e.g., MCP server start).
103
+ * This ensures getConfig() respects user config files and env vars.
104
+ */
105
+ export function initRuntimeConfig(config) {
106
+ _runtimeConfig = config;
107
+ }
108
+ /**
109
+ * Reset the runtime config cache (test-only).
110
+ * Reverts getConfig() to returning DEFAULT_CONFIG.
111
+ */
112
+ export function resetRuntimeConfig() {
113
+ _runtimeConfig = null;
114
+ }
77
115
  /**
78
116
  * Get configuration with overrides applied.
117
+ * Returns the cached runtime config (from initRuntimeConfig) if available,
118
+ * otherwise falls back to DEFAULT_CONFIG.
79
119
  */
80
120
  export function getConfig(overrides = {}) {
81
- return { ...DEFAULT_CONFIG, ...overrides };
121
+ const base = _runtimeConfig ?? DEFAULT_CONFIG;
122
+ if (Object.keys(overrides).length === 0)
123
+ return base;
124
+ return {
125
+ ...base,
126
+ ...overrides,
127
+ // Deep-merge nested objects to prevent shallow spread from destroying them
128
+ hybridSearch: { ...base.hybridSearch, ...overrides.hybridSearch },
129
+ clusterExpansion: { ...base.clusterExpansion, ...overrides.clusterExpansion },
130
+ mmrReranking: { ...base.mmrReranking, ...overrides.mmrReranking },
131
+ recency: { ...base.recency, ...overrides.recency },
132
+ lengthPenalty: { ...base.lengthPenalty, ...overrides.lengthPenalty },
133
+ repomap: {
134
+ ...base.repomap,
135
+ ...overrides.repomap,
136
+ languages: overrides.repomap?.languages ?? base.repomap.languages,
137
+ },
138
+ semanticIndex: { ...base.semanticIndex, ...overrides.semanticIndex },
139
+ };
82
140
  }
83
141
  /**
84
142
  * Resolve ~ to home directory in paths.
@@ -1 +1 @@
1
- {"version":3,"file":"memory-config.js","sourceRoot":"","sources":["../../src/config/memory-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-config.js","sourceRoot":"","sources":["../../src/config/memory-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAuBA,wBAAgB,SAAS,gDAkCxB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAuBA,wBAAgB,SAAS,gDAkCxB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChE"}