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.
Files changed (89) hide show
  1. package/package.json +114 -110
  2. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +194 -81
  3. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +1892 -1841
  4. package/v3/@claude-flow/memory/README.md +587 -0
  5. package/v3/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  6. package/v3/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  7. package/v3/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  8. package/v3/@claude-flow/memory/dist/agent-memory-scope.test.js +463 -0
  9. package/v3/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  10. package/v3/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  11. package/v3/@claude-flow/memory/dist/agentdb-backend.d.ts +214 -0
  12. package/v3/@claude-flow/memory/dist/agentdb-backend.js +844 -0
  13. package/v3/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  14. package/v3/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  15. package/v3/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  16. package/v3/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  17. package/v3/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  18. package/v3/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  19. package/v3/@claude-flow/memory/dist/application/index.d.ts +12 -0
  20. package/v3/@claude-flow/memory/dist/application/index.js +15 -0
  21. package/v3/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  22. package/v3/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  23. package/v3/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  24. package/v3/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  25. package/v3/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  26. package/v3/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  27. package/v3/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  28. package/v3/@claude-flow/memory/dist/auto-memory-bridge.test.js +754 -0
  29. package/v3/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  30. package/v3/@claude-flow/memory/dist/benchmark.test.js +277 -0
  31. package/v3/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  32. package/v3/@claude-flow/memory/dist/cache-manager.js +407 -0
  33. package/v3/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  34. package/v3/@claude-flow/memory/dist/controller-registry.js +893 -0
  35. package/v3/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  36. package/v3/@claude-flow/memory/dist/controller-registry.test.js +636 -0
  37. package/v3/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  38. package/v3/@claude-flow/memory/dist/database-provider.js +410 -0
  39. package/v3/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  40. package/v3/@claude-flow/memory/dist/database-provider.test.js +285 -0
  41. package/v3/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  42. package/v3/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  43. package/v3/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  44. package/v3/@claude-flow/memory/dist/domain/index.js +12 -0
  45. package/v3/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  46. package/v3/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  47. package/v3/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  48. package/v3/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  49. package/v3/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  50. package/v3/@claude-flow/memory/dist/hnsw-index.js +781 -0
  51. package/v3/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  52. package/v3/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  53. package/v3/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
  54. package/v3/@claude-flow/memory/dist/hybrid-backend.js +569 -0
  55. package/v3/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
  56. package/v3/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
  57. package/v3/@claude-flow/memory/dist/index.d.ts +208 -0
  58. package/v3/@claude-flow/memory/dist/index.js +362 -0
  59. package/v3/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  60. package/v3/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  61. package/v3/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  62. package/v3/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  63. package/v3/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  64. package/v3/@claude-flow/memory/dist/learning-bridge.js +335 -0
  65. package/v3/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  66. package/v3/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  67. package/v3/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  68. package/v3/@claude-flow/memory/dist/memory-graph.js +333 -0
  69. package/v3/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  70. package/v3/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  71. package/v3/@claude-flow/memory/dist/migration.d.ts +68 -0
  72. package/v3/@claude-flow/memory/dist/migration.js +513 -0
  73. package/v3/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  74. package/v3/@claude-flow/memory/dist/persistent-sona.js +332 -0
  75. package/v3/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  76. package/v3/@claude-flow/memory/dist/query-builder.js +438 -0
  77. package/v3/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  78. package/v3/@claude-flow/memory/dist/rvf-backend.js +481 -0
  79. package/v3/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  80. package/v3/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  81. package/v3/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  82. package/v3/@claude-flow/memory/dist/rvf-migration.js +254 -0
  83. package/v3/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
  84. package/v3/@claude-flow/memory/dist/sqlite-backend.js +564 -0
  85. package/v3/@claude-flow/memory/dist/sqljs-backend.d.ts +128 -0
  86. package/v3/@claude-flow/memory/dist/sqljs-backend.js +601 -0
  87. package/v3/@claude-flow/memory/dist/types.d.ts +484 -0
  88. package/v3/@claude-flow/memory/dist/types.js +58 -0
  89. 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