agentic-qe 2.5.8 → 2.5.10

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 (60) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/README.md +2 -2
  3. package/dist/agents/BaseAgent.d.ts +211 -7
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +455 -7
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/agents/CoverageAnalyzerAgent.d.ts +20 -23
  8. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  9. package/dist/agents/CoverageAnalyzerAgent.js +95 -145
  10. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  11. package/dist/agents/FlakyTestHunterAgent.d.ts +15 -0
  12. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  13. package/dist/agents/FlakyTestHunterAgent.js +93 -0
  14. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  15. package/dist/agents/QualityAnalyzerAgent.d.ts +2 -2
  16. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  17. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  18. package/dist/agents/QualityGateAgent.d.ts +35 -18
  19. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  20. package/dist/agents/QualityGateAgent.js +72 -97
  21. package/dist/agents/QualityGateAgent.js.map +1 -1
  22. package/dist/agents/SecurityScannerAgent.d.ts +19 -0
  23. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  24. package/dist/agents/SecurityScannerAgent.js +137 -0
  25. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  26. package/dist/agents/index.d.ts.map +1 -1
  27. package/dist/agents/index.js +17 -4
  28. package/dist/agents/index.js.map +1 -1
  29. package/dist/cli/commands/ruvector/index.d.ts +13 -0
  30. package/dist/cli/commands/ruvector/index.d.ts.map +1 -0
  31. package/dist/cli/commands/ruvector/index.js +308 -0
  32. package/dist/cli/commands/ruvector/index.js.map +1 -0
  33. package/dist/cli/index.js +5 -0
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/init/index.d.ts.map +1 -1
  36. package/dist/cli/init/index.js +11 -0
  37. package/dist/cli/init/index.js.map +1 -1
  38. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  39. package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
  40. package/dist/mcp/server-instructions.d.ts +1 -1
  41. package/dist/mcp/server-instructions.d.ts.map +1 -1
  42. package/dist/mcp/server-instructions.js +1 -1
  43. package/dist/mcp/server-instructions.js.map +1 -1
  44. package/dist/mcp/tools.d.ts +6 -0
  45. package/dist/mcp/tools.d.ts.map +1 -1
  46. package/dist/mcp/tools.js +121 -0
  47. package/dist/mcp/tools.js.map +1 -1
  48. package/dist/memory/RuVectorPatternStore.d.ts +258 -0
  49. package/dist/memory/RuVectorPatternStore.d.ts.map +1 -0
  50. package/dist/memory/RuVectorPatternStore.js +525 -0
  51. package/dist/memory/RuVectorPatternStore.js.map +1 -0
  52. package/dist/providers/RuVectorPostgresAdapter.d.ts +134 -0
  53. package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -0
  54. package/dist/providers/RuVectorPostgresAdapter.js +504 -0
  55. package/dist/providers/RuVectorPostgresAdapter.js.map +1 -0
  56. package/dist/providers/index.d.ts +2 -0
  57. package/dist/providers/index.d.ts.map +1 -1
  58. package/dist/providers/index.js +7 -1
  59. package/dist/providers/index.js.map +1 -1
  60. package/package.json +4 -2
@@ -7,20 +7,18 @@
7
7
  * - LearningEngine for Q-learning and pattern discovery
8
8
  * - ExperienceCapture for Nightly-Learner integration
9
9
  * - Pattern caching for confidence boosting
10
+ *
11
+ * Phase 0.5 (v2.5.9) - Migrated to BaseAgent for RuVector integration
10
12
  */
11
13
  Object.defineProperty(exports, "__esModule", { value: true });
12
14
  exports.QualityGateAgent = void 0;
13
- const events_1 = require("events");
14
15
  const SecureRandom_js_1 = require("../utils/SecureRandom.js");
15
- const types_1 = require("../types");
16
- const LearningEngine_1 = require("../learning/LearningEngine");
17
- const PerformanceTracker_1 = require("../learning/PerformanceTracker");
16
+ const BaseAgent_1 = require("./BaseAgent");
18
17
  const ExperienceCapture_1 = require("../learning/capture/ExperienceCapture");
19
18
  const Logger_1 = require("../utils/Logger");
20
- class QualityGateAgent extends events_1.EventEmitter {
21
- constructor(id, memoryStore) {
22
- super();
23
- this.status = types_1.AgentStatus.INITIALIZING;
19
+ class QualityGateAgent extends BaseAgent_1.BaseAgent {
20
+ constructor(config) {
21
+ super(config);
24
22
  // Cached patterns for confidence boosting
25
23
  this.cachedPatterns = [];
26
24
  this.historicalDecisionAccuracy = 0.5;
@@ -32,99 +30,79 @@ class QualityGateAgent extends events_1.EventEmitter {
32
30
  { name: 'performance_regression', threshold: 0.10, weight: 0.15, type: 'maximum_threshold', critical: false },
33
31
  { name: 'code_quality_score', threshold: 0.80, weight: 0.10, type: 'minimum_threshold', critical: false }
34
32
  ];
35
- this.id = id;
36
- this.memoryStore = memoryStore;
37
- this.logger = Logger_1.Logger.getInstance();
33
+ this.qualityGateLogger = Logger_1.Logger.getInstance();
38
34
  this.decisionEngine = new DecisionEngine();
39
35
  this.consciousnessEngine = new ConsciousnessEngine();
40
36
  this.psychoSymbolicReasoner = new PsychoSymbolicReasoner();
41
37
  this.riskAnalyzer = new RiskAnalyzer();
42
- // Initialize learning components if memoryStore is SwarmMemoryManager
43
- this.initializeLearning();
44
38
  }
45
39
  /**
46
- * Initialize learning components if SwarmMemoryManager is available
40
+ * Get string representation of agent ID (handles AgentId object or string)
47
41
  */
48
- initializeLearning() {
49
- if (this.memoryStore) {
50
- const agentIdStr = typeof this.id === 'string' ? this.id : this.id.id;
51
- const memoryManager = this.memoryStore;
52
- // Check if it's actually a SwarmMemoryManager
53
- if (typeof memoryManager.storePattern === 'function') {
54
- this.learningEngine = new LearningEngine_1.LearningEngine(agentIdStr, memoryManager);
55
- this.performanceTracker = new PerformanceTracker_1.PerformanceTracker(agentIdStr, memoryManager);
56
- this.logger.info(`[QualityGate] Learning components initialized`);
57
- }
58
- else {
59
- this.logger.warn(`[QualityGate] memoryStore is not SwarmMemoryManager, learning disabled`);
60
- }
61
- }
42
+ getAgentIdStr() {
43
+ const agentId = super.getAgentId();
44
+ return typeof agentId === 'string' ? agentId : agentId.id;
62
45
  }
63
46
  // ============================================================================
64
- // Agent Lifecycle
47
+ // BaseAgent Abstract Method Implementations
65
48
  // ============================================================================
66
- async initialize() {
67
- try {
68
- this.status = types_1.AgentStatus.INITIALIZING;
69
- // Initialize decision engines
70
- await this.decisionEngine.initialize();
71
- await this.consciousnessEngine.initialize();
72
- await this.psychoSymbolicReasoner.initialize();
73
- await this.riskAnalyzer.initialize();
74
- // Initialize learning components
75
- if (this.learningEngine) {
76
- await this.learningEngine.initialize();
77
- }
78
- if (this.performanceTracker) {
79
- await this.performanceTracker.initialize();
80
- }
81
- // Initialize ExperienceCapture for Nightly-Learner integration
82
- this.experienceCapture = await ExperienceCapture_1.ExperienceCapture.getSharedInstance();
83
- this.logger.info('[QualityGate] ExperienceCapture initialized for Nightly-Learner');
84
- // Load historical decision patterns
85
- await this.loadDecisionPatterns();
86
- // Load and cache patterns for confidence boosting
87
- await this.loadAndCachePatternsForConfidence();
88
- // Store initialization state
89
- if (this.memoryStore) {
90
- await this.memoryStore.set('quality-gate-initialized', true, 'agents');
91
- }
92
- this.status = types_1.AgentStatus.IDLE;
93
- this.emit('agent.initialized', { agentId: this.id });
94
- this.logger.info(`[QualityGate] Initialized with learning: ${!!this.learningEngine}, patterns cached: ${this.cachedPatterns.length}`);
95
- }
96
- catch (error) {
97
- this.status = types_1.AgentStatus.ERROR;
98
- this.emit('agent.error', { agentId: this.id, error });
99
- throw error;
100
- }
49
+ /**
50
+ * Initialize agent-specific components
51
+ * Called by BaseAgent.initialize()
52
+ */
53
+ async initializeComponents() {
54
+ // Initialize decision engines
55
+ await this.decisionEngine.initialize();
56
+ await this.consciousnessEngine.initialize();
57
+ await this.psychoSymbolicReasoner.initialize();
58
+ await this.riskAnalyzer.initialize();
59
+ // Initialize ExperienceCapture for Nightly-Learner integration
60
+ this.experienceCapture = await ExperienceCapture_1.ExperienceCapture.getSharedInstance();
61
+ this.qualityGateLogger.info('[QualityGate] ExperienceCapture initialized for Nightly-Learner');
62
+ // Load historical decision patterns
63
+ await this.loadDecisionPatterns();
64
+ // Load and cache patterns for confidence boosting
65
+ await this.loadAndCachePatternsForConfidence();
66
+ // Store initialization state
67
+ const memoryStore = this.memoryStore;
68
+ if (memoryStore) {
69
+ await memoryStore.set('quality-gate-initialized', true, 'agents');
70
+ }
71
+ this.qualityGateLogger.info(`[QualityGate] Initialized with learning: ${!!this.learningEngine}, patterns cached: ${this.cachedPatterns.length}`);
101
72
  }
102
- async executeTask(task) {
73
+ /**
74
+ * Execute a QE task - implements BaseAgent abstract method
75
+ */
76
+ async performTask(task) {
77
+ // Task payload contains the QualityGateRequest
103
78
  const request = task.payload;
104
79
  return await this.evaluateQualityGate(request);
105
80
  }
106
- async terminate() {
107
- try {
108
- this.status = types_1.AgentStatus.STOPPING;
109
- // Save learned decision patterns
110
- await this.saveDecisionPatterns();
111
- // Cleanup resources
112
- await this.decisionEngine.cleanup();
113
- await this.consciousnessEngine.cleanup();
114
- await this.psychoSymbolicReasoner.cleanup();
115
- await this.riskAnalyzer.cleanup();
116
- this.status = types_1.AgentStatus.STOPPED;
117
- this.emit('agent.terminated', { agentId: this.id });
118
- }
119
- catch (error) {
120
- this.status = types_1.AgentStatus.ERROR;
121
- throw error;
122
- }
81
+ /**
82
+ * Load knowledge/patterns - implements BaseAgent abstract method
83
+ */
84
+ async loadKnowledge() {
85
+ await this.loadDecisionPatterns();
86
+ await this.loadAndCachePatternsForConfidence();
87
+ }
88
+ /**
89
+ * Cleanup agent resources - implements BaseAgent abstract method
90
+ */
91
+ async cleanup() {
92
+ // Save learned decision patterns
93
+ await this.saveDecisionPatterns();
94
+ // Cleanup resources
95
+ await this.decisionEngine.cleanup();
96
+ await this.consciousnessEngine.cleanup();
97
+ await this.psychoSymbolicReasoner.cleanup();
98
+ await this.riskAnalyzer.cleanup();
123
99
  }
124
- getStatus() {
100
+ /**
101
+ * Get quality gate specific status
102
+ */
103
+ getQualityGateStatus() {
125
104
  return {
126
- agentId: this.id,
127
- status: this.status,
105
+ agentId: this.getAgentIdStr(),
128
106
  capabilities: ['quality-evaluation', 'risk-analysis', 'decision-making'],
129
107
  performance: {
130
108
  decisionsEvaluated: this.decisionEngine.getDecisionCount(),
@@ -143,7 +121,6 @@ class QualityGateAgent extends events_1.EventEmitter {
143
121
  async evaluateQualityGate(request) {
144
122
  const startTime = Date.now();
145
123
  try {
146
- this.status = types_1.AgentStatus.ACTIVE;
147
124
  // Provide default context if missing
148
125
  const context = request.context || {
149
126
  deploymentTarget: 'development',
@@ -272,11 +249,9 @@ class QualityGateAgent extends events_1.EventEmitter {
272
249
  }
273
250
  // Capture experience for Nightly-Learner
274
251
  await this.captureExperienceForLearning(request, gateDecision, executionTime, true);
275
- this.status = types_1.AgentStatus.IDLE;
276
252
  return gateDecision;
277
253
  }
278
254
  catch (error) {
279
- this.status = types_1.AgentStatus.ERROR;
280
255
  // Capture failed experience
281
256
  await this.captureExperienceForLearning(request, null, Date.now() - startTime, false, error);
282
257
  throw error;
@@ -583,7 +558,7 @@ class QualityGateAgent extends events_1.EventEmitter {
583
558
  confidence: p.confidence,
584
559
  successRate: p.successRate
585
560
  }));
586
- this.logger.info(`[QualityGate] Cached ${this.cachedPatterns.length} patterns from LearningEngine`);
561
+ this.qualityGateLogger.info(`[QualityGate] Cached ${this.cachedPatterns.length} patterns from LearningEngine`);
587
562
  }
588
563
  // Also load from memoryStore if available
589
564
  if (this.memoryStore) {
@@ -592,7 +567,7 @@ class QualityGateAgent extends events_1.EventEmitter {
592
567
  const dbPatterns = await smm.queryPatternsByConfidence(0.5); // High confidence only
593
568
  const qualityPatterns = dbPatterns.filter((p) => p.pattern?.includes('quality-gate') || p.metadata?.agent_type === 'quality-gate');
594
569
  if (qualityPatterns.length > 0) {
595
- this.logger.info(`[QualityGate] Found ${qualityPatterns.length} historical quality gate patterns in DB`);
570
+ this.qualityGateLogger.info(`[QualityGate] Found ${qualityPatterns.length} historical quality gate patterns in DB`);
596
571
  // Merge with existing patterns
597
572
  for (const p of qualityPatterns) {
598
573
  if (!this.cachedPatterns.find(cp => cp.pattern === p.pattern)) {
@@ -611,10 +586,10 @@ class QualityGateAgent extends events_1.EventEmitter {
611
586
  const totalSuccessRate = this.cachedPatterns.reduce((sum, p) => sum + p.successRate, 0);
612
587
  this.historicalDecisionAccuracy = totalSuccessRate / this.cachedPatterns.length;
613
588
  }
614
- this.logger.info(`[QualityGate] Total cached patterns: ${this.cachedPatterns.length}, historical accuracy: ${(this.historicalDecisionAccuracy * 100).toFixed(1)}%`);
589
+ this.qualityGateLogger.info(`[QualityGate] Total cached patterns: ${this.cachedPatterns.length}, historical accuracy: ${(this.historicalDecisionAccuracy * 100).toFixed(1)}%`);
615
590
  }
616
591
  catch (error) {
617
- this.logger.warn('[QualityGate] Failed to load patterns for confidence', error);
592
+ this.qualityGateLogger.warn('[QualityGate] Failed to load patterns for confidence', error);
618
593
  }
619
594
  }
620
595
  /**
@@ -634,7 +609,7 @@ class QualityGateAgent extends events_1.EventEmitter {
634
609
  const totalWeight = relevantPatterns.reduce((sum, p) => sum + p.successRate, 0);
635
610
  const weightedConfidence = relevantPatterns.reduce((sum, p) => sum + p.confidence * p.successRate, 0);
636
611
  const boost = totalWeight > 0 ? (weightedConfidence / totalWeight) * 0.25 : 0; // Max 25% boost
637
- this.logger.debug(`[QualityGate] Confidence boost from ${relevantPatterns.length} patterns: ${(boost * 100).toFixed(1)}%`);
612
+ this.qualityGateLogger.debug(`[QualityGate] Confidence boost from ${relevantPatterns.length} patterns: ${(boost * 100).toFixed(1)}%`);
638
613
  return boost;
639
614
  }
640
615
  /**
@@ -646,8 +621,8 @@ class QualityGateAgent extends events_1.EventEmitter {
646
621
  return; // ExperienceCapture not initialized
647
622
  }
648
623
  try {
649
- const agentIdStr = typeof this.id === 'string' ? this.id : this.id.id;
650
- const agentType = typeof this.id === 'object' && 'type' in this.id ? this.id.type : 'quality-gate';
624
+ const agentIdStr = this.getAgentIdStr();
625
+ const agentType = 'quality-gate';
651
626
  const event = {
652
627
  agentId: agentIdStr,
653
628
  agentType: agentType,
@@ -683,12 +658,12 @@ class QualityGateAgent extends events_1.EventEmitter {
683
658
  timestamp: new Date()
684
659
  };
685
660
  await this.experienceCapture.captureExecution(event);
686
- this.logger.debug(`[QualityGate] Captured experience for Nightly-Learner: ${success ? 'success' : 'failure'}, decision: ${decision?.decision || 'N/A'}`);
661
+ this.qualityGateLogger.debug(`[QualityGate] Captured experience for Nightly-Learner: ${success ? 'success' : 'failure'}, decision: ${decision?.decision || 'N/A'}`);
687
662
  this.emit('experience:captured', { agentId: agentIdStr, success, duration });
688
663
  }
689
664
  catch (captureError) {
690
665
  // Don't fail the main operation if capture fails
691
- this.logger.warn('[QualityGate] Failed to capture experience:', captureError);
666
+ this.qualityGateLogger.warn('[QualityGate] Failed to capture experience:', captureError);
692
667
  }
693
668
  }
694
669
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"QualityGateAgent.js","sourceRoot":"","sources":["../../src/agents/QualityGateAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QualityGateAgent.js","sourceRoot":"","sources":["../../src/agents/QualityGateAgent.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,7 @@ export declare class SecurityScannerAgent extends BaseAgent {
92
92
  private scanHistory;
93
93
  private baselineFindings;
94
94
  private realScanner;
95
+ private patternStoreEnabled;
95
96
  constructor(config: SecurityScannerConfig);
96
97
  /**
97
98
  * Pre-task hook - Load security scan history
@@ -148,5 +149,23 @@ export declare class SecurityScannerAgent extends BaseAgent {
148
149
  * Provides rich security scanning metrics for pattern learning
149
150
  */
150
151
  protected extractTaskMetrics(result: any): Record<string, number>;
152
+ /**
153
+ * Store security vulnerability patterns for self-learning
154
+ * Enables pattern recognition and reuse across scanning sessions
155
+ */
156
+ private storeSecurityPatterns;
157
+ /**
158
+ * Generate embedding for security vulnerability pattern
159
+ * Uses vulnerability characteristics for similarity matching
160
+ */
161
+ private generateSecurityPatternEmbedding;
162
+ /**
163
+ * Get numeric weight for severity level
164
+ */
165
+ private getSeverityWeight;
166
+ /**
167
+ * Simple hash function for pattern strings
168
+ */
169
+ private hashString;
151
170
  }
152
171
  //# sourceMappingURL=SecurityScannerAgent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityScannerAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SecurityScannerAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecurityScannerAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SecurityScannerAgent.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,8 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
66
66
  this.cveDatabase = new Map();
67
67
  this.scanHistory = [];
68
68
  this.baselineFindings = new Map();
69
+ // Phase 0.5: Pattern store for self-learning vulnerability patterns
70
+ this.patternStoreEnabled = true;
69
71
  this.config = {
70
72
  tools: {
71
73
  sast: 'semgrep',
@@ -127,6 +129,11 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
127
129
  success: data.result?.success !== false,
128
130
  vulnerabilitiesFound: data.result?.vulnerabilities?.length || 0
129
131
  }, 86400);
132
+ // Phase 0.5: Store vulnerability patterns for self-learning
133
+ const findings = data.result?.findings || data.result?.vulnerabilities || [];
134
+ if (this.patternStoreEnabled && findings.length > 0) {
135
+ await this.storeSecurityPatterns(findings);
136
+ }
130
137
  this.eventBus.emit(`${this.agentId.type}:completed`, {
131
138
  agentId: this.agentId,
132
139
  result: data.result,
@@ -798,6 +805,136 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
798
805
  }
799
806
  return metrics;
800
807
  }
808
+ // ============================================================================
809
+ // Phase 0.5: Pattern Store Integration for Self-Learning Security Patterns
810
+ // ============================================================================
811
+ /**
812
+ * Store security vulnerability patterns for self-learning
813
+ * Enables pattern recognition and reuse across scanning sessions
814
+ */
815
+ async storeSecurityPatterns(findings) {
816
+ if (!this.qePatternStore) {
817
+ return;
818
+ }
819
+ for (const finding of findings) {
820
+ try {
821
+ // Create pattern from security finding
822
+ const pattern = {
823
+ id: `vuln_${finding.id}_${Date.now()}`,
824
+ type: 'security-vulnerability',
825
+ domain: 'security-scanner',
826
+ embedding: this.generateSecurityPatternEmbedding(finding),
827
+ content: JSON.stringify({
828
+ title: finding.title,
829
+ description: finding.description,
830
+ type: finding.type,
831
+ severity: finding.severity,
832
+ cwe: finding.cwe,
833
+ cve: finding.cve,
834
+ cvss: finding.cvss,
835
+ remediation: finding.remediation,
836
+ location: finding.location
837
+ }),
838
+ framework: finding.type, // sast, dast, dependency, container
839
+ coverage: this.getSeverityWeight(finding.severity),
840
+ verdict: finding.remediation ? 'success' : 'failure',
841
+ createdAt: Date.now(),
842
+ lastUsed: Date.now(),
843
+ usageCount: 1,
844
+ metadata: {
845
+ scanType: finding.type,
846
+ severity: finding.severity,
847
+ cwe: finding.cwe || 'unknown',
848
+ cve: finding.cve || 'unknown',
849
+ cvss: finding.cvss || 0
850
+ }
851
+ };
852
+ await this.qePatternStore.storePattern(pattern);
853
+ console.log(`[SecurityScanner] Stored vulnerability pattern: ${finding.id}`);
854
+ }
855
+ catch (error) {
856
+ console.warn(`[SecurityScanner] Failed to store security pattern: ${error.message}`);
857
+ }
858
+ }
859
+ }
860
+ /**
861
+ * Generate embedding for security vulnerability pattern
862
+ * Uses vulnerability characteristics for similarity matching
863
+ */
864
+ generateSecurityPatternEmbedding(finding) {
865
+ // Generate 768-dim embedding based on vulnerability characteristics
866
+ const embedding = new Array(768).fill(0);
867
+ // Encode scan type (indices 0-49)
868
+ const scanTypes = ['sast', 'dast', 'dependency', 'container'];
869
+ const typeIdx = scanTypes.indexOf(finding.type);
870
+ if (typeIdx >= 0) {
871
+ embedding[typeIdx * 12] = 1.0;
872
+ }
873
+ // Encode severity (indices 50-99)
874
+ const severities = ['info', 'low', 'medium', 'high', 'critical'];
875
+ const severityIdx = severities.indexOf(finding.severity);
876
+ if (severityIdx >= 0) {
877
+ embedding[50 + severityIdx * 10] = 1.0;
878
+ // Also encode severity weight
879
+ embedding[50 + severityIdx * 10 + 1] = this.getSeverityWeight(finding.severity);
880
+ }
881
+ // Encode CWE category (indices 100-199)
882
+ if (finding.cwe) {
883
+ const cweNum = parseInt(finding.cwe.replace(/\D/g, '')) || 0;
884
+ embedding[100 + (cweNum % 100)] = 1.0;
885
+ }
886
+ // Encode CVSS score (indices 200-299)
887
+ if (finding.cvss) {
888
+ const cvssIdx = Math.floor(finding.cvss * 10); // 0-100 range
889
+ embedding[200 + cvssIdx] = finding.cvss / 10;
890
+ }
891
+ // Encode title hash (indices 300-499)
892
+ const titleHash = this.hashString(finding.title);
893
+ for (let i = 0; i < Math.min(titleHash.length, 200); i++) {
894
+ embedding[300 + i] = titleHash.charCodeAt(i) / 255;
895
+ }
896
+ // Encode location hash (indices 500-699)
897
+ const locationHash = this.hashString(finding.location);
898
+ for (let i = 0; i < Math.min(locationHash.length, 200); i++) {
899
+ embedding[500 + i] = locationHash.charCodeAt(i) / 255;
900
+ }
901
+ // Encode remediation availability (indices 700-767)
902
+ if (finding.remediation) {
903
+ embedding[700] = 1.0;
904
+ const remediationHash = this.hashString(finding.remediation);
905
+ for (let i = 0; i < Math.min(remediationHash.length, 67); i++) {
906
+ embedding[701 + i] = remediationHash.charCodeAt(i) / 255;
907
+ }
908
+ }
909
+ // Normalize embedding
910
+ const magnitude = Math.sqrt(embedding.reduce((sum, val) => sum + val * val, 0)) || 1;
911
+ return embedding.map(val => val / magnitude);
912
+ }
913
+ /**
914
+ * Get numeric weight for severity level
915
+ */
916
+ getSeverityWeight(severity) {
917
+ const weights = {
918
+ 'critical': 1.0,
919
+ 'high': 0.8,
920
+ 'medium': 0.5,
921
+ 'low': 0.25,
922
+ 'info': 0.1
923
+ };
924
+ return weights[severity] || 0.1;
925
+ }
926
+ /**
927
+ * Simple hash function for pattern strings
928
+ */
929
+ hashString(str) {
930
+ let hash = 0;
931
+ for (let i = 0; i < str.length; i++) {
932
+ const char = str.charCodeAt(i);
933
+ hash = ((hash << 5) - hash) + char;
934
+ hash = hash & hash;
935
+ }
936
+ return Math.abs(hash).toString(36);
937
+ }
801
938
  }
802
939
  exports.SecurityScannerAgent = SecurityScannerAgent;
803
940
  //# sourceMappingURL=SecurityScannerAgent.js.map