@claude-flow/memory 3.0.0-alpha.17 → 3.0.0-alpha.19

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 (74) hide show
  1. package/README.md +858 -647
  2. package/dist/agentdb-adapter.d.ts +60 -1
  3. package/dist/agentdb-adapter.d.ts.map +1 -1
  4. package/dist/agentdb-adapter.js +253 -9
  5. package/dist/agentdb-adapter.js.map +1 -1
  6. package/dist/agentdb-backend.js +26 -26
  7. package/dist/auto-memory-bridge.d.ts +12 -1
  8. package/dist/auto-memory-bridge.d.ts.map +1 -1
  9. package/dist/auto-memory-bridge.js +45 -5
  10. package/dist/auto-memory-bridge.js.map +1 -1
  11. package/dist/auto-memory-bridge.test.js +92 -33
  12. package/dist/auto-memory-bridge.test.js.map +1 -1
  13. package/dist/consolidator.d.ts +96 -0
  14. package/dist/consolidator.d.ts.map +1 -0
  15. package/dist/consolidator.js +209 -0
  16. package/dist/consolidator.js.map +1 -0
  17. package/dist/consolidator.test.d.ts +17 -0
  18. package/dist/consolidator.test.d.ts.map +1 -0
  19. package/dist/consolidator.test.js +239 -0
  20. package/dist/consolidator.test.js.map +1 -0
  21. package/dist/controller-registry.d.ts +7 -0
  22. package/dist/controller-registry.d.ts.map +1 -1
  23. package/dist/controller-registry.js +92 -5
  24. package/dist/controller-registry.js.map +1 -1
  25. package/dist/database-provider.d.ts +13 -2
  26. package/dist/database-provider.d.ts.map +1 -1
  27. package/dist/database-provider.js +37 -2
  28. package/dist/database-provider.js.map +1 -1
  29. package/dist/database-provider.test.js +41 -0
  30. package/dist/database-provider.test.js.map +1 -1
  31. package/dist/fts5.test.d.ts +13 -0
  32. package/dist/fts5.test.d.ts.map +1 -0
  33. package/dist/fts5.test.js +144 -0
  34. package/dist/fts5.test.js.map +1 -0
  35. package/dist/graceful-retrieval.test.d.ts +14 -0
  36. package/dist/graceful-retrieval.test.d.ts.map +1 -0
  37. package/dist/graceful-retrieval.test.js +144 -0
  38. package/dist/graceful-retrieval.test.js.map +1 -0
  39. package/dist/hnsw-index.d.ts +51 -0
  40. package/dist/hnsw-index.d.ts.map +1 -1
  41. package/dist/hnsw-index.js +217 -0
  42. package/dist/hnsw-index.js.map +1 -1
  43. package/dist/hnsw-persistence.test.d.ts +13 -0
  44. package/dist/hnsw-persistence.test.d.ts.map +1 -0
  45. package/dist/hnsw-persistence.test.js +208 -0
  46. package/dist/hnsw-persistence.test.js.map +1 -0
  47. package/dist/index.d.ts +149 -13
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +260 -32
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.test.d.ts +10 -0
  52. package/dist/index.test.d.ts.map +1 -0
  53. package/dist/index.test.js +71 -0
  54. package/dist/index.test.js.map +1 -0
  55. package/dist/rvf-backend.d.ts.map +1 -1
  56. package/dist/rvf-backend.js +155 -1
  57. package/dist/rvf-backend.js.map +1 -1
  58. package/dist/smart-retrieval.d.ts +24 -0
  59. package/dist/smart-retrieval.d.ts.map +1 -1
  60. package/dist/smart-retrieval.js +19 -0
  61. package/dist/smart-retrieval.js.map +1 -1
  62. package/dist/sqlite-backend.d.ts +10 -0
  63. package/dist/sqlite-backend.d.ts.map +1 -1
  64. package/dist/sqlite-backend.js +156 -69
  65. package/dist/sqlite-backend.js.map +1 -1
  66. package/dist/sqljs-backend.d.ts +9 -0
  67. package/dist/sqljs-backend.d.ts.map +1 -1
  68. package/dist/sqljs-backend.js +113 -26
  69. package/dist/sqljs-backend.js.map +1 -1
  70. package/package.json +48 -48
  71. package/dist/hnsw-lite.d.ts +0 -23
  72. package/dist/hnsw-lite.d.ts.map +0 -1
  73. package/dist/hnsw-lite.js +0 -168
  74. package/dist/hnsw-lite.js.map +0 -1
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Phase 3 — Persistent HNSW (ADR-125)
3
+ *
4
+ * Verifies that:
5
+ * - `HNSWIndex.serialize()` / `deserialize()` round-trip correctly.
6
+ * - `MemoryService` close → reopen on the same dbPath recovers all entries
7
+ * AND the HNSW index (Acceptance Criterion #3).
8
+ * - A corrupt sidecar emits `health.persistence = 'corrupt'` and the service
9
+ * falls back to fresh state without throwing.
10
+ * - Snapshot-every-N triggers a sidecar mtime update once the threshold is hit.
11
+ */
12
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
13
+ import * as fs from 'node:fs';
14
+ import * as path from 'node:path';
15
+ import * as os from 'node:os';
16
+ import { HNSWIndex } from './hnsw-index.js';
17
+ import { MemoryService } from './index.js';
18
+ import { createDefaultEntry } from './types.js';
19
+ function mkTmpDir() {
20
+ return fs.mkdtempSync(path.join(os.tmpdir(), 'cf-mem-phase3-'));
21
+ }
22
+ function cleanupDir(dir) {
23
+ try {
24
+ fs.rmSync(dir, { recursive: true, force: true });
25
+ }
26
+ catch { /* ignore */ }
27
+ }
28
+ function randomVec(dim, seed) {
29
+ const out = new Float32Array(dim);
30
+ let s = seed;
31
+ for (let i = 0; i < dim; i++) {
32
+ // xorshift32 for deterministic values
33
+ s ^= s << 13;
34
+ s ^= s >>> 17;
35
+ s ^= s << 5;
36
+ out[i] = ((s | 0) / 2 ** 31);
37
+ }
38
+ return out;
39
+ }
40
+ describe('Phase 3 — HNSWIndex.serialize / deserialize', () => {
41
+ it('round-trips an empty index', () => {
42
+ const idx = new HNSWIndex({ dimensions: 8, M: 4, efConstruction: 10, metric: 'cosine' });
43
+ const buf = idx.serialize();
44
+ const restored = HNSWIndex.deserialize(buf);
45
+ expect(restored.size).toBe(0);
46
+ });
47
+ it('round-trips a populated index and preserves neighbor sets', async () => {
48
+ const idx = new HNSWIndex({ dimensions: 16, M: 4, efConstruction: 20, metric: 'cosine' });
49
+ for (let i = 0; i < 32; i++) {
50
+ await idx.addPoint(`id-${i}`, randomVec(16, i + 1));
51
+ }
52
+ expect(idx.size).toBe(32);
53
+ const buf = idx.serialize();
54
+ const restored = HNSWIndex.deserialize(buf);
55
+ expect(restored.size).toBe(32);
56
+ // Same query → same top-k ordering
57
+ const query = randomVec(16, 999);
58
+ const beforeResults = await idx.search(query, 5);
59
+ const afterResults = await restored.search(query, 5);
60
+ expect(afterResults.map(r => r.id)).toEqual(beforeResults.map(r => r.id));
61
+ });
62
+ it('rejects buffers without the magic header', () => {
63
+ const bad = Buffer.from([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07]);
64
+ expect(() => HNSWIndex.deserialize(bad)).toThrow(/magic header/);
65
+ });
66
+ it('rejects truncated payloads', () => {
67
+ const idx = new HNSWIndex({ dimensions: 4, M: 2, efConstruction: 4, metric: 'cosine' });
68
+ const buf = idx.serialize();
69
+ // Truncate before nodeCount
70
+ const truncated = buf.slice(0, 6);
71
+ expect(() => HNSWIndex.deserialize(truncated)).toThrow();
72
+ });
73
+ });
74
+ describe('Phase 3 — MemoryService snapshot + restore', () => {
75
+ let dir;
76
+ let dbPath;
77
+ beforeEach(() => {
78
+ dir = mkTmpDir();
79
+ dbPath = path.join(dir, 'mem.db');
80
+ });
81
+ afterEach(() => {
82
+ cleanupDir(dir);
83
+ });
84
+ it('Acceptance Criterion #3 — restarts recover entries AND HNSW index', async () => {
85
+ // Phase A: populate
86
+ const dim = 16;
87
+ let restoredStatus = null;
88
+ const svc1 = new MemoryService({
89
+ dimensions: dim,
90
+ persistenceEnabled: true,
91
+ persistencePath: dbPath,
92
+ snapshotInterval: 0, // disable interval-based snapshots — only close() flushes
93
+ embeddingGenerator: async (text) => randomVec(dim, hashStr(text)),
94
+ });
95
+ await svc1.initialize();
96
+ // Capture neighbors for verification
97
+ const inserted = [];
98
+ for (let i = 0; i < 100; i++) {
99
+ const entry = createDefaultEntry({
100
+ key: `k-${i}`,
101
+ content: `entry ${i}`,
102
+ namespace: 'phase3',
103
+ });
104
+ entry.embedding = randomVec(dim, i + 1);
105
+ await svc1.store(entry);
106
+ inserted.push({ id: entry.id, embedding: entry.embedding });
107
+ }
108
+ // Capture HNSW neighbors against a fixed query vector BEFORE close.
109
+ const queryVec = randomVec(dim, 7777);
110
+ const beforeNeighbors = await svc1.search(queryVec, { k: 10 });
111
+ await svc1.close();
112
+ // Phase B: reopen — should restore both entries and HNSW.
113
+ const svc2 = new MemoryService({
114
+ dimensions: dim,
115
+ persistenceEnabled: true,
116
+ persistencePath: dbPath,
117
+ snapshotInterval: 0,
118
+ embeddingGenerator: async (text) => randomVec(dim, hashStr(text)),
119
+ });
120
+ svc2.getAdapter().on('persistence:loaded', (ev) => { restoredStatus = ev; });
121
+ await svc2.initialize();
122
+ expect(restoredStatus).not.toBeNull();
123
+ expect(restoredStatus.status).toBe('restored');
124
+ expect(restoredStatus.count).toBe(100);
125
+ // Same query → same neighbors after restore (no rebuild log expected).
126
+ const afterNeighbors = await svc2.search(queryVec, { k: 10 });
127
+ expect(afterNeighbors.map(r => r.entry.id)).toEqual(beforeNeighbors.map(r => r.entry.id));
128
+ await svc2.close();
129
+ });
130
+ it('emits health.persistence = "corrupt" on tampered sidecar; falls back to fresh', async () => {
131
+ // Phase A: populate + close to create sidecars
132
+ const dim = 8;
133
+ const svc1 = new MemoryService({
134
+ dimensions: dim,
135
+ persistenceEnabled: true,
136
+ persistencePath: dbPath,
137
+ snapshotInterval: 0,
138
+ });
139
+ await svc1.initialize();
140
+ for (let i = 0; i < 5; i++) {
141
+ const entry = createDefaultEntry({ key: `k-${i}`, content: `x-${i}` });
142
+ entry.embedding = randomVec(dim, i + 1);
143
+ await svc1.store(entry);
144
+ }
145
+ await svc1.close();
146
+ const hnswSidecar = `${dbPath}.hnsw`;
147
+ expect(fs.existsSync(hnswSidecar)).toBe(true);
148
+ // Mutate the magic header byte
149
+ const buf = fs.readFileSync(hnswSidecar);
150
+ buf[0] = 0xFF;
151
+ fs.writeFileSync(hnswSidecar, buf);
152
+ // Reopen — should detect corruption and start fresh, without throwing.
153
+ let loadedEvent = null;
154
+ const svc2 = new MemoryService({
155
+ dimensions: dim,
156
+ persistenceEnabled: true,
157
+ persistencePath: dbPath,
158
+ snapshotInterval: 0,
159
+ });
160
+ svc2.getAdapter().on('persistence:loaded', (ev) => { loadedEvent = ev; });
161
+ await svc2.initialize();
162
+ expect(loadedEvent).not.toBeNull();
163
+ expect(loadedEvent.status).toBe('corrupt');
164
+ // Fresh state: count should be zero
165
+ expect(await svc2.count()).toBe(0);
166
+ await svc2.close();
167
+ });
168
+ it('snapshot-every-N triggers a sidecar write after the threshold is hit', async () => {
169
+ const dim = 8;
170
+ const N = 3;
171
+ const svc = new MemoryService({
172
+ dimensions: dim,
173
+ persistenceEnabled: true,
174
+ persistencePath: dbPath,
175
+ snapshotInterval: N,
176
+ });
177
+ await svc.initialize();
178
+ const hnswSidecar = `${dbPath}.hnsw`;
179
+ expect(fs.existsSync(hnswSidecar)).toBe(false);
180
+ // First N-1 stores should NOT flush a snapshot.
181
+ for (let i = 0; i < N - 1; i++) {
182
+ const entry = createDefaultEntry({ key: `pre-${i}`, content: `c-${i}` });
183
+ entry.embedding = randomVec(dim, i + 1);
184
+ await svc.store(entry);
185
+ }
186
+ expect(fs.existsSync(hnswSidecar)).toBe(false);
187
+ // The Nth store should fire saveSnapshot — await one event-loop turn so
188
+ // the fire-and-forget save() promise resolves.
189
+ const saved = new Promise((resolve) => {
190
+ svc.getAdapter().once('persistence:saved', () => resolve());
191
+ });
192
+ const triggerEntry = createDefaultEntry({ key: 'trigger', content: 'trigger' });
193
+ triggerEntry.embedding = randomVec(dim, 999);
194
+ await svc.store(triggerEntry);
195
+ await saved;
196
+ expect(fs.existsSync(hnswSidecar)).toBe(true);
197
+ await svc.close();
198
+ });
199
+ });
200
+ // Cheap deterministic string hash for the test embedder.
201
+ function hashStr(s) {
202
+ let h = 0;
203
+ for (let i = 0; i < s.length; i++) {
204
+ h = (h * 31 + s.charCodeAt(i)) | 0;
205
+ }
206
+ return Math.abs(h) + 1;
207
+ }
208
+ //# sourceMappingURL=hnsw-persistence.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hnsw-persistence.test.js","sourceRoot":"","sources":["../src/hnsw-persistence.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -69,10 +69,6 @@ export { SqlJsBackend } from './sqljs-backend.js';
69
69
  export type { SqlJsBackendConfig } from './sqljs-backend.js';
70
70
  export { HybridBackend } from './hybrid-backend.js';
71
71
  export type { HybridBackendConfig, StructuredQuery, SemanticQuery, HybridQuery, } from './hybrid-backend.js';
72
- export { RvfBackend } from './rvf-backend.js';
73
- export type { RvfBackendConfig } from './rvf-backend.js';
74
- export { HnswLite, cosineSimilarity } from './hnsw-lite.js';
75
- export type { HnswSearchResult } from './hnsw-lite.js';
76
72
  export { HNSWIndex } from './hnsw-index.js';
77
73
  export { CacheManager, TieredCacheManager } from './cache-manager.js';
78
74
  export { QueryBuilder, query, QueryTemplates } from './query-builder.js';
@@ -95,26 +91,115 @@ export interface UnifiedMemoryServiceConfig extends Partial<AgentDBAdapterConfig
95
91
  dimensions?: number;
96
92
  /** Embedding generator function */
97
93
  embeddingGenerator?: EmbeddingGenerator;
94
+ /**
95
+ * Take an HNSW + metadata snapshot every N successful `store()` calls.
96
+ * Set to `0` (or `Infinity`) to disable interval-based snapshots — `close()`
97
+ * still flushes. Default: 1000.
98
+ *
99
+ * Only takes effect when `persistenceEnabled === true` and `persistencePath`
100
+ * is set. Added by ADR-125 Phase 3.
101
+ */
102
+ snapshotInterval?: number;
103
+ /**
104
+ * Configuration for the background {@link MemoryConsolidator}. Added by
105
+ * ADR-125 Phase 4. When `autoRun: true`, the service starts a `setInterval`
106
+ * timer (default 6h) that runs sweep + dedup + compact and emits the
107
+ * result via `'consolidation:complete'`.
108
+ */
109
+ consolidator?: {
110
+ autoRun?: boolean;
111
+ intervalMs?: number;
112
+ dedupStrategy?: 'keep-newest' | 'keep-oldest' | 'merge-tags';
113
+ };
98
114
  }
99
115
  /**
100
- * Unified Memory Service
116
+ * Memory Service implementation (legacy class name).
117
+ *
118
+ * @deprecated Use {@link MemoryService} — the canonical name introduced by
119
+ * ADR-125 Phase 1. `UnifiedMemoryService` is preserved as an alias and will
120
+ * continue to work through `@claude-flow/memory@3.0.0-rc`. Both names refer
121
+ * to the same class.
101
122
  *
102
- * High-level interface for the V3 memory system that provides:
123
+ * High-level interface that provides:
103
124
  * - Simple API for common operations
104
125
  * - Automatic embedding generation
105
126
  * - Cross-agent memory sharing
106
127
  * - SONA integration for learning
107
128
  * - Event-driven notifications
108
129
  * - Performance monitoring
130
+ *
131
+ * @see {@link MemoryService} for the canonical alias.
109
132
  */
110
133
  export declare class UnifiedMemoryService extends EventEmitter implements IMemoryBackend {
111
134
  private adapter;
112
135
  private config;
113
136
  private initialized;
137
+ /** Total successful `store()` calls since last snapshot trigger (ADR-125 Phase 3). */
138
+ private storeCountSinceSnapshot;
139
+ /** Resolved snapshot interval — see {@link UnifiedMemoryServiceConfig.snapshotInterval}. */
140
+ private readonly snapshotInterval;
141
+ /** Background consolidator timer (ADR-125 Phase 4). */
142
+ private consolidatorTimer;
143
+ /** Lazy-loaded consolidator instance (ADR-125 Phase 4). */
144
+ private consolidator;
145
+ /**
146
+ * The active memory backend. Defaults to the `AgentDBAdapter` created from
147
+ * config, but can be any `IMemoryBackend` implementation (e.g. `HybridBackend`
148
+ * when constructed via `createHybridService` per ADR-009 / ADR-125 Phase 2).
149
+ *
150
+ * Public so consumers can introspect the backend type without reaching for
151
+ * `getAdapter()` (which is AgentDB-specific).
152
+ */
153
+ backend: IMemoryBackend;
114
154
  constructor(config?: UnifiedMemoryServiceConfig);
155
+ /**
156
+ * Replace the active backend with a pre-built `IMemoryBackend`.
157
+ *
158
+ * Used by `createHybridService` (ADR-125 Phase 2) to wire `HybridBackend`
159
+ * through `createDatabase` rather than instantiating `AgentDBAdapter`
160
+ * directly. The legacy `AgentDBAdapter` instance is kept around for the
161
+ * `storeEntry` / `semanticSearch` convenience methods that the IMemoryBackend
162
+ * interface doesn't cover; those calls still flow through it.
163
+ *
164
+ * Returns `this` for chaining.
165
+ *
166
+ * @internal Prefer the factory functions (`createHybridService`,
167
+ * `createPersistentService`, etc.) over calling this directly.
168
+ */
169
+ withBackend(backend: IMemoryBackend): this;
115
170
  initialize(): Promise<void>;
116
171
  shutdown(): Promise<void>;
172
+ /**
173
+ * Alias for {@link shutdown}. Matches the lifecycle name expected by callers
174
+ * who treat `MemoryService` like a connection — referenced from ADR-125
175
+ * Phase 3 (snapshot on close()) and Phase 4 (consolidator timer cleanup).
176
+ */
177
+ close(): Promise<void>;
178
+ /**
179
+ * Start the background consolidator timer if configured.
180
+ * @internal
181
+ */
182
+ private startConsolidatorTimer;
183
+ /**
184
+ * Run a single consolidator cycle on the active adapter. Emits a
185
+ * `consolidation:complete` event with the {@link ConsolidationResult}.
186
+ * @internal
187
+ */
188
+ private runAutoConsolidation;
189
+ /**
190
+ * Get (and lazily construct) the {@link MemoryConsolidator} bound to this
191
+ * service. Added by ADR-125 Phase 4.
192
+ */
193
+ getConsolidator(): Promise<any>;
117
194
  store(entry: MemoryEntry): Promise<void>;
195
+ /**
196
+ * If a snapshot interval is configured and the threshold is hit, fire a
197
+ * snapshot in the background. Only meaningful when the active backend is
198
+ * the AgentDBAdapter with persistence enabled.
199
+ *
200
+ * @internal — ADR-125 Phase 3
201
+ */
202
+ private maybeSnapshot;
118
203
  get(id: string): Promise<MemoryEntry | null>;
119
204
  getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;
120
205
  update(id: string, update: MemoryEntryUpdate): Promise<MemoryEntry | null>;
@@ -129,11 +214,20 @@ export declare class UnifiedMemoryService extends EventEmitter implements IMemor
129
214
  getStats(): Promise<BackendStats>;
130
215
  healthCheck(): Promise<HealthCheckResult>;
131
216
  /**
132
- * Store an entry from simple input
217
+ * Store an entry from simple input.
218
+ *
219
+ * When the active backend is the default AgentDBAdapter, delegates to its
220
+ * native `storeEntry`. When a custom backend is wired (e.g. HybridBackend
221
+ * via `createHybridService`), this builds a full `MemoryEntry` and stores
222
+ * it through the IMemoryBackend interface.
133
223
  */
134
224
  storeEntry(input: MemoryEntryInput): Promise<MemoryEntry>;
135
225
  /**
136
- * Semantic search by content string
226
+ * Semantic search by content string.
227
+ *
228
+ * When the active backend is the default AgentDBAdapter, delegates to its
229
+ * native `semanticSearch`. Otherwise generates an embedding via the
230
+ * configured generator and calls `backend.search()`.
137
231
  */
138
232
  semanticSearch(content: string, k?: number, threshold?: number): Promise<SearchResult[]>;
139
233
  /**
@@ -157,7 +251,12 @@ export declare class UnifiedMemoryService extends EventEmitter implements IMemor
157
251
  */
158
252
  removeTags(id: string, tags: string[]): Promise<MemoryEntry | null>;
159
253
  /**
160
- * Migrate from a legacy memory source
254
+ * Migrate from a legacy memory source.
255
+ *
256
+ * The migrator is AgentDB-specific (writes through `AgentDBAdapter`).
257
+ * When a custom backend is wired (e.g. HybridBackend), migration still
258
+ * targets the local AgentDB adapter; the hybrid backend can pick up the
259
+ * migrated entries on next read via its own AgentDB index.
161
260
  */
162
261
  migrateFrom(source: MigrationSource, sourcePath: string, options?: Partial<MigrationConfig>): Promise<MigrationResult>;
163
262
  /**
@@ -177,6 +276,35 @@ export declare class UnifiedMemoryService extends EventEmitter implements IMemor
177
276
  */
178
277
  isInitialized(): boolean;
179
278
  }
279
+ /**
280
+ * Canonical memory service entry point (ADR-125).
281
+ *
282
+ * `MemoryService` is the preferred name as of `@claude-flow/memory@3.0.0-alpha.18`.
283
+ * It is an alias of {@link UnifiedMemoryService}; both names refer to the same
284
+ * class so existing callers continue working unchanged.
285
+ *
286
+ * @example
287
+ * ```typescript
288
+ * import { MemoryService } from '@claude-flow/memory';
289
+ *
290
+ * const memory = new MemoryService({ dimensions: 1536 });
291
+ * await memory.initialize();
292
+ * ```
293
+ */
294
+ export declare const MemoryService: typeof UnifiedMemoryService;
295
+ /**
296
+ * @public
297
+ * @typedef MemoryService
298
+ *
299
+ * Type alias matching the canonical {@link MemoryService} runtime export so that
300
+ * `import type { MemoryService } from '@claude-flow/memory'` works alongside the
301
+ * value import.
302
+ */
303
+ export type MemoryService = UnifiedMemoryService;
304
+ /**
305
+ * Config type alias for {@link MemoryService}.
306
+ */
307
+ export type MemoryServiceConfig = UnifiedMemoryServiceConfig;
180
308
  /**
181
309
  * Create a simple in-memory service (for testing)
182
310
  */
@@ -190,12 +318,16 @@ export declare function createPersistentService(path: string): UnifiedMemoryServ
190
318
  */
191
319
  export declare function createEmbeddingService(embeddingGenerator: EmbeddingGenerator, dimensions?: number): UnifiedMemoryService;
192
320
  /**
193
- * Create a hybrid memory service (SQLite + AgentDB)
194
- * This is the DEFAULT recommended configuration per ADR-009
321
+ * Create a hybrid memory service (SQLite + AgentDB).
322
+ *
323
+ * This is the DEFAULT recommended configuration per ADR-009. ADR-125 Phase 2
324
+ * delivers the real wiring: the returned service's backend is a `HybridBackend`
325
+ * created through `createDatabase({ provider: 'hybrid' })`, not an AgentDB-only
326
+ * downgrade as in earlier versions.
195
327
  *
196
328
  * @example
197
329
  * ```typescript
198
- * const memory = createHybridService('./data/memory.db', embeddingFn);
330
+ * const memory = await createHybridService('./data/memory.db', embeddingFn);
199
331
  * await memory.initialize();
200
332
  *
201
333
  * // Structured queries go to SQLite
@@ -203,8 +335,12 @@ export declare function createEmbeddingService(embeddingGenerator: EmbeddingGene
203
335
  *
204
336
  * // Semantic queries go to AgentDB
205
337
  * const similar = await memory.semanticSearch('authentication patterns', 10);
338
+ *
339
+ * // Verify the backend is actually hybrid
340
+ * import { HybridBackend } from '@claude-flow/memory';
341
+ * memory.backend instanceof HybridBackend; // true
206
342
  * ```
207
343
  */
208
- export declare function createHybridService(databasePath: string, embeddingGenerator: EmbeddingGenerator, dimensions?: number): UnifiedMemoryService;
344
+ export declare function createHybridService(databasePath: string, embeddingGenerator: EmbeddingGenerator, dimensions?: number): Promise<UnifiedMemoryService>;
209
345
  export default UnifiedMemoryService;
210
346
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}