agentic-qe 2.6.1 → 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 (114) hide show
  1. package/CHANGELOG.md +71 -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/cli/commands/providers.d.ts +50 -0
  40. package/dist/cli/commands/providers.d.ts.map +1 -0
  41. package/dist/cli/commands/providers.js +403 -0
  42. package/dist/cli/commands/providers.js.map +1 -0
  43. package/dist/cli/index.js +62 -0
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
  46. package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
  47. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
  48. package/dist/config/ConfigLoader.d.ts +85 -0
  49. package/dist/config/ConfigLoader.d.ts.map +1 -0
  50. package/dist/config/ConfigLoader.js +420 -0
  51. package/dist/config/ConfigLoader.js.map +1 -0
  52. package/dist/config/ProviderConfig.d.ts +153 -0
  53. package/dist/config/ProviderConfig.d.ts.map +1 -0
  54. package/dist/config/ProviderConfig.js +155 -0
  55. package/dist/config/ProviderConfig.js.map +1 -0
  56. package/dist/config/index.d.ts +35 -0
  57. package/dist/config/index.d.ts.map +1 -0
  58. package/dist/config/index.js +45 -0
  59. package/dist/config/index.js.map +1 -0
  60. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  61. package/dist/mcp/server-instructions.d.ts +1 -1
  62. package/dist/mcp/server-instructions.js +1 -1
  63. package/dist/mcp/server.d.ts +1 -0
  64. package/dist/mcp/server.d.ts.map +1 -1
  65. package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
  66. package/dist/memory/HNSWPatternStore.js +23 -0
  67. package/dist/memory/HNSWPatternStore.js.map +1 -1
  68. package/dist/memory/RuVectorPatternStore.d.ts +5 -0
  69. package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
  70. package/dist/memory/RuVectorPatternStore.js +11 -0
  71. package/dist/memory/RuVectorPatternStore.js.map +1 -1
  72. package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
  73. package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
  74. package/dist/providers/CostOptimizationStrategies.js +831 -0
  75. package/dist/providers/CostOptimizationStrategies.js.map +1 -0
  76. package/dist/providers/HybridRouter.d.ts +142 -5
  77. package/dist/providers/HybridRouter.d.ts.map +1 -1
  78. package/dist/providers/HybridRouter.js +472 -6
  79. package/dist/providers/HybridRouter.js.map +1 -1
  80. package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
  81. package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
  82. package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
  83. package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
  84. package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
  85. package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
  86. package/dist/providers/HybridRouterModelSelection.js +420 -0
  87. package/dist/providers/HybridRouterModelSelection.js.map +1 -0
  88. package/dist/providers/LLMProviderFactory.d.ts +23 -9
  89. package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
  90. package/dist/providers/LLMProviderFactory.js +54 -11
  91. package/dist/providers/LLMProviderFactory.js.map +1 -1
  92. package/dist/providers/OllamaProvider.d.ts +122 -0
  93. package/dist/providers/OllamaProvider.d.ts.map +1 -0
  94. package/dist/providers/OllamaProvider.js +425 -0
  95. package/dist/providers/OllamaProvider.js.map +1 -0
  96. package/dist/providers/index.d.ts +6 -1
  97. package/dist/providers/index.d.ts.map +1 -1
  98. package/dist/providers/index.js +17 -1
  99. package/dist/providers/index.js.map +1 -1
  100. package/dist/routing/ComplexityClassifier.d.ts +266 -0
  101. package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
  102. package/dist/routing/ComplexityClassifier.js +567 -0
  103. package/dist/routing/ComplexityClassifier.js.map +1 -0
  104. package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
  105. package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
  106. package/dist/routing/ModelCapabilityRegistry.js +216 -0
  107. package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
  108. package/dist/routing/index.d.ts +13 -0
  109. package/dist/routing/index.d.ts.map +1 -0
  110. package/dist/routing/index.js +24 -0
  111. package/dist/routing/index.js.map +1 -0
  112. package/docs/reference/model-capability-registry.md +402 -0
  113. package/docs/reference/provider-config-schema.md +608 -0
  114. package/package.json +19 -4
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Cost Optimization Strategies for LLM Independence
3
+ *
4
+ * Provides intelligent cost optimization through:
5
+ * - Prompt compression (6-10% token savings)
6
+ * - Request batching for bulk operations
7
+ * - Smart caching with task-specific TTLs
8
+ * - Model right-sizing based on budget and complexity
9
+ *
10
+ * Designed as standalone utilities for integration with HybridRouter.
11
+ *
12
+ * @module providers/CostOptimizationStrategies
13
+ * @version 1.0.0
14
+ */
15
+ import { LLMCompletionOptions, LLMCompletionResponse } from './ILLMProvider';
16
+ import { TaskComplexity, BudgetStatus } from './HybridRouter';
17
+ import { TaskType, ModelConstraints } from '../routing/ModelCapabilityRegistry';
18
+ /**
19
+ * Request group for batching
20
+ */
21
+ export interface RequestGroup {
22
+ /** Group identifier based on similarity */
23
+ groupId: string;
24
+ /** Requests in this group */
25
+ requests: LLMCompletionOptions[];
26
+ /** Common characteristics */
27
+ characteristics: {
28
+ averageTokens: number;
29
+ hasCode: boolean;
30
+ taskType?: TaskType;
31
+ complexity?: TaskComplexity;
32
+ };
33
+ /** Estimated savings from batching */
34
+ estimatedSavings: number;
35
+ }
36
+ /**
37
+ * Cache strategy configuration
38
+ */
39
+ export interface CacheStrategy {
40
+ /** Task type this strategy applies to */
41
+ taskType: TaskType;
42
+ /** Time-to-live in seconds */
43
+ ttlSeconds: number;
44
+ /** Aggressive caching (cache more aggressively) */
45
+ aggressive: boolean;
46
+ /** Cache key generator function */
47
+ keyGenerator: (options: LLMCompletionOptions) => string;
48
+ /** Confidence threshold for cache hits (0-1) */
49
+ confidenceThreshold: number;
50
+ }
51
+ /**
52
+ * Prompt compression result
53
+ */
54
+ export interface CompressionResult {
55
+ /** Compressed prompt */
56
+ compressed: string;
57
+ /** Original prompt */
58
+ original: string;
59
+ /** Tokens saved (estimated) */
60
+ tokensSaved: number;
61
+ /** Compression ratio (0-1, higher = more compression) */
62
+ ratio: number;
63
+ /** Techniques applied */
64
+ techniques: string[];
65
+ }
66
+ /**
67
+ * Model right-sizing recommendation
68
+ */
69
+ export interface ModelRightSizingResult {
70
+ /** Should downgrade to smaller model */
71
+ shouldDowngrade: boolean;
72
+ /** Recommended model ID */
73
+ recommendedModel?: string;
74
+ /** Reason for recommendation */
75
+ reason: string;
76
+ /** Estimated cost savings */
77
+ estimatedSavings?: number;
78
+ /** Quality impact score (0-1, 1 = no impact) */
79
+ qualityImpact: number;
80
+ }
81
+ /**
82
+ * Batch execution result
83
+ */
84
+ export interface BatchExecutionResult {
85
+ /** Individual responses */
86
+ responses: LLMCompletionResponse[];
87
+ /** Total cost */
88
+ totalCost: number;
89
+ /** Cost savings from batching */
90
+ savings: number;
91
+ /** Execution time in milliseconds */
92
+ executionTime: number;
93
+ }
94
+ /**
95
+ * Configuration for cost optimization
96
+ */
97
+ export interface CostOptimizationConfig {
98
+ /** Enable debug logging */
99
+ debug?: boolean;
100
+ /** Enable prompt compression */
101
+ enableCompression?: boolean;
102
+ /** Enable request batching */
103
+ enableBatching?: boolean;
104
+ /** Enable smart caching */
105
+ enableSmartCaching?: boolean;
106
+ /** Minimum compression ratio to apply (0-1) */
107
+ minCompressionRatio?: number;
108
+ /** Maximum batch size */
109
+ maxBatchSize?: number;
110
+ /** Default cache TTL in seconds */
111
+ defaultCacheTTL?: number;
112
+ }
113
+ /**
114
+ * PromptCompressor - Reduce token usage through intelligent compression
115
+ *
116
+ * Achieves 6-10% token savings through:
117
+ * - Redundant whitespace removal
118
+ * - Common pattern abbreviation
119
+ * - Token-efficient phrasing
120
+ */
121
+ export declare class PromptCompressor {
122
+ private readonly logger;
123
+ private readonly config;
124
+ constructor(config?: CostOptimizationConfig);
125
+ /**
126
+ * Compress whitespace - remove redundant spaces, newlines
127
+ */
128
+ compressWhitespace(prompt: string): string;
129
+ /**
130
+ * Abbreviate common patterns to save tokens
131
+ */
132
+ abbreviatePatterns(prompt: string): string;
133
+ /**
134
+ * Optimize token usage through efficient phrasing
135
+ */
136
+ optimizeTokenUsage(prompt: string): string;
137
+ /**
138
+ * Full compression pipeline
139
+ */
140
+ compress(prompt: string): CompressionResult;
141
+ /**
142
+ * Compress LLM completion options
143
+ */
144
+ compressOptions(options: LLMCompletionOptions): {
145
+ options: LLMCompletionOptions;
146
+ result: CompressionResult;
147
+ };
148
+ /**
149
+ * Extract all text from options
150
+ */
151
+ private extractAllText;
152
+ }
153
+ /**
154
+ * RequestBatcher - Batch similar requests for cost efficiency
155
+ */
156
+ export declare class RequestBatcher {
157
+ private readonly logger;
158
+ private readonly config;
159
+ constructor(config?: CostOptimizationConfig);
160
+ /**
161
+ * Group similar requests for batch processing
162
+ */
163
+ groupSimilarRequests(requests: LLMCompletionOptions[]): RequestGroup[];
164
+ /**
165
+ * Estimate savings from batching
166
+ */
167
+ estimateBatchSavings(requests: LLMCompletionOptions[]): number;
168
+ /**
169
+ * Calculate group key for similarity
170
+ */
171
+ private calculateGroupKey;
172
+ /**
173
+ * Analyze group characteristics
174
+ */
175
+ private analyzeGroupCharacteristics;
176
+ /**
177
+ * Split requests into batches
178
+ */
179
+ private splitIntoBatches;
180
+ /**
181
+ * Extract all text from request
182
+ */
183
+ private extractAllText;
184
+ }
185
+ /**
186
+ * SmartCacheStrategy - Task-specific caching strategies
187
+ */
188
+ export declare class SmartCacheStrategy {
189
+ private readonly logger;
190
+ private readonly config;
191
+ private readonly strategies;
192
+ constructor(config?: CostOptimizationConfig);
193
+ /**
194
+ * Get cache strategy for task type
195
+ */
196
+ getCacheStrategy(taskType: TaskType): CacheStrategy;
197
+ /**
198
+ * Check if result should be cached
199
+ */
200
+ shouldCache(options: LLMCompletionOptions, response: LLMCompletionResponse): boolean;
201
+ /**
202
+ * Generate cache key for request
203
+ */
204
+ generateCacheKey(options: LLMCompletionOptions, taskType?: TaskType): string;
205
+ /**
206
+ * Default cache key generator
207
+ */
208
+ private defaultKeyGenerator;
209
+ /**
210
+ * Simple hash function for cache keys
211
+ */
212
+ private simpleHash;
213
+ /**
214
+ * Initialize default caching strategies
215
+ */
216
+ private initializeDefaultStrategies;
217
+ /**
218
+ * Specialized key generator for test generation
219
+ */
220
+ private testGenerationKeyGenerator;
221
+ }
222
+ /**
223
+ * ModelRightSizer - Budget-aware model selection
224
+ */
225
+ export declare class ModelRightSizer {
226
+ private readonly logger;
227
+ constructor();
228
+ /**
229
+ * Determine if should use smaller model based on budget
230
+ */
231
+ shouldDowngradeModel(complexity: TaskComplexity, budgetStatus: BudgetStatus, constraints?: ModelConstraints): ModelRightSizingResult;
232
+ /**
233
+ * Calculate budget pressure score (0-1)
234
+ */
235
+ private calculateBudgetPressure;
236
+ /**
237
+ * Check if task allows model downgrade
238
+ */
239
+ private canDowngrade;
240
+ /**
241
+ * Make downgrade decision
242
+ */
243
+ private makeDowngradeDecision;
244
+ /**
245
+ * Get model for tier
246
+ */
247
+ private getModelForTier;
248
+ /**
249
+ * Estimate cost savings from downgrade
250
+ */
251
+ private estimateSavings;
252
+ /**
253
+ * Get downgrade reason message
254
+ */
255
+ private getDowngradeReason;
256
+ }
257
+ /**
258
+ * CostOptimizationManager - Orchestrates all optimization strategies
259
+ */
260
+ export declare class CostOptimizationManager {
261
+ private readonly compressor;
262
+ private readonly batcher;
263
+ private readonly cacheStrategy;
264
+ private readonly rightSizer;
265
+ private readonly logger;
266
+ constructor(config?: CostOptimizationConfig);
267
+ /**
268
+ * Get prompt compressor
269
+ */
270
+ getCompressor(): PromptCompressor;
271
+ /**
272
+ * Get request batcher
273
+ */
274
+ getBatcher(): RequestBatcher;
275
+ /**
276
+ * Get cache strategy manager
277
+ */
278
+ getCacheStrategy(): SmartCacheStrategy;
279
+ /**
280
+ * Get model right-sizer
281
+ */
282
+ getRightSizer(): ModelRightSizer;
283
+ /**
284
+ * Apply all applicable optimizations to a request
285
+ */
286
+ optimizeRequest(options: LLMCompletionOptions, context?: {
287
+ taskType?: TaskType;
288
+ complexity?: TaskComplexity;
289
+ budgetStatus?: BudgetStatus;
290
+ }): {
291
+ optimizedOptions: LLMCompletionOptions;
292
+ compressionResult?: CompressionResult;
293
+ modelDowngrade?: ModelRightSizingResult;
294
+ estimatedSavings: number;
295
+ };
296
+ }
297
+ //# sourceMappingURL=CostOptimizationStrategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostOptimizationStrategies.d.ts","sourceRoot":"","sources":["../../src/providers/CostOptimizationStrategies.ts"],"names":[],"mappings":"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"}