moflo 4.0.2 → 4.0.3
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/package.json +114 -110
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +194 -81
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +1892 -1841
- package/v3/@claude-flow/memory/README.md +587 -0
- package/v3/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
- package/v3/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
- package/v3/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
- package/v3/@claude-flow/memory/dist/agent-memory-scope.test.js +463 -0
- package/v3/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
- package/v3/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
- package/v3/@claude-flow/memory/dist/agentdb-backend.d.ts +214 -0
- package/v3/@claude-flow/memory/dist/agentdb-backend.js +844 -0
- package/v3/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
- package/v3/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
- package/v3/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
- package/v3/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
- package/v3/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
- package/v3/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
- package/v3/@claude-flow/memory/dist/application/index.d.ts +12 -0
- package/v3/@claude-flow/memory/dist/application/index.js +15 -0
- package/v3/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
- package/v3/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
- package/v3/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
- package/v3/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
- package/v3/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
- package/v3/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
- package/v3/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
- package/v3/@claude-flow/memory/dist/auto-memory-bridge.test.js +754 -0
- package/v3/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
- package/v3/@claude-flow/memory/dist/benchmark.test.js +277 -0
- package/v3/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
- package/v3/@claude-flow/memory/dist/cache-manager.js +407 -0
- package/v3/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
- package/v3/@claude-flow/memory/dist/controller-registry.js +893 -0
- package/v3/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
- package/v3/@claude-flow/memory/dist/controller-registry.test.js +636 -0
- package/v3/@claude-flow/memory/dist/database-provider.d.ts +87 -0
- package/v3/@claude-flow/memory/dist/database-provider.js +410 -0
- package/v3/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
- package/v3/@claude-flow/memory/dist/database-provider.test.js +285 -0
- package/v3/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
- package/v3/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
- package/v3/@claude-flow/memory/dist/domain/index.d.ts +11 -0
- package/v3/@claude-flow/memory/dist/domain/index.js +12 -0
- package/v3/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
- package/v3/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
- package/v3/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
- package/v3/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
- package/v3/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
- package/v3/@claude-flow/memory/dist/hnsw-index.js +781 -0
- package/v3/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
- package/v3/@claude-flow/memory/dist/hnsw-lite.js +168 -0
- package/v3/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
- package/v3/@claude-flow/memory/dist/hybrid-backend.js +569 -0
- package/v3/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
- package/v3/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
- package/v3/@claude-flow/memory/dist/index.d.ts +208 -0
- package/v3/@claude-flow/memory/dist/index.js +362 -0
- package/v3/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
- package/v3/@claude-flow/memory/dist/infrastructure/index.js +16 -0
- package/v3/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
- package/v3/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
- package/v3/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
- package/v3/@claude-flow/memory/dist/learning-bridge.js +335 -0
- package/v3/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
- package/v3/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
- package/v3/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
- package/v3/@claude-flow/memory/dist/memory-graph.js +333 -0
- package/v3/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
- package/v3/@claude-flow/memory/dist/memory-graph.test.js +609 -0
- package/v3/@claude-flow/memory/dist/migration.d.ts +68 -0
- package/v3/@claude-flow/memory/dist/migration.js +513 -0
- package/v3/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
- package/v3/@claude-flow/memory/dist/persistent-sona.js +332 -0
- package/v3/@claude-flow/memory/dist/query-builder.d.ts +211 -0
- package/v3/@claude-flow/memory/dist/query-builder.js +438 -0
- package/v3/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
- package/v3/@claude-flow/memory/dist/rvf-backend.js +481 -0
- package/v3/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
- package/v3/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
- package/v3/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
- package/v3/@claude-flow/memory/dist/rvf-migration.js +254 -0
- package/v3/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
- package/v3/@claude-flow/memory/dist/sqlite-backend.js +564 -0
- package/v3/@claude-flow/memory/dist/sqljs-backend.d.ts +128 -0
- package/v3/@claude-flow/memory/dist/sqljs-backend.js +601 -0
- package/v3/@claude-flow/memory/dist/types.d.ts +484 -0
- package/v3/@claude-flow/memory/dist/types.js +58 -0
- package/v3/@claude-flow/memory/package.json +46 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB Backend - Integration with agentdb@2.0.0-alpha.3.4
|
|
3
|
+
*
|
|
4
|
+
* Provides IMemoryBackend implementation using AgentDB with:
|
|
5
|
+
* - HNSW vector search (150x-12,500x faster than brute-force)
|
|
6
|
+
* - Native or WASM backend support with graceful fallback
|
|
7
|
+
* - Optional dependency handling (works without hnswlib-node)
|
|
8
|
+
* - Seamless integration with HybridBackend
|
|
9
|
+
*
|
|
10
|
+
* @module v3/memory/agentdb-backend
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'node:events';
|
|
13
|
+
import { IMemoryBackend, MemoryEntry, MemoryEntryUpdate, MemoryQuery, SearchOptions, SearchResult, BackendStats, HealthCheckResult, EmbeddingGenerator } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for AgentDB Backend
|
|
16
|
+
*/
|
|
17
|
+
export interface AgentDBBackendConfig {
|
|
18
|
+
/** Database path for persistence */
|
|
19
|
+
dbPath?: string;
|
|
20
|
+
/** Namespace for memory organization */
|
|
21
|
+
namespace?: string;
|
|
22
|
+
/** Force WASM backend (skip native hnswlib) */
|
|
23
|
+
forceWasm?: boolean;
|
|
24
|
+
/** Vector backend: 'auto', 'ruvector', 'hnswlib' */
|
|
25
|
+
vectorBackend?: 'auto' | 'ruvector' | 'hnswlib';
|
|
26
|
+
/** Vector dimensions (default: 1536) */
|
|
27
|
+
vectorDimension?: number;
|
|
28
|
+
/** HNSW M parameter */
|
|
29
|
+
hnswM?: number;
|
|
30
|
+
/** HNSW efConstruction parameter */
|
|
31
|
+
hnswEfConstruction?: number;
|
|
32
|
+
/** HNSW efSearch parameter */
|
|
33
|
+
hnswEfSearch?: number;
|
|
34
|
+
/** Enable caching */
|
|
35
|
+
cacheEnabled?: boolean;
|
|
36
|
+
/** Embedding generator function */
|
|
37
|
+
embeddingGenerator?: EmbeddingGenerator;
|
|
38
|
+
/** Maximum entries */
|
|
39
|
+
maxEntries?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* AgentDB Backend
|
|
43
|
+
*
|
|
44
|
+
* Integrates AgentDB for vector search with the V3 memory system.
|
|
45
|
+
* Provides 150x-12,500x faster search compared to brute-force approaches.
|
|
46
|
+
*
|
|
47
|
+
* Features:
|
|
48
|
+
* - HNSW indexing for fast approximate nearest neighbor search
|
|
49
|
+
* - Automatic fallback: native hnswlib → ruvector → WASM
|
|
50
|
+
* - Graceful handling of optional native dependencies
|
|
51
|
+
* - Semantic search with filtering
|
|
52
|
+
* - Compatible with HybridBackend for combined SQLite+AgentDB queries
|
|
53
|
+
*/
|
|
54
|
+
export declare class AgentDBBackend extends EventEmitter implements IMemoryBackend {
|
|
55
|
+
private config;
|
|
56
|
+
private agentdb;
|
|
57
|
+
private initialized;
|
|
58
|
+
private available;
|
|
59
|
+
private entries;
|
|
60
|
+
private namespaceIndex;
|
|
61
|
+
private keyIndex;
|
|
62
|
+
private numericToStringIdMap;
|
|
63
|
+
private stats;
|
|
64
|
+
constructor(config?: AgentDBBackendConfig);
|
|
65
|
+
/**
|
|
66
|
+
* Initialize AgentDB
|
|
67
|
+
*/
|
|
68
|
+
initialize(): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Shutdown AgentDB
|
|
71
|
+
*/
|
|
72
|
+
shutdown(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Store a memory entry
|
|
75
|
+
*/
|
|
76
|
+
store(entry: MemoryEntry): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Get entry by ID
|
|
79
|
+
*/
|
|
80
|
+
get(id: string): Promise<MemoryEntry | null>;
|
|
81
|
+
/**
|
|
82
|
+
* Get entry by key
|
|
83
|
+
*/
|
|
84
|
+
getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;
|
|
85
|
+
/**
|
|
86
|
+
* Update entry
|
|
87
|
+
*/
|
|
88
|
+
update(id: string, update: MemoryEntryUpdate): Promise<MemoryEntry | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Delete entry
|
|
91
|
+
*/
|
|
92
|
+
delete(id: string): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Query entries
|
|
95
|
+
*/
|
|
96
|
+
query(query: MemoryQuery): Promise<MemoryEntry[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Semantic vector search
|
|
99
|
+
*/
|
|
100
|
+
search(embedding: Float32Array, options: SearchOptions): Promise<SearchResult[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Bulk insert
|
|
103
|
+
*/
|
|
104
|
+
bulkInsert(entries: MemoryEntry[]): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Bulk delete
|
|
107
|
+
*/
|
|
108
|
+
bulkDelete(ids: string[]): Promise<number>;
|
|
109
|
+
/**
|
|
110
|
+
* Count entries
|
|
111
|
+
*/
|
|
112
|
+
count(namespace?: string): Promise<number>;
|
|
113
|
+
/**
|
|
114
|
+
* List namespaces
|
|
115
|
+
*/
|
|
116
|
+
listNamespaces(): Promise<string[]>;
|
|
117
|
+
/**
|
|
118
|
+
* Clear namespace
|
|
119
|
+
*/
|
|
120
|
+
clearNamespace(namespace: string): Promise<number>;
|
|
121
|
+
/**
|
|
122
|
+
* Get statistics
|
|
123
|
+
*/
|
|
124
|
+
getStats(): Promise<BackendStats>;
|
|
125
|
+
/**
|
|
126
|
+
* Health check
|
|
127
|
+
*/
|
|
128
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
129
|
+
/**
|
|
130
|
+
* Create database schema
|
|
131
|
+
*/
|
|
132
|
+
private createSchema;
|
|
133
|
+
/**
|
|
134
|
+
* Store entry in AgentDB
|
|
135
|
+
*/
|
|
136
|
+
private storeInAgentDB;
|
|
137
|
+
/**
|
|
138
|
+
* Get entry from AgentDB
|
|
139
|
+
*/
|
|
140
|
+
private getFromAgentDB;
|
|
141
|
+
/**
|
|
142
|
+
* Convert agentdb data to MemoryEntry
|
|
143
|
+
*/
|
|
144
|
+
private dataToEntry;
|
|
145
|
+
/**
|
|
146
|
+
* Update entry in AgentDB
|
|
147
|
+
*/
|
|
148
|
+
private updateInAgentDB;
|
|
149
|
+
/**
|
|
150
|
+
* Delete entry from AgentDB
|
|
151
|
+
*/
|
|
152
|
+
private deleteFromAgentDB;
|
|
153
|
+
/**
|
|
154
|
+
* Search with AgentDB HNSW
|
|
155
|
+
*/
|
|
156
|
+
private searchWithAgentDB;
|
|
157
|
+
/**
|
|
158
|
+
* Brute-force vector search fallback
|
|
159
|
+
*/
|
|
160
|
+
private bruteForceSearch;
|
|
161
|
+
/**
|
|
162
|
+
* Semantic search helper
|
|
163
|
+
*/
|
|
164
|
+
private semanticSearch;
|
|
165
|
+
/**
|
|
166
|
+
* In-memory query fallback
|
|
167
|
+
*/
|
|
168
|
+
private queryInMemory;
|
|
169
|
+
/**
|
|
170
|
+
* Update in-memory indexes
|
|
171
|
+
*/
|
|
172
|
+
private updateIndexes;
|
|
173
|
+
/**
|
|
174
|
+
* Convert DB row to MemoryEntry
|
|
175
|
+
*/
|
|
176
|
+
private rowToEntry;
|
|
177
|
+
/**
|
|
178
|
+
* Convert string ID to numeric for HNSW
|
|
179
|
+
*/
|
|
180
|
+
private stringIdToNumeric;
|
|
181
|
+
/**
|
|
182
|
+
* Convert numeric ID back to string using O(1) reverse lookup
|
|
183
|
+
* PERFORMANCE FIX: Uses pre-built reverse map instead of O(n) linear scan
|
|
184
|
+
*/
|
|
185
|
+
private numericIdToString;
|
|
186
|
+
/**
|
|
187
|
+
* Register string ID in reverse lookup map
|
|
188
|
+
* Called when storing entries to maintain bidirectional mapping
|
|
189
|
+
*/
|
|
190
|
+
private registerIdMapping;
|
|
191
|
+
/**
|
|
192
|
+
* Unregister string ID from reverse lookup map
|
|
193
|
+
* Called when deleting entries
|
|
194
|
+
*/
|
|
195
|
+
private unregisterIdMapping;
|
|
196
|
+
/**
|
|
197
|
+
* Cosine similarity (returns value in range [0, 1] where 1 = identical)
|
|
198
|
+
*/
|
|
199
|
+
private cosineSimilarity;
|
|
200
|
+
/**
|
|
201
|
+
* Estimate memory usage
|
|
202
|
+
*/
|
|
203
|
+
private estimateMemoryUsage;
|
|
204
|
+
/**
|
|
205
|
+
* Check if AgentDB is available
|
|
206
|
+
*/
|
|
207
|
+
isAvailable(): boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Get underlying AgentDB instance
|
|
210
|
+
*/
|
|
211
|
+
getAgentDB(): any;
|
|
212
|
+
}
|
|
213
|
+
export default AgentDBBackend;
|
|
214
|
+
//# sourceMappingURL=agentdb-backend.d.ts.map
|