agentic-qe 2.6.1 → 2.6.3
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/.claude/agents/qe-code-intelligence.md +88 -1
- package/CHANGELOG.md +134 -0
- package/README.md +222 -159
- package/dist/agents/BaseAgent.d.ts +19 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +41 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts +18 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.js +96 -1
- package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +8 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +65 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +2 -2
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +16 -6
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/adapters/AgentLLMAdapter.d.ts +127 -0
- package/dist/agents/adapters/AgentLLMAdapter.d.ts.map +1 -0
- package/dist/agents/adapters/AgentLLMAdapter.js +366 -0
- package/dist/agents/adapters/AgentLLMAdapter.js.map +1 -0
- package/dist/agents/adapters/index.d.ts +1 -0
- package/dist/agents/adapters/index.d.ts.map +1 -1
- package/dist/agents/adapters/index.js +5 -1
- package/dist/agents/adapters/index.js.map +1 -1
- package/dist/agents/interfaces/IAgentLLM.d.ts +257 -0
- package/dist/agents/interfaces/IAgentLLM.d.ts.map +1 -0
- package/dist/agents/interfaces/IAgentLLM.js +39 -0
- package/dist/agents/interfaces/IAgentLLM.js.map +1 -0
- package/dist/agents/interfaces/index.d.ts +10 -0
- package/dist/agents/interfaces/index.d.ts.map +1 -0
- package/dist/agents/interfaces/index.js +14 -0
- package/dist/agents/interfaces/index.js.map +1 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts +18 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -1
- package/dist/agents/n8n/N8nBaseAgent.js +80 -0
- package/dist/agents/n8n/N8nBaseAgent.js.map +1 -1
- package/dist/cli/commands/knowledge-graph.d.ts +30 -0
- package/dist/cli/commands/knowledge-graph.d.ts.map +1 -1
- package/dist/cli/commands/knowledge-graph.js +206 -4
- package/dist/cli/commands/knowledge-graph.js.map +1 -1
- package/dist/cli/commands/providers.d.ts +50 -0
- package/dist/cli/commands/providers.d.ts.map +1 -0
- package/dist/cli/commands/providers.js +403 -0
- package/dist/cli/commands/providers.js.map +1 -0
- package/dist/cli/index.js +214 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
- package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts +75 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js +400 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js.map +1 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts +31 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.js +523 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.js.map +1 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts +78 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js +491 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js.map +1 -0
- package/dist/code-intelligence/inference/index.d.ts +36 -0
- package/dist/code-intelligence/inference/index.d.ts.map +1 -0
- package/dist/code-intelligence/inference/index.js +65 -0
- package/dist/code-intelligence/inference/index.js.map +1 -0
- package/dist/code-intelligence/inference/types.d.ts +196 -0
- package/dist/code-intelligence/inference/types.d.ts.map +1 -0
- package/dist/code-intelligence/inference/types.js +9 -0
- package/dist/code-intelligence/inference/types.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts +75 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js +267 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts +138 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js +343 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts +67 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js +152 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +79 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -1
- package/dist/code-intelligence/visualization/MermaidGenerator.js +143 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -1
- package/dist/config/ConfigLoader.d.ts +86 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +450 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ProviderConfig.d.ts +153 -0
- package/dist/config/ProviderConfig.d.ts.map +1 -0
- package/dist/config/ProviderConfig.js +155 -0
- package/dist/config/ProviderConfig.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +45 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +6 -9
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.js +23 -0
- package/dist/memory/HNSWPatternStore.js.map +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +5 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/memory/RuVectorPatternStore.js +11 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
- package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
- package/dist/providers/CostOptimizationStrategies.js +831 -0
- package/dist/providers/CostOptimizationStrategies.js.map +1 -0
- package/dist/providers/HybridRouter.d.ts +142 -5
- package/dist/providers/HybridRouter.d.ts.map +1 -1
- package/dist/providers/HybridRouter.js +472 -6
- package/dist/providers/HybridRouter.js.map +1 -1
- package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
- package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
- package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
- package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
- package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
- package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
- package/dist/providers/HybridRouterModelSelection.js +420 -0
- package/dist/providers/HybridRouterModelSelection.js.map +1 -0
- package/dist/providers/LLMProviderFactory.d.ts +23 -9
- package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
- package/dist/providers/LLMProviderFactory.js +54 -11
- package/dist/providers/LLMProviderFactory.js.map +1 -1
- package/dist/providers/OllamaProvider.d.ts +122 -0
- package/dist/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/providers/OllamaProvider.js +425 -0
- package/dist/providers/OllamaProvider.js.map +1 -0
- package/dist/providers/index.d.ts +6 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +17 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/routing/ComplexityClassifier.d.ts +266 -0
- package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
- package/dist/routing/ComplexityClassifier.js +567 -0
- package/dist/routing/ComplexityClassifier.js.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.js +216 -0
- package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
- package/dist/routing/index.d.ts +13 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +24 -0
- package/dist/routing/index.js.map +1 -0
- package/docs/reference/model-capability-registry.md +402 -0
- package/docs/reference/provider-config-schema.md +608 -0
- package/package.json +20 -4
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Capability Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry for tracking LLM model capabilities, performance benchmarks,
|
|
5
|
+
* and intelligent model selection based on task requirements and constraints.
|
|
6
|
+
*
|
|
7
|
+
* @module routing/ModelCapabilityRegistry
|
|
8
|
+
*/
|
|
9
|
+
export type TaskType = 'test-generation' | 'coverage-analysis' | 'code-review' | 'bug-detection' | 'documentation' | 'refactoring' | 'performance-testing' | 'security-scanning';
|
|
10
|
+
export interface ModelCapabilities {
|
|
11
|
+
modelId: string;
|
|
12
|
+
provider: 'ollama' | 'openrouter' | 'groq' | 'together' | 'claude' | 'ruvllm';
|
|
13
|
+
parameters: string;
|
|
14
|
+
contextWindow: number;
|
|
15
|
+
pricing?: {
|
|
16
|
+
inputPer1M: number;
|
|
17
|
+
outputPer1M: number;
|
|
18
|
+
};
|
|
19
|
+
supportedTasks: TaskType[];
|
|
20
|
+
strengths: string[];
|
|
21
|
+
weaknesses?: string[];
|
|
22
|
+
benchmarks?: {
|
|
23
|
+
humanEval?: number;
|
|
24
|
+
sweBench?: number;
|
|
25
|
+
aiderPolyglot?: number;
|
|
26
|
+
};
|
|
27
|
+
availableOn: string[];
|
|
28
|
+
requiresGPU: boolean;
|
|
29
|
+
vramRequired?: number;
|
|
30
|
+
qualityRatings?: Partial<Record<TaskType, number>>;
|
|
31
|
+
}
|
|
32
|
+
export interface ModelConstraints {
|
|
33
|
+
maxCostPer1M?: number;
|
|
34
|
+
requiresLocal?: boolean;
|
|
35
|
+
preferFree?: boolean;
|
|
36
|
+
minContextWindow?: number;
|
|
37
|
+
requiredCapabilities?: string[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Registry for managing model capabilities and intelligent selection
|
|
41
|
+
*/
|
|
42
|
+
export declare class ModelCapabilityRegistry {
|
|
43
|
+
private models;
|
|
44
|
+
constructor();
|
|
45
|
+
/**
|
|
46
|
+
* Load default model configurations from bundled data
|
|
47
|
+
*/
|
|
48
|
+
loadDefaultModels(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Register a new model or update existing model capabilities
|
|
51
|
+
*/
|
|
52
|
+
registerModel(model: ModelCapabilities): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get model capabilities by ID
|
|
55
|
+
*/
|
|
56
|
+
getModel(modelId: string): ModelCapabilities | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Get all registered models
|
|
59
|
+
*/
|
|
60
|
+
getAllModels(): ModelCapabilities[];
|
|
61
|
+
/**
|
|
62
|
+
* Get the best model for a specific task based on complexity and constraints
|
|
63
|
+
*
|
|
64
|
+
* @param task - Type of task to perform
|
|
65
|
+
* @param complexity - Task complexity level
|
|
66
|
+
* @param constraints - Optional constraints (cost, local deployment, etc.)
|
|
67
|
+
* @returns Model ID of the best match, or undefined if no suitable model found
|
|
68
|
+
*/
|
|
69
|
+
getBestModelForTask(task: TaskType, complexity: 'simple' | 'moderate' | 'complex' | 'very_complex', constraints?: ModelConstraints): string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Get all models available from a specific provider
|
|
72
|
+
*/
|
|
73
|
+
getModelsForProvider(provider: string): ModelCapabilities[];
|
|
74
|
+
/**
|
|
75
|
+
* Update quality rating for a model on a specific task
|
|
76
|
+
* Used for adaptive learning based on actual performance
|
|
77
|
+
*/
|
|
78
|
+
updateQualityRating(modelId: string, task: TaskType, rating: number): void;
|
|
79
|
+
/**
|
|
80
|
+
* Apply constraints to filter candidate models
|
|
81
|
+
*/
|
|
82
|
+
private applyConstraints;
|
|
83
|
+
/**
|
|
84
|
+
* Calculate a score for a model based on task, complexity, and constraints
|
|
85
|
+
* Higher score = better match
|
|
86
|
+
*/
|
|
87
|
+
private calculateModelScore;
|
|
88
|
+
/**
|
|
89
|
+
* Get complexity match score (0-1) based on model size and task complexity
|
|
90
|
+
*/
|
|
91
|
+
private getComplexityMatchScore;
|
|
92
|
+
/**
|
|
93
|
+
* Get default model data
|
|
94
|
+
* Loads from bundled JSON file
|
|
95
|
+
*/
|
|
96
|
+
private getDefaultModelData;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=ModelCapabilityRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelCapabilityRegistry.d.ts","sourceRoot":"","sources":["../../src/routing/ModelCapabilityRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,mBAAmB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAG9E,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAGF,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAiC;;IAM/C;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAOzB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI7C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIxD;;OAEG;IACH,YAAY,IAAI,iBAAiB,EAAE;IAInC;;;;;;;OAOG;IACH,mBAAmB,CACjB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,EAC9D,WAAW,CAAC,EAAE,gBAAgB,GAC7B,MAAM,GAAG,SAAS;IA2BrB;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAK3D;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAe1E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2C3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Model Capability Registry
|
|
4
|
+
*
|
|
5
|
+
* Central registry for tracking LLM model capabilities, performance benchmarks,
|
|
6
|
+
* and intelligent model selection based on task requirements and constraints.
|
|
7
|
+
*
|
|
8
|
+
* @module routing/ModelCapabilityRegistry
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ModelCapabilityRegistry = void 0;
|
|
12
|
+
/**
|
|
13
|
+
* Registry for managing model capabilities and intelligent selection
|
|
14
|
+
*/
|
|
15
|
+
class ModelCapabilityRegistry {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.models = new Map();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load default model configurations from bundled data
|
|
21
|
+
*/
|
|
22
|
+
loadDefaultModels() {
|
|
23
|
+
// Models will be loaded from JSON file
|
|
24
|
+
// This method is called during initialization
|
|
25
|
+
const defaultModels = this.getDefaultModelData();
|
|
26
|
+
defaultModels.forEach(model => this.registerModel(model));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register a new model or update existing model capabilities
|
|
30
|
+
*/
|
|
31
|
+
registerModel(model) {
|
|
32
|
+
this.models.set(model.modelId, model);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get model capabilities by ID
|
|
36
|
+
*/
|
|
37
|
+
getModel(modelId) {
|
|
38
|
+
return this.models.get(modelId);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get all registered models
|
|
42
|
+
*/
|
|
43
|
+
getAllModels() {
|
|
44
|
+
return Array.from(this.models.values());
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the best model for a specific task based on complexity and constraints
|
|
48
|
+
*
|
|
49
|
+
* @param task - Type of task to perform
|
|
50
|
+
* @param complexity - Task complexity level
|
|
51
|
+
* @param constraints - Optional constraints (cost, local deployment, etc.)
|
|
52
|
+
* @returns Model ID of the best match, or undefined if no suitable model found
|
|
53
|
+
*/
|
|
54
|
+
getBestModelForTask(task, complexity, constraints) {
|
|
55
|
+
// Filter models that support the task
|
|
56
|
+
let candidates = Array.from(this.models.values())
|
|
57
|
+
.filter(model => model.supportedTasks.includes(task));
|
|
58
|
+
// Apply constraints
|
|
59
|
+
if (constraints) {
|
|
60
|
+
candidates = this.applyConstraints(candidates, constraints);
|
|
61
|
+
}
|
|
62
|
+
// If no candidates remain, return undefined
|
|
63
|
+
if (candidates.length === 0) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
// Score and rank candidates
|
|
67
|
+
const scored = candidates.map(model => ({
|
|
68
|
+
model,
|
|
69
|
+
score: this.calculateModelScore(model, task, complexity, constraints)
|
|
70
|
+
}));
|
|
71
|
+
// Sort by score descending
|
|
72
|
+
scored.sort((a, b) => b.score - a.score);
|
|
73
|
+
return scored[0]?.model.modelId;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get all models available from a specific provider
|
|
77
|
+
*/
|
|
78
|
+
getModelsForProvider(provider) {
|
|
79
|
+
return Array.from(this.models.values())
|
|
80
|
+
.filter(model => model.provider === provider);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Update quality rating for a model on a specific task
|
|
84
|
+
* Used for adaptive learning based on actual performance
|
|
85
|
+
*/
|
|
86
|
+
updateQualityRating(modelId, task, rating) {
|
|
87
|
+
const model = this.models.get(modelId);
|
|
88
|
+
if (!model) {
|
|
89
|
+
throw new Error(`Model not found: ${modelId}`);
|
|
90
|
+
}
|
|
91
|
+
if (!model.qualityRatings) {
|
|
92
|
+
model.qualityRatings = {};
|
|
93
|
+
}
|
|
94
|
+
// Update rating with exponential moving average (0.3 weight for new rating)
|
|
95
|
+
const currentRating = model.qualityRatings[task] ?? 0.5;
|
|
96
|
+
model.qualityRatings[task] = currentRating * 0.7 + rating * 0.3;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Apply constraints to filter candidate models
|
|
100
|
+
*/
|
|
101
|
+
applyConstraints(candidates, constraints) {
|
|
102
|
+
let filtered = candidates;
|
|
103
|
+
// Cost constraint
|
|
104
|
+
if (constraints.maxCostPer1M !== undefined) {
|
|
105
|
+
filtered = filtered.filter(model => {
|
|
106
|
+
if (!model.pricing)
|
|
107
|
+
return true; // Free models pass
|
|
108
|
+
const avgCost = (model.pricing.inputPer1M + model.pricing.outputPer1M) / 2;
|
|
109
|
+
return avgCost <= constraints.maxCostPer1M;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Local deployment constraint
|
|
113
|
+
if (constraints.requiresLocal) {
|
|
114
|
+
filtered = filtered.filter(model => model.provider === 'ollama' || model.availableOn.includes('local'));
|
|
115
|
+
}
|
|
116
|
+
// Free tier preference
|
|
117
|
+
if (constraints.preferFree) {
|
|
118
|
+
const freeModels = filtered.filter(model => !model.pricing ||
|
|
119
|
+
(model.pricing.inputPer1M === 0 && model.pricing.outputPer1M === 0));
|
|
120
|
+
if (freeModels.length > 0) {
|
|
121
|
+
filtered = freeModels;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Context window requirement
|
|
125
|
+
if (constraints.minContextWindow) {
|
|
126
|
+
filtered = filtered.filter(model => model.contextWindow >= constraints.minContextWindow);
|
|
127
|
+
}
|
|
128
|
+
// Required capabilities
|
|
129
|
+
if (constraints.requiredCapabilities && constraints.requiredCapabilities.length > 0) {
|
|
130
|
+
filtered = filtered.filter(model => constraints.requiredCapabilities.every(cap => model.strengths.includes(cap)));
|
|
131
|
+
}
|
|
132
|
+
return filtered;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Calculate a score for a model based on task, complexity, and constraints
|
|
136
|
+
* Higher score = better match
|
|
137
|
+
*/
|
|
138
|
+
calculateModelScore(model, task, complexity, constraints) {
|
|
139
|
+
let score = 0;
|
|
140
|
+
// Base score from quality rating (0-40 points)
|
|
141
|
+
if (model.qualityRatings?.[task]) {
|
|
142
|
+
score += model.qualityRatings[task] * 40;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
score += 20; // Default mid-range score
|
|
146
|
+
}
|
|
147
|
+
// Benchmark scores (0-30 points)
|
|
148
|
+
if (model.benchmarks) {
|
|
149
|
+
const benchmarkScore = ((model.benchmarks.humanEval ?? 50) * 0.4 +
|
|
150
|
+
(model.benchmarks.sweBench ?? 50) * 0.4 +
|
|
151
|
+
(model.benchmarks.aiderPolyglot ?? 50) * 0.2) / 100;
|
|
152
|
+
score += benchmarkScore * 30;
|
|
153
|
+
}
|
|
154
|
+
// Complexity matching (0-20 points)
|
|
155
|
+
const complexityScore = this.getComplexityMatchScore(model, complexity);
|
|
156
|
+
score += complexityScore * 20;
|
|
157
|
+
// Cost efficiency (0-10 points)
|
|
158
|
+
if (constraints?.preferFree || constraints?.maxCostPer1M) {
|
|
159
|
+
if (!model.pricing || model.pricing.inputPer1M === 0) {
|
|
160
|
+
score += 10; // Free models get full points
|
|
161
|
+
}
|
|
162
|
+
else if (model.pricing) {
|
|
163
|
+
const avgCost = (model.pricing.inputPer1M + model.pricing.outputPer1M) / 2;
|
|
164
|
+
const maxCost = constraints?.maxCostPer1M ?? 10;
|
|
165
|
+
score += Math.max(0, 10 * (1 - avgCost / maxCost));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return score;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get complexity match score (0-1) based on model size and task complexity
|
|
172
|
+
*/
|
|
173
|
+
getComplexityMatchScore(model, complexity) {
|
|
174
|
+
// Extract parameter count (rough approximation)
|
|
175
|
+
const paramMatch = model.parameters.match(/(\d+)B/);
|
|
176
|
+
const paramCount = paramMatch ? parseInt(paramMatch[1]) : 10;
|
|
177
|
+
// Map complexity to ideal parameter range
|
|
178
|
+
const idealParams = {
|
|
179
|
+
simple: [1, 15], // 1B-15B ideal for simple tasks
|
|
180
|
+
moderate: [10, 40], // 10B-40B for moderate
|
|
181
|
+
complex: [30, 80], // 30B-80B for complex
|
|
182
|
+
very_complex: [60, 150] // 60B+ for very complex
|
|
183
|
+
};
|
|
184
|
+
const [min, max] = idealParams[complexity];
|
|
185
|
+
// Calculate match score based on how well param count fits range
|
|
186
|
+
if (paramCount >= min && paramCount <= max) {
|
|
187
|
+
return 1.0; // Perfect match
|
|
188
|
+
}
|
|
189
|
+
else if (paramCount < min) {
|
|
190
|
+
// Too small - score decreases as we get further from min
|
|
191
|
+
return Math.max(0, 1 - (min - paramCount) / min);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
// Too large - minor penalty for being overpowered
|
|
195
|
+
return Math.max(0.5, 1 - (paramCount - max) / (max * 2));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get default model data
|
|
200
|
+
* Loads from bundled JSON file
|
|
201
|
+
*/
|
|
202
|
+
getDefaultModelData() {
|
|
203
|
+
try {
|
|
204
|
+
// Import JSON data directly (works with resolveJsonModule)
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
206
|
+
const modelData = require('./data/model-capabilities.json');
|
|
207
|
+
return modelData;
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
console.warn('Failed to load model capabilities data:', error);
|
|
211
|
+
return [];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
exports.ModelCapabilityRegistry = ModelCapabilityRegistry;
|
|
216
|
+
//# sourceMappingURL=ModelCapabilityRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelCapabilityRegistry.js","sourceRoot":"","sources":["../../src/routing/ModelCapabilityRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAqDH;;GAEG;AACH,MAAa,uBAAuB;IAGlC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,uCAAuC;QACvC,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAwB;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CACjB,IAAc,EACd,UAA8D,EAC9D,WAA8B;QAE9B,sCAAsC;QACtC,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aAC9C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,oBAAoB;QACpB,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QAED,4CAA4C;QAC5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;SACtE,CAAC,CAAC,CAAC;QAEJ,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,QAAgB;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACpC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAe,EAAE,IAAc,EAAE,MAAc;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,4EAA4E;QAC5E,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACxD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,UAA+B,EAC/B,WAA6B;QAE7B,IAAI,QAAQ,GAAG,UAAU,CAAC;QAE1B,kBAAkB;QAClB,IAAI,WAAW,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;gBACpD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC3E,OAAO,OAAO,IAAI,WAAW,CAAC,YAAa,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;gBACxD,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG,UAAU,CAAC;YACxB,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjC,KAAK,CAAC,aAAa,IAAI,WAAW,CAAC,gBAAiB,CACrD,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,WAAW,CAAC,oBAAoB,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjC,WAAW,CAAC,oBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC5C,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,KAAwB,EACxB,IAAc,EACd,UAA8D,EAC9D,WAA8B;QAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,+CAA+C;QAC/C,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAE,GAAG,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,EAAE,CAAC,CAAC,0BAA0B;QACzC,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,CACrB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,GAAG;gBACxC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,GAAG;gBACvC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,GAAG,CAC7C,GAAG,GAAG,CAAC;YACR,KAAK,IAAI,cAAc,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,oCAAoC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,KAAK,IAAI,eAAe,GAAG,EAAE,CAAC;QAE9B,gCAAgC;QAChC,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrD,KAAK,IAAI,EAAE,CAAC,CAAC,8BAA8B;YAC7C,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC3E,MAAM,OAAO,GAAG,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;gBAChD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,KAAwB,EACxB,UAA8D;QAE9D,gDAAgD;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,0CAA0C;QAC1C,MAAM,WAAW,GAAqC;YACpD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAS,gCAAgC;YACxD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAM,uBAAuB;YAC/C,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAO,sBAAsB;YAC9C,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,wBAAwB;SACjD,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3C,iEAAiE;QACjE,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;YAC3C,OAAO,GAAG,CAAC,CAAC,gBAAgB;QAC9B,CAAC;aAAM,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC5B,yDAAyD;YACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,IAAI,CAAC;YACH,2DAA2D;YAC3D,8DAA8D;YAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAC5D,OAAO,SAAgC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA5PD,0DA4PC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Routing Module - Intelligent Task Routing and Classification
|
|
3
|
+
*
|
|
4
|
+
* Provides ML-based complexity classification for optimal LLM provider routing.
|
|
5
|
+
*
|
|
6
|
+
* @module routing
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export { ComplexityClassifier, TaskComplexity, TaskFeatures, RoutingHistoryEntry, ComplexityClassifierConfig } from './ComplexityClassifier';
|
|
10
|
+
export { ModelCapabilityRegistry, type ModelCapabilities, type ModelConstraints, type TaskType } from './ModelCapabilityRegistry';
|
|
11
|
+
export { PromptCompressor, RequestBatcher, SmartCacheStrategy, ModelRightSizer, CostOptimizationManager } from '../providers/CostOptimizationStrategies';
|
|
12
|
+
export type { RequestGroup, CacheStrategy, CompressionResult, ModelRightSizingResult, BatchExecutionResult, CostOptimizationConfig } from '../providers/CostOptimizationStrategies';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Routing Module - Intelligent Task Routing and Classification
|
|
4
|
+
*
|
|
5
|
+
* Provides ML-based complexity classification for optimal LLM provider routing.
|
|
6
|
+
*
|
|
7
|
+
* @module routing
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.CostOptimizationManager = exports.ModelRightSizer = exports.SmartCacheStrategy = exports.RequestBatcher = exports.PromptCompressor = exports.ModelCapabilityRegistry = exports.TaskComplexity = exports.ComplexityClassifier = void 0;
|
|
12
|
+
var ComplexityClassifier_1 = require("./ComplexityClassifier");
|
|
13
|
+
Object.defineProperty(exports, "ComplexityClassifier", { enumerable: true, get: function () { return ComplexityClassifier_1.ComplexityClassifier; } });
|
|
14
|
+
Object.defineProperty(exports, "TaskComplexity", { enumerable: true, get: function () { return ComplexityClassifier_1.TaskComplexity; } });
|
|
15
|
+
var ModelCapabilityRegistry_1 = require("./ModelCapabilityRegistry");
|
|
16
|
+
Object.defineProperty(exports, "ModelCapabilityRegistry", { enumerable: true, get: function () { return ModelCapabilityRegistry_1.ModelCapabilityRegistry; } });
|
|
17
|
+
// Cost Optimization Strategies (Task 2.3.2)
|
|
18
|
+
var CostOptimizationStrategies_1 = require("../providers/CostOptimizationStrategies");
|
|
19
|
+
Object.defineProperty(exports, "PromptCompressor", { enumerable: true, get: function () { return CostOptimizationStrategies_1.PromptCompressor; } });
|
|
20
|
+
Object.defineProperty(exports, "RequestBatcher", { enumerable: true, get: function () { return CostOptimizationStrategies_1.RequestBatcher; } });
|
|
21
|
+
Object.defineProperty(exports, "SmartCacheStrategy", { enumerable: true, get: function () { return CostOptimizationStrategies_1.SmartCacheStrategy; } });
|
|
22
|
+
Object.defineProperty(exports, "ModelRightSizer", { enumerable: true, get: function () { return CostOptimizationStrategies_1.ModelRightSizer; } });
|
|
23
|
+
Object.defineProperty(exports, "CostOptimizationManager", { enumerable: true, get: function () { return CostOptimizationStrategies_1.CostOptimizationManager; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+DAMgC;AAL9B,4HAAA,oBAAoB,OAAA;AACpB,sHAAA,cAAc,OAAA;AAMhB,qEAKmC;AAJjC,kIAAA,uBAAuB,OAAA;AAMzB,4CAA4C;AAC5C,sFAMiD;AAL/C,8HAAA,gBAAgB,OAAA;AAChB,4HAAA,cAAc,OAAA;AACd,gIAAA,kBAAkB,OAAA;AAClB,6HAAA,eAAe,OAAA;AACf,qIAAA,uBAAuB,OAAA"}
|