@claude-flow/memory 3.0.0-alpha.9 → 3.0.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 +308 -37
- package/dist/agent-memory-scope.d.ts.map +1 -1
- package/dist/agent-memory-scope.js +10 -2
- package/dist/agent-memory-scope.js.map +1 -1
- package/dist/agentdb-adapter-key-isolation.test.d.ts +2 -0
- package/dist/agentdb-adapter-key-isolation.test.d.ts.map +1 -0
- package/dist/agentdb-adapter-key-isolation.test.js +175 -0
- package/dist/agentdb-adapter-key-isolation.test.js.map +1 -0
- package/dist/agentdb-adapter-upsert.test.d.ts +2 -0
- package/dist/agentdb-adapter-upsert.test.d.ts.map +1 -0
- package/dist/agentdb-adapter-upsert.test.js +216 -0
- package/dist/agentdb-adapter-upsert.test.js.map +1 -0
- package/dist/agentdb-adapter.d.ts +70 -1
- package/dist/agentdb-adapter.d.ts.map +1 -1
- package/dist/agentdb-adapter.js +365 -32
- package/dist/agentdb-adapter.js.map +1 -1
- package/dist/agentdb-backend.d.ts +25 -0
- package/dist/agentdb-backend.d.ts.map +1 -1
- package/dist/agentdb-backend.js +113 -28
- package/dist/agentdb-backend.js.map +1 -1
- package/dist/agentdb-retrieval-guard.d.ts +76 -0
- package/dist/agentdb-retrieval-guard.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.js +77 -0
- package/dist/agentdb-retrieval-guard.js.map +1 -0
- package/dist/agentdb-retrieval-guard.test.d.ts +12 -0
- package/dist/agentdb-retrieval-guard.test.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.test.js +129 -0
- package/dist/agentdb-retrieval-guard.test.js.map +1 -0
- package/dist/auto-memory-bridge.d.ts +12 -1
- package/dist/auto-memory-bridge.d.ts.map +1 -1
- package/dist/auto-memory-bridge.js +101 -7
- package/dist/auto-memory-bridge.js.map +1 -1
- package/dist/auto-memory-bridge.test.js +121 -15
- package/dist/auto-memory-bridge.test.js.map +1 -1
- package/dist/auto-memory-index-3224.test.d.ts +2 -0
- package/dist/auto-memory-index-3224.test.d.ts.map +1 -0
- package/dist/auto-memory-index-3224.test.js +77 -0
- package/dist/auto-memory-index-3224.test.js.map +1 -0
- package/dist/consolidator-embedding-benchmark.test.d.ts +39 -0
- package/dist/consolidator-embedding-benchmark.test.d.ts.map +1 -0
- package/dist/consolidator-embedding-benchmark.test.js +366 -0
- package/dist/consolidator-embedding-benchmark.test.js.map +1 -0
- package/dist/consolidator.d.ts +131 -0
- package/dist/consolidator.d.ts.map +1 -0
- package/dist/consolidator.js +309 -0
- package/dist/consolidator.js.map +1 -0
- package/dist/consolidator.test.d.ts +17 -0
- package/dist/consolidator.test.d.ts.map +1 -0
- package/dist/consolidator.test.js +376 -0
- package/dist/consolidator.test.js.map +1 -0
- package/dist/controller-registry.d.ts +290 -0
- package/dist/controller-registry.d.ts.map +1 -0
- package/dist/controller-registry.js +1095 -0
- package/dist/controller-registry.js.map +1 -0
- package/dist/controller-registry.test.d.ts +14 -0
- package/dist/controller-registry.test.d.ts.map +1 -0
- package/dist/controller-registry.test.js +818 -0
- package/dist/controller-registry.test.js.map +1 -0
- package/dist/database-provider.d.ts +14 -2
- package/dist/database-provider.d.ts.map +1 -1
- package/dist/database-provider.js +63 -3
- package/dist/database-provider.js.map +1 -1
- package/dist/database-provider.test.js +56 -3
- package/dist/database-provider.test.js.map +1 -1
- package/dist/entity-tagger.d.ts +31 -0
- package/dist/entity-tagger.d.ts.map +1 -0
- package/dist/entity-tagger.js +80 -0
- package/dist/entity-tagger.js.map +1 -0
- package/dist/entity-tagger.test.d.ts +12 -0
- package/dist/entity-tagger.test.d.ts.map +1 -0
- package/dist/entity-tagger.test.js +70 -0
- package/dist/entity-tagger.test.js.map +1 -0
- package/dist/fts5.test.d.ts +13 -0
- package/dist/fts5.test.d.ts.map +1 -0
- package/dist/fts5.test.js +144 -0
- package/dist/fts5.test.js.map +1 -0
- package/dist/graceful-retrieval.test.d.ts +14 -0
- package/dist/graceful-retrieval.test.d.ts.map +1 -0
- package/dist/graceful-retrieval.test.js +251 -0
- package/dist/graceful-retrieval.test.js.map +1 -0
- package/dist/hnsw-index.d.ts +62 -0
- package/dist/hnsw-index.d.ts.map +1 -1
- package/dist/hnsw-index.js +461 -16
- package/dist/hnsw-index.js.map +1 -1
- package/dist/hnsw-persistence.test.d.ts +13 -0
- package/dist/hnsw-persistence.test.d.ts.map +1 -0
- package/dist/hnsw-persistence.test.js +208 -0
- package/dist/hnsw-persistence.test.js.map +1 -0
- package/dist/hnsw-quantization.test.d.ts +17 -0
- package/dist/hnsw-quantization.test.d.ts.map +1 -0
- package/dist/hnsw-quantization.test.js +140 -0
- package/dist/hnsw-quantization.test.js.map +1 -0
- package/dist/hybrid-backend.d.ts +46 -2
- package/dist/hybrid-backend.d.ts.map +1 -1
- package/dist/hybrid-backend.js +120 -21
- package/dist/hybrid-backend.js.map +1 -1
- package/dist/hybrid-backend.test.js +139 -5
- package/dist/hybrid-backend.test.js.map +1 -1
- package/dist/index.d.ts +164 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +272 -30
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +10 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +71 -0
- package/dist/index.test.js.map +1 -0
- package/dist/json-security.d.ts +12 -0
- package/dist/json-security.d.ts.map +1 -0
- package/dist/json-security.js +20 -0
- package/dist/json-security.js.map +1 -0
- package/dist/learning-bridge.d.ts +29 -0
- package/dist/learning-bridge.d.ts.map +1 -1
- package/dist/learning-bridge.js +71 -6
- package/dist/learning-bridge.js.map +1 -1
- package/dist/learning-bridge.test.js +181 -1
- package/dist/learning-bridge.test.js.map +1 -1
- package/dist/memory-key.d.ts +3 -0
- package/dist/memory-key.d.ts.map +1 -0
- package/dist/memory-key.js +5 -0
- package/dist/memory-key.js.map +1 -0
- package/dist/migration.d.ts +19 -4
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +99 -24
- package/dist/migration.js.map +1 -1
- package/dist/migration.test.d.ts +11 -0
- package/dist/migration.test.d.ts.map +1 -0
- package/dist/migration.test.js +141 -0
- package/dist/migration.test.js.map +1 -0
- package/dist/mmr-benchmark.test.d.ts +2 -0
- package/dist/mmr-benchmark.test.d.ts.map +1 -0
- package/dist/mmr-benchmark.test.js +286 -0
- package/dist/mmr-benchmark.test.js.map +1 -0
- package/dist/mmr-rerank-cosine-cache.test.d.ts +2 -0
- package/dist/mmr-rerank-cosine-cache.test.d.ts.map +1 -0
- package/dist/mmr-rerank-cosine-cache.test.js +334 -0
- package/dist/mmr-rerank-cosine-cache.test.js.map +1 -0
- package/dist/mmr-rerank-perf.test.d.ts +2 -0
- package/dist/mmr-rerank-perf.test.d.ts.map +1 -0
- package/dist/mmr-rerank-perf.test.js +191 -0
- package/dist/mmr-rerank-perf.test.js.map +1 -0
- package/dist/persistent-sona.d.ts +144 -0
- package/dist/persistent-sona.d.ts.map +1 -0
- package/dist/persistent-sona.js +332 -0
- package/dist/persistent-sona.js.map +1 -0
- package/dist/rvf-backend.d.ts +53 -0
- package/dist/rvf-backend.d.ts.map +1 -0
- package/dist/rvf-backend.js +643 -0
- package/dist/rvf-backend.js.map +1 -0
- package/dist/rvf-learning-store.d.ts +139 -0
- package/dist/rvf-learning-store.d.ts.map +1 -0
- package/dist/rvf-learning-store.js +295 -0
- package/dist/rvf-learning-store.js.map +1 -0
- package/dist/rvf-migration.d.ts +45 -0
- package/dist/rvf-migration.d.ts.map +1 -0
- package/dist/rvf-migration.js +254 -0
- package/dist/rvf-migration.js.map +1 -0
- package/dist/smart-retrieval-scores.test.d.ts +2 -0
- package/dist/smart-retrieval-scores.test.d.ts.map +1 -0
- package/dist/smart-retrieval-scores.test.js +75 -0
- package/dist/smart-retrieval-scores.test.js.map +1 -0
- package/dist/smart-retrieval.d.ts +141 -0
- package/dist/smart-retrieval.d.ts.map +1 -0
- package/dist/smart-retrieval.js +399 -0
- package/dist/smart-retrieval.js.map +1 -0
- package/dist/smart-retrieval.test.d.ts +2 -0
- package/dist/smart-retrieval.test.d.ts.map +1 -0
- package/dist/smart-retrieval.test.js +418 -0
- package/dist/smart-retrieval.test.js.map +1 -0
- package/dist/sqlite-backend.d.ts +10 -0
- package/dist/sqlite-backend.d.ts.map +1 -1
- package/dist/sqlite-backend.js +101 -5
- package/dist/sqlite-backend.js.map +1 -1
- package/dist/sqljs-backend.d.ts +9 -0
- package/dist/sqljs-backend.d.ts.map +1 -1
- package/dist/sqljs-backend.js +91 -3
- package/dist/sqljs-backend.js.map +1 -1
- package/dist/tiered-memory.d.ts +171 -0
- package/dist/tiered-memory.d.ts.map +1 -0
- package/dist/tiered-memory.js +350 -0
- package/dist/tiered-memory.js.map +1 -0
- package/dist/tiered-memory.test.d.ts +9 -0
- package/dist/tiered-memory.test.d.ts.map +1 -0
- package/dist/tiered-memory.test.js +220 -0
- package/dist/tiered-memory.test.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -8
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ControllerRegistry - Central controller lifecycle management for AgentDB v3
|
|
3
|
+
*
|
|
4
|
+
* Wraps the AgentDB class and adds CLI-specific controllers from @claude-flow/memory.
|
|
5
|
+
* Manages initialization (level-based ordering), health checks, and graceful shutdown.
|
|
6
|
+
*
|
|
7
|
+
* Per ADR-053: Replaces memory-initializer.js's raw sql.js usage with a unified
|
|
8
|
+
* controller ecosystem routing all memory operations through AgentDB v3.
|
|
9
|
+
*
|
|
10
|
+
* @module @claude-flow/memory/controller-registry
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'node:events';
|
|
13
|
+
import type { IMemoryBackend, EmbeddingGenerator, SONAMode } from './types.js';
|
|
14
|
+
import type { LearningBridgeConfig } from './learning-bridge.js';
|
|
15
|
+
import type { MemoryGraphConfig } from './memory-graph.js';
|
|
16
|
+
import type { CacheConfig } from './types.js';
|
|
17
|
+
/**
|
|
18
|
+
* Controllers accessible via AgentDB.getController()
|
|
19
|
+
*/
|
|
20
|
+
export type AgentDBControllerName = 'reasoningBank' | 'skills' | 'reflexion' | 'causalGraph' | 'causalRecall' | 'learningSystem' | 'explainableRecall' | 'nightlyLearner' | 'graphTransformer' | 'mutationGuard' | 'attestationLog' | 'vectorBackend' | 'graphAdapter';
|
|
21
|
+
/**
|
|
22
|
+
* CLI-layer controllers (from @claude-flow/memory or new)
|
|
23
|
+
*/
|
|
24
|
+
export type CLIControllerName = 'learningBridge' | 'memoryGraph' | 'agentMemoryScope' | 'tieredCache' | 'hybridSearch' | 'federatedSession' | 'semanticRouter' | 'sonaTrajectory' | 'hierarchicalMemory' | 'memoryConsolidation' | 'batchOperations' | 'contextSynthesizer' | 'gnnService' | 'rvfOptimizer' | 'mmrDiversityRanker' | 'guardedVectorBackend';
|
|
25
|
+
/**
|
|
26
|
+
* All controller names
|
|
27
|
+
*/
|
|
28
|
+
export type ControllerName = AgentDBControllerName | CLIControllerName;
|
|
29
|
+
/**
|
|
30
|
+
* Initialization level for dependency ordering
|
|
31
|
+
*/
|
|
32
|
+
export interface InitLevel {
|
|
33
|
+
level: number;
|
|
34
|
+
controllers: ControllerName[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Individual controller health status
|
|
38
|
+
*/
|
|
39
|
+
export interface ControllerHealth {
|
|
40
|
+
name: ControllerName;
|
|
41
|
+
status: 'healthy' | 'degraded' | 'unavailable';
|
|
42
|
+
initTimeMs: number;
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Aggregated health report for all controllers
|
|
47
|
+
*/
|
|
48
|
+
export interface RegistryHealthReport {
|
|
49
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
50
|
+
controllers: ControllerHealth[];
|
|
51
|
+
agentdbAvailable: boolean;
|
|
52
|
+
initTimeMs: number;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
activeControllers: number;
|
|
55
|
+
totalControllers: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Runtime configuration for controller activation
|
|
59
|
+
*/
|
|
60
|
+
export interface RuntimeConfig {
|
|
61
|
+
/** Database path for AgentDB */
|
|
62
|
+
dbPath?: string;
|
|
63
|
+
/** Vector dimension (default: 384 for MiniLM) */
|
|
64
|
+
dimension?: number;
|
|
65
|
+
/** Embedding generator function */
|
|
66
|
+
embeddingGenerator?: EmbeddingGenerator;
|
|
67
|
+
/** Memory backend config */
|
|
68
|
+
memory?: {
|
|
69
|
+
enableHNSW?: boolean;
|
|
70
|
+
learningBridge?: Partial<LearningBridgeConfig>;
|
|
71
|
+
memoryGraph?: Partial<MemoryGraphConfig>;
|
|
72
|
+
tieredCache?: Partial<CacheConfig>;
|
|
73
|
+
};
|
|
74
|
+
/** Neural config */
|
|
75
|
+
neural?: {
|
|
76
|
+
enabled?: boolean;
|
|
77
|
+
modelPath?: string;
|
|
78
|
+
sonaMode?: SONAMode;
|
|
79
|
+
};
|
|
80
|
+
/** Controllers to explicitly enable/disable */
|
|
81
|
+
controllers?: Partial<Record<ControllerName, boolean>>;
|
|
82
|
+
/** Backend instance to use (if pre-created) */
|
|
83
|
+
backend?: IMemoryBackend;
|
|
84
|
+
/**
|
|
85
|
+
* Pre-initialized AgentDB instance to use. When provided, the
|
|
86
|
+
* registry skips its own dynamic-import / initialize cycle and uses
|
|
87
|
+
* this instance as-is — useful for testing, multi-registry sharing,
|
|
88
|
+
* and consumers that already hold an AgentDB they want governed by
|
|
89
|
+
* the registry. Issue #2019 added the regression tests that depend
|
|
90
|
+
* on this injection point.
|
|
91
|
+
*/
|
|
92
|
+
agentdb?: unknown;
|
|
93
|
+
/**
|
|
94
|
+
* `MemoryService` (or compatible) used to back the `nightlyLearner`
|
|
95
|
+
* controller. When provided, ADR-125 Phase 4 wraps it with
|
|
96
|
+
* `MemoryConsolidator.runAll()` instead of delegating directly to AgentDB's
|
|
97
|
+
* `NightlyLearner`. Accepts `any` to avoid a circular import.
|
|
98
|
+
*/
|
|
99
|
+
memoryService?: any;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Level-based initialization order per ADR-053.
|
|
103
|
+
* Controllers at each level can be initialized in parallel.
|
|
104
|
+
* Each level must complete before the next begins.
|
|
105
|
+
*/
|
|
106
|
+
export declare const INIT_LEVELS: InitLevel[];
|
|
107
|
+
/**
|
|
108
|
+
* Central registry for AgentDB v3 controller lifecycle management.
|
|
109
|
+
*
|
|
110
|
+
* Handles:
|
|
111
|
+
* - Level-based initialization ordering (levels 0-6)
|
|
112
|
+
* - Graceful degradation (each controller fails independently)
|
|
113
|
+
* - Config-driven activation (controllers only instantiate when enabled)
|
|
114
|
+
* - Health check aggregation across all controllers
|
|
115
|
+
* - Ordered shutdown (reverse initialization order)
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const registry = new ControllerRegistry();
|
|
120
|
+
* await registry.initialize({
|
|
121
|
+
* dbPath: './data/memory.db',
|
|
122
|
+
* dimension: 384,
|
|
123
|
+
* memory: {
|
|
124
|
+
* enableHNSW: true,
|
|
125
|
+
* learningBridge: { sonaMode: 'balanced' },
|
|
126
|
+
* memoryGraph: { pageRankDamping: 0.85 },
|
|
127
|
+
* },
|
|
128
|
+
* });
|
|
129
|
+
*
|
|
130
|
+
* const reasoning = registry.get<ReasoningBank>('reasoningBank');
|
|
131
|
+
* const graph = registry.get<MemoryGraph>('memoryGraph');
|
|
132
|
+
*
|
|
133
|
+
* await registry.shutdown();
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
export declare class ControllerRegistry extends EventEmitter {
|
|
137
|
+
private controllers;
|
|
138
|
+
private agentdb;
|
|
139
|
+
private backend;
|
|
140
|
+
private config;
|
|
141
|
+
private initialized;
|
|
142
|
+
private initTimeMs;
|
|
143
|
+
private hierarchicalFallback;
|
|
144
|
+
/**
|
|
145
|
+
* Initialize all controllers in level-based order.
|
|
146
|
+
*
|
|
147
|
+
* Each level's controllers are initialized in parallel within the level.
|
|
148
|
+
* Failures are isolated: a controller that fails to init is marked as
|
|
149
|
+
* unavailable but does not block other controllers.
|
|
150
|
+
*/
|
|
151
|
+
initialize(config?: RuntimeConfig): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Shutdown all controllers in reverse initialization order.
|
|
154
|
+
*/
|
|
155
|
+
shutdown(): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Get a controller instance by name.
|
|
158
|
+
* Returns null if the controller is not initialized or unavailable.
|
|
159
|
+
*/
|
|
160
|
+
get<T>(name: ControllerName): T | null;
|
|
161
|
+
/**
|
|
162
|
+
* Check if a controller is enabled and initialized.
|
|
163
|
+
*/
|
|
164
|
+
isEnabled(name: ControllerName): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Aggregate health check across all controllers.
|
|
167
|
+
*/
|
|
168
|
+
healthCheck(): Promise<RegistryHealthReport>;
|
|
169
|
+
/**
|
|
170
|
+
* Get the underlying AgentDB instance.
|
|
171
|
+
*/
|
|
172
|
+
getAgentDB(): any;
|
|
173
|
+
/**
|
|
174
|
+
* Get the memory backend.
|
|
175
|
+
*/
|
|
176
|
+
getBackend(): IMemoryBackend | null;
|
|
177
|
+
/**
|
|
178
|
+
* Check if the registry is initialized.
|
|
179
|
+
*/
|
|
180
|
+
isInitialized(): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Get the number of active (successfully initialized) controllers.
|
|
183
|
+
*/
|
|
184
|
+
getActiveCount(): number;
|
|
185
|
+
/**
|
|
186
|
+
* List all registered controller names and their status.
|
|
187
|
+
*/
|
|
188
|
+
listControllers(): Array<{
|
|
189
|
+
name: ControllerName;
|
|
190
|
+
enabled: boolean;
|
|
191
|
+
level: number;
|
|
192
|
+
}>;
|
|
193
|
+
/**
|
|
194
|
+
* Initialize AgentDB instance with dynamic import and fallback chain.
|
|
195
|
+
*/
|
|
196
|
+
private initAgentDB;
|
|
197
|
+
/**
|
|
198
|
+
* Check whether a controller should be initialized based on config.
|
|
199
|
+
*/
|
|
200
|
+
private isControllerEnabled;
|
|
201
|
+
/**
|
|
202
|
+
* Close any prior controller instance for `name` before it is replaced.
|
|
203
|
+
*
|
|
204
|
+
* #2432 fix — pre-fix, `controllers.set(name, ...)` silently orphaned the
|
|
205
|
+
* prior instance. For backends that allocate native / WASM resources
|
|
206
|
+
* (notably `SqlJsRvfBackend` which keeps an Emscripten MEMFS file ~11 MB
|
|
207
|
+
* per `new SQL.Database(buffer)` until `close()` runs), GC'ing the JS
|
|
208
|
+
* wrapper does NOT reclaim the underlying allocation. A long-running
|
|
209
|
+
* `mcp start` process that re-init'd controllers hundreds of times grew
|
|
210
|
+
* external memory by ~36 GB in production over 6 weeks.
|
|
211
|
+
*
|
|
212
|
+
* Best-effort close: catch and ignore errors — replacement must proceed
|
|
213
|
+
* even if the prior instance's close throws (it's already orphaned at
|
|
214
|
+
* this point either way).
|
|
215
|
+
*/
|
|
216
|
+
private closePriorIfAny;
|
|
217
|
+
/**
|
|
218
|
+
* Initialize a single controller with error isolation.
|
|
219
|
+
*/
|
|
220
|
+
private initController;
|
|
221
|
+
/**
|
|
222
|
+
* Factory method to create a controller instance.
|
|
223
|
+
* Handles CLI-layer controllers; AgentDB-internal controllers are
|
|
224
|
+
* accessed via agentdb.getController().
|
|
225
|
+
*/
|
|
226
|
+
private createController;
|
|
227
|
+
/**
|
|
228
|
+
* Shutdown a single controller gracefully.
|
|
229
|
+
*/
|
|
230
|
+
private shutdownController;
|
|
231
|
+
/**
|
|
232
|
+
* Create an EmbeddingService for controllers that need it.
|
|
233
|
+
* Uses the config's embedding generator or creates a minimal local service.
|
|
234
|
+
*/
|
|
235
|
+
/**
|
|
236
|
+
* Adapt an arbitrary embedder to the contract agentdb's controllers call
|
|
237
|
+
* (#3327).
|
|
238
|
+
*
|
|
239
|
+
* ReasoningBank uses asymmetric query/passage embedding — `embedQuery()` on
|
|
240
|
+
* search, `embedPassage()` on store. Several embedders reaching here expose
|
|
241
|
+
* only `embed()`:
|
|
242
|
+
* • agentdb's mock embedder, substituted whenever the Transformers.js
|
|
243
|
+
* model fails to load (offline, or a failed `sharp` optional install);
|
|
244
|
+
* • any host-supplied `embeddingGenerator` wrapper.
|
|
245
|
+
*
|
|
246
|
+
* Passing one of those through unchanged throws `... is not a function`
|
|
247
|
+
* deep inside the controller, where the bridge's catch converts it into a
|
|
248
|
+
* silent fallback — the failure this whole fix is about. Aliasing is
|
|
249
|
+
* semantically safe: a symmetric model returns the same vector for both
|
|
250
|
+
* roles, which is precisely what a single `embed()` implies.
|
|
251
|
+
*
|
|
252
|
+
* Returns null when there is nothing usable to adapt.
|
|
253
|
+
*/
|
|
254
|
+
private adaptEmbedderForAgentdb;
|
|
255
|
+
private createEmbeddingService;
|
|
256
|
+
/**
|
|
257
|
+
* Tiered store used when agentdb's HierarchicalMemory is unavailable.
|
|
258
|
+
*
|
|
259
|
+
* Since agentdb 3.0.0-alpha.17 dropped the `HierarchicalMemory` export
|
|
260
|
+
* entirely, this is the ONLY backing store for `agentdb_hierarchical-*`
|
|
261
|
+
* in practice — so it is handed AgentDB's SQLite connection and writes
|
|
262
|
+
* through to it. Without a connection it stays volatile and reports
|
|
263
|
+
* `isDurable() === false` so callers can refuse to claim success (#2887).
|
|
264
|
+
*
|
|
265
|
+
* Keeps the legacy duck-typed API — store(key, value, tier) /
|
|
266
|
+
* recall(query, topK) / getTierStats() — plus Zep/Graphiti-style temporal
|
|
267
|
+
* validity (validFrom / validUntil / supersededBy).
|
|
268
|
+
*/
|
|
269
|
+
private createTieredMemoryStub;
|
|
270
|
+
/** Build the tiered fallback and record/emit why the native one was skipped. */
|
|
271
|
+
private tieredMemoryFallback;
|
|
272
|
+
/**
|
|
273
|
+
* Why `hierarchicalMemory` is served by the tiered fallback, and whether
|
|
274
|
+
* that fallback is durable. Null when the native controller is in use.
|
|
275
|
+
*/
|
|
276
|
+
getHierarchicalFallback(): {
|
|
277
|
+
reason: string;
|
|
278
|
+
persistence: string;
|
|
279
|
+
} | null;
|
|
280
|
+
/**
|
|
281
|
+
* No-op consolidation stub — the first-class implementation for
|
|
282
|
+
* `memoryConsolidation` since agentdb has never shipped a working native
|
|
283
|
+
* MemoryConsolidation on any installable range (#2977). `promoted: 0,
|
|
284
|
+
* pruned: 0` on its own reads as "ran and found nothing to do"; `source`
|
|
285
|
+
* and `note` make it explicit that consolidation never actually ran.
|
|
286
|
+
*/
|
|
287
|
+
private createConsolidationStub;
|
|
288
|
+
}
|
|
289
|
+
export default ControllerRegistry;
|
|
290
|
+
//# sourceMappingURL=controller-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-registry.d.ts","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
|