agentdb 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (107) hide show
  1. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -0
  2. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  3. package/dist/src/backends/graph/GraphDatabaseAdapter.js +125 -0
  4. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  5. package/dist/src/cli/agentdb-cli.js +0 -0
  6. package/dist/src/controllers/ReflexionMemory.d.ts +50 -0
  7. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  8. package/dist/src/controllers/ReflexionMemory.js +258 -0
  9. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  10. package/dist/src/controllers/index.d.ts +2 -0
  11. package/dist/src/controllers/index.d.ts.map +1 -1
  12. package/dist/src/controllers/index.js +2 -0
  13. package/dist/src/controllers/index.js.map +1 -1
  14. package/dist/src/controllers/prerequisites.d.ts +76 -0
  15. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  16. package/dist/src/controllers/prerequisites.js +235 -0
  17. package/dist/src/controllers/prerequisites.js.map +1 -0
  18. package/dist/src/db-fallback.d.ts.map +1 -1
  19. package/dist/src/db-fallback.js +55 -45
  20. package/dist/src/db-fallback.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/schemas/frontier-schema.sql +0 -378
  23. package/dist/schemas/schema.sql +0 -382
  24. package/dist/src/backends/index.cjs +0 -6
  25. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  26. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  27. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  28. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  29. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  30. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  31. package/dist/src/consensus/RaftConsensus.js +0 -762
  32. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  33. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  34. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  35. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  36. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  37. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  38. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  39. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  40. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  41. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  42. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  43. package/dist/src/controllers/QUICConnection.js +0 -329
  44. package/dist/src/controllers/QUICConnection.js.map +0 -1
  45. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  46. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  47. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  48. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  49. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  50. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  51. package/dist/src/controllers/QUICStreamManager.js +0 -267
  52. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  53. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  54. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  55. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  56. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  57. package/dist/src/controllers/index.cjs +0 -6
  58. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  59. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  60. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  61. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  62. package/dist/src/coordination/index.d.ts +0 -10
  63. package/dist/src/coordination/index.d.ts.map +0 -1
  64. package/dist/src/coordination/index.js +0 -10
  65. package/dist/src/coordination/index.js.map +0 -1
  66. package/dist/src/index.cjs +0 -6
  67. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  68. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  69. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  70. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  71. package/dist/src/security/AttestationLog.d.ts +0 -70
  72. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  73. package/dist/src/security/AttestationLog.js +0 -174
  74. package/dist/src/security/AttestationLog.js.map +0 -1
  75. package/dist/src/security/MutationGuard.d.ts +0 -83
  76. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  77. package/dist/src/security/MutationGuard.js +0 -364
  78. package/dist/src/security/MutationGuard.js.map +0 -1
  79. package/dist/src/security/index.cjs +0 -6
  80. package/dist/src/security/index.d.ts +0 -15
  81. package/dist/src/security/index.d.ts.map +0 -1
  82. package/dist/src/security/index.js +0 -18
  83. package/dist/src/security/index.js.map +0 -1
  84. package/dist/src/services/GNNService.d.ts +0 -173
  85. package/dist/src/services/GNNService.d.ts.map +0 -1
  86. package/dist/src/services/GNNService.js +0 -639
  87. package/dist/src/services/GNNService.js.map +0 -1
  88. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  89. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  90. package/dist/src/services/GraphTransformerService.js +0 -369
  91. package/dist/src/services/GraphTransformerService.js.map +0 -1
  92. package/dist/src/services/SemanticRouter.d.ts +0 -83
  93. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  94. package/dist/src/services/SemanticRouter.js +0 -160
  95. package/dist/src/services/SemanticRouter.js.map +0 -1
  96. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  97. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  98. package/dist/src/services/SonaTrajectoryService.js +0 -539
  99. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  100. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  101. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  102. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  103. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  104. package/dist/src/utils/vector-math.d.ts +0 -29
  105. package/dist/src/utils/vector-math.d.ts.map +0 -1
  106. package/dist/src/utils/vector-math.js +0 -66
  107. package/dist/src/utils/vector-math.js.map +0 -1
@@ -1,243 +0,0 @@
1
- /**
2
- * Streaming Embedding Service - Incremental Embedding Generation
3
- *
4
- * ADR-065 Phase P1-3: Streaming Architecture
5
- *
6
- * Extends EnhancedEmbeddingService with streaming capabilities:
7
- * - Incremental embedding generation (chunk-by-chunk)
8
- * - Real-time progress callbacks
9
- * - Memory-efficient processing for large texts
10
- * - Parallel chunk processing with backpressure
11
- */
12
- import { EnhancedEmbeddingService } from './EnhancedEmbeddingService.js';
13
- /**
14
- * Streaming Embedding Service with incremental generation
15
- */
16
- export class StreamingEmbeddingService extends EnhancedEmbeddingService {
17
- streamingConfig;
18
- activeStreams = new Map();
19
- constructor(config = {}) {
20
- super({ model: 'all-MiniLM-L6-v2', dimension: 384, provider: 'transformers', ...config });
21
- this.streamingConfig = {
22
- ...config,
23
- model: config.model || 'Xenova/all-MiniLM-L6-v2',
24
- dimension: config.dimension || 384,
25
- provider: config.provider || 'transformers',
26
- enableWASM: config.enableWASM ?? true,
27
- enableBatchProcessing: config.enableBatchProcessing ?? true,
28
- batchSize: config.batchSize || 100,
29
- chunkSize: config.chunkSize || 512,
30
- maxConcurrentChunks: config.maxConcurrentChunks || 4,
31
- enableProgressCallbacks: config.enableProgressCallbacks ?? true,
32
- apiKey: config.apiKey || ''
33
- };
34
- }
35
- /**
36
- * Stream embedding generation for large text
37
- * Yields partial embeddings as they're computed
38
- */
39
- async *streamEmbed(text, onProgress) {
40
- const streamId = this.generateStreamId();
41
- const controller = new AbortController();
42
- this.activeStreams.set(streamId, controller);
43
- try {
44
- const chunks = this.splitIntoChunks(text);
45
- const startTime = Date.now();
46
- let processedChunks = 0;
47
- // Process chunks in parallel batches
48
- const maxConcurrent = this.streamingConfig.maxConcurrentChunks;
49
- for (let i = 0; i < chunks.length; i += maxConcurrent) {
50
- if (controller.signal.aborted) {
51
- break;
52
- }
53
- const batchChunks = chunks.slice(i, i + maxConcurrent);
54
- const embeddings = await this.processBatchChunks(batchChunks);
55
- for (const embedding of embeddings) {
56
- processedChunks++;
57
- // Report progress
58
- if (onProgress && this.streamingConfig.enableProgressCallbacks) {
59
- const elapsed = Date.now() - startTime;
60
- const avgTimePerChunk = elapsed / processedChunks;
61
- const remaining = chunks.length - processedChunks;
62
- onProgress({
63
- processedChunks,
64
- totalChunks: chunks.length,
65
- progress: (processedChunks / chunks.length) * 100,
66
- currentChunk: batchChunks[embeddings.indexOf(embedding)]?.substring(0, 50) || '',
67
- estimatedTimeMs: avgTimePerChunk * remaining,
68
- });
69
- }
70
- yield embedding;
71
- }
72
- }
73
- }
74
- finally {
75
- this.activeStreams.delete(streamId);
76
- }
77
- }
78
- /**
79
- * Stream batch embeddings with memory-efficient processing
80
- */
81
- async *streamEmbedBatch(texts, onProgress) {
82
- const streamId = this.generateStreamId();
83
- const controller = new AbortController();
84
- this.activeStreams.set(streamId, controller);
85
- try {
86
- const batchSize = this.streamingConfig.batchSize;
87
- let processedBatches = 0;
88
- const totalBatches = Math.ceil(texts.length / batchSize);
89
- const startTime = Date.now();
90
- for (let i = 0; i < texts.length; i += batchSize) {
91
- if (controller.signal.aborted) {
92
- break;
93
- }
94
- const batch = texts.slice(i, i + batchSize);
95
- const embeddings = await super.embedBatch(batch);
96
- processedBatches++;
97
- // Report progress
98
- if (onProgress && this.streamingConfig.enableProgressCallbacks) {
99
- const elapsed = Date.now() - startTime;
100
- const avgTimePerBatch = elapsed / processedBatches;
101
- const remaining = totalBatches - processedBatches;
102
- onProgress({
103
- processedChunks: i + batch.length,
104
- totalChunks: texts.length,
105
- progress: ((i + batch.length) / texts.length) * 100,
106
- currentChunk: `Batch ${processedBatches}/${totalBatches}`,
107
- estimatedTimeMs: avgTimePerBatch * remaining,
108
- });
109
- }
110
- yield embeddings;
111
- }
112
- }
113
- finally {
114
- this.activeStreams.delete(streamId);
115
- }
116
- }
117
- /**
118
- * Incremental similarity calculation
119
- * Streams similarity scores as embeddings are computed
120
- */
121
- async *streamSimilarity(queryText, corpusTexts, onProgress) {
122
- const queryEmbedding = await this.embed(queryText);
123
- let processed = 0;
124
- const startTime = Date.now();
125
- // Stream similarity scores as embeddings are computed
126
- for await (const embeddings of this.streamEmbedBatch(corpusTexts, onProgress)) {
127
- for (let i = 0; i < embeddings.length; i++) {
128
- const corpusEmbedding = embeddings[i];
129
- const similarity = this.calculateSimilarity(queryEmbedding, corpusEmbedding);
130
- const index = processed + i;
131
- yield {
132
- text: corpusTexts[index],
133
- similarity,
134
- index,
135
- };
136
- }
137
- processed += embeddings.length;
138
- }
139
- }
140
- /**
141
- * Find most similar texts with streaming results
142
- * Returns results in real-time as they're computed
143
- */
144
- async *streamFindMostSimilar(query, corpus, k = 5, onProgress) {
145
- const results = [];
146
- let minSimilarity = -Infinity;
147
- // Stream similarity calculations
148
- for await (const result of this.streamSimilarity(query, corpus, onProgress)) {
149
- // Maintain top-k results
150
- if (results.length < k) {
151
- results.push(result);
152
- results.sort((a, b) => b.similarity - a.similarity);
153
- minSimilarity = results[results.length - 1].similarity;
154
- }
155
- else if (result.similarity > minSimilarity) {
156
- results.push(result);
157
- results.sort((a, b) => b.similarity - a.similarity);
158
- results.pop();
159
- minSimilarity = results[results.length - 1].similarity;
160
- }
161
- // Yield current top result if it's new
162
- if (results[0] === result || result.similarity > minSimilarity) {
163
- yield result;
164
- }
165
- }
166
- }
167
- /**
168
- * Cancel active stream
169
- */
170
- cancelStream(streamId) {
171
- const controller = this.activeStreams.get(streamId);
172
- if (controller) {
173
- controller.abort();
174
- this.activeStreams.delete(streamId);
175
- return true;
176
- }
177
- return false;
178
- }
179
- /**
180
- * Cancel all active streams
181
- */
182
- cancelAllStreams() {
183
- const count = this.activeStreams.size;
184
- for (const controller of this.activeStreams.values()) {
185
- controller.abort();
186
- }
187
- this.activeStreams.clear();
188
- return count;
189
- }
190
- /**
191
- * Get streaming statistics
192
- */
193
- getStreamingStats() {
194
- return {
195
- activeStreams: this.activeStreams.size,
196
- chunkSize: this.streamingConfig.chunkSize,
197
- maxConcurrentChunks: this.streamingConfig.maxConcurrentChunks,
198
- progressCallbacksEnabled: this.streamingConfig.enableProgressCallbacks,
199
- };
200
- }
201
- // -- Private Helpers ------------------------------------------------------
202
- splitIntoChunks(text) {
203
- const chunks = [];
204
- // Split on sentence boundaries when possible
205
- const sentences = text.match(/[^.!?]+[.!?]+/g) || [text];
206
- let currentChunk = '';
207
- for (const sentence of sentences) {
208
- const chunkSize = this.streamingConfig.chunkSize;
209
- if (currentChunk.length + sentence.length > chunkSize) {
210
- if (currentChunk) {
211
- chunks.push(currentChunk.trim());
212
- }
213
- currentChunk = sentence;
214
- }
215
- else {
216
- currentChunk += ' ' + sentence;
217
- }
218
- }
219
- if (currentChunk) {
220
- chunks.push(currentChunk.trim());
221
- }
222
- return chunks;
223
- }
224
- async processBatchChunks(chunks) {
225
- return await super.embedBatch(chunks);
226
- }
227
- calculateSimilarity(a, b) {
228
- // Cosine similarity
229
- let dotProduct = 0;
230
- let normA = 0;
231
- let normB = 0;
232
- for (let i = 0; i < a.length; i++) {
233
- dotProduct += a[i] * b[i];
234
- normA += a[i] * a[i];
235
- normB += b[i] * b[i];
236
- }
237
- return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
238
- }
239
- generateStreamId() {
240
- return `stream_${Date.now()}_${Math.random().toString(36).substring(7)}`;
241
- }
242
- }
243
- //# sourceMappingURL=StreamingEmbeddingService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StreamingEmbeddingService.js","sourceRoot":"","sources":["../../../src/controllers/StreamingEmbeddingService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * CommonJS wrapper for ESM module
3
- * Auto-generated by scripts/build-cjs.js
4
- */
5
- const mod = require('./controllers/index.js');
6
- module.exports = mod;
@@ -1,348 +0,0 @@
1
- /**
2
- * MultiDatabaseCoordinator - Cross-Instance Synchronization and Coordination
3
- *
4
- * Orchestrates multiple AgentDB instances for distributed vector database operations.
5
- * Provides:
6
- * - Instance registration and lifecycle management
7
- * - Cross-instance synchronization with conflict resolution
8
- * - Health monitoring and automatic failover
9
- * - Distributed operations (broadcast insert/delete)
10
- * - Configurable replication strategies
11
- *
12
- * @module coordination/MultiDatabaseCoordinator
13
- */
14
- import type { VectorBackend, VectorStats } from '../backends/VectorBackend.js';
15
- /**
16
- * Status of a database instance
17
- */
18
- export type InstanceStatus = 'online' | 'offline' | 'syncing';
19
- /**
20
- * Conflict resolution strategies for synchronization
21
- */
22
- export type ConflictResolutionStrategy = 'last-write-wins' | 'merge' | 'manual';
23
- /**
24
- * Represents a remote database instance
25
- */
26
- export interface DatabaseInstance {
27
- /** Unique identifier for this instance */
28
- id: string;
29
- /** URL or connection string for the instance */
30
- url: string;
31
- /** Current status of the instance */
32
- status: InstanceStatus;
33
- /** Timestamp of last successful sync */
34
- lastSyncAt: number;
35
- /** Number of vectors in this instance */
36
- vectorCount: number;
37
- /** Version string for compatibility checking */
38
- version: string;
39
- /** Optional metadata about the instance */
40
- metadata?: Record<string, unknown>;
41
- }
42
- /**
43
- * Options for synchronization operations
44
- */
45
- export interface SyncOptions {
46
- /** Conflict resolution strategy */
47
- conflictResolution?: ConflictResolutionStrategy;
48
- /** Maximum number of items per batch */
49
- batchSize?: number;
50
- /** Timeout in milliseconds for sync operation */
51
- timeoutMs?: number;
52
- /** Whether to force full sync (ignore lastSyncAt) */
53
- forceFullSync?: boolean;
54
- /** Filter to sync only specific namespaces */
55
- namespaceFilter?: string[];
56
- /** Progress callback */
57
- onProgress?: (progress: SyncProgress) => void;
58
- }
59
- /**
60
- * Progress information during synchronization
61
- */
62
- export interface SyncProgress {
63
- /** Current phase of synchronization */
64
- phase: 'preparing' | 'fetching' | 'comparing' | 'resolving' | 'applying' | 'completed' | 'error';
65
- /** Items processed so far */
66
- current: number;
67
- /** Total items to process */
68
- total: number;
69
- /** Optional message */
70
- message?: string;
71
- /** Error message if phase is 'error' */
72
- error?: string;
73
- }
74
- /**
75
- * Result of a synchronization operation
76
- */
77
- export interface SyncResult {
78
- /** Whether sync completed successfully */
79
- success: boolean;
80
- /** Instance ID that was synced */
81
- instanceId: string;
82
- /** Number of items synced */
83
- itemsSynced: number;
84
- /** Number of conflicts detected */
85
- conflictsDetected: number;
86
- /** Number of conflicts resolved */
87
- conflictsResolved: number;
88
- /** Duration in milliseconds */
89
- durationMs: number;
90
- /** Bytes transferred */
91
- bytesTransferred: number;
92
- /** Error message if failed */
93
- error?: string;
94
- /** Detailed conflict information (for manual resolution) */
95
- unresolvedConflicts?: ConflictInfo[];
96
- }
97
- /**
98
- * Information about a sync conflict
99
- */
100
- export interface ConflictInfo {
101
- /** Vector ID with conflict */
102
- vectorId: string;
103
- /** Local vector data */
104
- local: VectorData;
105
- /** Remote vector data */
106
- remote: VectorData;
107
- /** Suggested resolution */
108
- suggestion: 'keep-local' | 'keep-remote' | 'merge';
109
- }
110
- /**
111
- * Vector data for conflict resolution
112
- */
113
- export interface VectorData {
114
- /** Vector embedding */
115
- embedding: Float32Array;
116
- /** Associated metadata */
117
- metadata?: Record<string, unknown>;
118
- /** Last modified timestamp */
119
- timestamp: number;
120
- }
121
- /**
122
- * Configuration for MultiDatabaseCoordinator
123
- */
124
- export interface MultiDatabaseCoordinatorConfig {
125
- /** Replication factor (how many instances should have each vector) */
126
- replicationFactor?: number;
127
- /** Interval between automatic syncs (0 to disable) */
128
- syncIntervalMs?: number;
129
- /** Default conflict resolution strategy */
130
- conflictResolution?: ConflictResolutionStrategy;
131
- /** Health check interval in milliseconds */
132
- healthCheckIntervalMs?: number;
133
- /** Timeout for health checks */
134
- healthCheckTimeoutMs?: number;
135
- /** Whether to enable automatic failover */
136
- autoFailover?: boolean;
137
- /** Maximum retries for failed operations */
138
- maxRetries?: number;
139
- /** Retry delay in milliseconds */
140
- retryDelayMs?: number;
141
- }
142
- /**
143
- * Callback for instance status changes
144
- */
145
- export type StatusChangeCallback = (instanceId: string, oldStatus: InstanceStatus, newStatus: InstanceStatus) => void;
146
- /**
147
- * Result of an operation executed on all instances
148
- */
149
- export interface DistributedOperationResult<T> {
150
- /** Results keyed by instance ID */
151
- results: Map<string, T>;
152
- /** Errors keyed by instance ID */
153
- errors: Map<string, Error>;
154
- /** Number of successful operations */
155
- successCount: number;
156
- /** Number of failed operations */
157
- failureCount: number;
158
- }
159
- /**
160
- * MultiDatabaseCoordinator - Manages multiple AgentDB instances
161
- *
162
- * Provides coordination, synchronization, and health monitoring for
163
- * distributed vector database deployments.
164
- *
165
- * @example
166
- * ```typescript
167
- * const coordinator = new MultiDatabaseCoordinator(primaryDb, {
168
- * replicationFactor: 2,
169
- * syncIntervalMs: 30000,
170
- * conflictResolution: 'last-write-wins'
171
- * });
172
- *
173
- * // Register secondary instances
174
- * coordinator.registerInstance({
175
- * id: 'secondary-1',
176
- * url: 'http://db1.example.com:8080',
177
- * status: 'online',
178
- * lastSyncAt: 0,
179
- * vectorCount: 0,
180
- * version: '2.0.0'
181
- * });
182
- *
183
- * // Start health monitoring
184
- * coordinator.startHealthCheck(5000);
185
- *
186
- * // Sync all instances
187
- * const results = await coordinator.syncAll();
188
- * ```
189
- */
190
- export declare class MultiDatabaseCoordinator {
191
- private primaryDb;
192
- private instances;
193
- private config;
194
- private healthCheckInterval;
195
- private syncInterval;
196
- private statusChangeCallbacks;
197
- private isSyncing;
198
- private vectorTimestamps;
199
- /**
200
- * Create a new MultiDatabaseCoordinator
201
- *
202
- * @param primaryDb - Primary vector database backend
203
- * @param config - Configuration options
204
- */
205
- constructor(primaryDb: VectorBackend, config?: MultiDatabaseCoordinatorConfig);
206
- /**
207
- * Register a new database instance
208
- *
209
- * @param instance - Instance configuration
210
- * @throws Error if instance with same ID already exists
211
- */
212
- registerInstance(instance: DatabaseInstance): void;
213
- /**
214
- * Unregister a database instance
215
- *
216
- * @param id - Instance ID to unregister
217
- * @throws Error if instance is currently syncing
218
- */
219
- unregisterInstance(id: string): void;
220
- /**
221
- * Get all registered instances
222
- *
223
- * @returns Array of database instances
224
- */
225
- getInstances(): DatabaseInstance[];
226
- /**
227
- * Get a specific instance by ID
228
- *
229
- * @param id - Instance ID
230
- * @returns Instance or null if not found
231
- */
232
- getInstanceStatus(id: string): DatabaseInstance | null;
233
- /**
234
- * Get only online instances
235
- *
236
- * @returns Array of online instances
237
- */
238
- getOnlineInstances(): DatabaseInstance[];
239
- /**
240
- * Update instance status
241
- *
242
- * @param id - Instance ID
243
- * @param status - New status
244
- */
245
- private updateInstanceStatus;
246
- /**
247
- * Synchronize data TO a remote instance
248
- *
249
- * @param targetId - Target instance ID
250
- * @param options - Sync options
251
- * @returns Sync result
252
- */
253
- syncToInstance(targetId: string, options?: SyncOptions): Promise<SyncResult>;
254
- /**
255
- * Synchronize data FROM a remote instance
256
- *
257
- * @param sourceId - Source instance ID
258
- * @param options - Sync options
259
- * @returns Sync result
260
- */
261
- syncFromInstance(sourceId: string, options?: SyncOptions): Promise<SyncResult>;
262
- /**
263
- * Synchronize all registered instances
264
- *
265
- * @param options - Sync options
266
- * @returns Map of instance ID to sync result
267
- */
268
- syncAll(options?: SyncOptions): Promise<Map<string, SyncResult>>;
269
- /**
270
- * Start periodic health checks
271
- *
272
- * @param intervalMs - Check interval in milliseconds (overrides config)
273
- */
274
- startHealthCheck(intervalMs?: number): void;
275
- /**
276
- * Stop periodic health checks
277
- */
278
- stopHealthCheck(): void;
279
- /**
280
- * Perform health check on all instances
281
- */
282
- private performHealthCheck;
283
- /**
284
- * Check if a specific instance is healthy
285
- */
286
- private checkInstanceHealth;
287
- /**
288
- * Register a callback for instance status changes
289
- *
290
- * @param callback - Callback function
291
- * @returns Unsubscribe function
292
- */
293
- onInstanceStatusChange(callback: StatusChangeCallback): () => void;
294
- /**
295
- * Broadcast an insert operation to all online instances
296
- *
297
- * @param id - Vector ID
298
- * @param vector - Vector embedding
299
- * @param metadata - Optional metadata
300
- */
301
- broadcastInsert(id: string, vector: Float32Array, metadata?: Record<string, unknown>): Promise<void>;
302
- /**
303
- * Broadcast a delete operation to all online instances
304
- *
305
- * @param id - Vector ID to delete
306
- */
307
- broadcastDelete(id: string): Promise<void>;
308
- /**
309
- * Execute an operation on all instances (including primary)
310
- *
311
- * @param operation - Operation to execute
312
- * @returns Map of instance ID to result
313
- */
314
- executeOnAll<T>(operation: (db: VectorBackend, instanceId: string) => Promise<T>): Promise<DistributedOperationResult<T>>;
315
- /**
316
- * Get current configuration
317
- */
318
- getConfig(): Readonly<Required<MultiDatabaseCoordinatorConfig>>;
319
- /**
320
- * Update configuration
321
- *
322
- * @param updates - Partial configuration updates
323
- */
324
- updateConfig(updates: Partial<MultiDatabaseCoordinatorConfig>): void;
325
- /**
326
- * Get coordinator statistics
327
- */
328
- getStats(): {
329
- primaryStats: VectorStats;
330
- instanceCount: number;
331
- onlineCount: number;
332
- offlineCount: number;
333
- syncingCount: number;
334
- totalVectors: number;
335
- };
336
- /**
337
- * Stop all background tasks and cleanup
338
- */
339
- close(): void;
340
- private startAutoSync;
341
- private stopAutoSync;
342
- private mergeOptions;
343
- private getLocalVectorIds;
344
- private createBatches;
345
- private selectReplicationTargets;
346
- private delay;
347
- }
348
- //# sourceMappingURL=MultiDatabaseCoordinator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiDatabaseCoordinator.d.ts","sourceRoot":"","sources":["../../../src/coordination/MultiDatabaseCoordinator.ts"],"names":[],"mappings":"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"}