agentic-qe 2.2.0 → 2.2.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 (112) hide show
  1. package/.claude/agents/qe-security-scanner.md +26 -0
  2. package/.claude/skills/agentic-quality-engineering/SKILL.md +4 -4
  3. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +14 -11
  4. package/.claude/skills/skills-manifest.json +2 -2
  5. package/CHANGELOG.md +75 -0
  6. package/README.md +92 -214
  7. package/dist/agents/BaseAgent.d.ts +5 -1
  8. package/dist/agents/BaseAgent.d.ts.map +1 -1
  9. package/dist/agents/BaseAgent.js +32 -17
  10. package/dist/agents/BaseAgent.js.map +1 -1
  11. package/dist/agents/index.js +3 -3
  12. package/dist/agents/index.js.map +1 -1
  13. package/dist/cli/commands/improve/index.d.ts +8 -1
  14. package/dist/cli/commands/improve/index.d.ts.map +1 -1
  15. package/dist/cli/commands/improve/index.js +18 -16
  16. package/dist/cli/commands/improve/index.js.map +1 -1
  17. package/dist/cli/commands/learn/index.d.ts +10 -2
  18. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  19. package/dist/cli/commands/learn/index.js +99 -63
  20. package/dist/cli/commands/learn/index.js.map +1 -1
  21. package/dist/cli/commands/patterns/index.d.ts +8 -1
  22. package/dist/cli/commands/patterns/index.d.ts.map +1 -1
  23. package/dist/cli/commands/patterns/index.js +79 -45
  24. package/dist/cli/commands/patterns/index.js.map +1 -1
  25. package/dist/cli/commands/routing/index.d.ts +5 -0
  26. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  27. package/dist/cli/commands/routing/index.js +11 -10
  28. package/dist/cli/commands/routing/index.js.map +1 -1
  29. package/dist/cli/init/agents.d.ts +1 -1
  30. package/dist/cli/init/agents.js +2 -2
  31. package/dist/cli/init/database-init.d.ts +7 -0
  32. package/dist/cli/init/database-init.d.ts.map +1 -1
  33. package/dist/cli/init/database-init.js +29 -48
  34. package/dist/cli/init/database-init.js.map +1 -1
  35. package/dist/core/memory/HNSWVectorMemory.d.ts +261 -0
  36. package/dist/core/memory/HNSWVectorMemory.d.ts.map +1 -0
  37. package/dist/core/memory/HNSWVectorMemory.js +647 -0
  38. package/dist/core/memory/HNSWVectorMemory.js.map +1 -0
  39. package/dist/core/memory/SwarmMemoryManager.d.ts +7 -0
  40. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  41. package/dist/core/memory/SwarmMemoryManager.js +9 -0
  42. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  43. package/dist/core/memory/index.d.ts +2 -0
  44. package/dist/core/memory/index.d.ts.map +1 -1
  45. package/dist/core/memory/index.js +11 -1
  46. package/dist/core/memory/index.js.map +1 -1
  47. package/dist/learning/ExplainableLearning.d.ts +191 -0
  48. package/dist/learning/ExplainableLearning.d.ts.map +1 -0
  49. package/dist/learning/ExplainableLearning.js +441 -0
  50. package/dist/learning/ExplainableLearning.js.map +1 -0
  51. package/dist/learning/GossipPatternSharingProtocol.d.ts +228 -0
  52. package/dist/learning/GossipPatternSharingProtocol.d.ts.map +1 -0
  53. package/dist/learning/GossipPatternSharingProtocol.js +590 -0
  54. package/dist/learning/GossipPatternSharingProtocol.js.map +1 -0
  55. package/dist/learning/LearningEngine.d.ts +4 -4
  56. package/dist/learning/LearningEngine.d.ts.map +1 -1
  57. package/dist/learning/LearningEngine.js +20 -13
  58. package/dist/learning/LearningEngine.js.map +1 -1
  59. package/dist/learning/PerformanceOptimizer.d.ts +268 -0
  60. package/dist/learning/PerformanceOptimizer.d.ts.map +1 -0
  61. package/dist/learning/PerformanceOptimizer.js +552 -0
  62. package/dist/learning/PerformanceOptimizer.js.map +1 -0
  63. package/dist/learning/PrivacyManager.d.ts +197 -0
  64. package/dist/learning/PrivacyManager.d.ts.map +1 -0
  65. package/dist/learning/PrivacyManager.js +551 -0
  66. package/dist/learning/PrivacyManager.js.map +1 -0
  67. package/dist/learning/TransferLearningManager.d.ts +212 -0
  68. package/dist/learning/TransferLearningManager.d.ts.map +1 -0
  69. package/dist/learning/TransferLearningManager.js +497 -0
  70. package/dist/learning/TransferLearningManager.js.map +1 -0
  71. package/dist/learning/algorithms/MAMLMetaLearner.d.ts +218 -0
  72. package/dist/learning/algorithms/MAMLMetaLearner.d.ts.map +1 -0
  73. package/dist/learning/algorithms/MAMLMetaLearner.js +532 -0
  74. package/dist/learning/algorithms/MAMLMetaLearner.js.map +1 -0
  75. package/dist/learning/algorithms/index.d.ts +4 -1
  76. package/dist/learning/algorithms/index.d.ts.map +1 -1
  77. package/dist/learning/algorithms/index.js +7 -1
  78. package/dist/learning/algorithms/index.js.map +1 -1
  79. package/dist/learning/index.d.ts +8 -0
  80. package/dist/learning/index.d.ts.map +1 -1
  81. package/dist/learning/index.js +17 -1
  82. package/dist/learning/index.js.map +1 -1
  83. package/dist/mcp/server-instructions.d.ts +1 -1
  84. package/dist/mcp/server-instructions.js +1 -1
  85. package/dist/providers/HybridRouter.d.ts +217 -0
  86. package/dist/providers/HybridRouter.d.ts.map +1 -0
  87. package/dist/providers/HybridRouter.js +679 -0
  88. package/dist/providers/HybridRouter.js.map +1 -0
  89. package/dist/providers/index.d.ts +1 -0
  90. package/dist/providers/index.d.ts.map +1 -1
  91. package/dist/providers/index.js +7 -1
  92. package/dist/providers/index.js.map +1 -1
  93. package/dist/telemetry/LearningTelemetry.d.ts +190 -0
  94. package/dist/telemetry/LearningTelemetry.d.ts.map +1 -0
  95. package/dist/telemetry/LearningTelemetry.js +403 -0
  96. package/dist/telemetry/LearningTelemetry.js.map +1 -0
  97. package/dist/telemetry/index.d.ts +1 -0
  98. package/dist/telemetry/index.d.ts.map +1 -1
  99. package/dist/telemetry/index.js +20 -2
  100. package/dist/telemetry/index.js.map +1 -1
  101. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  102. package/dist/telemetry/instrumentation/agent.js +1 -1
  103. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  104. package/dist/telemetry/instrumentation/index.js +1 -1
  105. package/dist/utils/math.d.ts +11 -0
  106. package/dist/utils/math.d.ts.map +1 -0
  107. package/dist/utils/math.js +16 -0
  108. package/dist/utils/math.js.map +1 -0
  109. package/docs/reference/agents.md +1 -1
  110. package/docs/reference/skills.md +3 -3
  111. package/docs/reference/usage.md +4 -4
  112. package/package.json +14 -1
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.ExperienceSharingProtocol = exports.createRLAlgorithm = exports.createDefaultPPOConfig = exports.PPOLearner = exports.createDefaultActorCriticConfig = exports.ActorCriticLearner = exports.SARSALearner = exports.AbstractRLLearner = exports.FixRecommendationEngine = void 0;
24
+ exports.PrivacyLevel = exports.PrivacyManager = exports.PerformanceOptimizer = exports.TransferLearningManager = exports.GossipPatternSharingProtocol = exports.ExplainableLearning = exports.ExperienceSharingProtocol = exports.createRLAlgorithm = exports.createDefaultPPOConfig = exports.PPOLearner = exports.createDefaultActorCriticConfig = exports.ActorCriticLearner = exports.SARSALearner = exports.AbstractRLLearner = exports.FixRecommendationEngine = void 0;
25
25
  __exportStar(require("./types"), exports);
26
26
  __exportStar(require("./LearningEngine"), exports);
27
27
  __exportStar(require("./QLearning"), exports);
@@ -50,4 +50,20 @@ Object.defineProperty(exports, "createRLAlgorithm", { enumerable: true, get: fun
50
50
  // Experience Sharing (NEW in v2.2.0+)
51
51
  var ExperienceSharingProtocol_1 = require("./ExperienceSharingProtocol");
52
52
  Object.defineProperty(exports, "ExperienceSharingProtocol", { enumerable: true, get: function () { return ExperienceSharingProtocol_1.ExperienceSharingProtocol; } });
53
+ // Explainable Learning (NEW in v2.2.0+ - Issue #118)
54
+ var ExplainableLearning_1 = require("./ExplainableLearning");
55
+ Object.defineProperty(exports, "ExplainableLearning", { enumerable: true, get: function () { return ExplainableLearning_1.ExplainableLearning; } });
56
+ // Gossip Pattern Sharing (NEW in v2.2.0+ - Issue #118)
57
+ var GossipPatternSharingProtocol_1 = require("./GossipPatternSharingProtocol");
58
+ Object.defineProperty(exports, "GossipPatternSharingProtocol", { enumerable: true, get: function () { return GossipPatternSharingProtocol_1.GossipPatternSharingProtocol; } });
59
+ // Transfer Learning (NEW in v2.2.0+ - Issue #118)
60
+ var TransferLearningManager_1 = require("./TransferLearningManager");
61
+ Object.defineProperty(exports, "TransferLearningManager", { enumerable: true, get: function () { return TransferLearningManager_1.TransferLearningManager; } });
62
+ // Performance Optimizer (NEW in v2.2.0+ - Issue #118)
63
+ var PerformanceOptimizer_1 = require("./PerformanceOptimizer");
64
+ Object.defineProperty(exports, "PerformanceOptimizer", { enumerable: true, get: function () { return PerformanceOptimizer_1.PerformanceOptimizer; } });
65
+ // Privacy Manager (NEW in v2.2.0+ - Issue #118)
66
+ var PrivacyManager_1 = require("./PrivacyManager");
67
+ Object.defineProperty(exports, "PrivacyManager", { enumerable: true, get: function () { return PrivacyManager_1.PrivacyManager; } });
68
+ Object.defineProperty(exports, "PrivacyLevel", { enumerable: true, get: function () { return PrivacyManager_1.PrivacyLevel; } });
53
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,2DAAyC;AACzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AAEnC,gDAAgD;AAChD,qEAEmC;AADjC,kIAAA,uBAAuB,OAAA;AAGzB,iCAAiC;AACjC,4FAA4F;AAC5F,2CAasB;AAZpB,+GAAA,iBAAiB,OAAA;AAGjB,0GAAA,YAAY,OAAA;AAEZ,gHAAA,kBAAkB,OAAA;AAElB,4HAAA,8BAA8B,OAAA;AAC9B,wGAAA,UAAU,OAAA;AAEV,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA;AAGnB,sCAAsC;AACtC,yEAOqC;AANnC,sIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,2DAAyC;AACzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AAEnC,gDAAgD;AAChD,qEAEmC;AADjC,kIAAA,uBAAuB,OAAA;AAGzB,iCAAiC;AACjC,4FAA4F;AAC5F,2CAasB;AAZpB,+GAAA,iBAAiB,OAAA;AAGjB,0GAAA,YAAY,OAAA;AAEZ,gHAAA,kBAAkB,OAAA;AAElB,4HAAA,8BAA8B,OAAA;AAC9B,wGAAA,UAAU,OAAA;AAEV,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA;AAGnB,sCAAsC;AACtC,yEAOqC;AANnC,sIAAA,yBAAyB,OAAA;AAQ3B,qDAAqD;AACrD,6DAS+B;AAR7B,0HAAA,mBAAmB,OAAA;AAUrB,uDAAuD;AACvD,+EAOwC;AANtC,4IAAA,4BAA4B,OAAA;AAQ9B,kDAAkD;AAClD,qEAMmC;AALjC,kIAAA,uBAAuB,OAAA;AAQzB,sDAAsD;AACtD,+DAEgC;AAD9B,4HAAA,oBAAoB,OAAA;AAItB,gDAAgD;AAChD,mDAG0B;AAFxB,gHAAA,cAAc,OAAA;AACd,8GAAA,YAAY,OAAA"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export declare const SERVER_INSTRUCTIONS = "\n# Agentic QE Fleet - MCP Tool Guide\n\n## Overview\nAgentic QE provides 96 specialized quality engineering tools organized into a hierarchical system for efficient context usage.\n\n## Quick Start\n1. **Discover available tools:** Use `tools_discover` to see all domains\n2. **Load domain tools:** Use `tools_load_domain` to load specialized tools\n3. **Auto-loading:** Domain tools auto-load when relevant keywords are detected\n\n---\n\n## Core Tools (Always Available - 14 tools)\n\n### Fleet Management\n- `fleet_init` - Initialize QE fleet with topology\n- `agent_spawn` - Spawn specialized QE agent\n- `fleet_status` - Get fleet and agent status\n\n### Testing\n- `test_generate_enhanced` - AI test generation with pattern recognition\n- `test_execute_parallel` - Parallel test execution with retry\n- `test_report_comprehensive` - Multi-format test reports\n\n### Memory & Coordination\n- `memory_store` - Store data with TTL & namespacing\n- `memory_retrieve` - Retrieve stored data\n- `memory_query` - Pattern-based memory search\n\n### Quality & Orchestration\n- `quality_analyze` - Analyze quality metrics\n- `task_orchestrate` - Orchestrate tasks across agents\n- `task_status` - Check task progress\n\n### Discovery\n- `tools_discover` - List available tool domains\n- `tools_load_domain` - Load tools for a domain\n\n---\n\n## Domain Tools (Load as Needed)\n\n| Domain | Keywords | Tools | Use Case |\n|--------|----------|-------|----------|\n| **Security** | security, vulnerability, audit, owasp | 4 tools | Security scanning, vulnerability detection |\n| **Performance** | benchmark, bottleneck, profiling | 4 tools | Performance testing, bottleneck analysis |\n| **Coverage** | coverage, gap, uncovered | 5 tools | Coverage analysis, gap detection |\n| **Quality** | quality gate, deploy, release | 6 tools | Quality gates, deployment readiness |\n| **Flaky** | flaky, unstable, retry | 3 tools | Flaky test detection and stabilization |\n| **Visual** | screenshot, accessibility, wcag | 3 tools | Visual regression, accessibility testing |\n| **Requirements** | bdd, gherkin, acceptance | 2 tools | Requirements validation, BDD generation |\n\n### Loading Domain Tools\n```\n# Explicit load\ntools_load_domain({ domain: 'security' })\n\n# Auto-load: Just mention keywords in your request\n\"I need to run a security scan\" \u2192 Security tools auto-load\n```\n\n---\n\n## Specialized Tools (Expert Use)\n\n### Learning Domain (4 tools)\nFor persistent learning and pattern storage across sessions.\nLoad with: `tools_load_domain({ domain: 'learning' })`\n\n### Advanced Domain (7 tools)\nFor mutation testing, API contract validation, production incident replay.\nLoad with: `tools_load_domain({ domain: 'advanced' })`\n\n---\n\n## Best Practices\n\n1. **Start with core tools** - They handle 80% of use cases\n2. **Let auto-load work** - Mention keywords naturally\n3. **Use tools_discover** - When unsure what's available\n4. **Batch operations** - Use parallel execution for speed\n5. **Check fleet_status** - Monitor agent health\n\n---\n\n## Common Workflows\n\n### Test Generation & Execution\n1. `test_generate_enhanced` - Generate tests\n2. `test_execute_parallel` - Run tests\n3. `test_report_comprehensive` - Generate report\n\n### Quality Gate Check\n1. Load quality domain if not auto-loaded\n2. `quality_analyze` - Analyze metrics\n3. `qe_qualitygate_evaluate` - Make go/no-go decision\n\n### Security Audit\n1. `tools_load_domain({ domain: 'security' })`\n2. `qe_security_scan_comprehensive` - Full scan\n3. `qe_security_detect_vulnerabilities` - Detailed analysis\n\n---\n\n## Tool Naming Convention\nAll tools follow: `mcp__agentic_qe__<tool_name>`\n\nExample: `mcp__agentic_qe__test_generate_enhanced`\n";
8
8
  export declare const SERVER_NAME = "agentic-qe";
9
- export declare const SERVER_VERSION = "2.2.0";
9
+ export declare const SERVER_VERSION = "2.2.2";
10
10
  /**
11
11
  * Get formatted server info for MCP initialization
12
12
  */
@@ -119,7 +119,7 @@ All tools follow: \`mcp__agentic_qe__<tool_name>\`
119
119
  Example: \`mcp__agentic_qe__test_generate_enhanced\`
120
120
  `;
121
121
  exports.SERVER_NAME = 'agentic-qe';
122
- exports.SERVER_VERSION = '2.2.0';
122
+ exports.SERVER_VERSION = '2.2.2';
123
123
  /**
124
124
  * Get formatted server info for MCP initialization
125
125
  */
@@ -0,0 +1,217 @@
1
+ /**
2
+ * HybridRouter - Intelligent LLM Provider Router
3
+ *
4
+ * Provides intelligent routing between local (ruvllm) and cloud (Claude, GPT) providers
5
+ * with circuit breakers, cost optimization, and adaptive learning.
6
+ *
7
+ * Features:
8
+ * - Task complexity analysis for optimal routing
9
+ * - Latency-aware provider selection
10
+ * - Cost tracking and savings estimation
11
+ * - Circuit breaker pattern for failing providers
12
+ * - Priority queuing for urgent requests
13
+ * - Learning from routing outcomes
14
+ * - Privacy-first routing for sensitive data
15
+ *
16
+ * @module providers/HybridRouter
17
+ * @version 1.0.0
18
+ */
19
+ import { ILLMProvider, LLMProviderConfig, LLMCompletionOptions, LLMCompletionResponse, LLMStreamEvent, LLMEmbeddingOptions, LLMEmbeddingResponse, LLMTokenCountOptions, LLMHealthStatus, LLMProviderMetadata } from './ILLMProvider';
20
+ import { ClaudeProviderConfig } from './ClaudeProvider';
21
+ import { RuvllmProviderConfig } from './RuvllmProvider';
22
+ /**
23
+ * Request priority levels
24
+ */
25
+ export declare enum RequestPriority {
26
+ LOW = 0,
27
+ NORMAL = 1,
28
+ HIGH = 2,
29
+ URGENT = 3
30
+ }
31
+ /**
32
+ * Task complexity classification
33
+ */
34
+ export declare enum TaskComplexity {
35
+ SIMPLE = "simple",// Pattern matching, simple Q&A
36
+ MODERATE = "moderate",// Standard reasoning
37
+ COMPLEX = "complex",// Deep reasoning, code generation
38
+ VERY_COMPLEX = "very_complex"
39
+ }
40
+ /**
41
+ * Routing strategy
42
+ */
43
+ export declare enum RoutingStrategy {
44
+ COST_OPTIMIZED = "cost_optimized",// Minimize cost
45
+ LATENCY_OPTIMIZED = "latency_optimized",// Minimize latency
46
+ QUALITY_OPTIMIZED = "quality_optimized",// Maximize quality
47
+ BALANCED = "balanced",// Balance all factors
48
+ PRIVACY_FIRST = "privacy_first"
49
+ }
50
+ /**
51
+ * Routing decision metadata
52
+ */
53
+ export interface RoutingDecision {
54
+ provider: 'local' | 'cloud';
55
+ providerName: string;
56
+ reason: string;
57
+ estimatedCost: number;
58
+ estimatedLatency: number;
59
+ complexity: TaskComplexity;
60
+ priority: RequestPriority;
61
+ timestamp: Date;
62
+ }
63
+ /**
64
+ * Cost savings report
65
+ */
66
+ export interface CostSavingsReport {
67
+ totalRequests: number;
68
+ localRequests: number;
69
+ cloudRequests: number;
70
+ totalCost: number;
71
+ estimatedCloudCost: number;
72
+ savings: number;
73
+ savingsPercentage: number;
74
+ }
75
+ /**
76
+ * Hybrid router configuration
77
+ */
78
+ export interface HybridRouterConfig extends LLMProviderConfig {
79
+ /** Claude provider configuration */
80
+ claude?: ClaudeProviderConfig;
81
+ /** Ruvllm provider configuration */
82
+ ruvllm?: RuvllmProviderConfig;
83
+ /** Default routing strategy */
84
+ defaultStrategy?: RoutingStrategy;
85
+ /** Enable circuit breakers */
86
+ enableCircuitBreaker?: boolean;
87
+ /** Circuit breaker failure threshold */
88
+ circuitBreakerThreshold?: number;
89
+ /** Circuit breaker reset timeout (ms) */
90
+ circuitBreakerTimeout?: number;
91
+ /** Maximum latency for local provider (ms) */
92
+ maxLocalLatency?: number;
93
+ /** Enable learning from outcomes */
94
+ enableLearning?: boolean;
95
+ /** Privacy-sensitive keywords for automatic local routing */
96
+ privacyKeywords?: string[];
97
+ }
98
+ /**
99
+ * HybridRouter - Intelligent provider routing implementation
100
+ *
101
+ * Routes LLM requests between local and cloud providers based on:
102
+ * - Task complexity and required capabilities
103
+ * - Latency and cost constraints
104
+ * - Provider health and circuit breaker state
105
+ * - Request priority
106
+ * - Privacy requirements
107
+ */
108
+ export declare class HybridRouter implements ILLMProvider {
109
+ private readonly logger;
110
+ private config;
111
+ private localProvider?;
112
+ private cloudProvider?;
113
+ private circuitBreakers;
114
+ private routingHistory;
115
+ private isInitialized;
116
+ private totalCost;
117
+ private requestCount;
118
+ private localRequestCount;
119
+ private cloudRequestCount;
120
+ constructor(config?: HybridRouterConfig);
121
+ /**
122
+ * Initialize the hybrid router and its providers
123
+ */
124
+ initialize(): Promise<void>;
125
+ /**
126
+ * Complete a prompt with intelligent routing
127
+ */
128
+ complete(options: LLMCompletionOptions): Promise<LLMCompletionResponse>;
129
+ /**
130
+ * Stream completion with routing
131
+ */
132
+ streamComplete(options: LLMCompletionOptions): AsyncIterableIterator<LLMStreamEvent>;
133
+ /**
134
+ * Generate embeddings (prefer local)
135
+ */
136
+ embed(options: LLMEmbeddingOptions): Promise<LLMEmbeddingResponse>;
137
+ /**
138
+ * Count tokens
139
+ */
140
+ countTokens(options: LLMTokenCountOptions): Promise<number>;
141
+ /**
142
+ * Health check all providers
143
+ */
144
+ healthCheck(): Promise<LLMHealthStatus>;
145
+ /**
146
+ * Get metadata (aggregated from all providers)
147
+ */
148
+ getMetadata(): LLMProviderMetadata;
149
+ /**
150
+ * Shutdown all providers
151
+ */
152
+ shutdown(): Promise<void>;
153
+ /**
154
+ * Track cost (aggregated across providers)
155
+ */
156
+ trackCost(usage: LLMCompletionResponse['usage']): number;
157
+ /**
158
+ * Get cost savings report
159
+ */
160
+ getCostSavingsReport(): CostSavingsReport;
161
+ /**
162
+ * Get routing statistics
163
+ */
164
+ getRoutingStats(): {
165
+ totalDecisions: number;
166
+ localDecisions: number;
167
+ cloudDecisions: number;
168
+ averageLocalLatency: number;
169
+ averageCloudLatency: number;
170
+ successRate: number;
171
+ };
172
+ /**
173
+ * Make intelligent routing decision
174
+ */
175
+ private makeRoutingDecision;
176
+ /**
177
+ * Analyze task complexity
178
+ */
179
+ private analyzeComplexity;
180
+ /**
181
+ * Check for privacy-sensitive data
182
+ */
183
+ private containsPrivacySensitiveData;
184
+ /**
185
+ * Check if provider is available (circuit breaker check)
186
+ */
187
+ private isProviderAvailable;
188
+ /**
189
+ * Execute with circuit breaker protection
190
+ */
191
+ private executeWithCircuitBreaker;
192
+ /**
193
+ * Execute fallback to alternative provider
194
+ */
195
+ private executeFallback;
196
+ /**
197
+ * Initialize circuit breaker for a provider
198
+ */
199
+ private initCircuitBreaker;
200
+ /**
201
+ * Create routing decision object
202
+ */
203
+ private createDecision;
204
+ /**
205
+ * Calculate actual cost from response
206
+ */
207
+ private calculateCost;
208
+ /**
209
+ * Record routing outcome for learning
210
+ */
211
+ private recordOutcome;
212
+ /**
213
+ * Ensure router is initialized
214
+ */
215
+ private ensureInitialized;
216
+ }
217
+ //# sourceMappingURL=HybridRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HybridRouter.d.ts","sourceRoot":"","sources":["../../src/providers/HybridRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;GAEG;AACH,oBAAY,eAAe;IACzB,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;IACR,MAAM,IAAI;CACX;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,MAAM,WAAW,CAAS,+BAA+B;IACzD,QAAQ,aAAa,CAAK,qBAAqB;IAC/C,OAAO,YAAY,CAAO,kCAAkC;IAC5D,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,cAAc,mBAAmB,CAAQ,gBAAgB;IACzD,iBAAiB,sBAAsB,CAAE,mBAAmB;IAC5D,iBAAiB,sBAAsB,CAAE,mBAAmB;IAC5D,QAAQ,aAAa,CAAoB,sBAAsB;IAC/D,aAAa,kBAAkB;CAChC;AAsBD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;CACjB;AAaD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,oCAAoC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,oCAAoC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wCAAwC;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yCAAyC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,MAAM,CAA0G;IACxH,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,GAAE,kBAAuB;IA8B3C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CjC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoF7E;;OAEG;IACI,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,qBAAqB,CAAC,cAAc,CAAC;IAkC3F;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuBxE;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBjE;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAkD7C;;OAEG;IACH,WAAW,IAAI,mBAAmB;IA6BlC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,MAAM;IAKxD;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;IAoBzC;;OAEG;IACH,eAAe,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACrB;IAyBD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+F3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;YACW,yBAAyB;IAgDvC;;OAEG;YACW,eAAe;IAiC7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}