agentdb 1.5.8 → 1.6.0

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 (62) hide show
  1. package/README.md +11 -11
  2. package/dist/agentdb.min.js +4 -4
  3. package/dist/cli/agentdb-cli.d.ts +29 -0
  4. package/dist/cli/agentdb-cli.d.ts.map +1 -1
  5. package/dist/cli/agentdb-cli.js +1009 -34
  6. package/dist/cli/agentdb-cli.js.map +1 -1
  7. package/dist/controllers/ContextSynthesizer.d.ts +65 -0
  8. package/dist/controllers/ContextSynthesizer.d.ts.map +1 -0
  9. package/dist/controllers/ContextSynthesizer.js +208 -0
  10. package/dist/controllers/ContextSynthesizer.js.map +1 -0
  11. package/dist/controllers/MMRDiversityRanker.d.ts +50 -0
  12. package/dist/controllers/MMRDiversityRanker.d.ts.map +1 -0
  13. package/dist/controllers/MMRDiversityRanker.js +130 -0
  14. package/dist/controllers/MMRDiversityRanker.js.map +1 -0
  15. package/dist/controllers/MetadataFilter.d.ts +70 -0
  16. package/dist/controllers/MetadataFilter.d.ts.map +1 -0
  17. package/dist/controllers/MetadataFilter.js +243 -0
  18. package/dist/controllers/MetadataFilter.js.map +1 -0
  19. package/dist/controllers/QUICClient.d.ts +109 -0
  20. package/dist/controllers/QUICClient.d.ts.map +1 -0
  21. package/dist/controllers/QUICClient.js +299 -0
  22. package/dist/controllers/QUICClient.js.map +1 -0
  23. package/dist/controllers/QUICServer.d.ts +121 -0
  24. package/dist/controllers/QUICServer.d.ts.map +1 -0
  25. package/dist/controllers/QUICServer.js +383 -0
  26. package/dist/controllers/QUICServer.js.map +1 -0
  27. package/dist/controllers/SyncCoordinator.d.ts +120 -0
  28. package/dist/controllers/SyncCoordinator.d.ts.map +1 -0
  29. package/dist/controllers/SyncCoordinator.js +441 -0
  30. package/dist/controllers/SyncCoordinator.js.map +1 -0
  31. package/dist/controllers/WASMVectorSearch.d.ts.map +1 -1
  32. package/dist/controllers/WASMVectorSearch.js +10 -2
  33. package/dist/controllers/WASMVectorSearch.js.map +1 -1
  34. package/dist/controllers/index.d.ts +12 -0
  35. package/dist/controllers/index.d.ts.map +1 -1
  36. package/dist/controllers/index.js +6 -0
  37. package/dist/controllers/index.js.map +1 -1
  38. package/dist/db-fallback.d.ts.map +1 -1
  39. package/dist/db-fallback.js +14 -11
  40. package/dist/db-fallback.js.map +1 -1
  41. package/dist/examples/quic-sync-example.d.ts +9 -0
  42. package/dist/examples/quic-sync-example.d.ts.map +1 -0
  43. package/dist/examples/quic-sync-example.js +169 -0
  44. package/dist/examples/quic-sync-example.js.map +1 -0
  45. package/dist/types/quic.d.ts +518 -0
  46. package/dist/types/quic.d.ts.map +1 -0
  47. package/dist/types/quic.js +272 -0
  48. package/dist/types/quic.js.map +1 -0
  49. package/package.json +9 -3
  50. package/src/browser-entry.js +41 -6
  51. package/src/cli/agentdb-cli.ts +1114 -33
  52. package/src/controllers/ContextSynthesizer.ts +285 -0
  53. package/src/controllers/MMRDiversityRanker.ts +187 -0
  54. package/src/controllers/MetadataFilter.ts +280 -0
  55. package/src/controllers/QUICClient.ts +413 -0
  56. package/src/controllers/QUICServer.ts +498 -0
  57. package/src/controllers/SyncCoordinator.ts +597 -0
  58. package/src/controllers/WASMVectorSearch.ts +11 -2
  59. package/src/controllers/index.ts +12 -0
  60. package/src/db-fallback.ts +13 -10
  61. package/src/examples/quic-sync-example.ts +198 -0
  62. package/src/types/quic.ts +772 -0
@@ -0,0 +1,441 @@
1
+ /**
2
+ * SyncCoordinator - Orchestrate AgentDB Synchronization
3
+ *
4
+ * Coordinates bidirectional synchronization between local and remote AgentDB instances.
5
+ * Handles change detection, conflict resolution, batching, and progress tracking.
6
+ *
7
+ * Features:
8
+ * - Detect changes since last sync
9
+ * - Bidirectional sync (push and pull)
10
+ * - Conflict resolution strategies
11
+ * - Batch operations for efficiency
12
+ * - Progress tracking and reporting
13
+ * - Comprehensive error handling
14
+ * - Sync state persistence
15
+ */
16
+ import chalk from 'chalk';
17
+ export class SyncCoordinator {
18
+ db;
19
+ client;
20
+ server;
21
+ config;
22
+ syncState;
23
+ isSyncing = false;
24
+ autoSyncInterval = null;
25
+ constructor(config) {
26
+ this.db = config.db;
27
+ this.client = config.client;
28
+ this.server = config.server;
29
+ this.config = {
30
+ conflictStrategy: config.conflictStrategy || 'latest-wins',
31
+ batchSize: config.batchSize || 100,
32
+ autoSync: config.autoSync || false,
33
+ syncIntervalMs: config.syncIntervalMs || 60000, // 1 minute
34
+ };
35
+ // Load sync state
36
+ this.syncState = this.loadSyncState();
37
+ // Start auto-sync if enabled
38
+ if (this.config.autoSync) {
39
+ this.startAutoSync();
40
+ }
41
+ }
42
+ /**
43
+ * Perform bidirectional synchronization
44
+ */
45
+ async sync(onProgress) {
46
+ if (this.isSyncing) {
47
+ throw new Error('Sync already in progress');
48
+ }
49
+ if (!this.client) {
50
+ throw new Error('QUICClient not configured');
51
+ }
52
+ this.isSyncing = true;
53
+ const startTime = Date.now();
54
+ const errors = [];
55
+ let itemsPushed = 0;
56
+ let itemsPulled = 0;
57
+ let conflictsResolved = 0;
58
+ let bytesTransferred = 0;
59
+ try {
60
+ console.log(chalk.blue('🔄 Starting synchronization...'));
61
+ // Phase 1: Detect changes
62
+ onProgress?.({ phase: 'detecting', current: 0, total: 100, message: 'Detecting changes...' });
63
+ const changes = await this.detectChanges();
64
+ console.log(chalk.gray(` Changes detected: ${changes.episodes.length + changes.skills.length + changes.edges.length} items`));
65
+ // Phase 2: Push changes to remote
66
+ if (changes.episodes.length > 0 || changes.skills.length > 0 || changes.edges.length > 0) {
67
+ onProgress?.({ phase: 'pushing', current: 0, total: changes.episodes.length + changes.skills.length + changes.edges.length });
68
+ const pushResult = await this.pushChanges(changes, onProgress);
69
+ itemsPushed = pushResult.itemsPushed;
70
+ bytesTransferred += pushResult.bytesTransferred;
71
+ errors.push(...pushResult.errors);
72
+ }
73
+ // Phase 3: Pull changes from remote
74
+ onProgress?.({ phase: 'pulling', current: 0, total: 100, message: 'Pulling remote changes...' });
75
+ const pullResult = await this.pullChanges(onProgress);
76
+ itemsPulled = pullResult.itemsPulled;
77
+ bytesTransferred += pullResult.bytesTransferred;
78
+ errors.push(...pullResult.errors);
79
+ // Phase 4: Resolve conflicts
80
+ if (pullResult.conflicts && pullResult.conflicts.length > 0) {
81
+ onProgress?.({ phase: 'resolving', current: 0, total: pullResult.conflicts.length, message: 'Resolving conflicts...' });
82
+ conflictsResolved = await this.resolveConflicts(pullResult.conflicts);
83
+ }
84
+ // Phase 5: Apply changes
85
+ onProgress?.({ phase: 'applying', current: 0, total: itemsPulled, message: 'Applying changes...' });
86
+ await this.applyChanges(pullResult.data);
87
+ // Update sync state
88
+ this.syncState.lastSyncAt = Date.now();
89
+ this.syncState.totalItemsSynced += itemsPushed + itemsPulled;
90
+ this.syncState.totalBytesSynced += bytesTransferred;
91
+ this.syncState.syncCount++;
92
+ this.syncState.lastError = errors.length > 0 ? errors[0] : undefined;
93
+ this.saveSyncState();
94
+ const endTime = Date.now();
95
+ const durationMs = endTime - startTime;
96
+ console.log(chalk.green('✓ Synchronization completed'));
97
+ console.log(chalk.gray(` Items pushed: ${itemsPushed}`));
98
+ console.log(chalk.gray(` Items pulled: ${itemsPulled}`));
99
+ console.log(chalk.gray(` Conflicts resolved: ${conflictsResolved}`));
100
+ console.log(chalk.gray(` Duration: ${durationMs}ms`));
101
+ onProgress?.({ phase: 'completed', current: 100, total: 100, message: 'Sync completed' });
102
+ return {
103
+ success: errors.length === 0,
104
+ startTime,
105
+ endTime,
106
+ durationMs,
107
+ itemsPushed,
108
+ itemsPulled,
109
+ conflictsResolved,
110
+ errors,
111
+ bytesTransferred,
112
+ };
113
+ }
114
+ catch (error) {
115
+ const err = error;
116
+ const endTime = Date.now();
117
+ console.error(chalk.red('✗ Synchronization failed:'), err.message);
118
+ errors.push(err.message);
119
+ onProgress?.({ phase: 'error', current: 0, total: 0, error: err.message });
120
+ return {
121
+ success: false,
122
+ startTime,
123
+ endTime,
124
+ durationMs: endTime - startTime,
125
+ itemsPushed,
126
+ itemsPulled,
127
+ conflictsResolved,
128
+ errors,
129
+ bytesTransferred,
130
+ };
131
+ }
132
+ finally {
133
+ this.isSyncing = false;
134
+ }
135
+ }
136
+ /**
137
+ * Detect changes since last sync
138
+ */
139
+ async detectChanges() {
140
+ const { lastEpisodeSync, lastSkillSync, lastEdgeSync } = this.syncState;
141
+ // Detect new/modified episodes
142
+ const episodes = this.db
143
+ .prepare('SELECT * FROM episodes WHERE ts > ?')
144
+ .all(lastEpisodeSync);
145
+ // Detect new/modified skills
146
+ const skills = this.db
147
+ .prepare('SELECT * FROM skills WHERE ts > ?')
148
+ .all(lastSkillSync);
149
+ // Detect new/modified edges
150
+ const edges = this.db
151
+ .prepare('SELECT * FROM skill_edges WHERE ts > ?')
152
+ .all(lastEdgeSync);
153
+ return { episodes, skills, edges };
154
+ }
155
+ /**
156
+ * Push local changes to remote
157
+ */
158
+ async pushChanges(changes, onProgress) {
159
+ const errors = [];
160
+ let itemsPushed = 0;
161
+ let bytesTransferred = 0;
162
+ // Note: Push functionality would require server API to accept writes
163
+ // This is a placeholder for the push logic
164
+ console.log(chalk.yellow('⚠️ Push to remote not yet implemented (read-only sync)'));
165
+ return { itemsPushed, bytesTransferred, errors };
166
+ }
167
+ /**
168
+ * Pull changes from remote
169
+ */
170
+ async pullChanges(onProgress) {
171
+ if (!this.client) {
172
+ throw new Error('QUICClient not configured');
173
+ }
174
+ const errors = [];
175
+ let itemsPulled = 0;
176
+ let bytesTransferred = 0;
177
+ const allData = { episodes: [], skills: [], edges: [] };
178
+ try {
179
+ // Pull episodes
180
+ const episodesResult = await this.client.sync({
181
+ type: 'episodes',
182
+ since: this.syncState.lastEpisodeSync,
183
+ batchSize: this.config.batchSize,
184
+ onProgress: (progress) => {
185
+ onProgress?.({
186
+ phase: 'pulling',
187
+ current: progress.itemsSynced || 0,
188
+ total: 100,
189
+ itemType: 'episodes',
190
+ });
191
+ },
192
+ });
193
+ if (episodesResult.success && episodesResult.data) {
194
+ allData.episodes = episodesResult.data;
195
+ itemsPulled += episodesResult.itemsReceived;
196
+ bytesTransferred += episodesResult.bytesTransferred;
197
+ this.syncState.lastEpisodeSync = Date.now();
198
+ }
199
+ else {
200
+ errors.push(episodesResult.error || 'Failed to sync episodes');
201
+ }
202
+ // Pull skills
203
+ const skillsResult = await this.client.sync({
204
+ type: 'skills',
205
+ since: this.syncState.lastSkillSync,
206
+ batchSize: this.config.batchSize,
207
+ onProgress: (progress) => {
208
+ onProgress?.({
209
+ phase: 'pulling',
210
+ current: progress.itemsSynced || 0,
211
+ total: 100,
212
+ itemType: 'skills',
213
+ });
214
+ },
215
+ });
216
+ if (skillsResult.success && skillsResult.data) {
217
+ allData.skills = skillsResult.data;
218
+ itemsPulled += skillsResult.itemsReceived;
219
+ bytesTransferred += skillsResult.bytesTransferred;
220
+ this.syncState.lastSkillSync = Date.now();
221
+ }
222
+ else {
223
+ errors.push(skillsResult.error || 'Failed to sync skills');
224
+ }
225
+ // Pull edges
226
+ const edgesResult = await this.client.sync({
227
+ type: 'edges',
228
+ since: this.syncState.lastEdgeSync,
229
+ batchSize: this.config.batchSize,
230
+ onProgress: (progress) => {
231
+ onProgress?.({
232
+ phase: 'pulling',
233
+ current: progress.itemsSynced || 0,
234
+ total: 100,
235
+ itemType: 'edges',
236
+ });
237
+ },
238
+ });
239
+ if (edgesResult.success && edgesResult.data) {
240
+ allData.edges = edgesResult.data;
241
+ itemsPulled += edgesResult.itemsReceived;
242
+ bytesTransferred += edgesResult.bytesTransferred;
243
+ this.syncState.lastEdgeSync = Date.now();
244
+ }
245
+ else {
246
+ errors.push(edgesResult.error || 'Failed to sync edges');
247
+ }
248
+ }
249
+ catch (error) {
250
+ const err = error;
251
+ errors.push(err.message);
252
+ }
253
+ return {
254
+ itemsPulled,
255
+ bytesTransferred,
256
+ data: allData,
257
+ errors,
258
+ };
259
+ }
260
+ /**
261
+ * Resolve conflicts between local and remote data
262
+ */
263
+ async resolveConflicts(conflicts) {
264
+ let resolved = 0;
265
+ for (const conflict of conflicts) {
266
+ switch (this.config.conflictStrategy) {
267
+ case 'local-wins':
268
+ // Keep local version
269
+ break;
270
+ case 'remote-wins':
271
+ // Keep remote version
272
+ resolved++;
273
+ break;
274
+ case 'latest-wins':
275
+ // Keep version with latest timestamp
276
+ if (conflict.remote.ts > conflict.local.ts) {
277
+ resolved++;
278
+ }
279
+ break;
280
+ case 'merge':
281
+ // Attempt to merge (simplified)
282
+ resolved++;
283
+ break;
284
+ }
285
+ }
286
+ return resolved;
287
+ }
288
+ /**
289
+ * Apply pulled changes to local database
290
+ */
291
+ async applyChanges(data) {
292
+ // Apply episodes
293
+ if (data.episodes && data.episodes.length > 0) {
294
+ const stmt = this.db.prepare(`
295
+ INSERT OR REPLACE INTO episodes (
296
+ id, ts, session_id, task, input, output, critique, reward, success,
297
+ latency_ms, tokens_used, tags, metadata
298
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
299
+ `);
300
+ for (const episode of data.episodes) {
301
+ stmt.run(episode.id, episode.ts, episode.sessionId, episode.task, episode.input, episode.output, episode.critique, episode.reward, episode.success ? 1 : 0, episode.latencyMs, episode.tokensUsed, JSON.stringify(episode.tags), JSON.stringify(episode.metadata));
302
+ }
303
+ }
304
+ // Apply skills
305
+ if (data.skills && data.skills.length > 0) {
306
+ const stmt = this.db.prepare(`
307
+ INSERT OR REPLACE INTO skills (
308
+ id, ts, name, description, code, success_rate, usage_count,
309
+ avg_reward, tags, metadata
310
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
311
+ `);
312
+ for (const skill of data.skills) {
313
+ stmt.run(skill.id, skill.ts, skill.name, skill.description, skill.code, skill.successRate, skill.usageCount, skill.avgReward, JSON.stringify(skill.tags), JSON.stringify(skill.metadata));
314
+ }
315
+ }
316
+ // Apply edges
317
+ if (data.edges && data.edges.length > 0) {
318
+ const stmt = this.db.prepare(`
319
+ INSERT OR REPLACE INTO skill_edges (
320
+ id, ts, from_skill_id, to_skill_id, weight, co_occurrences
321
+ ) VALUES (?, ?, ?, ?, ?, ?)
322
+ `);
323
+ for (const edge of data.edges) {
324
+ stmt.run(edge.id, edge.ts, edge.fromSkillId, edge.toSkillId, edge.weight, edge.coOccurrences);
325
+ }
326
+ }
327
+ }
328
+ /**
329
+ * Load sync state from database
330
+ */
331
+ loadSyncState() {
332
+ try {
333
+ const row = this.db
334
+ .prepare('SELECT * FROM sync_state WHERE id = 1')
335
+ .get();
336
+ if (row) {
337
+ return {
338
+ lastSyncAt: row.last_sync_at,
339
+ lastEpisodeSync: row.last_episode_sync,
340
+ lastSkillSync: row.last_skill_sync,
341
+ lastEdgeSync: row.last_edge_sync,
342
+ totalItemsSynced: row.total_items_synced,
343
+ totalBytesSynced: row.total_bytes_synced,
344
+ syncCount: row.sync_count,
345
+ lastError: row.last_error,
346
+ };
347
+ }
348
+ }
349
+ catch (error) {
350
+ // Table might not exist yet
351
+ }
352
+ return {
353
+ lastSyncAt: 0,
354
+ lastEpisodeSync: 0,
355
+ lastSkillSync: 0,
356
+ lastEdgeSync: 0,
357
+ totalItemsSynced: 0,
358
+ totalBytesSynced: 0,
359
+ syncCount: 0,
360
+ };
361
+ }
362
+ /**
363
+ * Save sync state to database
364
+ */
365
+ saveSyncState() {
366
+ try {
367
+ // Create table if not exists
368
+ this.db.exec(`
369
+ CREATE TABLE IF NOT EXISTS sync_state (
370
+ id INTEGER PRIMARY KEY,
371
+ last_sync_at INTEGER,
372
+ last_episode_sync INTEGER,
373
+ last_skill_sync INTEGER,
374
+ last_edge_sync INTEGER,
375
+ total_items_synced INTEGER,
376
+ total_bytes_synced INTEGER,
377
+ sync_count INTEGER,
378
+ last_error TEXT
379
+ )
380
+ `);
381
+ // Upsert state
382
+ this.db
383
+ .prepare(`
384
+ INSERT OR REPLACE INTO sync_state (
385
+ id, last_sync_at, last_episode_sync, last_skill_sync, last_edge_sync,
386
+ total_items_synced, total_bytes_synced, sync_count, last_error
387
+ ) VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?)
388
+ `)
389
+ .run(this.syncState.lastSyncAt, this.syncState.lastEpisodeSync, this.syncState.lastSkillSync, this.syncState.lastEdgeSync, this.syncState.totalItemsSynced, this.syncState.totalBytesSynced, this.syncState.syncCount, this.syncState.lastError || null);
390
+ }
391
+ catch (error) {
392
+ const err = error;
393
+ console.error(chalk.red('✗ Failed to save sync state:'), err.message);
394
+ }
395
+ }
396
+ /**
397
+ * Start automatic synchronization
398
+ */
399
+ startAutoSync() {
400
+ if (this.autoSyncInterval) {
401
+ return;
402
+ }
403
+ console.log(chalk.blue(`🔄 Auto-sync enabled (interval: ${this.config.syncIntervalMs}ms)`));
404
+ this.autoSyncInterval = setInterval(async () => {
405
+ try {
406
+ await this.sync();
407
+ }
408
+ catch (error) {
409
+ const err = error;
410
+ console.error(chalk.red('✗ Auto-sync failed:'), err.message);
411
+ }
412
+ }, this.config.syncIntervalMs);
413
+ }
414
+ /**
415
+ * Stop automatic synchronization
416
+ */
417
+ stopAutoSync() {
418
+ if (this.autoSyncInterval) {
419
+ clearInterval(this.autoSyncInterval);
420
+ this.autoSyncInterval = null;
421
+ console.log(chalk.blue('🔄 Auto-sync disabled'));
422
+ }
423
+ }
424
+ /**
425
+ * Get sync state
426
+ */
427
+ getSyncState() {
428
+ return { ...this.syncState };
429
+ }
430
+ /**
431
+ * Get sync status
432
+ */
433
+ getStatus() {
434
+ return {
435
+ isSyncing: this.isSyncing,
436
+ autoSyncEnabled: this.autoSyncInterval !== null,
437
+ state: this.getSyncState(),
438
+ };
439
+ }
440
+ }
441
+ //# sourceMappingURL=SyncCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncCoordinator.js","sourceRoot":"","sources":["../../src/controllers/SyncCoordinator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WASMVectorSearch.d.ts","sourceRoot":"","sources":["../../src/controllers/WASMVectorSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,KAAK,QAAQ,GAAG,GAAG,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAA4B;gBAEnC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAc9D;;OAEG;YACW,cAAc;IAqB5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM;IAgC1D;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;IAiBvE;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,MAAM,EACT,SAAS,GAAE,MAA6B,EACxC,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACA,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsDhC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAmB1E;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE;IA0BrF;;OAEG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC;IAUD;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
1
+ {"version":3,"file":"WASMVectorSearch.d.ts","sourceRoot":"","sources":["../../src/controllers/WASMVectorSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,KAAK,QAAQ,GAAG,GAAG,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAA4B;gBAEnC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAc9D;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM;IAgC1D;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;IAiBvE;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,MAAM,EACT,SAAS,GAAE,MAA6B,EACxC,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACA,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsDhC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAmB1E;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE;IA0BrF;;OAEG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC;IAUD;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
@@ -38,6 +38,8 @@ export class WASMVectorSearch {
38
38
  return;
39
39
  try {
40
40
  // Try to load ReasoningBank WASM module
41
+ // Note: This requires the ReasoningBank WASM module to be built and available
42
+ // If not available, the system gracefully falls back to optimized JavaScript
41
43
  const wasmPath = '../../../agentic-flow/wasm/reasoningbank/reasoningbank_wasm.js';
42
44
  const { ReasoningBankWasm } = await import(wasmPath);
43
45
  // Test WASM functionality
@@ -45,11 +47,17 @@ export class WASMVectorSearch {
45
47
  await testInstance.free();
46
48
  this.wasmModule = ReasoningBankWasm;
47
49
  this.wasmAvailable = true;
48
- console.log('[WASMVectorSearch] WASM acceleration enabled');
50
+ console.log('[WASMVectorSearch] ReasoningBank WASM acceleration enabled');
49
51
  }
50
52
  catch (error) {
51
- console.warn('[WASMVectorSearch] WASM not available, using JavaScript fallback:', error.message);
53
+ // Graceful fallback - the JavaScript implementation is still highly optimized
54
+ // with loop unrolling and batch processing
52
55
  this.wasmAvailable = false;
56
+ // Only show detailed error in development
57
+ if (process.env.NODE_ENV === 'development') {
58
+ console.debug('[WASMVectorSearch] ReasoningBank WASM not available, using optimized JavaScript fallback');
59
+ console.debug('[WASMVectorSearch] Error:', error.message);
60
+ }
53
61
  }
54
62
  }
55
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WASMVectorSearch.js","sourceRoot":"","sources":["../../src/controllers/WASMVectorSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WASMVectorSearch.js","sourceRoot":"","sources":["../../src/controllers/WASMVectorSearch.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,21 @@ export { SkillLibrary } from './SkillLibrary.js';
8
8
  export { EmbeddingService } from './EmbeddingService.js';
9
9
  export { WASMVectorSearch } from './WASMVectorSearch.js';
10
10
  export { EnhancedEmbeddingService } from './EnhancedEmbeddingService.js';
11
+ export { MMRDiversityRanker } from './MMRDiversityRanker.js';
12
+ export { ContextSynthesizer } from './ContextSynthesizer.js';
13
+ export { MetadataFilter } from './MetadataFilter.js';
14
+ export { QUICServer } from './QUICServer.js';
15
+ export { QUICClient } from './QUICClient.js';
16
+ export { SyncCoordinator } from './SyncCoordinator.js';
11
17
  export type { Episode, EpisodeWithEmbedding, ReflexionQuery } from './ReflexionMemory.js';
12
18
  export type { Skill, SkillLink, SkillQuery } from './SkillLibrary.js';
13
19
  export type { EmbeddingConfig } from './EmbeddingService.js';
14
20
  export type { VectorSearchConfig, VectorSearchResult, VectorIndex } from './WASMVectorSearch.js';
15
21
  export type { EnhancedEmbeddingConfig } from './EnhancedEmbeddingService.js';
22
+ export type { MMROptions, MMRCandidate } from './MMRDiversityRanker.js';
23
+ export type { MemoryPattern, SynthesizedContext } from './ContextSynthesizer.js';
24
+ export type { MetadataFilters, FilterableItem, FilterOperator, FilterValue } from './MetadataFilter.js';
25
+ export type { QUICServerConfig, SyncRequest, SyncResponse } from './QUICServer.js';
26
+ export type { QUICClientConfig, SyncOptions, SyncResult, SyncProgress } from './QUICClient.js';
27
+ export type { SyncCoordinatorConfig, SyncState, SyncReport } from './SyncCoordinator.js';
16
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjG,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjG,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxG,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/F,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -8,4 +8,10 @@ export { SkillLibrary } from './SkillLibrary.js';
8
8
  export { EmbeddingService } from './EmbeddingService.js';
9
9
  export { WASMVectorSearch } from './WASMVectorSearch.js';
10
10
  export { EnhancedEmbeddingService } from './EnhancedEmbeddingService.js';
11
+ export { MMRDiversityRanker } from './MMRDiversityRanker.js';
12
+ export { ContextSynthesizer } from './ContextSynthesizer.js';
13
+ export { MetadataFilter } from './MetadataFilter.js';
14
+ export { QUICServer } from './QUICServer.js';
15
+ export { QUICClient } from './QUICClient.js';
16
+ export { SyncCoordinator } from './SyncCoordinator.js';
11
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"db-fallback.d.ts","sourceRoot":"","sources":["../src/db-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,CAwB9D;AA4JD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAGlF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAOA"}
1
+ {"version":3,"file":"db-fallback.d.ts","sourceRoot":"","sources":["../src/db-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,CAwB9D;AA+JD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAGlF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAOA"}
@@ -155,17 +155,20 @@ function createSqlJsWrapper(SQL) {
155
155
  }
156
156
  }
157
157
  transaction(fn) {
158
- // Simulate transaction using BEGIN/COMMIT
159
- try {
160
- this.db.exec('BEGIN TRANSACTION');
161
- const result = fn();
162
- this.db.exec('COMMIT');
163
- return result;
164
- }
165
- catch (error) {
166
- this.db.exec('ROLLBACK');
167
- throw error;
168
- }
158
+ // Return a function that executes the transaction when called
159
+ // This matches better-sqlite3 API where transaction() returns a callable function
160
+ return () => {
161
+ try {
162
+ this.db.exec('BEGIN TRANSACTION');
163
+ const result = fn();
164
+ this.db.exec('COMMIT');
165
+ return result;
166
+ }
167
+ catch (error) {
168
+ this.db.exec('ROLLBACK');
169
+ throw error;
170
+ }
171
+ };
169
172
  }
170
173
  };
171
174
  }