agentic-qe 2.6.0 → 2.6.2

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 (170) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/README.md +222 -159
  3. package/dist/agents/BaseAgent.d.ts +19 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +41 -1
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/agents/CodeIntelligenceAgent.d.ts +14 -0
  8. package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
  9. package/dist/agents/CodeIntelligenceAgent.js +66 -0
  10. package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
  11. package/dist/agents/CoverageAnalyzerAgent.d.ts +8 -0
  12. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  13. package/dist/agents/CoverageAnalyzerAgent.js +65 -1
  14. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  15. package/dist/agents/TestGeneratorAgent.d.ts +2 -2
  16. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  17. package/dist/agents/TestGeneratorAgent.js +16 -6
  18. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  19. package/dist/agents/adapters/AgentLLMAdapter.d.ts +127 -0
  20. package/dist/agents/adapters/AgentLLMAdapter.d.ts.map +1 -0
  21. package/dist/agents/adapters/AgentLLMAdapter.js +366 -0
  22. package/dist/agents/adapters/AgentLLMAdapter.js.map +1 -0
  23. package/dist/agents/adapters/index.d.ts +1 -0
  24. package/dist/agents/adapters/index.d.ts.map +1 -1
  25. package/dist/agents/adapters/index.js +5 -1
  26. package/dist/agents/adapters/index.js.map +1 -1
  27. package/dist/agents/interfaces/IAgentLLM.d.ts +257 -0
  28. package/dist/agents/interfaces/IAgentLLM.d.ts.map +1 -0
  29. package/dist/agents/interfaces/IAgentLLM.js +39 -0
  30. package/dist/agents/interfaces/IAgentLLM.js.map +1 -0
  31. package/dist/agents/interfaces/index.d.ts +10 -0
  32. package/dist/agents/interfaces/index.d.ts.map +1 -0
  33. package/dist/agents/interfaces/index.js +14 -0
  34. package/dist/agents/interfaces/index.js.map +1 -0
  35. package/dist/agents/n8n/N8nBaseAgent.d.ts +18 -0
  36. package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -1
  37. package/dist/agents/n8n/N8nBaseAgent.js +80 -0
  38. package/dist/agents/n8n/N8nBaseAgent.js.map +1 -1
  39. package/dist/agents/pool/AgentPool.d.ts +112 -0
  40. package/dist/agents/pool/AgentPool.d.ts.map +1 -0
  41. package/dist/agents/pool/AgentPool.js +573 -0
  42. package/dist/agents/pool/AgentPool.js.map +1 -0
  43. package/dist/agents/pool/QEAgentPoolFactory.d.ts +118 -0
  44. package/dist/agents/pool/QEAgentPoolFactory.d.ts.map +1 -0
  45. package/dist/agents/pool/QEAgentPoolFactory.js +251 -0
  46. package/dist/agents/pool/QEAgentPoolFactory.js.map +1 -0
  47. package/dist/agents/pool/index.d.ts +34 -0
  48. package/dist/agents/pool/index.d.ts.map +1 -0
  49. package/dist/agents/pool/index.js +44 -0
  50. package/dist/agents/pool/index.js.map +1 -0
  51. package/dist/agents/pool/types.d.ts +227 -0
  52. package/dist/agents/pool/types.d.ts.map +1 -0
  53. package/dist/agents/pool/types.js +28 -0
  54. package/dist/agents/pool/types.js.map +1 -0
  55. package/dist/cli/commands/providers.d.ts +50 -0
  56. package/dist/cli/commands/providers.d.ts.map +1 -0
  57. package/dist/cli/commands/providers.js +403 -0
  58. package/dist/cli/commands/providers.js.map +1 -0
  59. package/dist/cli/index.js +62 -0
  60. package/dist/cli/index.js.map +1 -1
  61. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
  62. package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
  63. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
  64. package/dist/config/ConfigLoader.d.ts +85 -0
  65. package/dist/config/ConfigLoader.d.ts.map +1 -0
  66. package/dist/config/ConfigLoader.js +420 -0
  67. package/dist/config/ConfigLoader.js.map +1 -0
  68. package/dist/config/ProviderConfig.d.ts +153 -0
  69. package/dist/config/ProviderConfig.d.ts.map +1 -0
  70. package/dist/config/ProviderConfig.js +155 -0
  71. package/dist/config/ProviderConfig.js.map +1 -0
  72. package/dist/config/index.d.ts +35 -0
  73. package/dist/config/index.d.ts.map +1 -0
  74. package/dist/config/index.js +45 -0
  75. package/dist/config/index.js.map +1 -0
  76. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  77. package/dist/mcp/handlers/agent-spawn.d.ts +71 -5
  78. package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
  79. package/dist/mcp/handlers/agent-spawn.js +336 -110
  80. package/dist/mcp/handlers/agent-spawn.js.map +1 -1
  81. package/dist/mcp/handlers/fleet-init.d.ts +24 -0
  82. package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
  83. package/dist/mcp/handlers/fleet-init.js +56 -4
  84. package/dist/mcp/handlers/fleet-init.js.map +1 -1
  85. package/dist/mcp/server-instructions.d.ts +1 -1
  86. package/dist/mcp/server-instructions.js +1 -1
  87. package/dist/mcp/server.d.ts +1 -0
  88. package/dist/mcp/server.d.ts.map +1 -1
  89. package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
  90. package/dist/memory/HNSWPatternStore.js +23 -0
  91. package/dist/memory/HNSWPatternStore.js.map +1 -1
  92. package/dist/memory/RuVectorPatternStore.d.ts +5 -0
  93. package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
  94. package/dist/memory/RuVectorPatternStore.js +11 -0
  95. package/dist/memory/RuVectorPatternStore.js.map +1 -1
  96. package/dist/plugins/BasePlugin.d.ts +111 -0
  97. package/dist/plugins/BasePlugin.d.ts.map +1 -0
  98. package/dist/plugins/BasePlugin.js +154 -0
  99. package/dist/plugins/BasePlugin.js.map +1 -0
  100. package/dist/plugins/PluginManager.d.ts +145 -0
  101. package/dist/plugins/PluginManager.d.ts.map +1 -0
  102. package/dist/plugins/PluginManager.js +862 -0
  103. package/dist/plugins/PluginManager.js.map +1 -0
  104. package/dist/plugins/adapters/McpToolsPlugin.d.ts +98 -0
  105. package/dist/plugins/adapters/McpToolsPlugin.d.ts.map +1 -0
  106. package/dist/plugins/adapters/McpToolsPlugin.js +518 -0
  107. package/dist/plugins/adapters/McpToolsPlugin.js.map +1 -0
  108. package/dist/plugins/adapters/PlaywrightPlugin.d.ts +63 -0
  109. package/dist/plugins/adapters/PlaywrightPlugin.d.ts.map +1 -0
  110. package/dist/plugins/adapters/PlaywrightPlugin.js +451 -0
  111. package/dist/plugins/adapters/PlaywrightPlugin.js.map +1 -0
  112. package/dist/plugins/adapters/VitestPlugin.d.ts +74 -0
  113. package/dist/plugins/adapters/VitestPlugin.d.ts.map +1 -0
  114. package/dist/plugins/adapters/VitestPlugin.js +589 -0
  115. package/dist/plugins/adapters/VitestPlugin.js.map +1 -0
  116. package/dist/plugins/adapters/index.d.ts +8 -0
  117. package/dist/plugins/adapters/index.d.ts.map +1 -0
  118. package/dist/plugins/adapters/index.js +17 -0
  119. package/dist/plugins/adapters/index.js.map +1 -0
  120. package/dist/plugins/index.d.ts +32 -0
  121. package/dist/plugins/index.d.ts.map +1 -0
  122. package/dist/plugins/index.js +48 -0
  123. package/dist/plugins/index.js.map +1 -0
  124. package/dist/plugins/types.d.ts +528 -0
  125. package/dist/plugins/types.d.ts.map +1 -0
  126. package/dist/plugins/types.js +61 -0
  127. package/dist/plugins/types.js.map +1 -0
  128. package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
  129. package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
  130. package/dist/providers/CostOptimizationStrategies.js +831 -0
  131. package/dist/providers/CostOptimizationStrategies.js.map +1 -0
  132. package/dist/providers/HybridRouter.d.ts +142 -5
  133. package/dist/providers/HybridRouter.d.ts.map +1 -1
  134. package/dist/providers/HybridRouter.js +472 -6
  135. package/dist/providers/HybridRouter.js.map +1 -1
  136. package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
  137. package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
  138. package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
  139. package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
  140. package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
  141. package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
  142. package/dist/providers/HybridRouterModelSelection.js +420 -0
  143. package/dist/providers/HybridRouterModelSelection.js.map +1 -0
  144. package/dist/providers/LLMProviderFactory.d.ts +23 -9
  145. package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
  146. package/dist/providers/LLMProviderFactory.js +54 -11
  147. package/dist/providers/LLMProviderFactory.js.map +1 -1
  148. package/dist/providers/OllamaProvider.d.ts +122 -0
  149. package/dist/providers/OllamaProvider.d.ts.map +1 -0
  150. package/dist/providers/OllamaProvider.js +425 -0
  151. package/dist/providers/OllamaProvider.js.map +1 -0
  152. package/dist/providers/index.d.ts +6 -1
  153. package/dist/providers/index.d.ts.map +1 -1
  154. package/dist/providers/index.js +17 -1
  155. package/dist/providers/index.js.map +1 -1
  156. package/dist/routing/ComplexityClassifier.d.ts +266 -0
  157. package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
  158. package/dist/routing/ComplexityClassifier.js +567 -0
  159. package/dist/routing/ComplexityClassifier.js.map +1 -0
  160. package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
  161. package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
  162. package/dist/routing/ModelCapabilityRegistry.js +216 -0
  163. package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
  164. package/dist/routing/index.d.ts +13 -0
  165. package/dist/routing/index.d.ts.map +1 -0
  166. package/dist/routing/index.js +24 -0
  167. package/dist/routing/index.js.map +1 -0
  168. package/docs/reference/model-capability-registry.md +402 -0
  169. package/docs/reference/provider-config-schema.md +608 -0
  170. package/package.json +21 -3
@@ -0,0 +1,266 @@
1
+ /**
2
+ * ComplexityClassifier - ML-Based Task Complexity Classification
3
+ *
4
+ * Uses machine learning techniques to classify task complexity for optimal LLM routing.
5
+ * Improves upon heuristic-based classification with learning from routing outcomes.
6
+ *
7
+ * Features:
8
+ * - Feature extraction from LLM completion options
9
+ * - Weighted scoring with trainable parameters
10
+ * - Learning from routing history and outcomes
11
+ * - Confidence scoring for classification decisions
12
+ * - Persistent memory integration for cross-session learning
13
+ *
14
+ * @module routing/ComplexityClassifier
15
+ * @version 1.0.0
16
+ */
17
+ import { LLMCompletionOptions } from '../providers/ILLMProvider';
18
+ /**
19
+ * Task complexity levels
20
+ */
21
+ export declare enum TaskComplexity {
22
+ SIMPLE = "simple",// Pattern matching, simple Q&A (< 500 chars, < 200 tokens)
23
+ MODERATE = "moderate",// Standard reasoning (< 3000 chars, < 1000 tokens)
24
+ COMPLEX = "complex",// Deep reasoning, code generation (< 10000 chars, < 4000 tokens)
25
+ VERY_COMPLEX = "very_complex"
26
+ }
27
+ /**
28
+ * Extracted features from task
29
+ */
30
+ export interface TaskFeatures {
31
+ /** Total character count in messages */
32
+ contentLength: number;
33
+ /** Estimated token count */
34
+ estimatedTokenCount: number;
35
+ /** Number of messages in conversation */
36
+ messageCount: number;
37
+ /** Has code blocks (``` patterns) */
38
+ hasCodeBlocks: boolean;
39
+ /** Keyword complexity score (0-1) */
40
+ keywordComplexity: number;
41
+ /** Prompt entropy - vocabulary diversity (0-1) */
42
+ promptEntropy: number;
43
+ /** Context window usage percentage (0-1) */
44
+ contextWindowUsage: number;
45
+ /** Has multimodal content (images, etc.) */
46
+ hasMultimodal: boolean;
47
+ /** Requested max tokens */
48
+ requestedMaxTokens: number;
49
+ /** System prompt complexity (0-1) */
50
+ systemPromptComplexity: number;
51
+ }
52
+ /**
53
+ * Routing history entry for learning
54
+ */
55
+ export interface RoutingHistoryEntry {
56
+ /** Extracted features from the task */
57
+ features: TaskFeatures;
58
+ /** Complexity classification that was selected */
59
+ selectedComplexity: TaskComplexity;
60
+ /** Actual outcome after execution */
61
+ actualOutcome: {
62
+ /** Whether the request succeeded */
63
+ success: boolean;
64
+ /** Actual latency in milliseconds */
65
+ latency: number;
66
+ /** Actual cost in dollars */
67
+ cost: number;
68
+ /** Provider used */
69
+ provider?: 'local' | 'cloud';
70
+ /** Any error message */
71
+ error?: string;
72
+ };
73
+ /** Timestamp of the routing decision */
74
+ timestamp: Date;
75
+ }
76
+ /**
77
+ * Trainable weights for feature scoring
78
+ */
79
+ interface FeatureWeights {
80
+ contentLength: number;
81
+ tokenCount: number;
82
+ messageCount: number;
83
+ codeBlocks: number;
84
+ keywordComplexity: number;
85
+ promptEntropy: number;
86
+ contextWindowUsage: number;
87
+ multimodal: number;
88
+ systemPrompt: number;
89
+ }
90
+ /**
91
+ * Complexity classification thresholds
92
+ */
93
+ interface ComplexityThresholds {
94
+ simple: number;
95
+ moderate: number;
96
+ complex: number;
97
+ veryComplex: number;
98
+ }
99
+ /**
100
+ * Configuration for ComplexityClassifier
101
+ */
102
+ export interface ComplexityClassifierConfig {
103
+ /** Enable debug logging */
104
+ debug?: boolean;
105
+ /** Enable learning from outcomes */
106
+ enableLearning?: boolean;
107
+ /** Learning rate for weight updates (0-1) */
108
+ learningRate?: number;
109
+ /** Maximum history entries to store */
110
+ maxHistorySize?: number;
111
+ /** Initial feature weights */
112
+ initialWeights?: Partial<FeatureWeights>;
113
+ /** Initial complexity thresholds */
114
+ initialThresholds?: Partial<ComplexityThresholds>;
115
+ }
116
+ /**
117
+ * ComplexityClassifier - ML-based task complexity classification
118
+ *
119
+ * Classifies LLM tasks into complexity levels using feature extraction
120
+ * and trainable weighted scoring. Learns from routing outcomes to improve
121
+ * classification accuracy over time.
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const classifier = new ComplexityClassifier({
126
+ * enableLearning: true,
127
+ * learningRate: 0.1
128
+ * });
129
+ *
130
+ * const complexity = classifier.classifyTask(options);
131
+ * // After execution
132
+ * classifier.recordOutcome({
133
+ * features: classifier.extractFeatures(options),
134
+ * selectedComplexity: complexity,
135
+ * actualOutcome: { success: true, latency: 1500, cost: 0.001 }
136
+ * });
137
+ * ```
138
+ */
139
+ export declare class ComplexityClassifier {
140
+ private readonly logger;
141
+ private readonly config;
142
+ private weights;
143
+ private thresholds;
144
+ private routingHistory;
145
+ private classificationCount;
146
+ private confidenceScores;
147
+ constructor(config?: ComplexityClassifierConfig);
148
+ /**
149
+ * Classify task complexity using ML-based feature extraction and scoring
150
+ *
151
+ * @param options - LLM completion options to analyze
152
+ * @returns Classified complexity level
153
+ */
154
+ classifyTask(options: LLMCompletionOptions): TaskComplexity;
155
+ /**
156
+ * Extract features from LLM completion options
157
+ *
158
+ * @param options - LLM completion options
159
+ * @returns Extracted task features
160
+ */
161
+ extractFeatures(options: LLMCompletionOptions): TaskFeatures;
162
+ /**
163
+ * Record routing outcome for learning
164
+ *
165
+ * @param entry - Routing history entry with outcome
166
+ */
167
+ recordOutcome(entry: RoutingHistoryEntry): void;
168
+ /**
169
+ * Get classification confidence (0-1)
170
+ *
171
+ * Confidence is based on:
172
+ * - How clearly the score falls into a complexity bucket
173
+ * - Historical accuracy of similar classifications
174
+ *
175
+ * @returns Confidence score (0-1)
176
+ */
177
+ getClassificationConfidence(): number;
178
+ /**
179
+ * Get current feature weights
180
+ *
181
+ * @returns Current feature weights
182
+ */
183
+ getWeights(): FeatureWeights;
184
+ /**
185
+ * Get current complexity thresholds
186
+ *
187
+ * @returns Current thresholds
188
+ */
189
+ getThresholds(): ComplexityThresholds;
190
+ /**
191
+ * Get routing history
192
+ *
193
+ * @returns Copy of routing history
194
+ */
195
+ getHistory(): RoutingHistoryEntry[];
196
+ /**
197
+ * Get classification statistics
198
+ *
199
+ * @returns Statistics about classifications and learning
200
+ */
201
+ getStatistics(): {
202
+ totalClassifications: number;
203
+ historySize: number;
204
+ averageConfidence: number;
205
+ successRate: number;
206
+ complexityDistribution: Record<TaskComplexity, number>;
207
+ };
208
+ /**
209
+ * Extract all text content from messages
210
+ */
211
+ private extractAllContent;
212
+ /**
213
+ * Calculate keyword complexity score (0-1)
214
+ *
215
+ * Analyzes presence of complex technical keywords and patterns
216
+ */
217
+ private calculateKeywordComplexity;
218
+ /**
219
+ * Calculate prompt entropy (vocabulary diversity)
220
+ *
221
+ * Higher entropy = more diverse vocabulary = potentially more complex
222
+ */
223
+ private calculatePromptEntropy;
224
+ /**
225
+ * Calculate system prompt complexity
226
+ */
227
+ private calculateSystemPromptComplexity;
228
+ /**
229
+ * Calculate weighted complexity score (0-1)
230
+ */
231
+ private calculateComplexityScore;
232
+ /**
233
+ * Convert complexity score to complexity level
234
+ */
235
+ private scoreToComplexity;
236
+ /**
237
+ * Calculate confidence for a classification
238
+ */
239
+ private calculateConfidence;
240
+ /**
241
+ * Update weights based on routing outcome (gradient descent style)
242
+ */
243
+ private updateWeightsFromOutcome;
244
+ /**
245
+ * Increment complexity level
246
+ */
247
+ private incrementComplexity;
248
+ /**
249
+ * Decrement complexity level
250
+ */
251
+ private decrementComplexity;
252
+ /**
253
+ * Adjust weights to better match expected complexity
254
+ */
255
+ private adjustWeights;
256
+ /**
257
+ * Convert complexity to target score for learning
258
+ */
259
+ private complexityToTargetScore;
260
+ /**
261
+ * Normalize weights to sum to 1.0
262
+ */
263
+ private normalizeWeights;
264
+ }
265
+ export {};
266
+ //# sourceMappingURL=ComplexityClassifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComplexityClassifier.d.ts","sourceRoot":"","sources":["../../src/routing/ComplexityClassifier.ts"],"names":[],"mappings":"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"}