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,541 +0,0 @@
1
- /**
2
- * RVFOptimizer - RuVector Format Optimization Patterns
3
- *
4
- * Implements RVF (RuVector Format) optimization patterns for AgentDB:
5
- * - Embedding compression via quantization (4/8/16-bit)
6
- * - Deduplication of near-identical embeddings
7
- * - Memory pruning based on confidence and age
8
- * - Batch embedding with configurable queue and timer
9
- * - LRU caching for frequently accessed embeddings
10
- * - 4-bit INT4 quantization for 8x memory compression (ADR-065)
11
- * - Adaptive quantization based on importance scores
12
- * - Progressive compression with automatic promotion/demotion
13
- * - Multi-level caching with zero-copy hot paths
14
- *
15
- * Performance targets (ADR-062, ADR-065):
16
- * - 10-100x speedup via batch embedding
17
- * - 8x memory reduction via 4-bit quantization (vs 4x with 8-bit)
18
- * - 20-50% storage reduction via deduplication
19
- * - <5% quality degradation with adaptive quantization
20
- */
21
- export class RVFOptimizer {
22
- config;
23
- cache = new Map();
24
- batchQueue = [];
25
- batchTimer;
26
- // Multi-level cache (L1: 4-bit hot, L2: 8-bit warm, L3: 16-bit cold)
27
- l1Cache = new Map();
28
- l2Cache = new Map();
29
- l3Cache = new Map();
30
- // Progressive compression tracking
31
- importanceScores = new Map(); // 0-1 importance
32
- compressionMetrics = new Map();
33
- // Cache statistics
34
- cacheStats = {
35
- l1: { hits: 0, misses: 0 },
36
- l2: { hits: 0, misses: 0 },
37
- l3: { hits: 0, misses: 0 },
38
- };
39
- constructor(config = {}) {
40
- this.config = {
41
- compression: {
42
- enabled: config.compression?.enabled ?? true,
43
- quantizeBits: config.compression?.quantizeBits ?? 8,
44
- deduplicationThreshold: config.compression?.deduplicationThreshold ?? 0.98,
45
- adaptive: config.compression?.adaptive ?? true,
46
- progressive: config.compression?.progressive ?? true,
47
- },
48
- pruning: {
49
- enabled: config.pruning?.enabled ?? true,
50
- minConfidence: config.pruning?.minConfidence ?? 0.3,
51
- maxAge: config.pruning?.maxAge ?? 30 * 24 * 60 * 60 * 1000, // 30 days
52
- },
53
- batching: {
54
- enabled: config.batching?.enabled ?? true,
55
- batchSize: config.batching?.batchSize ?? 32,
56
- maxWaitMs: config.batching?.maxWaitMs ?? 10,
57
- },
58
- caching: {
59
- enabled: config.caching?.enabled ?? true,
60
- maxSize: config.caching?.maxSize ?? 10000,
61
- ttl: config.caching?.ttl ?? 60 * 60 * 1000, // 1 hour
62
- multiLevel: config.caching?.multiLevel ?? true,
63
- },
64
- };
65
- }
66
- /**
67
- * 4-bit INT4 quantization for 8x memory compression.
68
- *
69
- * ADR-065: Implements aggressive 4-bit quantization with:
70
- * - 16 levels per component (0-15)
71
- * - Min-max normalization per vector
72
- * - 8x compression ratio (32-bit → 4-bit)
73
- *
74
- * @returns Compressed embedding with quality metrics
75
- */
76
- quantize4Bit(embedding) {
77
- const originalSize = embedding.length * 4; // 4 bytes per float32
78
- const bits = 4;
79
- const maxValue = 15; // 2^4 - 1
80
- // Find min/max for normalization
81
- let min = embedding[0];
82
- let max = embedding[0];
83
- for (let i = 1; i < embedding.length; i++) {
84
- if (embedding[i] < min)
85
- min = embedding[i];
86
- if (embedding[i] > max)
87
- max = embedding[i];
88
- }
89
- const range = max - min || 1e-10;
90
- // Quantize to 4-bit integers, then reconstruct
91
- const compressed = new Array(embedding.length);
92
- for (let i = 0; i < embedding.length; i++) {
93
- const scaled = (embedding[i] - min) / range;
94
- const quantized = Math.round(scaled * maxValue);
95
- compressed[i] = (quantized / maxValue) * range + min;
96
- }
97
- // Calculate quality (cosine similarity vs original)
98
- const quality = this.cosineSimilarity(embedding, compressed);
99
- const compressedSize = embedding.length * 0.5; // 4 bits = 0.5 bytes
100
- const metrics = {
101
- originalSize,
102
- compressedSize,
103
- compressionRatio: originalSize / compressedSize,
104
- qualityScore: quality,
105
- quantizationBits: 4,
106
- adaptiveBoost: 0,
107
- };
108
- return { compressed, metrics };
109
- }
110
- /**
111
- * Adaptive quantization: adjust bit depth based on importance score.
112
- *
113
- * ADR-065: High-importance embeddings get higher bit depth:
114
- * - importance > 0.8: 16-bit (minimal quality loss)
115
- * - importance 0.5-0.8: 8-bit (balanced)
116
- * - importance < 0.5: 4-bit (max compression)
117
- */
118
- adaptiveQuantize(embedding, importance = 0.5) {
119
- if (!this.config.compression.adaptive) {
120
- return this.quantize4Bit(embedding);
121
- }
122
- // Select bit depth based on importance
123
- let quantizeBits;
124
- if (importance > 0.8) {
125
- quantizeBits = 16;
126
- }
127
- else if (importance > 0.5) {
128
- quantizeBits = 8;
129
- }
130
- else {
131
- quantizeBits = 4;
132
- }
133
- const originalSize = embedding.length * 4;
134
- const maxValue = Math.pow(2, quantizeBits) - 1;
135
- let min = embedding[0];
136
- let max = embedding[0];
137
- for (let i = 1; i < embedding.length; i++) {
138
- if (embedding[i] < min)
139
- min = embedding[i];
140
- if (embedding[i] > max)
141
- max = embedding[i];
142
- }
143
- const range = max - min || 1e-10;
144
- const compressed = new Array(embedding.length);
145
- for (let i = 0; i < embedding.length; i++) {
146
- const scaled = (embedding[i] - min) / range;
147
- const quantized = Math.round(scaled * maxValue);
148
- compressed[i] = (quantized / maxValue) * range + min;
149
- }
150
- const quality = this.cosineSimilarity(embedding, compressed);
151
- const compressedSize = embedding.length * (quantizeBits / 8);
152
- const metrics = {
153
- originalSize,
154
- compressedSize,
155
- compressionRatio: originalSize / compressedSize,
156
- qualityScore: quality,
157
- quantizationBits: quantizeBits,
158
- adaptiveBoost: importance,
159
- };
160
- return { compressed, metrics };
161
- }
162
- /**
163
- * Progressive compression: automatically promote/demote based on access patterns.
164
- *
165
- * ADR-065: Multi-level caching:
166
- * - L1 (4-bit): Hot embeddings (accessed frequently)
167
- * - L2 (8-bit): Warm embeddings (moderate access)
168
- * - L3 (16-bit): Cold embeddings (rare access)
169
- *
170
- * Automatic promotion on cache hits, demotion on age.
171
- */
172
- progressiveCompress(key, embedding, accessCount = 0) {
173
- if (!this.config.compression.progressive || !this.config.caching.multiLevel) {
174
- const result = this.quantize4Bit(embedding);
175
- return { ...result, cacheLevel: 'L1' };
176
- }
177
- // Determine cache level based on access count
178
- let cacheLevel;
179
- let quantizeBits;
180
- if (accessCount >= 10) {
181
- cacheLevel = 'L1';
182
- quantizeBits = 4; // Hot: max compression
183
- }
184
- else if (accessCount >= 3) {
185
- cacheLevel = 'L2';
186
- quantizeBits = 8; // Warm: balanced
187
- }
188
- else {
189
- cacheLevel = 'L3';
190
- quantizeBits = 16; // Cold: preserve quality
191
- }
192
- // Quantize using the determined bit depth
193
- const originalSize = embedding.length * 4;
194
- const maxValue = Math.pow(2, quantizeBits) - 1;
195
- let min = embedding[0];
196
- let max = embedding[0];
197
- for (let i = 1; i < embedding.length; i++) {
198
- if (embedding[i] < min)
199
- min = embedding[i];
200
- if (embedding[i] > max)
201
- max = embedding[i];
202
- }
203
- const range = max - min || 1e-10;
204
- const compressed = new Array(embedding.length);
205
- for (let i = 0; i < embedding.length; i++) {
206
- const scaled = (embedding[i] - min) / range;
207
- const quantized = Math.round(scaled * maxValue);
208
- compressed[i] = (quantized / maxValue) * range + min;
209
- }
210
- const quality = this.cosineSimilarity(embedding, compressed);
211
- const compressedSize = embedding.length * (quantizeBits / 8);
212
- const metrics = {
213
- originalSize,
214
- compressedSize,
215
- compressionRatio: originalSize / compressedSize,
216
- qualityScore: quality,
217
- quantizationBits: quantizeBits,
218
- adaptiveBoost: accessCount / 10,
219
- };
220
- return { compressed, cacheLevel, metrics };
221
- }
222
- /**
223
- * Zero-copy compression using Int8Array for hot paths.
224
- *
225
- * ADR-065: For frequently accessed embeddings, use typed arrays
226
- * to avoid allocation overhead and enable SIMD optimizations.
227
- */
228
- zeroCopyCompress4Bit(embedding) {
229
- const maxValue = 15;
230
- let min = embedding[0];
231
- let max = embedding[0];
232
- for (let i = 1; i < embedding.length; i++) {
233
- if (embedding[i] < min)
234
- min = embedding[i];
235
- if (embedding[i] > max)
236
- max = embedding[i];
237
- }
238
- const range = max - min || 1e-10;
239
- // Store as nibbles (4-bit) but use Int8Array for efficiency
240
- // Each byte stores 2 values: high nibble + low nibble
241
- const compressed = new Int8Array(Math.ceil(embedding.length / 2));
242
- for (let i = 0; i < embedding.length; i += 2) {
243
- const scaled1 = (embedding[i] - min) / range;
244
- const quantized1 = Math.round(scaled1 * maxValue);
245
- let quantized2 = 0;
246
- if (i + 1 < embedding.length) {
247
- const scaled2 = (embedding[i + 1] - min) / range;
248
- quantized2 = Math.round(scaled2 * maxValue);
249
- }
250
- // Pack two 4-bit values into one byte
251
- compressed[Math.floor(i / 2)] = (quantized1 << 4) | quantized2;
252
- }
253
- return compressed;
254
- }
255
- /**
256
- * Measure quality degradation from compression.
257
- *
258
- * @returns Quality metrics: cosine similarity, MSE, max error
259
- */
260
- measureQuality(original, compressed) {
261
- const cosineSim = this.cosineSimilarity(original, compressed);
262
- // Mean squared error
263
- let mse = 0;
264
- let maxError = 0;
265
- for (let i = 0; i < original.length; i++) {
266
- const error = Math.abs(original[i] - compressed[i]);
267
- mse += error * error;
268
- if (error > maxError)
269
- maxError = error;
270
- }
271
- mse /= original.length;
272
- return {
273
- cosineSimilarity: cosineSim,
274
- mse,
275
- maxError,
276
- };
277
- }
278
- /**
279
- * Get multi-level cache statistics.
280
- */
281
- getCacheLevels() {
282
- const l1HitRate = this.cacheStats.l1.hits + this.cacheStats.l1.misses > 0
283
- ? this.cacheStats.l1.hits / (this.cacheStats.l1.hits + this.cacheStats.l1.misses)
284
- : 0;
285
- const l2HitRate = this.cacheStats.l2.hits + this.cacheStats.l2.misses > 0
286
- ? this.cacheStats.l2.hits / (this.cacheStats.l2.hits + this.cacheStats.l2.misses)
287
- : 0;
288
- const l3HitRate = this.cacheStats.l3.hits + this.cacheStats.l3.misses > 0
289
- ? this.cacheStats.l3.hits / (this.cacheStats.l3.hits + this.cacheStats.l3.misses)
290
- : 0;
291
- return [
292
- { name: 'L1', maxSize: 1000, quantizeBits: 4, hitRate: l1HitRate, entries: this.l1Cache.size },
293
- { name: 'L2', maxSize: 5000, quantizeBits: 8, hitRate: l2HitRate, entries: this.l2Cache.size },
294
- { name: 'L3', maxSize: 10000, quantizeBits: 16, hitRate: l3HitRate, entries: this.l3Cache.size },
295
- ];
296
- }
297
- /**
298
- * Compress embeddings using quantization.
299
- *
300
- * Maps each component to an N-bit integer range then reconstructs
301
- * the approximate float value. This reduces memory per vector by
302
- * up to 8x (float32 -> 4-bit) while retaining search accuracy.
303
- */
304
- compressEmbedding(embedding) {
305
- if (!this.config.compression.enabled)
306
- return embedding;
307
- const bits = this.config.compression.quantizeBits;
308
- const maxValue = Math.pow(2, bits) - 1;
309
- let min = embedding[0];
310
- let max = embedding[0];
311
- for (let i = 1; i < embedding.length; i++) {
312
- if (embedding[i] < min)
313
- min = embedding[i];
314
- if (embedding[i] > max)
315
- max = embedding[i];
316
- }
317
- const range = max - min || 1e-10;
318
- const result = new Array(embedding.length);
319
- for (let i = 0; i < embedding.length; i++) {
320
- const scaled = (embedding[i] - min) / range;
321
- const quantized = Math.round(scaled * maxValue);
322
- result[i] = (quantized / maxValue) * range + min;
323
- }
324
- return result;
325
- }
326
- /**
327
- * Compress a Float32Array embedding (zero-copy friendly).
328
- */
329
- compressFloat32(embedding) {
330
- if (!this.config.compression.enabled)
331
- return embedding;
332
- const bits = this.config.compression.quantizeBits;
333
- const maxValue = Math.pow(2, bits) - 1;
334
- let min = embedding[0];
335
- let max = embedding[0];
336
- for (let i = 1; i < embedding.length; i++) {
337
- if (embedding[i] < min)
338
- min = embedding[i];
339
- if (embedding[i] > max)
340
- max = embedding[i];
341
- }
342
- const range = max - min || 1e-10;
343
- const result = new Float32Array(embedding.length);
344
- for (let i = 0; i < embedding.length; i++) {
345
- const scaled = (embedding[i] - min) / range;
346
- const quantized = Math.round(scaled * maxValue);
347
- result[i] = (quantized / maxValue) * range + min;
348
- }
349
- return result;
350
- }
351
- /**
352
- * Deduplicate similar embeddings by cosine similarity.
353
- *
354
- * Scans the list and removes items whose embedding is above
355
- * the deduplication threshold compared to an already-kept item.
356
- * Keeps the higher-confidence entry when duplicates are found.
357
- */
358
- deduplicate(embeddings) {
359
- if (!this.config.compression.enabled)
360
- return embeddings;
361
- const threshold = this.config.compression.deduplicationThreshold;
362
- const unique = [];
363
- let duplicates = 0;
364
- for (const item of embeddings) {
365
- let isDuplicate = false;
366
- for (const existing of unique) {
367
- const similarity = this.cosineSimilarity(item.embedding, existing.embedding);
368
- if (similarity >= threshold) {
369
- isDuplicate = true;
370
- duplicates++;
371
- break;
372
- }
373
- }
374
- if (!isDuplicate) {
375
- unique.push(item);
376
- }
377
- }
378
- if (duplicates > 0) {
379
- console.log(`[RVFOptimizer] Deduplicated ${embeddings.length} -> ${unique.length} (${duplicates} duplicates removed)`);
380
- }
381
- return unique;
382
- }
383
- /**
384
- * Identify memories that should be pruned based on confidence and age.
385
- *
386
- * Returns an array of IDs that are below the minimum confidence
387
- * threshold or older than the maximum allowed age.
388
- */
389
- pruneMemories(memories) {
390
- if (!this.config.pruning.enabled)
391
- return [];
392
- const now = Date.now();
393
- const toPrune = [];
394
- for (const memory of memories) {
395
- const age = now - memory.timestamp;
396
- if (memory.confidence < this.config.pruning.minConfidence ||
397
- age > this.config.pruning.maxAge) {
398
- toPrune.push(memory.id);
399
- }
400
- }
401
- if (toPrune.length > 0) {
402
- console.log(`[RVFOptimizer] Identified ${toPrune.length} memories for pruning`);
403
- }
404
- return toPrune;
405
- }
406
- /**
407
- * Batch embedding generation for 10-100x throughput improvement.
408
- *
409
- * Queues individual embed requests and flushes them either when
410
- * the batch reaches `batchSize` or after `maxWaitMs` milliseconds.
411
- * Uses the provided `embedFn` callback for the actual embedding.
412
- */
413
- async batchEmbed(query, embedFn) {
414
- if (!this.config.batching.enabled) {
415
- return await embedFn(query);
416
- }
417
- // Check cache first
418
- if (this.config.caching.enabled) {
419
- const cached = this.cache.get(query);
420
- if (cached && Date.now() - cached.timestamp < this.config.caching.ttl) {
421
- return cached.embedding;
422
- }
423
- }
424
- // Add to batch queue
425
- return new Promise((resolve, reject) => {
426
- this.batchQueue.push({ query, resolve, reject });
427
- if (this.batchQueue.length >= this.config.batching.batchSize) {
428
- this.processBatch(embedFn);
429
- }
430
- else if (!this.batchTimer) {
431
- this.batchTimer = setTimeout(() => {
432
- this.processBatch(embedFn);
433
- }, this.config.batching.maxWaitMs);
434
- }
435
- });
436
- }
437
- /**
438
- * Flush any pending batch items immediately.
439
- */
440
- async flush(embedFn) {
441
- if (this.batchQueue.length > 0) {
442
- await this.processBatch(embedFn);
443
- }
444
- }
445
- /**
446
- * Clear the embedding cache.
447
- */
448
- clearCache() {
449
- this.cache.clear();
450
- }
451
- /**
452
- * Get optimizer statistics.
453
- */
454
- getStats() {
455
- const stats = {
456
- config: this.config,
457
- cacheSize: this.cache.size,
458
- batchQueueSize: this.batchQueue.length,
459
- };
460
- // Add multi-level cache stats if enabled
461
- if (this.config.caching.multiLevel) {
462
- const l1HitRate = this.cacheStats.l1.hits + this.cacheStats.l1.misses > 0
463
- ? this.cacheStats.l1.hits / (this.cacheStats.l1.hits + this.cacheStats.l1.misses)
464
- : 0;
465
- const l2HitRate = this.cacheStats.l2.hits + this.cacheStats.l2.misses > 0
466
- ? this.cacheStats.l2.hits / (this.cacheStats.l2.hits + this.cacheStats.l2.misses)
467
- : 0;
468
- const l3HitRate = this.cacheStats.l3.hits + this.cacheStats.l3.misses > 0
469
- ? this.cacheStats.l3.hits / (this.cacheStats.l3.hits + this.cacheStats.l3.misses)
470
- : 0;
471
- stats.multiLevelCache = {
472
- l1: { size: this.l1Cache.size, ...this.cacheStats.l1, hitRate: l1HitRate },
473
- l2: { size: this.l2Cache.size, ...this.cacheStats.l2, hitRate: l2HitRate },
474
- l3: { size: this.l3Cache.size, ...this.cacheStats.l3, hitRate: l3HitRate },
475
- };
476
- }
477
- // Add compression metrics if available
478
- if (this.compressionMetrics.size > 0) {
479
- let totalRatio = 0;
480
- let totalQuality = 0;
481
- this.compressionMetrics.forEach(m => {
482
- totalRatio += m.compressionRatio;
483
- totalQuality += m.qualityScore;
484
- });
485
- stats.compressionMetrics = {
486
- avgCompressionRatio: totalRatio / this.compressionMetrics.size,
487
- avgQualityScore: totalQuality / this.compressionMetrics.size,
488
- totalCompressed: this.compressionMetrics.size,
489
- };
490
- }
491
- return stats;
492
- }
493
- // ---------------------------------------------------------------------------
494
- // Private
495
- // ---------------------------------------------------------------------------
496
- async processBatch(embedFn) {
497
- if (this.batchTimer) {
498
- clearTimeout(this.batchTimer);
499
- this.batchTimer = undefined;
500
- }
501
- const batch = this.batchQueue.splice(0, this.config.batching.batchSize);
502
- if (batch.length === 0)
503
- return;
504
- try {
505
- const results = await Promise.all(batch.map(item => embedFn(item.query)));
506
- for (let i = 0; i < batch.length; i++) {
507
- const embedding = results[i];
508
- batch[i].resolve(embedding);
509
- if (this.config.caching.enabled) {
510
- this.cache.set(batch[i].query, {
511
- embedding,
512
- timestamp: Date.now(),
513
- });
514
- // Evict oldest entry if cache exceeds max size
515
- if (this.cache.size > this.config.caching.maxSize) {
516
- const oldest = this.cache.keys().next().value;
517
- if (oldest !== undefined) {
518
- this.cache.delete(oldest);
519
- }
520
- }
521
- }
522
- }
523
- }
524
- catch (error) {
525
- batch.forEach(item => item.reject(error));
526
- }
527
- }
528
- cosineSimilarity(a, b) {
529
- let dotProduct = 0;
530
- let normA = 0;
531
- let normB = 0;
532
- for (let i = 0; i < a.length; i++) {
533
- dotProduct += a[i] * b[i];
534
- normA += a[i] * a[i];
535
- normB += b[i] * b[i];
536
- }
537
- const denom = Math.sqrt(normA) * Math.sqrt(normB);
538
- return denom > 0 ? dotProduct / denom : 0;
539
- }
540
- }
541
- //# sourceMappingURL=RVFOptimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RVFOptimizer.js","sourceRoot":"","sources":["../../../src/optimizations/RVFOptimizer.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * ADR-060: Attestation Log
3
- *
4
- * Append-only audit log for every MutationProof and MutationDenial.
5
- * Backed by a better-sqlite3 (or sql.js) compatible database instance.
6
- *
7
- * The caller is responsible for opening the database and passing it in.
8
- * This class only creates the table schema if it does not exist yet.
9
- */
10
- import type { MutationProof, MutationDenial } from './MutationGuard.js';
11
- export interface DatabaseLike {
12
- exec(sql: string): void;
13
- prepare(sql: string): {
14
- run(...params: unknown[]): {
15
- changes?: number;
16
- };
17
- all(...params: unknown[]): unknown[];
18
- get(...params: unknown[]): unknown;
19
- };
20
- }
21
- export interface AttestationQueryOptions {
22
- agentId?: string;
23
- namespace?: string;
24
- status?: 'proved' | 'denied';
25
- since?: number;
26
- limit?: number;
27
- }
28
- export interface DenialPattern {
29
- code: string;
30
- count: number;
31
- lastSeen: number;
32
- }
33
- export interface AttestationStats {
34
- total: number;
35
- proved: number;
36
- denied: number;
37
- uniqueAgents: number;
38
- oldestTs: number;
39
- }
40
- export declare class AttestationLog {
41
- private readonly db;
42
- constructor(db: DatabaseLike);
43
- /**
44
- * Record a successful mutation proof.
45
- */
46
- record(proof: MutationProof): void;
47
- /**
48
- * Record a denied mutation.
49
- */
50
- recordDenial(denial: MutationDenial, agentId: string, namespace: string): void;
51
- /**
52
- * Query attestation records with optional filters.
53
- * All filters use parameterized queries to prevent injection.
54
- */
55
- query(opts?: AttestationQueryOptions): any[];
56
- /**
57
- * Aggregate denial patterns grouped by denial_code.
58
- */
59
- getDenialPatterns(since?: number): DenialPattern[];
60
- /**
61
- * Delete attestation records older than the given age in milliseconds.
62
- * Returns the number of deleted rows.
63
- */
64
- prune(olderThanMs: number): number;
65
- /**
66
- * Summary statistics for the attestation log.
67
- */
68
- getStats(): AttestationStats;
69
- }
70
- //# sourceMappingURL=AttestationLog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttestationLog.d.ts","sourceRoot":"","sources":["../../../src/security/AttestationLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMxE,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QACpB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACrC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;KACpC,CAAC;CACH;AAgCD,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;gBAEtB,EAAE,EAAE,YAAY;IAW5B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAmBlC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAmB9E;;;OAGG;IACH,KAAK,CAAC,IAAI,GAAE,uBAA4B,GAAG,GAAG,EAAE;IAuChD;;OAEG;IACH,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAgClD;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAQlC;;OAEG;IACH,QAAQ,IAAI,gBAAgB;CAmB7B"}