ruvector 0.1.61 → 0.1.63
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.
- package/bin/cli.js +3 -0
- package/bin/mcp-server.js +3 -0
- package/dist/core/attention-fallbacks.d.ts +100 -0
- package/dist/core/attention-fallbacks.d.ts.map +1 -1
- package/dist/core/attention-fallbacks.js +192 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -1
- package/dist/core/intelligence-engine.d.ts +21 -0
- package/dist/core/intelligence-engine.d.ts.map +1 -1
- package/dist/core/intelligence-engine.js +49 -0
- package/dist/core/onnx-embedder.d.ts +6 -1
- package/dist/core/onnx-embedder.d.ts.map +1 -1
- package/dist/core/onnx-embedder.js +22 -2
- package/dist/core/parallel-intelligence.d.ts +109 -0
- package/dist/core/parallel-intelligence.d.ts.map +1 -0
- package/dist/core/parallel-intelligence.js +340 -0
- package/dist/core/parallel-workers.d.ts +183 -0
- package/dist/core/parallel-workers.d.ts.map +1 -0
- package/dist/core/parallel-workers.js +671 -0
- package/package.json +1 -1
- package/ruvector.db +0 -0
package/bin/cli.js
CHANGED
package/bin/mcp-server.js
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
* claude mcp add ruvector npx ruvector mcp start
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
// Signal that this is an MCP server (enables parallel workers for embeddings)
|
|
15
|
+
process.env.MCP_SERVER = '1';
|
|
16
|
+
|
|
14
17
|
const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
|
|
15
18
|
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
16
19
|
const {
|
|
@@ -202,13 +202,112 @@ export declare function isAttentionAvailable(): boolean;
|
|
|
202
202
|
* Get attention module version
|
|
203
203
|
*/
|
|
204
204
|
export declare function getAttentionVersion(): string | null;
|
|
205
|
+
/**
|
|
206
|
+
* Graph attention with Rotary Position Embeddings
|
|
207
|
+
* Excellent for code AST and dependency graphs
|
|
208
|
+
*/
|
|
209
|
+
export declare class GraphRoPeAttention {
|
|
210
|
+
private inner;
|
|
211
|
+
readonly dim: number;
|
|
212
|
+
readonly numHeads: number;
|
|
213
|
+
readonly maxSeqLen: number;
|
|
214
|
+
constructor(dim: number, numHeads?: number, maxSeqLen?: number);
|
|
215
|
+
compute(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[], positions?: number[]): AttentionOutput;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Edge-featured attention for graphs with edge attributes
|
|
219
|
+
* Useful for weighted dependency graphs
|
|
220
|
+
*/
|
|
221
|
+
export declare class EdgeFeaturedAttention {
|
|
222
|
+
private inner;
|
|
223
|
+
readonly dim: number;
|
|
224
|
+
readonly edgeDim: number;
|
|
225
|
+
constructor(dim: number, edgeDim?: number);
|
|
226
|
+
compute(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[], edgeFeatures?: (number[] | Float32Array)[]): AttentionOutput;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Dual-space attention (Euclidean + Hyperbolic)
|
|
230
|
+
* Best of both worlds for hierarchical + semantic similarity
|
|
231
|
+
*/
|
|
232
|
+
export declare class DualSpaceAttention {
|
|
233
|
+
private inner;
|
|
234
|
+
readonly dim: number;
|
|
235
|
+
readonly curvature: number;
|
|
236
|
+
readonly alpha: number;
|
|
237
|
+
constructor(dim: number, curvature?: number, alpha?: number);
|
|
238
|
+
compute(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[]): AttentionOutput;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Basic dot-product attention
|
|
242
|
+
*/
|
|
243
|
+
export declare class DotProductAttention {
|
|
244
|
+
private inner;
|
|
245
|
+
readonly dim: number;
|
|
246
|
+
constructor(dim: number);
|
|
247
|
+
compute(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[]): AttentionOutput;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Compute attention in parallel across multiple queries
|
|
251
|
+
*/
|
|
252
|
+
export declare function parallelAttentionCompute(queries: (number[] | Float32Array)[], keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[], attentionType?: 'dot' | 'multi-head' | 'flash' | 'hyperbolic' | 'linear'): Promise<number[][]>;
|
|
253
|
+
/**
|
|
254
|
+
* Batch attention compute for multiple query-key-value sets
|
|
255
|
+
*/
|
|
256
|
+
export declare function batchAttentionCompute(batches: Array<{
|
|
257
|
+
query: number[] | Float32Array;
|
|
258
|
+
keys: (number[] | Float32Array)[];
|
|
259
|
+
values: (number[] | Float32Array)[];
|
|
260
|
+
}>, attentionType?: 'dot' | 'multi-head' | 'flash' | 'hyperbolic' | 'linear'): Promise<number[][]>;
|
|
261
|
+
/**
|
|
262
|
+
* Async flash attention with callback
|
|
263
|
+
*/
|
|
264
|
+
export declare function computeFlashAttentionAsync(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[]): Promise<number[]>;
|
|
265
|
+
/**
|
|
266
|
+
* Async hyperbolic attention
|
|
267
|
+
*/
|
|
268
|
+
export declare function computeHyperbolicAttentionAsync(query: number[] | Float32Array, keys: (number[] | Float32Array)[], values: (number[] | Float32Array)[], curvature?: number): Promise<number[]>;
|
|
269
|
+
/**
|
|
270
|
+
* Adam optimizer for attention training
|
|
271
|
+
*/
|
|
272
|
+
export declare class AdamOptimizer {
|
|
273
|
+
private inner;
|
|
274
|
+
constructor(learningRate?: number, beta1?: number, beta2?: number);
|
|
275
|
+
step(gradients: number[] | Float32Array, params: number[] | Float32Array): number[];
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* InfoNCE contrastive loss
|
|
279
|
+
*/
|
|
280
|
+
export declare function infoNceLoss(anchor: number[] | Float32Array, positive: number[] | Float32Array, negatives: (number[] | Float32Array)[], temperature?: number): number;
|
|
281
|
+
/**
|
|
282
|
+
* Hard negative mining for contrastive learning
|
|
283
|
+
*/
|
|
284
|
+
export declare function mineHardNegatives(anchor: number[] | Float32Array, candidates: (number[] | Float32Array)[], topK?: number): number[][];
|
|
285
|
+
/**
|
|
286
|
+
* Benchmark attention implementations
|
|
287
|
+
*/
|
|
288
|
+
export declare function benchmarkAttention(dim: number, seqLen: number, iterations?: number): Promise<Record<string, {
|
|
289
|
+
avgMs: number;
|
|
290
|
+
minMs: number;
|
|
291
|
+
maxMs: number;
|
|
292
|
+
}>>;
|
|
205
293
|
declare const _default: {
|
|
294
|
+
DotProductAttention: typeof DotProductAttention;
|
|
206
295
|
MultiHeadAttention: typeof MultiHeadAttention;
|
|
207
296
|
FlashAttention: typeof FlashAttention;
|
|
208
297
|
HyperbolicAttention: typeof HyperbolicAttention;
|
|
209
298
|
LinearAttention: typeof LinearAttention;
|
|
210
299
|
LocalGlobalAttention: typeof LocalGlobalAttention;
|
|
211
300
|
MoEAttention: typeof MoEAttention;
|
|
301
|
+
GraphRoPeAttention: typeof GraphRoPeAttention;
|
|
302
|
+
EdgeFeaturedAttention: typeof EdgeFeaturedAttention;
|
|
303
|
+
DualSpaceAttention: typeof DualSpaceAttention;
|
|
304
|
+
parallelAttentionCompute: typeof parallelAttentionCompute;
|
|
305
|
+
batchAttentionCompute: typeof batchAttentionCompute;
|
|
306
|
+
computeFlashAttentionAsync: typeof computeFlashAttentionAsync;
|
|
307
|
+
computeHyperbolicAttentionAsync: typeof computeHyperbolicAttentionAsync;
|
|
308
|
+
AdamOptimizer: typeof AdamOptimizer;
|
|
309
|
+
infoNceLoss: typeof infoNceLoss;
|
|
310
|
+
mineHardNegatives: typeof mineHardNegatives;
|
|
212
311
|
projectToPoincareBall: typeof projectToPoincareBall;
|
|
213
312
|
poincareDistance: typeof poincareDistance;
|
|
214
313
|
mobiusAddition: typeof mobiusAddition;
|
|
@@ -216,6 +315,7 @@ declare const _default: {
|
|
|
216
315
|
logMap: typeof logMap;
|
|
217
316
|
isAttentionAvailable: typeof isAttentionAvailable;
|
|
218
317
|
getAttentionVersion: typeof getAttentionVersion;
|
|
318
|
+
benchmarkAttention: typeof benchmarkAttention;
|
|
219
319
|
};
|
|
220
320
|
export default _default;
|
|
221
321
|
//# sourceMappingURL=attention-fallbacks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attention-fallbacks.d.ts","sourceRoot":"","sources":["../../src/core/attention-fallbacks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"attention-fallbacks.d.ts","sourceRoot":"","sources":["../../src/core/attention-fallbacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* This wrapper handles the conversion automatically.
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MoEAttention = exports.LocalGlobalAttention = exports.LinearAttention = exports.HyperbolicAttention = exports.FlashAttention = exports.MultiHeadAttention = void 0;
|
|
12
|
+
exports.AdamOptimizer = exports.DotProductAttention = exports.DualSpaceAttention = exports.EdgeFeaturedAttention = exports.GraphRoPeAttention = exports.MoEAttention = exports.LocalGlobalAttention = exports.LinearAttention = exports.HyperbolicAttention = exports.FlashAttention = exports.MultiHeadAttention = void 0;
|
|
13
13
|
exports.projectToPoincareBall = projectToPoincareBall;
|
|
14
14
|
exports.poincareDistance = poincareDistance;
|
|
15
15
|
exports.mobiusAddition = mobiusAddition;
|
|
@@ -17,6 +17,13 @@ exports.expMap = expMap;
|
|
|
17
17
|
exports.logMap = logMap;
|
|
18
18
|
exports.isAttentionAvailable = isAttentionAvailable;
|
|
19
19
|
exports.getAttentionVersion = getAttentionVersion;
|
|
20
|
+
exports.parallelAttentionCompute = parallelAttentionCompute;
|
|
21
|
+
exports.batchAttentionCompute = batchAttentionCompute;
|
|
22
|
+
exports.computeFlashAttentionAsync = computeFlashAttentionAsync;
|
|
23
|
+
exports.computeHyperbolicAttentionAsync = computeHyperbolicAttentionAsync;
|
|
24
|
+
exports.infoNceLoss = infoNceLoss;
|
|
25
|
+
exports.mineHardNegatives = mineHardNegatives;
|
|
26
|
+
exports.benchmarkAttention = benchmarkAttention;
|
|
20
27
|
// Lazy load to avoid import errors if not installed
|
|
21
28
|
let attentionModule = null;
|
|
22
29
|
let loadError = null;
|
|
@@ -344,18 +351,202 @@ function getAttentionVersion() {
|
|
|
344
351
|
return null;
|
|
345
352
|
}
|
|
346
353
|
}
|
|
354
|
+
// ============================================================================
|
|
355
|
+
// Graph-based Attention (for code structure)
|
|
356
|
+
// ============================================================================
|
|
357
|
+
/**
|
|
358
|
+
* Graph attention with Rotary Position Embeddings
|
|
359
|
+
* Excellent for code AST and dependency graphs
|
|
360
|
+
*/
|
|
361
|
+
class GraphRoPeAttention {
|
|
362
|
+
constructor(dim, numHeads = 4, maxSeqLen = 4096) {
|
|
363
|
+
const attention = getAttentionModule();
|
|
364
|
+
this.inner = new attention.GraphRoPeAttention(dim, numHeads, maxSeqLen);
|
|
365
|
+
this.dim = dim;
|
|
366
|
+
this.numHeads = numHeads;
|
|
367
|
+
this.maxSeqLen = maxSeqLen;
|
|
368
|
+
}
|
|
369
|
+
compute(query, keys, values, positions) {
|
|
370
|
+
const raw = this.inner.compute(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values), positions ? new Int32Array(positions) : undefined);
|
|
371
|
+
return { values: fromFloat32Array(raw), raw };
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
exports.GraphRoPeAttention = GraphRoPeAttention;
|
|
375
|
+
/**
|
|
376
|
+
* Edge-featured attention for graphs with edge attributes
|
|
377
|
+
* Useful for weighted dependency graphs
|
|
378
|
+
*/
|
|
379
|
+
class EdgeFeaturedAttention {
|
|
380
|
+
constructor(dim, edgeDim = 16) {
|
|
381
|
+
const attention = getAttentionModule();
|
|
382
|
+
this.inner = new attention.EdgeFeaturedAttention(dim, edgeDim);
|
|
383
|
+
this.dim = dim;
|
|
384
|
+
this.edgeDim = edgeDim;
|
|
385
|
+
}
|
|
386
|
+
compute(query, keys, values, edgeFeatures) {
|
|
387
|
+
const raw = this.inner.compute(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values), edgeFeatures ? toFloat32Arrays(edgeFeatures) : undefined);
|
|
388
|
+
return { values: fromFloat32Array(raw), raw };
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
exports.EdgeFeaturedAttention = EdgeFeaturedAttention;
|
|
392
|
+
/**
|
|
393
|
+
* Dual-space attention (Euclidean + Hyperbolic)
|
|
394
|
+
* Best of both worlds for hierarchical + semantic similarity
|
|
395
|
+
*/
|
|
396
|
+
class DualSpaceAttention {
|
|
397
|
+
constructor(dim, curvature = 1.0, alpha = 0.5) {
|
|
398
|
+
const attention = getAttentionModule();
|
|
399
|
+
this.inner = new attention.DualSpaceAttention(dim, curvature, alpha);
|
|
400
|
+
this.dim = dim;
|
|
401
|
+
this.curvature = curvature;
|
|
402
|
+
this.alpha = alpha;
|
|
403
|
+
}
|
|
404
|
+
compute(query, keys, values) {
|
|
405
|
+
const raw = this.inner.compute(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values));
|
|
406
|
+
return { values: fromFloat32Array(raw), raw };
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
exports.DualSpaceAttention = DualSpaceAttention;
|
|
410
|
+
/**
|
|
411
|
+
* Basic dot-product attention
|
|
412
|
+
*/
|
|
413
|
+
class DotProductAttention {
|
|
414
|
+
constructor(dim) {
|
|
415
|
+
const attention = getAttentionModule();
|
|
416
|
+
this.inner = new attention.DotProductAttention(dim);
|
|
417
|
+
this.dim = dim;
|
|
418
|
+
}
|
|
419
|
+
compute(query, keys, values) {
|
|
420
|
+
const raw = this.inner.compute(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values));
|
|
421
|
+
return { values: fromFloat32Array(raw), raw };
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
exports.DotProductAttention = DotProductAttention;
|
|
425
|
+
// ============================================================================
|
|
426
|
+
// Parallel/Batch Attention Compute
|
|
427
|
+
// ============================================================================
|
|
428
|
+
/**
|
|
429
|
+
* Compute attention in parallel across multiple queries
|
|
430
|
+
*/
|
|
431
|
+
async function parallelAttentionCompute(queries, keys, values, attentionType = 'multi-head') {
|
|
432
|
+
const attention = getAttentionModule();
|
|
433
|
+
const results = await attention.parallelAttentionCompute(toFloat32Arrays(queries), toFloat32Arrays(keys), toFloat32Arrays(values), attentionType);
|
|
434
|
+
return results.map((r) => fromFloat32Array(r));
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Batch attention compute for multiple query-key-value sets
|
|
438
|
+
*/
|
|
439
|
+
async function batchAttentionCompute(batches, attentionType = 'multi-head') {
|
|
440
|
+
const attention = getAttentionModule();
|
|
441
|
+
const nativeBatches = batches.map(b => ({
|
|
442
|
+
query: toFloat32Array(b.query),
|
|
443
|
+
keys: toFloat32Arrays(b.keys),
|
|
444
|
+
values: toFloat32Arrays(b.values),
|
|
445
|
+
}));
|
|
446
|
+
const results = await attention.batchAttentionCompute(nativeBatches, attentionType);
|
|
447
|
+
return results.map((r) => fromFloat32Array(r));
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Async flash attention with callback
|
|
451
|
+
*/
|
|
452
|
+
function computeFlashAttentionAsync(query, keys, values) {
|
|
453
|
+
const attention = getAttentionModule();
|
|
454
|
+
return new Promise((resolve, reject) => {
|
|
455
|
+
attention.computeFlashAttentionAsync(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values), (err, result) => {
|
|
456
|
+
if (err)
|
|
457
|
+
reject(err);
|
|
458
|
+
else
|
|
459
|
+
resolve(fromFloat32Array(result));
|
|
460
|
+
});
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Async hyperbolic attention
|
|
465
|
+
*/
|
|
466
|
+
function computeHyperbolicAttentionAsync(query, keys, values, curvature = 1.0) {
|
|
467
|
+
const attention = getAttentionModule();
|
|
468
|
+
return new Promise((resolve, reject) => {
|
|
469
|
+
attention.computeHyperbolicAttentionAsync(toFloat32Array(query), toFloat32Arrays(keys), toFloat32Arrays(values), curvature, (err, result) => {
|
|
470
|
+
if (err)
|
|
471
|
+
reject(err);
|
|
472
|
+
else
|
|
473
|
+
resolve(fromFloat32Array(result));
|
|
474
|
+
});
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
// ============================================================================
|
|
478
|
+
// Training Utilities (for SONA integration)
|
|
479
|
+
// ============================================================================
|
|
480
|
+
/**
|
|
481
|
+
* Adam optimizer for attention training
|
|
482
|
+
*/
|
|
483
|
+
class AdamOptimizer {
|
|
484
|
+
constructor(learningRate = 0.001, beta1 = 0.9, beta2 = 0.999) {
|
|
485
|
+
const attention = getAttentionModule();
|
|
486
|
+
this.inner = new attention.AdamOptimizer(learningRate, beta1, beta2);
|
|
487
|
+
}
|
|
488
|
+
step(gradients, params) {
|
|
489
|
+
const result = this.inner.step(toFloat32Array(gradients), toFloat32Array(params));
|
|
490
|
+
return fromFloat32Array(result);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
exports.AdamOptimizer = AdamOptimizer;
|
|
494
|
+
/**
|
|
495
|
+
* InfoNCE contrastive loss
|
|
496
|
+
*/
|
|
497
|
+
function infoNceLoss(anchor, positive, negatives, temperature = 0.07) {
|
|
498
|
+
const attention = getAttentionModule();
|
|
499
|
+
return attention.InfoNceLoss.compute(toFloat32Array(anchor), toFloat32Array(positive), toFloat32Arrays(negatives), temperature);
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Hard negative mining for contrastive learning
|
|
503
|
+
*/
|
|
504
|
+
function mineHardNegatives(anchor, candidates, topK = 5) {
|
|
505
|
+
const attention = getAttentionModule();
|
|
506
|
+
const miner = new attention.HardNegativeMiner(topK);
|
|
507
|
+
const results = miner.mine(toFloat32Array(anchor), toFloat32Arrays(candidates));
|
|
508
|
+
return results.map((r) => fromFloat32Array(r));
|
|
509
|
+
}
|
|
510
|
+
// ============================================================================
|
|
511
|
+
// Benchmarking
|
|
512
|
+
// ============================================================================
|
|
513
|
+
/**
|
|
514
|
+
* Benchmark attention implementations
|
|
515
|
+
*/
|
|
516
|
+
async function benchmarkAttention(dim, seqLen, iterations = 100) {
|
|
517
|
+
const attention = getAttentionModule();
|
|
518
|
+
return attention.benchmarkAttention(dim, seqLen, iterations);
|
|
519
|
+
}
|
|
347
520
|
exports.default = {
|
|
521
|
+
// Core attention types
|
|
522
|
+
DotProductAttention,
|
|
348
523
|
MultiHeadAttention,
|
|
349
524
|
FlashAttention,
|
|
350
525
|
HyperbolicAttention,
|
|
351
526
|
LinearAttention,
|
|
352
527
|
LocalGlobalAttention,
|
|
353
528
|
MoEAttention,
|
|
529
|
+
// Graph attention types
|
|
530
|
+
GraphRoPeAttention,
|
|
531
|
+
EdgeFeaturedAttention,
|
|
532
|
+
DualSpaceAttention,
|
|
533
|
+
// Parallel/batch compute
|
|
534
|
+
parallelAttentionCompute,
|
|
535
|
+
batchAttentionCompute,
|
|
536
|
+
computeFlashAttentionAsync,
|
|
537
|
+
computeHyperbolicAttentionAsync,
|
|
538
|
+
// Training utilities
|
|
539
|
+
AdamOptimizer,
|
|
540
|
+
infoNceLoss,
|
|
541
|
+
mineHardNegatives,
|
|
542
|
+
// Hyperbolic math
|
|
354
543
|
projectToPoincareBall,
|
|
355
544
|
poincareDistance,
|
|
356
545
|
mobiusAddition,
|
|
357
546
|
expMap,
|
|
358
547
|
logMap,
|
|
548
|
+
// Utilities
|
|
359
549
|
isAttentionAvailable,
|
|
360
550
|
getAttentionVersion,
|
|
551
|
+
benchmarkAttention,
|
|
361
552
|
};
|
package/dist/core/index.d.ts
CHANGED
|
@@ -10,10 +10,14 @@ export * from './agentdb-fast';
|
|
|
10
10
|
export * from './sona-wrapper';
|
|
11
11
|
export * from './intelligence-engine';
|
|
12
12
|
export * from './onnx-embedder';
|
|
13
|
+
export * from './parallel-intelligence';
|
|
14
|
+
export * from './parallel-workers';
|
|
13
15
|
export { default as gnnWrapper } from './gnn-wrapper';
|
|
14
16
|
export { default as attentionFallbacks } from './attention-fallbacks';
|
|
15
17
|
export { default as agentdbFast } from './agentdb-fast';
|
|
16
18
|
export { default as Sona } from './sona-wrapper';
|
|
17
19
|
export { default as IntelligenceEngine } from './intelligence-engine';
|
|
18
20
|
export { default as OnnxEmbedder } from './onnx-embedder';
|
|
21
|
+
export { default as ParallelIntelligence } from './parallel-intelligence';
|
|
22
|
+
export { default as ExtendedWorkerPool } from './parallel-workers';
|
|
19
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -23,13 +23,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.OnnxEmbedder = exports.IntelligenceEngine = exports.Sona = exports.agentdbFast = exports.attentionFallbacks = exports.gnnWrapper = void 0;
|
|
26
|
+
exports.ExtendedWorkerPool = exports.ParallelIntelligence = exports.OnnxEmbedder = exports.IntelligenceEngine = exports.Sona = exports.agentdbFast = exports.attentionFallbacks = exports.gnnWrapper = void 0;
|
|
27
27
|
__exportStar(require("./gnn-wrapper"), exports);
|
|
28
28
|
__exportStar(require("./attention-fallbacks"), exports);
|
|
29
29
|
__exportStar(require("./agentdb-fast"), exports);
|
|
30
30
|
__exportStar(require("./sona-wrapper"), exports);
|
|
31
31
|
__exportStar(require("./intelligence-engine"), exports);
|
|
32
32
|
__exportStar(require("./onnx-embedder"), exports);
|
|
33
|
+
__exportStar(require("./parallel-intelligence"), exports);
|
|
34
|
+
__exportStar(require("./parallel-workers"), exports);
|
|
33
35
|
// Re-export default objects for convenience
|
|
34
36
|
var gnn_wrapper_1 = require("./gnn-wrapper");
|
|
35
37
|
Object.defineProperty(exports, "gnnWrapper", { enumerable: true, get: function () { return __importDefault(gnn_wrapper_1).default; } });
|
|
@@ -43,3 +45,7 @@ var intelligence_engine_1 = require("./intelligence-engine");
|
|
|
43
45
|
Object.defineProperty(exports, "IntelligenceEngine", { enumerable: true, get: function () { return __importDefault(intelligence_engine_1).default; } });
|
|
44
46
|
var onnx_embedder_1 = require("./onnx-embedder");
|
|
45
47
|
Object.defineProperty(exports, "OnnxEmbedder", { enumerable: true, get: function () { return __importDefault(onnx_embedder_1).default; } });
|
|
48
|
+
var parallel_intelligence_1 = require("./parallel-intelligence");
|
|
49
|
+
Object.defineProperty(exports, "ParallelIntelligence", { enumerable: true, get: function () { return __importDefault(parallel_intelligence_1).default; } });
|
|
50
|
+
var parallel_workers_1 = require("./parallel-workers");
|
|
51
|
+
Object.defineProperty(exports, "ExtendedWorkerPool", { enumerable: true, get: function () { return __importDefault(parallel_workers_1).default; } });
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { EpisodeSearchResult } from './agentdb-fast';
|
|
14
14
|
import { SonaConfig, LearnedPattern } from './sona-wrapper';
|
|
15
|
+
import { ParallelConfig, BatchEpisode } from './parallel-intelligence';
|
|
15
16
|
export interface MemoryEntry {
|
|
16
17
|
id: string;
|
|
17
18
|
content: string;
|
|
@@ -48,6 +49,10 @@ export interface LearningStats {
|
|
|
48
49
|
coEditPatterns: number;
|
|
49
50
|
attentionEnabled: boolean;
|
|
50
51
|
onnxEnabled: boolean;
|
|
52
|
+
parallelEnabled: boolean;
|
|
53
|
+
parallelWorkers: number;
|
|
54
|
+
parallelBusy: number;
|
|
55
|
+
parallelQueued: number;
|
|
51
56
|
}
|
|
52
57
|
export interface IntelligenceConfig {
|
|
53
58
|
/** Embedding dimension for vectors (default: 256, 384 for ONNX) */
|
|
@@ -68,6 +73,11 @@ export interface IntelligenceConfig {
|
|
|
68
73
|
storagePath?: string;
|
|
69
74
|
/** Learning rate for pattern updates (default: 0.1) */
|
|
70
75
|
learningRate?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Enable parallel workers for batch operations
|
|
78
|
+
* Auto-enabled for MCP servers, disabled for CLI hooks
|
|
79
|
+
*/
|
|
80
|
+
parallelConfig?: Partial<ParallelConfig>;
|
|
71
81
|
}
|
|
72
82
|
/**
|
|
73
83
|
* Full-stack intelligence engine using all RuVector capabilities
|
|
@@ -80,6 +90,7 @@ export declare class IntelligenceEngine {
|
|
|
80
90
|
private attention;
|
|
81
91
|
private onnxEmbedder;
|
|
82
92
|
private onnxReady;
|
|
93
|
+
private parallel;
|
|
83
94
|
private memories;
|
|
84
95
|
private routingPatterns;
|
|
85
96
|
private errorPatterns;
|
|
@@ -88,9 +99,11 @@ export declare class IntelligenceEngine {
|
|
|
88
99
|
private currentTrajectoryId;
|
|
89
100
|
private sessionStart;
|
|
90
101
|
private learningEnabled;
|
|
102
|
+
private episodeBatchQueue;
|
|
91
103
|
constructor(config?: IntelligenceConfig);
|
|
92
104
|
private initOnnx;
|
|
93
105
|
private initVectorDb;
|
|
106
|
+
private initParallel;
|
|
94
107
|
/**
|
|
95
108
|
* Generate embedding using ONNX, attention, or hash (in order of preference)
|
|
96
109
|
*/
|
|
@@ -146,6 +159,14 @@ export declare class IntelligenceEngine {
|
|
|
146
159
|
* Record an episode for learning
|
|
147
160
|
*/
|
|
148
161
|
recordEpisode(state: string, action: string, reward: number, nextState: string, done: boolean, metadata?: Record<string, any>): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Queue episode for batch processing (3-4x faster with workers)
|
|
164
|
+
*/
|
|
165
|
+
queueEpisode(episode: BatchEpisode): void;
|
|
166
|
+
/**
|
|
167
|
+
* Process queued episodes in parallel batch
|
|
168
|
+
*/
|
|
169
|
+
flushEpisodeBatch(): Promise<number>;
|
|
149
170
|
/**
|
|
150
171
|
* Learn from similar past episodes
|
|
151
172
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence-engine.d.ts","sourceRoot":"","sources":["../../src/core/intelligence-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoC,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAc,UAAU,EAAE,cAAc,EAA8B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"intelligence-engine.d.ts","sourceRoot":"","sources":["../../src/core/intelligence-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ exports.createLightweightEngine = createLightweightEngine;
|
|
|
19
19
|
const agentdb_fast_1 = require("./agentdb-fast");
|
|
20
20
|
const sona_wrapper_1 = require("./sona-wrapper");
|
|
21
21
|
const onnx_embedder_1 = require("./onnx-embedder");
|
|
22
|
+
const parallel_intelligence_1 = require("./parallel-intelligence");
|
|
22
23
|
// ============================================================================
|
|
23
24
|
// Lazy Loading
|
|
24
25
|
// ============================================================================
|
|
@@ -75,6 +76,7 @@ class IntelligenceEngine {
|
|
|
75
76
|
this.attention = null;
|
|
76
77
|
this.onnxEmbedder = null;
|
|
77
78
|
this.onnxReady = false;
|
|
79
|
+
this.parallel = null;
|
|
78
80
|
// In-memory data structures
|
|
79
81
|
this.memories = new Map();
|
|
80
82
|
this.routingPatterns = new Map(); // state -> action -> value
|
|
@@ -85,6 +87,7 @@ class IntelligenceEngine {
|
|
|
85
87
|
this.currentTrajectoryId = null;
|
|
86
88
|
this.sessionStart = Date.now();
|
|
87
89
|
this.learningEnabled = true;
|
|
90
|
+
this.episodeBatchQueue = [];
|
|
88
91
|
// If ONNX is enabled, use 384 dimensions (MiniLM default)
|
|
89
92
|
const useOnnx = !!(config.enableOnnx && (0, onnx_embedder_1.isOnnxAvailable)());
|
|
90
93
|
const embeddingDim = useOnnx ? 384 : (config.embeddingDim ?? 256);
|
|
@@ -98,7 +101,11 @@ class IntelligenceEngine {
|
|
|
98
101
|
sonaConfig: config.sonaConfig ?? {},
|
|
99
102
|
storagePath: config.storagePath ?? '',
|
|
100
103
|
learningRate: config.learningRate ?? 0.1,
|
|
104
|
+
parallelConfig: config.parallelConfig ?? {},
|
|
101
105
|
};
|
|
106
|
+
// Initialize parallel workers (auto-enabled for MCP, disabled for CLI)
|
|
107
|
+
this.parallel = (0, parallel_intelligence_1.getParallelIntelligence)(this.config.parallelConfig);
|
|
108
|
+
this.initParallel();
|
|
102
109
|
// Initialize FastAgentDB for episode storage
|
|
103
110
|
this.agentDb = new agentdb_fast_1.FastAgentDB(this.config.embeddingDim, this.config.maxEpisodes);
|
|
104
111
|
// Initialize ONNX embedder if enabled
|
|
@@ -155,6 +162,17 @@ class IntelligenceEngine {
|
|
|
155
162
|
// VectorDB not available, use fallback
|
|
156
163
|
}
|
|
157
164
|
}
|
|
165
|
+
async initParallel() {
|
|
166
|
+
if (this.parallel) {
|
|
167
|
+
try {
|
|
168
|
+
await this.parallel.init();
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// Parallel not available, use sequential
|
|
172
|
+
this.parallel = null;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
158
176
|
// =========================================================================
|
|
159
177
|
// Embedding Generation
|
|
160
178
|
// =========================================================================
|
|
@@ -580,6 +598,32 @@ class IntelligenceEngine {
|
|
|
580
598
|
const newValue = oldValue + this.config.learningRate * (reward - oldValue);
|
|
581
599
|
patterns.set(action, newValue);
|
|
582
600
|
}
|
|
601
|
+
/**
|
|
602
|
+
* Queue episode for batch processing (3-4x faster with workers)
|
|
603
|
+
*/
|
|
604
|
+
queueEpisode(episode) {
|
|
605
|
+
this.episodeBatchQueue.push(episode);
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Process queued episodes in parallel batch
|
|
609
|
+
*/
|
|
610
|
+
async flushEpisodeBatch() {
|
|
611
|
+
if (this.episodeBatchQueue.length === 0)
|
|
612
|
+
return 0;
|
|
613
|
+
const count = this.episodeBatchQueue.length;
|
|
614
|
+
if (this.parallel) {
|
|
615
|
+
// Use parallel workers for batch processing
|
|
616
|
+
await this.parallel.recordEpisodesBatch(this.episodeBatchQueue);
|
|
617
|
+
}
|
|
618
|
+
else {
|
|
619
|
+
// Sequential fallback
|
|
620
|
+
for (const ep of this.episodeBatchQueue) {
|
|
621
|
+
await this.recordEpisode(ep.state, ep.action, ep.reward, ep.nextState, ep.done, ep.metadata);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
this.episodeBatchQueue = [];
|
|
625
|
+
return count;
|
|
626
|
+
}
|
|
583
627
|
/**
|
|
584
628
|
* Learn from similar past episodes
|
|
585
629
|
*/
|
|
@@ -713,6 +757,7 @@ class IntelligenceEngine {
|
|
|
713
757
|
rewardCount++;
|
|
714
758
|
}
|
|
715
759
|
}
|
|
760
|
+
const parallelStats = this.parallel?.getStats() ?? { enabled: false, workers: 0, busy: 0, queued: 0 };
|
|
716
761
|
return {
|
|
717
762
|
totalMemories: this.memories.size,
|
|
718
763
|
memoryDimensions: this.config.embeddingDim,
|
|
@@ -730,6 +775,10 @@ class IntelligenceEngine {
|
|
|
730
775
|
coEditPatterns: this.coEditPatterns.size,
|
|
731
776
|
attentionEnabled: this.attention !== null,
|
|
732
777
|
onnxEnabled: this.onnxReady,
|
|
778
|
+
parallelEnabled: parallelStats.enabled,
|
|
779
|
+
parallelWorkers: parallelStats.workers,
|
|
780
|
+
parallelBusy: parallelStats.busy,
|
|
781
|
+
parallelQueued: parallelStats.queued,
|
|
733
782
|
};
|
|
734
783
|
}
|
|
735
784
|
// =========================================================================
|
|
@@ -18,7 +18,12 @@ export interface OnnxEmbedderConfig {
|
|
|
18
18
|
maxLength?: number;
|
|
19
19
|
normalize?: boolean;
|
|
20
20
|
cacheDir?: string;
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Enable parallel workers for batch operations
|
|
23
|
+
* - 'auto' (default): Enable for long-running processes, skip for CLI
|
|
24
|
+
* - true: Always enable workers
|
|
25
|
+
* - false: Never use workers
|
|
26
|
+
*/
|
|
22
27
|
enableParallel?: boolean | 'auto';
|
|
23
28
|
/** Number of worker threads (default: CPU cores - 1) */
|
|
24
29
|
numWorkers?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onnx-embedder.d.ts","sourceRoot":"","sources":["../../src/core/onnx-embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"onnx-embedder.d.ts","sourceRoot":"","sources":["../../src/core/onnx-embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAeD;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AA6DD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CA+FxF;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBlE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwC5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAaxF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBjE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAUA;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9C;AAGD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,kBAAuB;IAIrC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAKhD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/D,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;CACF;AAED,eAAe,YAAY,CAAC"}
|