causantic 0.9.4 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -56
- package/dist/cli/skill-templates.d.ts.map +1 -1
- package/dist/cli/skill-templates.js +11 -8
- package/dist/cli/skill-templates.js.map +1 -1
- package/dist/clusters/cluster-manager.d.ts +16 -0
- package/dist/clusters/cluster-manager.d.ts.map +1 -1
- package/dist/clusters/cluster-manager.js +119 -1
- package/dist/clusters/cluster-manager.js.map +1 -1
- package/dist/config/loader.d.ts +16 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +51 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/memory-config.d.ts +26 -0
- package/dist/config/memory-config.d.ts.map +1 -1
- package/dist/config/memory-config.js +40 -0
- package/dist/config/memory-config.js.map +1 -1
- package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts +20 -0
- package/dist/eval/experiments/embedding-model-comparison/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/embedding-model-comparison/run-experiment.js +289 -0
- package/dist/eval/experiments/embedding-model-comparison/run-experiment.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts +53 -0
- package/dist/eval/experiments/index-differentiation/alignment-analysis.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/alignment-analysis.js +85 -0
- package/dist/eval/experiments/index-differentiation/alignment-analysis.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts +24 -0
- package/dist/eval/experiments/index-differentiation/discrimination-test.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/discrimination-test.js +79 -0
- package/dist/eval/experiments/index-differentiation/discrimination-test.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/index.d.ts +11 -0
- package/dist/eval/experiments/index-differentiation/index.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/index.js +8 -0
- package/dist/eval/experiments/index-differentiation/index.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/refinement-test.d.ts +32 -0
- package/dist/eval/experiments/index-differentiation/refinement-test.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/refinement-test.js +201 -0
- package/dist/eval/experiments/index-differentiation/refinement-test.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/run-experiment.d.ts +20 -0
- package/dist/eval/experiments/index-differentiation/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/run-experiment.js +336 -0
- package/dist/eval/experiments/index-differentiation/run-experiment.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts +31 -0
- package/dist/eval/experiments/index-differentiation/similarity-analysis.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/similarity-analysis.js +60 -0
- package/dist/eval/experiments/index-differentiation/similarity-analysis.js.map +1 -0
- package/dist/eval/experiments/index-differentiation/types.d.ts +114 -0
- package/dist/eval/experiments/index-differentiation/types.d.ts.map +1 -0
- package/dist/eval/experiments/index-differentiation/types.js +8 -0
- package/dist/eval/experiments/index-differentiation/types.js.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts +19 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js +326 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-experiment.js.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts +27 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.d.ts.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js +154 -0
- package/dist/eval/experiments/index-vs-chunk/jeopardy-generator.js.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts +23 -0
- package/dist/eval/experiments/index-vs-chunk/query-generator.d.ts.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/query-generator.js +113 -0
- package/dist/eval/experiments/index-vs-chunk/query-generator.js.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts +17 -0
- package/dist/eval/experiments/index-vs-chunk/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/run-experiment.js +331 -0
- package/dist/eval/experiments/index-vs-chunk/run-experiment.js.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/types.d.ts +71 -0
- package/dist/eval/experiments/index-vs-chunk/types.d.ts.map +1 -0
- package/dist/eval/experiments/index-vs-chunk/types.js +8 -0
- package/dist/eval/experiments/index-vs-chunk/types.js.map +1 -0
- package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts +18 -0
- package/dist/eval/experiments/pipeline-dropout/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/pipeline-dropout/run-experiment.js +355 -0
- package/dist/eval/experiments/pipeline-dropout/run-experiment.js.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts +17 -0
- package/dist/eval/experiments/rescorer-ceiling/analyze-misses.d.ts.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js +247 -0
- package/dist/eval/experiments/rescorer-ceiling/analyze-misses.js.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts +18 -0
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.d.ts.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js +457 -0
- package/dist/eval/experiments/rescorer-ceiling/benchmark-rescorers.js.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts +16 -0
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.js +226 -0
- package/dist/eval/experiments/rescorer-ceiling/run-experiment.js.map +1 -0
- package/dist/index-entries/index-generator.d.ts +74 -0
- package/dist/index-entries/index-generator.d.ts.map +1 -0
- package/dist/index-entries/index-generator.js +321 -0
- package/dist/index-entries/index-generator.js.map +1 -0
- package/dist/index-entries/index-refresher.d.ts +54 -0
- package/dist/index-entries/index-refresher.d.ts.map +1 -0
- package/dist/index-entries/index-refresher.js +203 -0
- package/dist/index-entries/index-refresher.js.map +1 -0
- package/dist/index-entries/index.d.ts +6 -0
- package/dist/index-entries/index.d.ts.map +1 -0
- package/dist/index-entries/index.js +6 -0
- package/dist/index-entries/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest/entity-extractor.d.ts +23 -0
- package/dist/ingest/entity-extractor.d.ts.map +1 -0
- package/dist/ingest/entity-extractor.js +233 -0
- package/dist/ingest/entity-extractor.js.map +1 -0
- package/dist/ingest/index-entry-hook.d.ts +15 -0
- package/dist/ingest/index-entry-hook.d.ts.map +1 -0
- package/dist/ingest/index-entry-hook.js +84 -0
- package/dist/ingest/index-entry-hook.js.map +1 -0
- package/dist/ingest/ingest-session.d.ts.map +1 -1
- package/dist/ingest/ingest-session.js +89 -17
- package/dist/ingest/ingest-session.js.map +1 -1
- package/dist/ingest/session-state.d.ts +49 -0
- package/dist/ingest/session-state.d.ts.map +1 -0
- package/dist/ingest/session-state.js +146 -0
- package/dist/ingest/session-state.js.map +1 -0
- package/dist/maintenance/scheduler.d.ts.map +1 -1
- package/dist/maintenance/scheduler.js +25 -0
- package/dist/maintenance/scheduler.js.map +1 -1
- package/dist/maintenance/tasks/backfill-index.d.ts +27 -0
- package/dist/maintenance/tasks/backfill-index.d.ts.map +1 -0
- package/dist/maintenance/tasks/backfill-index.js +44 -0
- package/dist/maintenance/tasks/backfill-index.js.map +1 -0
- package/dist/mcp/services.d.ts.map +1 -1
- package/dist/mcp/services.js +9 -0
- package/dist/mcp/services.js.map +1 -1
- package/dist/mcp/tools.d.ts +4 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +113 -7
- package/dist/mcp/tools.js.map +1 -1
- package/dist/models/embedder.js +2 -2
- package/dist/models/embedder.js.map +1 -1
- package/dist/models/model-registry.d.ts +2 -0
- package/dist/models/model-registry.d.ts.map +1 -1
- package/dist/models/model-registry.js +15 -0
- package/dist/models/model-registry.js.map +1 -1
- package/dist/repomap/cache.d.ts +58 -0
- package/dist/repomap/cache.d.ts.map +1 -0
- package/dist/repomap/cache.js +101 -0
- package/dist/repomap/cache.js.map +1 -0
- package/dist/repomap/graph.d.ts +54 -0
- package/dist/repomap/graph.d.ts.map +1 -0
- package/dist/repomap/graph.js +113 -0
- package/dist/repomap/graph.js.map +1 -0
- package/dist/repomap/index.d.ts +83 -0
- package/dist/repomap/index.d.ts.map +1 -0
- package/dist/repomap/index.js +99 -0
- package/dist/repomap/index.js.map +1 -0
- package/dist/repomap/parser.d.ts +43 -0
- package/dist/repomap/parser.d.ts.map +1 -0
- package/dist/repomap/parser.js +1043 -0
- package/dist/repomap/parser.js.map +1 -0
- package/dist/repomap/regex-parser.d.ts +24 -0
- package/dist/repomap/regex-parser.d.ts.map +1 -0
- package/dist/repomap/regex-parser.js +214 -0
- package/dist/repomap/regex-parser.js.map +1 -0
- package/dist/repomap/renderer.d.ts +40 -0
- package/dist/repomap/renderer.d.ts.map +1 -0
- package/dist/repomap/renderer.js +163 -0
- package/dist/repomap/renderer.js.map +1 -0
- package/dist/repomap/scanner.d.ts +32 -0
- package/dist/repomap/scanner.d.ts.map +1 -0
- package/dist/repomap/scanner.js +190 -0
- package/dist/repomap/scanner.js.map +1 -0
- package/dist/retrieval/chain-assembler.d.ts.map +1 -1
- package/dist/retrieval/chain-assembler.js +22 -3
- package/dist/retrieval/chain-assembler.js.map +1 -1
- package/dist/retrieval/context-assembler.d.ts +1 -1
- package/dist/retrieval/context-assembler.d.ts.map +1 -1
- package/dist/retrieval/index.d.ts +2 -0
- package/dist/retrieval/index.d.ts.map +1 -1
- package/dist/retrieval/index.js +2 -0
- package/dist/retrieval/index.js.map +1 -1
- package/dist/retrieval/mmr.d.ts +1 -0
- package/dist/retrieval/mmr.d.ts.map +1 -1
- package/dist/retrieval/mmr.js +35 -1
- package/dist/retrieval/mmr.js.map +1 -1
- package/dist/retrieval/rrf.d.ts +1 -1
- package/dist/retrieval/rrf.d.ts.map +1 -1
- package/dist/retrieval/rrf.js +1 -1
- package/dist/retrieval/rrf.js.map +1 -1
- package/dist/retrieval/search-assembler.d.ts +11 -2
- package/dist/retrieval/search-assembler.d.ts.map +1 -1
- package/dist/retrieval/search-assembler.js +305 -81
- package/dist/retrieval/search-assembler.js.map +1 -1
- package/dist/retrieval/session-reconstructor.d.ts +36 -0
- package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
- package/dist/retrieval/session-reconstructor.js +128 -0
- package/dist/retrieval/session-reconstructor.js.map +1 -1
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js +24 -0
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/entity-store.d.ts +48 -0
- package/dist/storage/entity-store.d.ts.map +1 -0
- package/dist/storage/entity-store.js +111 -0
- package/dist/storage/entity-store.js.map +1 -0
- package/dist/storage/index-entry-store.d.ts +71 -0
- package/dist/storage/index-entry-store.d.ts.map +1 -0
- package/dist/storage/index-entry-store.js +277 -0
- package/dist/storage/index-entry-store.js.map +1 -0
- package/dist/storage/index.d.ts +5 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +5 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/migrations.d.ts.map +1 -1
- package/dist/storage/migrations.js +147 -0
- package/dist/storage/migrations.js.map +1 -1
- package/dist/storage/schema.sql +104 -2
- package/dist/storage/session-state-store.d.ts +61 -0
- package/dist/storage/session-state-store.d.ts.map +1 -0
- package/dist/storage/session-state-store.js +157 -0
- package/dist/storage/session-state-store.js.map +1 -0
- package/dist/storage/types.d.ts +50 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/vector-store.d.ts +17 -2
- package/dist/storage/vector-store.d.ts.map +1 -1
- package/dist/storage/vector-store.js +104 -36
- package/dist/storage/vector-store.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ No cloud. No data leaves your machine. Runs entirely on your hardware with optio
|
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
<strong>Long-term episodic memory for Claude Code</strong><br/>
|
|
16
|
-
<sub>Local-first ·
|
|
16
|
+
<sub>Local-first · Keyword-first retrieval · Causal chain walking · Structural repo map</sub>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
## Quick Start
|
|
@@ -38,14 +38,15 @@ Developers using Claude Code who want their AI assistant to **remember across se
|
|
|
38
38
|
|
|
39
39
|
## Why Causantic?
|
|
40
40
|
|
|
41
|
-
Most AI memory systems use vector embeddings for similarity search. Causantic
|
|
41
|
+
Most AI memory systems use vector embeddings for similarity search. Causantic takes a different approach — **keyword-first (BM25) retrieval** as the default, a **causal graph** that tracks _relationships_ between memory chunks, a **structural repo map** for code orientation, and **session state capture** for instant resumption. Vector search and HDBSCAN clustering are available as optional enrichment.
|
|
42
42
|
|
|
43
43
|
| | Vector Search Only | Causantic |
|
|
44
44
|
| ------------------------------------ | ------------------ | ------------------------------------------------- |
|
|
45
|
-
| **Finds
|
|
46
|
-
| **Finds
|
|
45
|
+
| **Finds lexically relevant content** | No | Yes (BM25 keyword search — default) |
|
|
46
|
+
| **Finds similar content** | Yes | Yes (optional vector enrichment) |
|
|
47
47
|
| **Finds related context** | No | Yes (causal edges) |
|
|
48
|
-
| **
|
|
48
|
+
| **Structural code orientation** | No | Yes (repo map — definitions, references, ranking) |
|
|
49
|
+
| **Session continuity** | No | Yes (session state capture + briefing mode) |
|
|
49
50
|
| **Temporal awareness** | Wall-clock decay | Episodic chain walking |
|
|
50
51
|
| **Context augmentation** | 1× | **2.46×** (chain walking adds episodic narrative) |
|
|
51
52
|
| **Handles project switches** | Breaks continuity | Preserves causality |
|
|
@@ -53,14 +54,14 @@ Most AI memory systems use vector embeddings for similarity search. Causantic do
|
|
|
53
54
|
|
|
54
55
|
### How It Compares
|
|
55
56
|
|
|
56
|
-
| System | Local-First | Temporal Decay | Graph Structure | Self-Benchmarking |
|
|
57
|
-
| ------------- | :-----------: | :---------------: | :----------------: | :---------------: |
|
|
58
|
-
| **Causantic** | **Yes** | **Chain walking** | **Causal graph** | **Yes** |
|
|
59
|
-
| Mem0 | No (Cloud) | None | Paid add-on | No |
|
|
60
|
-
| Cognee | Self-hostable | None | Triplet extraction | No |
|
|
61
|
-
| Letta/MemGPT | Self-hostable | Summarization | None | No |
|
|
62
|
-
| Zep | Enterprise | Bi-temporal | Temporal KG | No |
|
|
63
|
-
| GraphRAG | Self-hostable | Static corpus | Hierarchical | No |
|
|
57
|
+
| System | Local-First | Temporal Decay | Graph Structure | Structural Map | Self-Benchmarking |
|
|
58
|
+
| ------------- | :-----------: | :---------------: | :----------------: | :------------: | :---------------: |
|
|
59
|
+
| **Causantic** | **Yes** | **Chain walking** | **Causal graph** | **Yes** | **Yes** |
|
|
60
|
+
| Mem0 | No (Cloud) | None | Paid add-on | No | No |
|
|
61
|
+
| Cognee | Self-hostable | None | Triplet extraction | No | No |
|
|
62
|
+
| Letta/MemGPT | Self-hostable | Summarization | None | No | No |
|
|
63
|
+
| Zep | Enterprise | Bi-temporal | Temporal KG | No | No |
|
|
64
|
+
| GraphRAG | Self-hostable | Static corpus | Hierarchical | No | No |
|
|
64
65
|
|
|
65
66
|
See [Landscape Analysis](docs/research/approach/landscape-analysis.md) for detailed per-system analysis.
|
|
66
67
|
|
|
@@ -69,16 +70,19 @@ See [Landscape Analysis](docs/research/approach/landscape-analysis.md) for detai
|
|
|
69
70
|
**1. Local-First with Encryption**
|
|
70
71
|
All data stays on your machine. Optional per-chunk encryption (ChaCha20-Poly1305) with keys stored in your system keychain. No cloud dependency.
|
|
71
72
|
|
|
72
|
-
**2.
|
|
73
|
-
|
|
73
|
+
**2. Keyword-First Retrieval**
|
|
74
|
+
BM25 keyword search (FTS5) is the default retrieval method — fast, precise, and excellent for function names, error codes, and specific terms. Vector search is available as optional enrichment for semantic similarity. Both can fuse via Reciprocal Rank Fusion (RRF) when hybrid mode is enabled.
|
|
74
75
|
|
|
75
|
-
**3.
|
|
76
|
-
|
|
76
|
+
**3. Structural Repo Map**
|
|
77
|
+
Codebase analysis extracts definitions, references, and cross-file relationships. Produces a compact structural summary (~1K tokens) ranked by importance. Gives Claude Code instant orientation without reading individual files. **22 languages**: 12 via tree-sitter (TS, JS, Python, Java, C, C++, Rust, Go, Ruby, C#, PHP, Bash) and 10 via regex fallback (Scala, Kotlin, Swift, Haskell, Lua, Dart, Zig, Elixir, Perl, R).
|
|
77
78
|
|
|
78
|
-
**4.
|
|
79
|
-
|
|
79
|
+
**4. Session Continuity**
|
|
80
|
+
Structured session state capture (files touched, errors, outcomes, tasks, LLM summary) enables instant resumption. The `reconstruct` tool's briefing mode combines session state with the repo map for a complete startup context.
|
|
80
81
|
|
|
81
|
-
**5.
|
|
82
|
+
**5. Causal Graph with Multi-Path Chain Walking**
|
|
83
|
+
Chunks are connected in a sequential linked list — intra-turn chunks chained sequentially, inter-turn edges linking last→first, cross-session edges bridging sessions. The `recall` tool walks this graph backward to reconstruct episodic narratives (augmented with session summaries); `predict` walks forward. Multi-path DFS explores alternatives and selects the best chain by median cosine similarity.
|
|
84
|
+
|
|
85
|
+
**6. Self-Benchmarking Suite**
|
|
82
86
|
Measure how well your memory system is working with built-in benchmarks. Health, retrieval quality, chain quality, and latency — scored and tracked over time with specific tuning recommendations.
|
|
83
87
|
|
|
84
88
|
## Architecture
|
|
@@ -103,45 +107,54 @@ Measure how well your memory system is working with built-in benchmarks. Health,
|
|
|
103
107
|
┌─────────────────────────────────────────────────────────────────┐
|
|
104
108
|
│ Ingestion Pipeline │
|
|
105
109
|
│ ┌──────────┐ ┌──────────┐ ┌────────────┐ ┌──────────────┐ │
|
|
106
|
-
│ │ Parser │→ │ Chunker │→ │
|
|
110
|
+
│ │ Parser │→ │ Chunker │→ │ Edge │→ │ Session │ │
|
|
111
|
+
│ │ │ │ │ │ Creator │ │ State │ │
|
|
107
112
|
│ └──────────┘ └──────────┘ └────────────┘ └──────────────┘ │
|
|
113
|
+
│ ┌──────────────┐ (optional: embedding when embeddingEager=true)│
|
|
114
|
+
│ │ Embedder │ │
|
|
115
|
+
│ └──────────────┘ │
|
|
108
116
|
└─────────────────────────────┬───────────────────────────────────┘
|
|
109
117
|
│
|
|
110
118
|
▼
|
|
111
119
|
┌─────────────────────────────────────────────────────────────────┐
|
|
112
120
|
│ Storage Layer │
|
|
113
|
-
│ ┌──────────────┐ ┌──────────────┐
|
|
114
|
-
│ │ SQLite │ │ LanceDB │
|
|
115
|
-
│ │ (chunks, │ │ (embeddings) │
|
|
116
|
-
│ │ edges, FTS5
|
|
117
|
-
│
|
|
121
|
+
│ ┌──────────────┐ ┌──────────────┐ │
|
|
122
|
+
│ │ SQLite │ │ LanceDB │ │
|
|
123
|
+
│ │ (chunks, │ │ (embeddings) │ ← optional │
|
|
124
|
+
│ │ edges, FTS5,│ │ │ │
|
|
125
|
+
│ │ sessions) │ │ │ │
|
|
126
|
+
│ └──────────────┘ └──────────────┘ │
|
|
118
127
|
└─────────────────────────────┬───────────────────────────────────┘
|
|
119
128
|
│
|
|
120
129
|
▼
|
|
121
130
|
┌─────────────────────────────────────────────────────────────────┐
|
|
122
131
|
│ Retrieval System │
|
|
123
|
-
│ ┌──────────┐ ┌──────────┐
|
|
124
|
-
│ │ Vector │ │
|
|
125
|
-
│ │
|
|
126
|
-
│ └────┬─────┘ └────┬─────┘
|
|
132
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
133
|
+
│ │ Keyword │ │ Vector │ │ Repo Map │ │
|
|
134
|
+
│ │ (BM25) │ │ (opt-in) │ │ (AST) │ │
|
|
135
|
+
│ └────┬─────┘ └────┬─────┘ └──────────┘ │
|
|
127
136
|
│ └──────┬──────┘ │
|
|
128
137
|
│ ▼ │
|
|
129
|
-
│ ┌──────────────┐
|
|
130
|
-
│ │
|
|
131
|
-
│ │ │ │
|
|
132
|
-
│ └──────────────┘
|
|
138
|
+
│ ┌──────────────┐ ┌──────────────────────┐ │
|
|
139
|
+
│ │ MMR Rerank │→ │ Chain Walker │ │
|
|
140
|
+
│ │ │ │ + Context Assembly │ │
|
|
141
|
+
│ └──────────────┘ └──────────────────────┘ │
|
|
133
142
|
└─────────────────────────────┬───────────────────────────────────┘
|
|
134
143
|
│
|
|
135
144
|
▼
|
|
136
145
|
┌─────────────────────────────────────────────────────────────────┐
|
|
137
146
|
│ MCP Server │
|
|
138
|
-
│ ┌────────┐ ┌────────┐ ┌─────────┐
|
|
139
|
-
│ │ search │ │ recall │ │ predict │ │
|
|
140
|
-
│ │ │ │ │ │ │ │
|
|
141
|
-
│ └────────┘ └────────┘ └─────────┘
|
|
142
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌───────┐
|
|
143
|
-
│ │ reconstruct │ │ hook-status │ │ stats │
|
|
144
|
-
│
|
|
147
|
+
│ ┌────────┐ ┌────────┐ ┌─────────┐ ┌─────────┐ ┌───────────┐ │
|
|
148
|
+
│ │ search │ │ recall │ │ predict │ │ repomap │ │list- │ │
|
|
149
|
+
│ │ │ │ │ │ │ │ │ │projects │ │
|
|
150
|
+
│ └────────┘ └────────┘ └─────────┘ └─────────┘ └───────────┘ │
|
|
151
|
+
│ ┌───────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────┐ │
|
|
152
|
+
│ │list- │ │ reconstruct │ │ hook-status │ │ stats │ │
|
|
153
|
+
│ │sessions │ │ │ │ │ │ │ │
|
|
154
|
+
│ └───────────┘ └─────────────┘ └─────────────┘ └───────┘ │
|
|
155
|
+
│ ┌────────┐ │
|
|
156
|
+
│ │ forget │ │
|
|
157
|
+
│ └────────┘ │
|
|
145
158
|
└─────────────────────────────┬───────────────────────────────────┘
|
|
146
159
|
│
|
|
147
160
|
▼
|
|
@@ -156,19 +169,20 @@ Measure how well your memory system is working with built-in benchmarks. Health,
|
|
|
156
169
|
|
|
157
170
|
## MCP Tools
|
|
158
171
|
|
|
159
|
-
The MCP server exposes
|
|
160
|
-
|
|
161
|
-
| Tool | Description
|
|
162
|
-
| --------------- |
|
|
163
|
-
| `search` |
|
|
164
|
-
| `recall` | Episodic memory — "how did we solve X?" Seeds → backward chain walk → ordered narrative.
|
|
165
|
-
| `predict` | Forward episodic — "what's likely next?" Seeds → forward chain walk → ordered narrative.
|
|
166
|
-
| `
|
|
167
|
-
| `list-
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
172
|
+
The MCP server exposes ten tools:
|
|
173
|
+
|
|
174
|
+
| Tool | Description |
|
|
175
|
+
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
176
|
+
| `search` | Memory discovery — "what do I know about X?" Keyword-first (BM25) with optional vector enrichment. |
|
|
177
|
+
| `recall` | Episodic memory — "how did we solve X?" Seeds → backward chain walk → ordered narrative. Augmented with session summaries. |
|
|
178
|
+
| `predict` | Forward episodic — "what's likely next?" Seeds → forward chain walk → ordered narrative. |
|
|
179
|
+
| `repomap` | Structural codebase summary — files, definitions, cross-file relationships. Compact orientation without reading files. |
|
|
180
|
+
| `list-projects` | Discover available projects with chunk counts and date ranges. |
|
|
181
|
+
| `list-sessions` | Browse sessions for a project with time filtering. |
|
|
182
|
+
| `reconstruct` | Rebuild session context — chronological timeline or structured briefing (session state + repo map). Call with just `project` for recent history. |
|
|
183
|
+
| `hook-status` | Check when hooks last ran and whether they succeeded. |
|
|
184
|
+
| `stats` | Memory statistics — version, chunk/edge/cluster counts, per-project breakdowns. |
|
|
185
|
+
| `forget` | Delete chunks by project, time range, session, or semantic query. Defaults to dry-run preview. |
|
|
172
186
|
|
|
173
187
|
### Claude Code Integration
|
|
174
188
|
|
|
@@ -302,8 +316,8 @@ The name reflects how the causal graph's value is **structural ordering** — wh
|
|
|
302
316
|
|
|
303
317
|
## Limitations
|
|
304
318
|
|
|
305
|
-
- **First-call latency**:
|
|
306
|
-
- **Initial ingestion time**: Large session histories take time to parse
|
|
319
|
+
- **First-call latency**: When embedding is enabled, the model downloads on first use (~500MB). Subsequent calls are fast (~80ms). With keyword-only mode (default), there is no model download.
|
|
320
|
+
- **Initial ingestion time**: Large session histories take time to parse and index. Embedding (when enabled) adds to this cost.
|
|
307
321
|
- **Edge quality dependency**: Chain walking depends on connected edges. Sparse or orphaned chunks fall back to ranked search results.
|
|
308
322
|
- **Collection size effects**: Benchmark scores improve as more sessions are ingested. Small collections (<100 chunks) won't benefit much from chain walking or clustering.
|
|
309
323
|
- **Claude Code 5.1+ required**: Hooks use `async` mode which requires Claude Code 5.1 or later. The parser assumes Claude Code session format (JSONL transcripts). Not a general-purpose memory system.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-templates.d.ts","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"skill-templates.d.ts","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAw6C3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4FhD"}
|
|
@@ -49,8 +49,9 @@ Pass these to the \`recall\` MCP tool:
|
|
|
49
49
|
|
|
50
50
|
- **Always pass the \`project\` parameter** scoped to the current project (derive from the working directory) unless the user explicitly asks for cross-project results
|
|
51
51
|
- \`recall\` walks causal chains to reconstruct narrative — use it when you need the story of how something happened
|
|
52
|
+
- \`recall\` also searches session summaries — if matching summaries are found, they appear as supplementary context before the chain walk results
|
|
52
53
|
- \`recall\` is semantic, NOT time-ordered — it returns whatever matches best regardless of recency
|
|
53
|
-
- \`search\`
|
|
54
|
+
- \`search\` uses keyword-first (BM25) retrieval by default — good for exact matches on function names, error codes, etc.
|
|
54
55
|
- For temporal queries ("recently", "last session", "yesterday"), always use \`reconstruct\` or \`resume\`
|
|
55
56
|
`,
|
|
56
57
|
},
|
|
@@ -92,7 +93,8 @@ Pass these to the \`search\` MCP tool:
|
|
|
92
93
|
## Guidelines
|
|
93
94
|
|
|
94
95
|
- **Always pass the \`project\` parameter** scoped to the current project (derive from the working directory) unless the user explicitly asks for cross-project results
|
|
95
|
-
-
|
|
96
|
+
- By default, search uses **hybrid (BM25 + vector)** retrieval with entity boosting — combines exact keyword matching with semantic similarity
|
|
97
|
+
- For recent/latest session queries, use \`reconstruct\` instead
|
|
96
98
|
- Use \`search\` for discovery, \`recall\` for narrative reconstruction
|
|
97
99
|
- Combine with \`/causantic-recall\` when you need causal chain context (how things led to outcomes)
|
|
98
100
|
`,
|
|
@@ -162,21 +164,22 @@ Reconstruct context from the most recent session(s) to help the user pick up whe
|
|
|
162
164
|
## Workflow
|
|
163
165
|
|
|
164
166
|
1. **Identify the project**: Derive from the current working directory (use \`list-projects\` if ambiguous)
|
|
165
|
-
2. **
|
|
166
|
-
3. **
|
|
167
|
+
2. **Get a structured briefing**: Use \`reconstruct\` with \`mode: "briefing"\` for a structured summary combining session state (files touched, outcomes, tasks) with a structural repo map
|
|
168
|
+
3. **If briefing mode is unavailable or more detail is needed**: Fall back to \`reconstruct\` with \`previous_session: true\` to get the most recent session before this one
|
|
169
|
+
4. **Summarize for the user**:
|
|
167
170
|
- What was being worked on (key topics/tasks)
|
|
168
171
|
- What was completed vs in progress
|
|
169
172
|
- Any explicit next steps or TODOs mentioned
|
|
170
173
|
- Any open issues or blockers
|
|
171
|
-
|
|
174
|
+
5. **If the user provided a topic**: Also run \`recall\` with that topic scoped to the project
|
|
172
175
|
|
|
173
176
|
## Interpreting User Intent
|
|
174
177
|
|
|
175
178
|
| User says | Action |
|
|
176
179
|
|-----------|--------|
|
|
177
|
-
| (nothing) | \`reconstruct\` with \`previous_session: true\` |
|
|
180
|
+
| (nothing) | \`reconstruct\` with \`mode: "briefing"\` (preferred) or \`previous_session: true\` |
|
|
178
181
|
| "yesterday" / "last week" | \`reconstruct\` with appropriate \`days_back\` |
|
|
179
|
-
| a topic name | \`reconstruct\`
|
|
182
|
+
| a topic name | \`reconstruct\` with \`mode: "briefing"\` + \`recall\` with that topic |
|
|
180
183
|
|
|
181
184
|
## Output Format
|
|
182
185
|
|
|
@@ -1470,7 +1473,7 @@ Long-term memory is available via the \`causantic\` MCP server.
|
|
|
1470
1473
|
- \`/causantic-predict <context>\` — Surface what came after similar past situations — walks forward through causal chains (what's likely relevant next?)
|
|
1471
1474
|
|
|
1472
1475
|
**Session navigation:**
|
|
1473
|
-
- \`/causantic-resume\` — Resume interrupted work —
|
|
1476
|
+
- \`/causantic-resume\` — Resume interrupted work — structured briefing with session state and repo map
|
|
1474
1477
|
- \`/causantic-reconstruct [time range]\` — Replay a past session chronologically, or get recent history
|
|
1475
1478
|
- \`/causantic-list-projects\` — Discover available projects
|
|
1476
1479
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,6 +130,22 @@ export declare class ClusterManager {
|
|
|
130
130
|
largestCluster: number;
|
|
131
131
|
smallestCluster: number;
|
|
132
132
|
}>;
|
|
133
|
+
/**
|
|
134
|
+
* Run HDBSCAN on index entry embeddings and create index entry clusters.
|
|
135
|
+
*
|
|
136
|
+
* Creates clusters in the `index_entry_clusters` table (parallel to `chunk_clusters`).
|
|
137
|
+
* Each cluster elects a representative (entry closest to centroid) for browsing.
|
|
138
|
+
*/
|
|
139
|
+
reclusterIndexEntries(options?: ClusteringOptions): Promise<ClusteringResult>;
|
|
140
|
+
/**
|
|
141
|
+
* Get index entry cluster representatives.
|
|
142
|
+
* Returns one representative entry ID per cluster (closest to centroid).
|
|
143
|
+
*/
|
|
144
|
+
getIndexEntryRepresentatives(): Promise<Array<{
|
|
145
|
+
clusterId: string;
|
|
146
|
+
indexEntryId: string;
|
|
147
|
+
distance: number;
|
|
148
|
+
}>>;
|
|
133
149
|
/**
|
|
134
150
|
* Find clusters similar to a query embedding.
|
|
135
151
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster-manager.d.ts","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cluster-manager.d.ts","sourceRoot":"","sources":["../../src/clusters/cluster-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
* Cluster management: HDBSCAN clustering and chunk assignment.
|
|
3
3
|
*/
|
|
4
4
|
import { HDBSCAN } from './hdbscan.js';
|
|
5
|
-
import { vectorStore } from '../storage/vector-store.js';
|
|
5
|
+
import { vectorStore, indexVectorStore } from '../storage/vector-store.js';
|
|
6
6
|
import { upsertCluster, assignChunksToClusters, getAllClusters, clearAllClusters, getClusterChunkIds, computeMembershipHash, } from '../storage/cluster-store.js';
|
|
7
|
+
import { getDb } from '../storage/db.js';
|
|
7
8
|
import { angularDistance } from '../utils/angular-distance.js';
|
|
8
9
|
import { getConfig } from '../config/memory-config.js';
|
|
9
10
|
import { generateId } from '../storage/db.js';
|
|
10
11
|
import { predictLabels } from './hdbscan/incremental.js';
|
|
11
12
|
import { saveModel, loadModel } from './hdbscan-model-store.js';
|
|
13
|
+
import { createLogger } from '../utils/logger.js';
|
|
14
|
+
const log = createLogger('cluster-manager');
|
|
12
15
|
/**
|
|
13
16
|
* Match new clusters to old clusters by Jaccard overlap, returning
|
|
14
17
|
* a map of newClusterId → matched old snapshot. Uses greedy best-match
|
|
@@ -473,6 +476,121 @@ export class ClusterManager {
|
|
|
473
476
|
smallestCluster: smallest === Infinity ? 0 : smallest,
|
|
474
477
|
};
|
|
475
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Run HDBSCAN on index entry embeddings and create index entry clusters.
|
|
481
|
+
*
|
|
482
|
+
* Creates clusters in the `index_entry_clusters` table (parallel to `chunk_clusters`).
|
|
483
|
+
* Each cluster elects a representative (entry closest to centroid) for browsing.
|
|
484
|
+
*/
|
|
485
|
+
async reclusterIndexEntries(options = {}) {
|
|
486
|
+
const startTime = Date.now();
|
|
487
|
+
const { minClusterSize = this.config.minClusterSize } = options;
|
|
488
|
+
// Ensure index_entry_clusters table exists
|
|
489
|
+
const db = getDb();
|
|
490
|
+
db.exec(`
|
|
491
|
+
CREATE TABLE IF NOT EXISTS index_entry_clusters (
|
|
492
|
+
index_entry_id TEXT NOT NULL,
|
|
493
|
+
cluster_id TEXT NOT NULL,
|
|
494
|
+
distance REAL NOT NULL,
|
|
495
|
+
is_representative INTEGER DEFAULT 0,
|
|
496
|
+
PRIMARY KEY (index_entry_id, cluster_id)
|
|
497
|
+
)
|
|
498
|
+
`);
|
|
499
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_iec_cluster ON index_entry_clusters(cluster_id)');
|
|
500
|
+
// Clear existing index entry cluster assignments
|
|
501
|
+
db.exec('DELETE FROM index_entry_clusters');
|
|
502
|
+
// Get all index entry vectors
|
|
503
|
+
const vectors = await indexVectorStore.getAllVectors();
|
|
504
|
+
if (vectors.length === 0) {
|
|
505
|
+
return {
|
|
506
|
+
numClusters: 0,
|
|
507
|
+
assignedChunks: 0,
|
|
508
|
+
noiseChunks: 0,
|
|
509
|
+
noiseRatio: 0,
|
|
510
|
+
clusterSizes: [],
|
|
511
|
+
reassignedNoise: 0,
|
|
512
|
+
durationMs: Date.now() - startTime,
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
// Run HDBSCAN
|
|
516
|
+
const embeddings = vectors.map((v) => v.embedding);
|
|
517
|
+
const hdbscan = new HDBSCAN({
|
|
518
|
+
minClusterSize,
|
|
519
|
+
minSamples: minClusterSize,
|
|
520
|
+
});
|
|
521
|
+
const labels = hdbscan.fitSync(embeddings);
|
|
522
|
+
// Group by cluster
|
|
523
|
+
const clusterMembers = new Map();
|
|
524
|
+
for (let i = 0; i < labels.length; i++) {
|
|
525
|
+
const label = labels[i];
|
|
526
|
+
if (label < 0)
|
|
527
|
+
continue;
|
|
528
|
+
if (!clusterMembers.has(label)) {
|
|
529
|
+
clusterMembers.set(label, []);
|
|
530
|
+
}
|
|
531
|
+
clusterMembers.get(label).push(vectors[i]);
|
|
532
|
+
}
|
|
533
|
+
// Create cluster assignments
|
|
534
|
+
const clusterSizes = [];
|
|
535
|
+
const insertStmt = db.prepare('INSERT OR REPLACE INTO index_entry_clusters (index_entry_id, cluster_id, distance, is_representative) VALUES (?, ?, ?, ?)');
|
|
536
|
+
const insertAll = db.transaction(() => {
|
|
537
|
+
for (const [_label, members] of clusterMembers) {
|
|
538
|
+
const centroid = computeCentroid(members.map((m) => m.embedding));
|
|
539
|
+
const clusterId = generateId();
|
|
540
|
+
// Find representative (closest to centroid)
|
|
541
|
+
const withDistances = members.map((m) => ({
|
|
542
|
+
...m,
|
|
543
|
+
distance: angularDistance(m.embedding, centroid),
|
|
544
|
+
}));
|
|
545
|
+
withDistances.sort((a, b) => a.distance - b.distance);
|
|
546
|
+
for (const m of withDistances) {
|
|
547
|
+
const isRep = m.id === withDistances[0].id ? 1 : 0;
|
|
548
|
+
insertStmt.run(m.id, clusterId, m.distance, isRep);
|
|
549
|
+
}
|
|
550
|
+
clusterSizes.push(members.length);
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
insertAll();
|
|
554
|
+
const noiseCount = labels.filter((l) => l < 0).length;
|
|
555
|
+
log.info('Index entry clustering complete', {
|
|
556
|
+
numClusters: clusterMembers.size,
|
|
557
|
+
assigned: vectors.length - noiseCount,
|
|
558
|
+
noise: noiseCount,
|
|
559
|
+
});
|
|
560
|
+
return {
|
|
561
|
+
numClusters: clusterMembers.size,
|
|
562
|
+
assignedChunks: vectors.length - noiseCount,
|
|
563
|
+
noiseChunks: noiseCount,
|
|
564
|
+
noiseRatio: vectors.length > 0 ? noiseCount / vectors.length : 0,
|
|
565
|
+
clusterSizes: clusterSizes.sort((a, b) => b - a),
|
|
566
|
+
reassignedNoise: 0,
|
|
567
|
+
durationMs: Date.now() - startTime,
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Get index entry cluster representatives.
|
|
572
|
+
* Returns one representative entry ID per cluster (closest to centroid).
|
|
573
|
+
*/
|
|
574
|
+
async getIndexEntryRepresentatives() {
|
|
575
|
+
const db = getDb();
|
|
576
|
+
try {
|
|
577
|
+
const rows = db
|
|
578
|
+
.prepare(`SELECT cluster_id, index_entry_id, distance
|
|
579
|
+
FROM index_entry_clusters
|
|
580
|
+
WHERE is_representative = 1
|
|
581
|
+
ORDER BY distance`)
|
|
582
|
+
.all();
|
|
583
|
+
return rows.map((r) => ({
|
|
584
|
+
clusterId: r.cluster_id,
|
|
585
|
+
indexEntryId: r.index_entry_id,
|
|
586
|
+
distance: r.distance,
|
|
587
|
+
}));
|
|
588
|
+
}
|
|
589
|
+
catch {
|
|
590
|
+
// Table may not exist yet
|
|
591
|
+
return [];
|
|
592
|
+
}
|
|
593
|
+
}
|
|
476
594
|
/**
|
|
477
595
|
* Find clusters similar to a query embedding.
|
|
478
596
|
*/
|
|
@@ -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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"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -51,6 +51,8 @@ export interface ExternalConfig {
|
|
|
51
51
|
device?: string;
|
|
52
52
|
/** Embedding model ID from model registry. Default: 'jina-small'. */
|
|
53
53
|
model?: string;
|
|
54
|
+
/** Embed chunks eagerly during ingestion. Default: false. */
|
|
55
|
+
eager?: boolean;
|
|
54
56
|
};
|
|
55
57
|
maintenance?: {
|
|
56
58
|
/** Hour of day (0-23) to run reclustering. Default: 2. */
|
|
@@ -61,6 +63,10 @@ export interface ExternalConfig {
|
|
|
61
63
|
mmrLambda?: number;
|
|
62
64
|
/** Feedback weight for cluster expansion scoring. Default: 0.1 */
|
|
63
65
|
feedbackWeight?: number;
|
|
66
|
+
/** Primary retrieval method. Default: 'hybrid'. */
|
|
67
|
+
primary?: 'keyword' | 'vector' | 'hybrid';
|
|
68
|
+
/** Use vector search to enrich keyword results when primary is 'keyword'. Default: false. */
|
|
69
|
+
vectorEnrichment?: boolean;
|
|
64
70
|
};
|
|
65
71
|
recency?: {
|
|
66
72
|
/** Amplitude of the time-decay boost (multiplied by exp decay). Default: 0.3 */
|
|
@@ -74,6 +80,16 @@ export interface ExternalConfig {
|
|
|
74
80
|
/** Reference token count for penalty calculation. Must be > 0. Default: 500 */
|
|
75
81
|
referenceTokens?: number;
|
|
76
82
|
};
|
|
83
|
+
semanticIndex?: {
|
|
84
|
+
/** Enable semantic index generation. Default: true. */
|
|
85
|
+
enabled?: boolean;
|
|
86
|
+
/** Target description length in tokens. Default: 130. */
|
|
87
|
+
targetDescriptionTokens?: number;
|
|
88
|
+
/** Max entries to backfill per maintenance run. Default: 500. */
|
|
89
|
+
batchRefreshLimit?: number;
|
|
90
|
+
/** Use index entries for search when available. Default: true. */
|
|
91
|
+
useForSearch?: boolean;
|
|
92
|
+
};
|
|
77
93
|
}
|
|
78
94
|
/** Default external config values */
|
|
79
95
|
declare const EXTERNAL_DEFAULTS: Required<ExternalConfig>;
|