@claude-flow/memory 3.0.0-alpha.2 → 3.0.0-alpha.8

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 (164) hide show
  1. package/README.md +356 -18
  2. package/dist/agent-memory-scope.d.ts +131 -0
  3. package/dist/agent-memory-scope.d.ts.map +1 -0
  4. package/dist/agent-memory-scope.js +215 -0
  5. package/dist/agent-memory-scope.js.map +1 -0
  6. package/dist/agent-memory-scope.test.d.ts +8 -0
  7. package/dist/agent-memory-scope.test.d.ts.map +1 -0
  8. package/dist/agent-memory-scope.test.js +463 -0
  9. package/dist/agent-memory-scope.test.js.map +1 -0
  10. package/dist/agentdb-adapter.d.ts +22 -3
  11. package/dist/agentdb-adapter.d.ts.map +1 -1
  12. package/dist/agentdb-adapter.js +135 -8
  13. package/dist/agentdb-adapter.js.map +1 -1
  14. package/dist/auto-memory-bridge.d.ts +226 -0
  15. package/dist/auto-memory-bridge.d.ts.map +1 -0
  16. package/dist/auto-memory-bridge.js +709 -0
  17. package/dist/auto-memory-bridge.js.map +1 -0
  18. package/dist/auto-memory-bridge.test.d.ts +8 -0
  19. package/dist/auto-memory-bridge.test.d.ts.map +1 -0
  20. package/dist/auto-memory-bridge.test.js +754 -0
  21. package/dist/auto-memory-bridge.test.js.map +1 -0
  22. package/dist/benchmark.test.d.ts +2 -0
  23. package/dist/benchmark.test.d.ts.map +1 -0
  24. package/dist/benchmark.test.js +277 -0
  25. package/dist/benchmark.test.js.map +1 -0
  26. package/dist/hybrid-backend.d.ts.map +1 -1
  27. package/dist/hybrid-backend.js +29 -4
  28. package/dist/hybrid-backend.js.map +1 -1
  29. package/dist/index.d.ts +8 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +8 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/learning-bridge.d.ts +137 -0
  34. package/dist/learning-bridge.d.ts.map +1 -0
  35. package/dist/learning-bridge.js +335 -0
  36. package/dist/learning-bridge.js.map +1 -0
  37. package/dist/learning-bridge.test.d.ts +8 -0
  38. package/dist/learning-bridge.test.d.ts.map +1 -0
  39. package/dist/learning-bridge.test.js +578 -0
  40. package/dist/learning-bridge.test.js.map +1 -0
  41. package/dist/memory-graph.d.ts +100 -0
  42. package/dist/memory-graph.d.ts.map +1 -0
  43. package/dist/memory-graph.js +333 -0
  44. package/dist/memory-graph.js.map +1 -0
  45. package/dist/memory-graph.test.d.ts +8 -0
  46. package/dist/memory-graph.test.d.ts.map +1 -0
  47. package/dist/memory-graph.test.js +609 -0
  48. package/dist/memory-graph.test.js.map +1 -0
  49. package/dist/sqlite-backend.js +3 -3
  50. package/dist/sqljs-backend.d.ts.map +1 -1
  51. package/dist/sqljs-backend.js +5 -2
  52. package/dist/sqljs-backend.js.map +1 -1
  53. package/dist/types.d.ts +3 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +15 -4
  56. package/.agentic-flow/intelligence.json +0 -16
  57. package/__tests__/coverage/base.css +0 -224
  58. package/__tests__/coverage/block-navigation.js +0 -87
  59. package/__tests__/coverage/coverage-final.json +0 -19
  60. package/__tests__/coverage/favicon.png +0 -0
  61. package/__tests__/coverage/index.html +0 -206
  62. package/__tests__/coverage/lcov-report/base.css +0 -224
  63. package/__tests__/coverage/lcov-report/block-navigation.js +0 -87
  64. package/__tests__/coverage/lcov-report/favicon.png +0 -0
  65. package/__tests__/coverage/lcov-report/index.html +0 -206
  66. package/__tests__/coverage/lcov-report/prettify.css +0 -1
  67. package/__tests__/coverage/lcov-report/prettify.js +0 -2
  68. package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  69. package/__tests__/coverage/lcov-report/sorter.js +0 -210
  70. package/__tests__/coverage/lcov-report/src/agentdb-adapter.ts.html +0 -2737
  71. package/__tests__/coverage/lcov-report/src/agentdb-backend.ts.html +0 -3130
  72. package/__tests__/coverage/lcov-report/src/application/commands/delete-memory.command.ts.html +0 -601
  73. package/__tests__/coverage/lcov-report/src/application/commands/index.html +0 -131
  74. package/__tests__/coverage/lcov-report/src/application/commands/store-memory.command.ts.html +0 -394
  75. package/__tests__/coverage/lcov-report/src/application/queries/index.html +0 -116
  76. package/__tests__/coverage/lcov-report/src/application/queries/search-memory.query.ts.html +0 -796
  77. package/__tests__/coverage/lcov-report/src/application/services/index.html +0 -116
  78. package/__tests__/coverage/lcov-report/src/application/services/memory-application-service.ts.html +0 -793
  79. package/__tests__/coverage/lcov-report/src/cache-manager.ts.html +0 -1633
  80. package/__tests__/coverage/lcov-report/src/database-provider.ts.html +0 -1618
  81. package/__tests__/coverage/lcov-report/src/domain/entities/index.html +0 -116
  82. package/__tests__/coverage/lcov-report/src/domain/entities/memory-entry.ts.html +0 -952
  83. package/__tests__/coverage/lcov-report/src/domain/services/index.html +0 -116
  84. package/__tests__/coverage/lcov-report/src/domain/services/memory-domain-service.ts.html +0 -1294
  85. package/__tests__/coverage/lcov-report/src/hnsw-index.ts.html +0 -3124
  86. package/__tests__/coverage/lcov-report/src/hybrid-backend.ts.html +0 -2167
  87. package/__tests__/coverage/lcov-report/src/index.html +0 -266
  88. package/__tests__/coverage/lcov-report/src/infrastructure/repositories/hybrid-memory-repository.ts.html +0 -1633
  89. package/__tests__/coverage/lcov-report/src/infrastructure/repositories/index.html +0 -116
  90. package/__tests__/coverage/lcov-report/src/migration.ts.html +0 -2092
  91. package/__tests__/coverage/lcov-report/src/query-builder.ts.html +0 -1711
  92. package/__tests__/coverage/lcov-report/src/sqlite-backend.ts.html +0 -2281
  93. package/__tests__/coverage/lcov-report/src/sqljs-backend.ts.html +0 -2374
  94. package/__tests__/coverage/lcov-report/src/types.ts.html +0 -2266
  95. package/__tests__/coverage/lcov.info +0 -10238
  96. package/__tests__/coverage/prettify.css +0 -1
  97. package/__tests__/coverage/prettify.js +0 -2
  98. package/__tests__/coverage/sort-arrow-sprite.png +0 -0
  99. package/__tests__/coverage/sorter.js +0 -210
  100. package/__tests__/coverage/src/agentdb-adapter.ts.html +0 -2737
  101. package/__tests__/coverage/src/agentdb-backend.ts.html +0 -3130
  102. package/__tests__/coverage/src/application/commands/delete-memory.command.ts.html +0 -601
  103. package/__tests__/coverage/src/application/commands/index.html +0 -131
  104. package/__tests__/coverage/src/application/commands/store-memory.command.ts.html +0 -394
  105. package/__tests__/coverage/src/application/queries/index.html +0 -116
  106. package/__tests__/coverage/src/application/queries/search-memory.query.ts.html +0 -796
  107. package/__tests__/coverage/src/application/services/index.html +0 -116
  108. package/__tests__/coverage/src/application/services/memory-application-service.ts.html +0 -793
  109. package/__tests__/coverage/src/cache-manager.ts.html +0 -1633
  110. package/__tests__/coverage/src/database-provider.ts.html +0 -1618
  111. package/__tests__/coverage/src/domain/entities/index.html +0 -116
  112. package/__tests__/coverage/src/domain/entities/memory-entry.ts.html +0 -952
  113. package/__tests__/coverage/src/domain/services/index.html +0 -116
  114. package/__tests__/coverage/src/domain/services/memory-domain-service.ts.html +0 -1294
  115. package/__tests__/coverage/src/hnsw-index.ts.html +0 -3124
  116. package/__tests__/coverage/src/hybrid-backend.ts.html +0 -2167
  117. package/__tests__/coverage/src/index.html +0 -266
  118. package/__tests__/coverage/src/infrastructure/repositories/hybrid-memory-repository.ts.html +0 -1633
  119. package/__tests__/coverage/src/infrastructure/repositories/index.html +0 -116
  120. package/__tests__/coverage/src/migration.ts.html +0 -2092
  121. package/__tests__/coverage/src/query-builder.ts.html +0 -1711
  122. package/__tests__/coverage/src/sqlite-backend.ts.html +0 -2281
  123. package/__tests__/coverage/src/sqljs-backend.ts.html +0 -2374
  124. package/__tests__/coverage/src/types.ts.html +0 -2266
  125. package/benchmarks/cache-hit-rate.bench.ts +0 -535
  126. package/benchmarks/hnsw-indexing.bench.ts +0 -552
  127. package/benchmarks/memory-write.bench.ts +0 -469
  128. package/benchmarks/vector-search.bench.ts +0 -449
  129. package/docs/AGENTDB-INTEGRATION.md +0 -388
  130. package/docs/CROSS_PLATFORM.md +0 -505
  131. package/docs/WINDOWS_SUPPORT.md +0 -422
  132. package/examples/agentdb-example.ts +0 -345
  133. package/examples/cross-platform-usage.ts +0 -326
  134. package/framework/benchmark.ts +0 -112
  135. package/src/agentdb-adapter.ts +0 -884
  136. package/src/agentdb-backend.test.ts +0 -339
  137. package/src/agentdb-backend.ts +0 -1016
  138. package/src/application/commands/delete-memory.command.ts +0 -172
  139. package/src/application/commands/store-memory.command.ts +0 -103
  140. package/src/application/index.ts +0 -36
  141. package/src/application/queries/search-memory.query.ts +0 -237
  142. package/src/application/services/memory-application-service.ts +0 -236
  143. package/src/cache-manager.ts +0 -516
  144. package/src/database-provider.test.ts +0 -364
  145. package/src/database-provider.ts +0 -511
  146. package/src/domain/entities/memory-entry.ts +0 -289
  147. package/src/domain/index.ts +0 -35
  148. package/src/domain/repositories/memory-repository.interface.ts +0 -120
  149. package/src/domain/services/memory-domain-service.ts +0 -403
  150. package/src/hnsw-index.ts +0 -1013
  151. package/src/hybrid-backend.test.ts +0 -399
  152. package/src/hybrid-backend.ts +0 -694
  153. package/src/index.ts +0 -515
  154. package/src/infrastructure/index.ts +0 -23
  155. package/src/infrastructure/repositories/hybrid-memory-repository.ts +0 -516
  156. package/src/migration.ts +0 -669
  157. package/src/query-builder.ts +0 -542
  158. package/src/sqlite-backend.ts +0 -732
  159. package/src/sqljs-backend.ts +0 -763
  160. package/src/types.ts +0 -727
  161. package/tmp.json +0 -0
  162. package/tsconfig.json +0 -9
  163. package/tsconfig.tsbuildinfo +0 -1
  164. package/verify-cross-platform.ts +0 -170
package/src/types.ts DELETED
@@ -1,727 +0,0 @@
1
- /**
2
- * V3 Unified Memory Types
3
- *
4
- * Type definitions for the unified memory system based on AgentDB with HNSW indexing.
5
- * Supports 150x-12,500x faster vector search compared to brute-force approaches.
6
- *
7
- * @module v3/memory/types
8
- */
9
-
10
- // ===== Core Memory Entry Types =====
11
-
12
- /**
13
- * Memory entry type classification
14
- */
15
- export type MemoryType =
16
- | 'episodic' // Time-based experiences and events
17
- | 'semantic' // Facts, concepts, and knowledge
18
- | 'procedural' // How-to knowledge and skills
19
- | 'working' // Short-term operational memory
20
- | 'cache'; // Temporary cached data
21
-
22
- /**
23
- * Access level for memory entries
24
- */
25
- export type AccessLevel =
26
- | 'private' // Only owner can access
27
- | 'team' // Team members can access
28
- | 'swarm' // All swarm agents can access
29
- | 'public' // Publicly accessible
30
- | 'system'; // System-level access
31
-
32
- /**
33
- * Consistency level for distributed memory operations
34
- */
35
- export type ConsistencyLevel =
36
- | 'strong' // Strong consistency (all nodes agree)
37
- | 'eventual' // Eventual consistency (propagates over time)
38
- | 'session' // Session-scoped consistency
39
- | 'weak'; // Weak consistency (best effort)
40
-
41
- /**
42
- * Distance metrics for vector similarity search
43
- */
44
- export type DistanceMetric =
45
- | 'cosine' // Cosine similarity (default)
46
- | 'euclidean' // Euclidean distance (L2)
47
- | 'dot' // Dot product
48
- | 'manhattan'; // Manhattan distance (L1)
49
-
50
- // ===== Memory Entry =====
51
-
52
- /**
53
- * Core memory entry structure with vector embedding support
54
- */
55
- export interface MemoryEntry {
56
- /** Unique identifier */
57
- id: string;
58
-
59
- /** Human-readable key for retrieval */
60
- key: string;
61
-
62
- /** Actual content of the memory */
63
- content: string;
64
-
65
- /** Vector embedding for semantic search (Float32Array for efficiency) */
66
- embedding?: Float32Array;
67
-
68
- /** Type of memory */
69
- type: MemoryType;
70
-
71
- /** Namespace for organization */
72
- namespace: string;
73
-
74
- /** Tags for categorization and filtering */
75
- tags: string[];
76
-
77
- /** Additional metadata */
78
- metadata: Record<string, unknown>;
79
-
80
- /** Owner agent ID */
81
- ownerId?: string;
82
-
83
- /** Access level */
84
- accessLevel: AccessLevel;
85
-
86
- /** Creation timestamp */
87
- createdAt: number;
88
-
89
- /** Last update timestamp */
90
- updatedAt: number;
91
-
92
- /** Expiration timestamp (optional) */
93
- expiresAt?: number;
94
-
95
- /** Version number for optimistic locking */
96
- version: number;
97
-
98
- /** References to other memory entries */
99
- references: string[];
100
-
101
- /** Access count for usage tracking */
102
- accessCount: number;
103
-
104
- /** Last access timestamp */
105
- lastAccessedAt: number;
106
- }
107
-
108
- /**
109
- * Input for creating a new memory entry
110
- */
111
- export interface MemoryEntryInput {
112
- key: string;
113
- content: string;
114
- type?: MemoryType;
115
- namespace?: string;
116
- tags?: string[];
117
- metadata?: Record<string, unknown>;
118
- ownerId?: string;
119
- accessLevel?: AccessLevel;
120
- expiresAt?: number;
121
- references?: string[];
122
- }
123
-
124
- /**
125
- * Partial update for a memory entry
126
- */
127
- export interface MemoryEntryUpdate {
128
- content?: string;
129
- tags?: string[];
130
- metadata?: Record<string, unknown>;
131
- accessLevel?: AccessLevel;
132
- expiresAt?: number;
133
- references?: string[];
134
- }
135
-
136
- // ===== Query Types =====
137
-
138
- /**
139
- * Query type for memory retrieval
140
- */
141
- export type QueryType =
142
- | 'semantic' // Vector similarity search
143
- | 'exact' // Exact key match
144
- | 'prefix' // Key prefix match
145
- | 'tag' // Tag-based search
146
- | 'hybrid'; // Combined semantic + filters
147
-
148
- /**
149
- * Memory query specification
150
- */
151
- export interface MemoryQuery {
152
- /** Type of query to perform */
153
- type: QueryType;
154
-
155
- /** Content for semantic search (will be embedded) */
156
- content?: string;
157
-
158
- /** Pre-computed embedding for semantic search */
159
- embedding?: Float32Array;
160
-
161
- /** Exact key to match */
162
- key?: string;
163
-
164
- /** Key prefix to match */
165
- keyPrefix?: string;
166
-
167
- /** Namespace filter */
168
- namespace?: string;
169
-
170
- /** Tag filters (entries must have all specified tags) */
171
- tags?: string[];
172
-
173
- /** Memory type filter */
174
- memoryType?: MemoryType;
175
-
176
- /** Access level filter */
177
- accessLevel?: AccessLevel;
178
-
179
- /** Owner filter */
180
- ownerId?: string;
181
-
182
- /** Metadata filters */
183
- metadata?: Record<string, unknown>;
184
-
185
- /** Time range filters */
186
- createdAfter?: number;
187
- createdBefore?: number;
188
- updatedAfter?: number;
189
- updatedBefore?: number;
190
-
191
- /** Maximum number of results */
192
- limit: number;
193
-
194
- /** Offset for pagination */
195
- offset?: number;
196
-
197
- /** Minimum similarity threshold (0-1) for semantic search */
198
- threshold?: number;
199
-
200
- /** Include expired entries */
201
- includeExpired?: boolean;
202
-
203
- /** Distance metric for semantic search */
204
- distanceMetric?: DistanceMetric;
205
- }
206
-
207
- /**
208
- * Search result with similarity score
209
- */
210
- export interface SearchResult {
211
- /** The memory entry */
212
- entry: MemoryEntry;
213
-
214
- /** Similarity score (0-1, higher is better) */
215
- score: number;
216
-
217
- /** Distance from query vector */
218
- distance: number;
219
- }
220
-
221
- /**
222
- * Search options for HNSW vector search
223
- */
224
- export interface SearchOptions {
225
- /** Number of results to return */
226
- k: number;
227
-
228
- /** Search expansion factor (higher = more accurate, slower) */
229
- ef?: number;
230
-
231
- /** Minimum similarity threshold (0-1) */
232
- threshold?: number;
233
-
234
- /** Distance metric */
235
- metric?: DistanceMetric;
236
-
237
- /** Additional filters to apply post-search */
238
- filters?: MemoryQuery;
239
- }
240
-
241
- // ===== HNSW Index Types =====
242
-
243
- /**
244
- * HNSW index configuration
245
- */
246
- export interface HNSWConfig {
247
- /** Vector dimensions (e.g., 1536 for OpenAI embeddings) */
248
- dimensions: number;
249
-
250
- /** Maximum number of connections per layer (default: 16) */
251
- M: number;
252
-
253
- /** Size of the dynamic candidate list during construction (default: 200) */
254
- efConstruction: number;
255
-
256
- /** Maximum elements the index can hold */
257
- maxElements: number;
258
-
259
- /** Distance metric */
260
- metric: DistanceMetric;
261
-
262
- /** Enable quantization for memory efficiency */
263
- quantization?: QuantizationConfig;
264
- }
265
-
266
- /**
267
- * Quantization configuration for memory reduction
268
- */
269
- export interface QuantizationConfig {
270
- /** Quantization type */
271
- type: 'binary' | 'scalar' | 'product';
272
-
273
- /** Number of bits for scalar quantization */
274
- bits?: 4 | 8 | 16;
275
-
276
- /** Number of subquantizers for product quantization */
277
- subquantizers?: number;
278
-
279
- /** Codebook size for product quantization */
280
- codebookSize?: number;
281
- }
282
-
283
- /**
284
- * HNSW index statistics
285
- */
286
- export interface HNSWStats {
287
- /** Total number of vectors in the index */
288
- vectorCount: number;
289
-
290
- /** Memory usage in bytes */
291
- memoryUsage: number;
292
-
293
- /** Average search time in milliseconds */
294
- avgSearchTime: number;
295
-
296
- /** Index build time in milliseconds */
297
- buildTime: number;
298
-
299
- /** Compression ratio if quantization is enabled */
300
- compressionRatio?: number;
301
- }
302
-
303
- // ===== Backend Interface =====
304
-
305
- /**
306
- * Memory backend interface for storage and retrieval
307
- */
308
- export interface IMemoryBackend {
309
- /** Initialize the backend */
310
- initialize(): Promise<void>;
311
-
312
- /** Shutdown the backend */
313
- shutdown(): Promise<void>;
314
-
315
- /** Store a memory entry */
316
- store(entry: MemoryEntry): Promise<void>;
317
-
318
- /** Retrieve a memory entry by ID */
319
- get(id: string): Promise<MemoryEntry | null>;
320
-
321
- /** Retrieve a memory entry by key within a namespace */
322
- getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;
323
-
324
- /** Update a memory entry */
325
- update(id: string, update: MemoryEntryUpdate): Promise<MemoryEntry | null>;
326
-
327
- /** Delete a memory entry */
328
- delete(id: string): Promise<boolean>;
329
-
330
- /** Query memory entries */
331
- query(query: MemoryQuery): Promise<MemoryEntry[]>;
332
-
333
- /** Semantic vector search */
334
- search(embedding: Float32Array, options: SearchOptions): Promise<SearchResult[]>;
335
-
336
- /** Bulk insert entries */
337
- bulkInsert(entries: MemoryEntry[]): Promise<void>;
338
-
339
- /** Bulk delete entries */
340
- bulkDelete(ids: string[]): Promise<number>;
341
-
342
- /** Get entry count */
343
- count(namespace?: string): Promise<number>;
344
-
345
- /** List all namespaces */
346
- listNamespaces(): Promise<string[]>;
347
-
348
- /** Clear all entries in a namespace */
349
- clearNamespace(namespace: string): Promise<number>;
350
-
351
- /** Get backend statistics */
352
- getStats(): Promise<BackendStats>;
353
-
354
- /** Perform health check */
355
- healthCheck(): Promise<HealthCheckResult>;
356
- }
357
-
358
- /**
359
- * Backend statistics
360
- */
361
- export interface BackendStats {
362
- /** Total number of entries */
363
- totalEntries: number;
364
-
365
- /** Entries by namespace */
366
- entriesByNamespace: Record<string, number>;
367
-
368
- /** Entries by type */
369
- entriesByType: Record<MemoryType, number>;
370
-
371
- /** Total memory usage in bytes */
372
- memoryUsage: number;
373
-
374
- /** HNSW index statistics */
375
- hnswStats?: HNSWStats;
376
-
377
- /** Cache statistics */
378
- cacheStats?: CacheStats;
379
-
380
- /** Average query time in milliseconds */
381
- avgQueryTime: number;
382
-
383
- /** Average search time in milliseconds */
384
- avgSearchTime: number;
385
- }
386
-
387
- /**
388
- * Health check result
389
- */
390
- export interface HealthCheckResult {
391
- /** Overall health status */
392
- status: 'healthy' | 'degraded' | 'unhealthy';
393
-
394
- /** Individual component health */
395
- components: {
396
- storage: ComponentHealth;
397
- index: ComponentHealth;
398
- cache: ComponentHealth;
399
- };
400
-
401
- /** Health check timestamp */
402
- timestamp: number;
403
-
404
- /** Any issues detected */
405
- issues: string[];
406
-
407
- /** Recommendations for improvement */
408
- recommendations: string[];
409
- }
410
-
411
- /**
412
- * Individual component health status
413
- */
414
- export interface ComponentHealth {
415
- status: 'healthy' | 'degraded' | 'unhealthy';
416
- latency: number;
417
- message?: string;
418
- }
419
-
420
- // ===== Cache Types =====
421
-
422
- /**
423
- * Cache configuration
424
- */
425
- export interface CacheConfig {
426
- /** Maximum number of entries in the cache */
427
- maxSize: number;
428
-
429
- /** Default TTL in milliseconds */
430
- ttl: number;
431
-
432
- /** Enable LRU eviction */
433
- lruEnabled: boolean;
434
-
435
- /** Maximum memory usage in bytes */
436
- maxMemory?: number;
437
-
438
- /** Enable write-through caching */
439
- writeThrough: boolean;
440
- }
441
-
442
- /**
443
- * Cache statistics
444
- */
445
- export interface CacheStats {
446
- /** Number of entries in cache */
447
- size: number;
448
-
449
- /** Cache hit rate (0-1) */
450
- hitRate: number;
451
-
452
- /** Total cache hits */
453
- hits: number;
454
-
455
- /** Total cache misses */
456
- misses: number;
457
-
458
- /** Total evictions */
459
- evictions: number;
460
-
461
- /** Memory usage in bytes */
462
- memoryUsage: number;
463
- }
464
-
465
- /**
466
- * Cached entry wrapper
467
- */
468
- export interface CachedEntry<T> {
469
- /** The cached data */
470
- data: T;
471
-
472
- /** When the entry was cached */
473
- cachedAt: number;
474
-
475
- /** When the entry expires */
476
- expiresAt: number;
477
-
478
- /** Last access timestamp */
479
- lastAccessedAt: number;
480
-
481
- /** Access count */
482
- accessCount: number;
483
- }
484
-
485
- // ===== Migration Types =====
486
-
487
- /**
488
- * Migration source type
489
- */
490
- export type MigrationSource =
491
- | 'sqlite'
492
- | 'markdown'
493
- | 'json'
494
- | 'memory-manager'
495
- | 'swarm-memory'
496
- | 'distributed-memory';
497
-
498
- /**
499
- * Migration configuration
500
- */
501
- export interface MigrationConfig {
502
- /** Source backend type */
503
- source: MigrationSource;
504
-
505
- /** Source path or connection string */
506
- sourcePath: string;
507
-
508
- /** Batch size for migration */
509
- batchSize: number;
510
-
511
- /** Generate embeddings during migration */
512
- generateEmbeddings: boolean;
513
-
514
- /** Validate data during migration */
515
- validateData: boolean;
516
-
517
- /** Continue on error */
518
- continueOnError: boolean;
519
-
520
- /** Namespace mapping */
521
- namespaceMapping?: Record<string, string>;
522
-
523
- /** Type mapping */
524
- typeMapping?: Record<string, MemoryType>;
525
- }
526
-
527
- /**
528
- * Migration progress
529
- */
530
- export interface MigrationProgress {
531
- /** Total entries to migrate */
532
- total: number;
533
-
534
- /** Entries migrated so far */
535
- migrated: number;
536
-
537
- /** Entries failed */
538
- failed: number;
539
-
540
- /** Entries skipped */
541
- skipped: number;
542
-
543
- /** Current batch number */
544
- currentBatch: number;
545
-
546
- /** Total batches */
547
- totalBatches: number;
548
-
549
- /** Progress percentage (0-100) */
550
- percentage: number;
551
-
552
- /** Estimated time remaining in milliseconds */
553
- estimatedTimeRemaining: number;
554
-
555
- /** Errors encountered */
556
- errors: MigrationError[];
557
- }
558
-
559
- /**
560
- * Migration error
561
- */
562
- export interface MigrationError {
563
- /** Entry ID or key that failed */
564
- entryId: string;
565
-
566
- /** Error message */
567
- message: string;
568
-
569
- /** Error code */
570
- code: string;
571
-
572
- /** Whether the error is recoverable */
573
- recoverable: boolean;
574
- }
575
-
576
- /**
577
- * Migration result
578
- */
579
- export interface MigrationResult {
580
- /** Whether migration completed successfully */
581
- success: boolean;
582
-
583
- /** Final progress state */
584
- progress: MigrationProgress;
585
-
586
- /** Total time taken in milliseconds */
587
- duration: number;
588
-
589
- /** Summary message */
590
- summary: string;
591
- }
592
-
593
- // ===== Event Types =====
594
-
595
- /**
596
- * Memory event types
597
- */
598
- export type MemoryEventType =
599
- | 'entry:created'
600
- | 'entry:updated'
601
- | 'entry:deleted'
602
- | 'entry:accessed'
603
- | 'entry:expired'
604
- | 'cache:hit'
605
- | 'cache:miss'
606
- | 'cache:eviction'
607
- | 'index:rebuilt'
608
- | 'migration:started'
609
- | 'migration:progress'
610
- | 'migration:completed'
611
- | 'migration:failed';
612
-
613
- /**
614
- * Memory event payload
615
- */
616
- export interface MemoryEvent {
617
- type: MemoryEventType;
618
- timestamp: number;
619
- data: Record<string, unknown>;
620
- }
621
-
622
- /**
623
- * Memory event handler
624
- */
625
- export type MemoryEventHandler = (event: MemoryEvent) => void | Promise<void>;
626
-
627
- // ===== SONA Integration Types =====
628
-
629
- /**
630
- * SONA learning mode for adaptive memory
631
- */
632
- export type SONAMode =
633
- | 'real-time' // <0.05ms adaptation
634
- | 'balanced' // Balance between speed and accuracy
635
- | 'research' // Maximum accuracy, slower
636
- | 'edge' // Optimized for edge devices
637
- | 'batch'; // Batch processing mode
638
-
639
- /**
640
- * Learning pattern from SONA integration
641
- */
642
- export interface LearningPattern {
643
- /** Pattern ID */
644
- id: string;
645
-
646
- /** Pattern data */
647
- data: Record<string, unknown>;
648
-
649
- /** SONA mode used */
650
- mode: SONAMode;
651
-
652
- /** Reward signal */
653
- reward: number;
654
-
655
- /** Trajectory data */
656
- trajectory: unknown[];
657
-
658
- /** Adaptation time in milliseconds */
659
- adaptationTime: number;
660
-
661
- /** Creation timestamp */
662
- createdAt: number;
663
- }
664
-
665
- // ===== Utility Types =====
666
-
667
- /**
668
- * Embedding generator function type
669
- */
670
- export type EmbeddingGenerator = (content: string) => Promise<Float32Array>;
671
-
672
- /**
673
- * Generates a unique memory ID
674
- */
675
- export function generateMemoryId(): string {
676
- const timestamp = Date.now().toString(36);
677
- const random = Math.random().toString(36).substring(2, 10);
678
- return `mem_${timestamp}_${random}`;
679
- }
680
-
681
- /**
682
- * Creates a default memory entry
683
- */
684
- export function createDefaultEntry(input: MemoryEntryInput): MemoryEntry {
685
- const now = Date.now();
686
- return {
687
- id: generateMemoryId(),
688
- key: input.key,
689
- content: input.content,
690
- type: input.type || 'semantic',
691
- namespace: input.namespace || 'default',
692
- tags: input.tags || [],
693
- metadata: input.metadata || {},
694
- ownerId: input.ownerId,
695
- accessLevel: input.accessLevel || 'private',
696
- createdAt: now,
697
- updatedAt: now,
698
- expiresAt: input.expiresAt,
699
- version: 1,
700
- references: input.references || [],
701
- accessCount: 0,
702
- lastAccessedAt: now,
703
- };
704
- }
705
-
706
- /**
707
- * Performance targets for V3 memory system
708
- */
709
- export const PERFORMANCE_TARGETS = {
710
- /** Maximum vector search time for 100k vectors */
711
- MAX_SEARCH_TIME_100K: 1, // ms
712
-
713
- /** Maximum write time per entry */
714
- MAX_WRITE_TIME: 5, // ms
715
-
716
- /** Maximum batch insert time per entry */
717
- MAX_BATCH_INSERT_TIME: 1, // ms
718
-
719
- /** Target memory reduction from legacy systems */
720
- MEMORY_REDUCTION_TARGET: 0.5, // 50%
721
-
722
- /** Minimum search improvement over brute force */
723
- MIN_SEARCH_IMPROVEMENT: 150, // 150x
724
-
725
- /** Maximum search improvement over brute force */
726
- MAX_SEARCH_IMPROVEMENT: 12500, // 12,500x
727
- } as const;
package/tmp.json DELETED
File without changes