ruvector 0.1.78 → 0.1.80

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 CHANGED
@@ -2808,6 +2808,95 @@ hooksCmd.command('init')
2808
2808
  console.log(chalk.blue(' ✓ Environment variables configured (v2.1 with multi-algorithm learning)'));
2809
2809
  }
2810
2810
 
2811
+ // Workers configuration (native ruvector workers + agentic-flow integration)
2812
+ if (!opts.minimal) {
2813
+ settings.workers = settings.workers || {
2814
+ enabled: true,
2815
+ parallel: true,
2816
+ maxConcurrent: 10,
2817
+ native: {
2818
+ enabled: true,
2819
+ types: ['security', 'analysis', 'learning'],
2820
+ defaultTimeout: 120000
2821
+ },
2822
+ triggers: {
2823
+ ultralearn: { priority: 'high', agents: ['researcher', 'coder'] },
2824
+ optimize: { priority: 'high', agents: ['performance-analyzer'] },
2825
+ audit: { priority: 'critical', agents: ['security-analyst', 'tester'] },
2826
+ map: { priority: 'medium', agents: ['architect'] },
2827
+ security: { priority: 'critical', agents: ['security-analyst'] },
2828
+ benchmark: { priority: 'low', agents: ['performance-analyzer'] },
2829
+ document: { priority: 'medium', agents: ['documenter'] },
2830
+ refactor: { priority: 'medium', agents: ['coder', 'reviewer'] },
2831
+ testgaps: { priority: 'high', agents: ['tester'] },
2832
+ deepdive: { priority: 'low', agents: ['researcher'] },
2833
+ predict: { priority: 'medium', agents: ['analyst'] },
2834
+ consolidate: { priority: 'low', agents: ['architect'] }
2835
+ }
2836
+ };
2837
+ console.log(chalk.blue(' ✓ Workers configured (native + 12 triggers)'));
2838
+ }
2839
+
2840
+ // Performance configuration with benchmark thresholds
2841
+ if (!opts.minimal) {
2842
+ settings.performance = settings.performance || {
2843
+ modelCache: {
2844
+ enabled: true,
2845
+ maxSizeMB: 512,
2846
+ ttlMinutes: 60
2847
+ },
2848
+ benchmarkThresholds: {
2849
+ triggerDetection: { p95: 5 }, // <5ms
2850
+ workerRegistry: { p95: 10 }, // <10ms
2851
+ agentSelection: { p95: 1 }, // <1ms
2852
+ memoryKeyGen: { p95: 0.1 }, // <0.1ms
2853
+ concurrent10: { p95: 1000 }, // <1000ms
2854
+ singleEmbedding: { p95: 500 }, // <500ms (WASM)
2855
+ batchEmbedding16: { p95: 8000 } // <8000ms (WASM)
2856
+ },
2857
+ optimizations: {
2858
+ parallelDispatch: true,
2859
+ batchEmbeddings: true,
2860
+ cacheEmbeddings: true,
2861
+ simd: true
2862
+ }
2863
+ };
2864
+ console.log(chalk.blue(' ✓ Performance thresholds configured'));
2865
+ }
2866
+
2867
+ // Agent presets configuration
2868
+ if (!opts.minimal) {
2869
+ settings.agents = settings.agents || {
2870
+ presets: {
2871
+ 'quick-scan': {
2872
+ phases: ['file-discovery', 'summarization'],
2873
+ timeout: 30000
2874
+ },
2875
+ 'deep-analysis': {
2876
+ phases: ['file-discovery', 'pattern-extraction', 'embedding-generation', 'complexity-analysis', 'summarization'],
2877
+ timeout: 120000,
2878
+ capabilities: { onnxEmbeddings: true, vectorDb: true }
2879
+ },
2880
+ 'security-scan': {
2881
+ phases: ['file-discovery', 'security-scan', 'summarization'],
2882
+ timeout: 60000
2883
+ },
2884
+ 'learning': {
2885
+ phases: ['file-discovery', 'pattern-extraction', 'embedding-generation', 'vector-storage', 'summarization'],
2886
+ timeout: 180000,
2887
+ capabilities: { onnxEmbeddings: true, vectorDb: true, intelligenceMemory: true }
2888
+ }
2889
+ },
2890
+ capabilities: {
2891
+ onnxEmbeddings: true,
2892
+ vectorDb: true,
2893
+ intelligenceMemory: true,
2894
+ parallelProcessing: true
2895
+ }
2896
+ };
2897
+ console.log(chalk.blue(' ✓ Agent presets configured (4 presets)'));
2898
+ }
2899
+
2811
2900
  // Permissions based on detected project type (unless --minimal or --no-permissions)
2812
2901
  if (!opts.minimal && opts.permissions !== false) {
2813
2902
  settings.permissions = settings.permissions || {};
@@ -6212,6 +6301,226 @@ workersCmd.command('load-config')
6212
6301
 
6213
6302
  console.log && false; // Force registration
6214
6303
 
6304
+ // Native Workers command group - Deep ruvector integration (no agentic-flow delegation)
6305
+ const nativeCmd = program.command('native').description('Native workers with deep ONNX/VectorDB integration (no external deps)');
6306
+
6307
+ nativeCmd.command('run')
6308
+ .description('Run a native worker type')
6309
+ .argument('<type>', 'Worker type: security, analysis, learning')
6310
+ .option('--path <path>', 'Target path to analyze', '.')
6311
+ .option('--json', 'Output as JSON')
6312
+ .action(async (type, opts) => {
6313
+ try {
6314
+ const { createSecurityWorker, createAnalysisWorker, createLearningWorker } = require('../dist/workers/native-worker.js');
6315
+
6316
+ let worker;
6317
+ switch (type) {
6318
+ case 'security':
6319
+ worker = createSecurityWorker();
6320
+ break;
6321
+ case 'analysis':
6322
+ worker = createAnalysisWorker();
6323
+ break;
6324
+ case 'learning':
6325
+ worker = createLearningWorker();
6326
+ break;
6327
+ default:
6328
+ console.error(chalk.red(`Unknown worker type: ${type}`));
6329
+ console.log(chalk.dim('Available types: security, analysis, learning'));
6330
+ return;
6331
+ }
6332
+
6333
+ console.log(chalk.cyan(`\n🔧 Running native ${type} worker on ${opts.path}...\n`));
6334
+ const result = await worker.run(opts.path);
6335
+
6336
+ if (opts.json) {
6337
+ console.log(JSON.stringify(result, null, 2));
6338
+ } else {
6339
+ console.log(chalk.bold(`Worker: ${result.worker}`));
6340
+ console.log(chalk.dim(`Status: ${result.success ? chalk.green('✓ Success') : chalk.red('✗ Failed')}`));
6341
+ console.log(chalk.dim(`Time: ${result.totalTimeMs.toFixed(0)}ms\n`));
6342
+
6343
+ console.log(chalk.bold('Phases:'));
6344
+ for (const phase of result.phases) {
6345
+ const status = phase.success ? chalk.green('✓') : chalk.red('✗');
6346
+ console.log(` ${status} ${phase.phase} (${phase.timeMs.toFixed(0)}ms)`);
6347
+ if (phase.data) {
6348
+ const dataStr = JSON.stringify(phase.data);
6349
+ if (dataStr.length < 100) {
6350
+ console.log(chalk.dim(` ${dataStr}`));
6351
+ }
6352
+ }
6353
+ }
6354
+
6355
+ if (result.summary) {
6356
+ console.log(chalk.bold('\nSummary:'));
6357
+ console.log(` Files analyzed: ${result.summary.filesAnalyzed}`);
6358
+ console.log(` Patterns found: ${result.summary.patternsFound}`);
6359
+ console.log(` Embeddings: ${result.summary.embeddingsGenerated}`);
6360
+ console.log(` Vectors stored: ${result.summary.vectorsStored}`);
6361
+
6362
+ if (result.summary.findings.length > 0) {
6363
+ console.log(chalk.bold('\nFindings:'));
6364
+ const byType = { info: 0, warning: 0, error: 0, security: 0 };
6365
+ result.summary.findings.forEach(f => byType[f.type]++);
6366
+ if (byType.security > 0) console.log(chalk.red(` 🔒 Security: ${byType.security}`));
6367
+ if (byType.error > 0) console.log(chalk.red(` ❌ Errors: ${byType.error}`));
6368
+ if (byType.warning > 0) console.log(chalk.yellow(` ⚠️ Warnings: ${byType.warning}`));
6369
+ if (byType.info > 0) console.log(chalk.blue(` ℹ️ Info: ${byType.info}`));
6370
+
6371
+ // Show top findings
6372
+ console.log(chalk.dim('\nTop findings:'));
6373
+ result.summary.findings.slice(0, 5).forEach(f => {
6374
+ const icon = f.type === 'security' ? '🔒' : f.type === 'warning' ? '⚠️' : 'ℹ️';
6375
+ console.log(chalk.dim(` ${icon} ${f.message.slice(0, 60)}${f.file ? ` (${path.basename(f.file)})` : ''}`));
6376
+ });
6377
+ }
6378
+ }
6379
+ }
6380
+ } catch (e) {
6381
+ console.error(chalk.red('Native worker failed:'), e.message);
6382
+ if (e.stack) console.error(chalk.dim(e.stack));
6383
+ }
6384
+ });
6385
+
6386
+ nativeCmd.command('benchmark')
6387
+ .description('Run performance benchmark suite')
6388
+ .option('--path <path>', 'Target path for worker benchmarks', '.')
6389
+ .option('--embeddings-only', 'Only benchmark embeddings')
6390
+ .option('--workers-only', 'Only benchmark workers')
6391
+ .action(async (opts) => {
6392
+ try {
6393
+ const benchmark = require('../dist/workers/benchmark.js');
6394
+
6395
+ if (opts.embeddingsOnly) {
6396
+ console.log(chalk.cyan('\n📊 Benchmarking ONNX Embeddings...\n'));
6397
+ const results = await benchmark.benchmarkEmbeddings(10);
6398
+ console.log(benchmark.formatBenchmarkResults(results));
6399
+ } else if (opts.workersOnly) {
6400
+ console.log(chalk.cyan('\n🔧 Benchmarking Native Workers...\n'));
6401
+ const results = await benchmark.benchmarkWorkers(opts.path);
6402
+ console.log(benchmark.formatBenchmarkResults(results));
6403
+ } else {
6404
+ await benchmark.runFullBenchmark(opts.path);
6405
+ }
6406
+ } catch (e) {
6407
+ console.error(chalk.red('Benchmark failed:'), e.message);
6408
+ if (e.stack) console.error(chalk.dim(e.stack));
6409
+ }
6410
+ });
6411
+
6412
+ nativeCmd.command('list')
6413
+ .description('List available native worker types')
6414
+ .action(() => {
6415
+ console.log(chalk.cyan('\n🔧 Native Worker Types\n'));
6416
+ console.log(chalk.bold('security'));
6417
+ console.log(chalk.dim(' Security vulnerability scanner'));
6418
+ console.log(chalk.dim(' Phases: file-discovery → security-scan → summarization'));
6419
+ console.log(chalk.dim(' No ONNX/VectorDB required\n'));
6420
+
6421
+ console.log(chalk.bold('analysis'));
6422
+ console.log(chalk.dim(' Full code analysis with embeddings'));
6423
+ console.log(chalk.dim(' Phases: file-discovery → pattern-extraction → embedding-generation'));
6424
+ console.log(chalk.dim(' → vector-storage → complexity-analysis → summarization'));
6425
+ console.log(chalk.dim(' Requires: ONNX embedder, VectorDB\n'));
6426
+
6427
+ console.log(chalk.bold('learning'));
6428
+ console.log(chalk.dim(' Pattern learning with vector storage'));
6429
+ console.log(chalk.dim(' Phases: file-discovery → pattern-extraction → embedding-generation'));
6430
+ console.log(chalk.dim(' → vector-storage → summarization'));
6431
+ console.log(chalk.dim(' Requires: ONNX embedder, VectorDB, Intelligence memory\n'));
6432
+
6433
+ console.log(chalk.bold('Available Phases:'));
6434
+ const phases = [
6435
+ 'file-discovery', 'pattern-extraction', 'embedding-generation',
6436
+ 'vector-storage', 'similarity-search', 'security-scan',
6437
+ 'complexity-analysis', 'summarization'
6438
+ ];
6439
+ phases.forEach(p => console.log(chalk.dim(` • ${p}`)));
6440
+ });
6441
+
6442
+ nativeCmd.command('compare')
6443
+ .description('Compare ruvector native vs agentic-flow workers')
6444
+ .option('--path <path>', 'Target path for benchmarks', '.')
6445
+ .option('--iterations <n>', 'Number of iterations', '5')
6446
+ .action(async (opts) => {
6447
+ const iterations = parseInt(opts.iterations) || 5;
6448
+ console.log(chalk.cyan('\n╔════════════════════════════════════════════════════════════════╗'));
6449
+ console.log(chalk.cyan('║ Worker System Comparison Benchmark ║'));
6450
+ console.log(chalk.cyan('╚════════════════════════════════════════════════════════════════╝\n'));
6451
+
6452
+ try {
6453
+ const { performance } = require('perf_hooks');
6454
+ const benchmark = require('../dist/workers/benchmark.js');
6455
+ const { createSecurityWorker, createAnalysisWorker } = require('../dist/workers/native-worker.js');
6456
+
6457
+ // Test 1: Native Security Worker
6458
+ console.log(chalk.yellow('1. Native Security Worker'));
6459
+ const securityTimes = [];
6460
+ const securityWorker = createSecurityWorker();
6461
+ for (let i = 0; i < iterations; i++) {
6462
+ const start = performance.now();
6463
+ await securityWorker.run(opts.path);
6464
+ securityTimes.push(performance.now() - start);
6465
+ }
6466
+ const secAvg = securityTimes.reduce((a, b) => a + b) / securityTimes.length;
6467
+ console.log(chalk.dim(` Avg: ${secAvg.toFixed(1)}ms (${iterations} runs)`));
6468
+
6469
+ // Test 2: Native Analysis Worker
6470
+ console.log(chalk.yellow('\n2. Native Analysis Worker (ONNX + VectorDB)'));
6471
+ const analysisTimes = [];
6472
+ const analysisWorker = createAnalysisWorker();
6473
+ for (let i = 0; i < Math.min(iterations, 3); i++) {
6474
+ const start = performance.now();
6475
+ await analysisWorker.run(opts.path);
6476
+ analysisTimes.push(performance.now() - start);
6477
+ }
6478
+ const anaAvg = analysisTimes.reduce((a, b) => a + b) / analysisTimes.length;
6479
+ console.log(chalk.dim(` Avg: ${anaAvg.toFixed(1)}ms (${Math.min(iterations, 3)} runs)`));
6480
+
6481
+ // Test 3: agentic-flow workers (if available)
6482
+ let agenticAvailable = false;
6483
+ let agenticSecAvg = 0;
6484
+ let agenticAnaAvg = 0;
6485
+ try {
6486
+ const agentic = require('agentic-flow');
6487
+ agenticAvailable = true;
6488
+
6489
+ console.log(chalk.yellow('\n3. agentic-flow Security Worker'));
6490
+ // Note: Would need actual agentic-flow integration here
6491
+ console.log(chalk.dim(' (Integration pending - use agentic-flow CLI directly)'));
6492
+
6493
+ } catch (e) {
6494
+ console.log(chalk.yellow('\n3. agentic-flow Workers'));
6495
+ console.log(chalk.dim(' Not installed (npm i agentic-flow@alpha)'));
6496
+ }
6497
+
6498
+ // Summary
6499
+ console.log(chalk.cyan('\n═══════════════════════════════════════════════════════════════'));
6500
+ console.log(chalk.bold('Summary'));
6501
+ console.log(chalk.cyan('═══════════════════════════════════════════════════════════════'));
6502
+ console.log(chalk.white('\nNative RuVector Workers:'));
6503
+ console.log(chalk.dim(` Security scan: ${secAvg.toFixed(1)}ms avg`));
6504
+ console.log(chalk.dim(` Full analysis: ${anaAvg.toFixed(1)}ms avg`));
6505
+
6506
+ if (agenticAvailable) {
6507
+ console.log(chalk.white('\nagentic-flow Workers:'));
6508
+ console.log(chalk.dim(' Security scan: (run: agentic-flow workers native security)'));
6509
+ console.log(chalk.dim(' Full analysis: (run: agentic-flow workers native analysis)'));
6510
+ }
6511
+
6512
+ console.log(chalk.white('\nArchitecture Benefits:'));
6513
+ console.log(chalk.dim(' • Shared ONNX model cache (memory efficient)'));
6514
+ console.log(chalk.dim(' • 7 native phases with deep integration'));
6515
+ console.log(chalk.dim(' • SIMD-accelerated WASM embeddings'));
6516
+ console.log(chalk.dim(' • HNSW vector indexing (150x faster search)'));
6517
+ console.log('');
6518
+ } catch (e) {
6519
+ console.error(chalk.red('Comparison failed:'), e.message);
6520
+ if (opts.verbose) console.error(chalk.dim(e.stack));
6521
+ }
6522
+ });
6523
+
6215
6524
  // MCP Server command
6216
6525
  const mcpCmd = program.command('mcp').description('MCP (Model Context Protocol) server for Claude Code integration');
6217
6526
 
@@ -47,6 +47,7 @@ export interface LearningStats {
47
47
  routingPatterns: number;
48
48
  errorPatterns: number;
49
49
  coEditPatterns: number;
50
+ workerTriggers: number;
50
51
  attentionEnabled: boolean;
51
52
  onnxEnabled: boolean;
52
53
  parallelEnabled: boolean;
@@ -96,6 +97,7 @@ export declare class IntelligenceEngine {
96
97
  private errorPatterns;
97
98
  private coEditPatterns;
98
99
  private agentMappings;
100
+ private workerTriggerMappings;
99
101
  private currentTrajectoryId;
100
102
  private sessionStart;
101
103
  private learningEnabled;
@@ -171,6 +173,25 @@ export declare class IntelligenceEngine {
171
173
  * Learn from similar past episodes
172
174
  */
173
175
  learnFromSimilar(state: string, k?: number): Promise<EpisodeSearchResult[]>;
176
+ /**
177
+ * Register worker trigger to agent mappings
178
+ */
179
+ registerWorkerTrigger(trigger: string, priority: string, agents: string[]): void;
180
+ /**
181
+ * Get agents for a worker trigger
182
+ */
183
+ getAgentsForTrigger(trigger: string): {
184
+ priority: string;
185
+ agents: string[];
186
+ } | undefined;
187
+ /**
188
+ * Route a task using worker trigger patterns first, then fall back to regular routing
189
+ */
190
+ routeWithWorkers(task: string, file?: string): Promise<AgentRoute>;
191
+ /**
192
+ * Initialize default worker trigger mappings
193
+ */
194
+ initDefaultWorkerMappings(): void;
174
195
  /**
175
196
  * Record a co-edit pattern
176
197
  */
@@ -1 +1 @@
1
- {"version":3,"file":"intelligence-engine.d.ts","sourceRoot":"","sources":["../../src/core/intelligence-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intelligence-engine.d.ts","sourceRoot":"","sources":["../../src/core/intelligence-engine.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,7 @@ class IntelligenceEngine {
83
83
  this.errorPatterns = new Map(); // error -> fixes
84
84
  this.coEditPatterns = new Map(); // file -> related files -> count
85
85
  this.agentMappings = new Map(); // extension/dir -> agent
86
+ this.workerTriggerMappings = new Map(); // trigger -> agents
86
87
  // Runtime state
87
88
  this.currentTrajectoryId = null;
88
89
  this.sessionStart = Date.now();
@@ -632,6 +633,66 @@ class IntelligenceEngine {
632
633
  return this.agentDb.searchByState(stateEmbed, k);
633
634
  }
634
635
  // =========================================================================
636
+ // Worker-Agent Mappings
637
+ // =========================================================================
638
+ /**
639
+ * Register worker trigger to agent mappings
640
+ */
641
+ registerWorkerTrigger(trigger, priority, agents) {
642
+ this.workerTriggerMappings.set(trigger, { priority, agents });
643
+ }
644
+ /**
645
+ * Get agents for a worker trigger
646
+ */
647
+ getAgentsForTrigger(trigger) {
648
+ return this.workerTriggerMappings.get(trigger);
649
+ }
650
+ /**
651
+ * Route a task using worker trigger patterns first, then fall back to regular routing
652
+ */
653
+ async routeWithWorkers(task, file) {
654
+ // Check if task matches any worker trigger patterns
655
+ const taskLower = task.toLowerCase();
656
+ for (const [trigger, config] of this.workerTriggerMappings) {
657
+ if (taskLower.includes(trigger)) {
658
+ const primaryAgent = config.agents[0] || 'coder';
659
+ const alternates = config.agents.slice(1).map(a => ({ agent: a, confidence: 0.7 }));
660
+ return {
661
+ agent: primaryAgent,
662
+ confidence: config.priority === 'critical' ? 0.95 :
663
+ config.priority === 'high' ? 0.85 :
664
+ config.priority === 'medium' ? 0.75 : 0.65,
665
+ reason: `worker trigger: ${trigger}`,
666
+ alternates,
667
+ };
668
+ }
669
+ }
670
+ // Fall back to regular routing
671
+ return this.route(task, file);
672
+ }
673
+ /**
674
+ * Initialize default worker trigger mappings
675
+ */
676
+ initDefaultWorkerMappings() {
677
+ const defaults = [
678
+ ['ultralearn', 'high', ['researcher', 'coder']],
679
+ ['optimize', 'high', ['performance-analyzer']],
680
+ ['audit', 'critical', ['security-analyst', 'tester']],
681
+ ['map', 'medium', ['architect']],
682
+ ['security', 'critical', ['security-analyst']],
683
+ ['benchmark', 'low', ['performance-analyzer']],
684
+ ['document', 'medium', ['documenter']],
685
+ ['refactor', 'medium', ['coder', 'reviewer']],
686
+ ['testgaps', 'high', ['tester']],
687
+ ['deepdive', 'low', ['researcher']],
688
+ ['predict', 'medium', ['analyst']],
689
+ ['consolidate', 'low', ['architect']],
690
+ ];
691
+ for (const [trigger, priority, agents] of defaults) {
692
+ this.workerTriggerMappings.set(trigger, { priority, agents });
693
+ }
694
+ }
695
+ // =========================================================================
635
696
  // Co-edit Pattern Learning
636
697
  // =========================================================================
637
698
  /**
@@ -773,6 +834,7 @@ class IntelligenceEngine {
773
834
  routingPatterns: this.routingPatterns.size,
774
835
  errorPatterns: this.errorPatterns.size,
775
836
  coEditPatterns: this.coEditPatterns.size,
837
+ workerTriggers: this.workerTriggerMappings.size,
776
838
  attentionEnabled: this.attention !== null,
777
839
  onnxEnabled: this.onnxReady,
778
840
  parallelEnabled: parallelStats.enabled,
@@ -803,6 +865,7 @@ class IntelligenceEngine {
803
865
  Object.fromEntries(v),
804
866
  ])),
805
867
  agentMappings: Object.fromEntries(this.agentMappings),
868
+ workerTriggerMappings: Object.fromEntries(Array.from(this.workerTriggerMappings.entries()).map(([k, v]) => [k, v])),
806
869
  stats: this.getStats(),
807
870
  };
808
871
  }
@@ -874,6 +937,13 @@ class IntelligenceEngine {
874
937
  this.agentMappings.set(ext, agent);
875
938
  }
876
939
  }
940
+ // Import worker trigger mappings
941
+ if (data.workerTriggerMappings) {
942
+ for (const [trigger, config] of Object.entries(data.workerTriggerMappings)) {
943
+ const typedConfig = config;
944
+ this.workerTriggerMappings.set(trigger, typedConfig);
945
+ }
946
+ }
877
947
  }
878
948
  /**
879
949
  * Clear all data
@@ -884,6 +954,7 @@ class IntelligenceEngine {
884
954
  this.errorPatterns.clear();
885
955
  this.coEditPatterns.clear();
886
956
  this.agentMappings.clear();
957
+ this.workerTriggerMappings.clear();
887
958
  this.agentDb.clear();
888
959
  }
889
960
  // =========================================================================
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Worker Benchmark Suite for RuVector
3
+ *
4
+ * Measures performance of:
5
+ * - ONNX embedding generation (single vs batch)
6
+ * - Vector storage and search
7
+ * - Phase execution times
8
+ * - Worker end-to-end throughput
9
+ */
10
+ import { BenchmarkResult } from './types';
11
+ /**
12
+ * Benchmark ONNX embedding generation
13
+ */
14
+ export declare function benchmarkEmbeddings(iterations?: number): Promise<BenchmarkResult[]>;
15
+ /**
16
+ * Benchmark worker execution
17
+ */
18
+ export declare function benchmarkWorkers(targetPath?: string): Promise<BenchmarkResult[]>;
19
+ /**
20
+ * Benchmark individual phases
21
+ */
22
+ export declare function benchmarkPhases(targetPath?: string): Promise<BenchmarkResult[]>;
23
+ /**
24
+ * Format benchmark results as table
25
+ */
26
+ export declare function formatBenchmarkResults(results: BenchmarkResult[]): string;
27
+ /**
28
+ * Run full benchmark suite
29
+ */
30
+ export declare function runFullBenchmark(targetPath?: string): Promise<{
31
+ embeddings: BenchmarkResult[];
32
+ phases: BenchmarkResult[];
33
+ workers: BenchmarkResult[];
34
+ summary: string;
35
+ }>;
36
+ declare const _default: {
37
+ benchmarkEmbeddings: typeof benchmarkEmbeddings;
38
+ benchmarkWorkers: typeof benchmarkWorkers;
39
+ benchmarkPhases: typeof benchmarkPhases;
40
+ runFullBenchmark: typeof runFullBenchmark;
41
+ formatBenchmarkResults: typeof formatBenchmarkResults;
42
+ };
43
+ export default _default;
44
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/workers/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA4C1C;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwE7F;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA4B3F;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAsD1F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CAwBzE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC;IACxE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAyCD;;;;;;;;AAED,wBAME"}