agentic-qe 2.1.1 → 2.2.0
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/CHANGELOG.md +213 -0
- package/README.md +37 -11
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +5 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +4 -0
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/di/AgentDependencies.d.ts +127 -0
- package/dist/core/di/AgentDependencies.d.ts.map +1 -0
- package/dist/core/di/AgentDependencies.js +251 -0
- package/dist/core/di/AgentDependencies.js.map +1 -0
- package/dist/core/di/DIContainer.d.ts +149 -0
- package/dist/core/di/DIContainer.d.ts.map +1 -0
- package/dist/core/di/DIContainer.js +333 -0
- package/dist/core/di/DIContainer.js.map +1 -0
- package/dist/core/di/index.d.ts +11 -0
- package/dist/core/di/index.d.ts.map +1 -0
- package/dist/core/di/index.js +22 -0
- package/dist/core/di/index.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts +5 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.js +43 -1
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/learning/ExperienceSharingProtocol.d.ts +243 -0
- package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -0
- package/dist/learning/ExperienceSharingProtocol.js +538 -0
- package/dist/learning/ExperienceSharingProtocol.js.map +1 -0
- package/dist/learning/LearningEngine.d.ts +101 -1
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +330 -3
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/QLearning.d.ts +38 -125
- package/dist/learning/QLearning.d.ts.map +1 -1
- package/dist/learning/QLearning.js +46 -267
- package/dist/learning/QLearning.js.map +1 -1
- package/dist/learning/QLearningLegacy.d.ts +154 -0
- package/dist/learning/QLearningLegacy.d.ts.map +1 -0
- package/dist/learning/QLearningLegacy.js +337 -0
- package/dist/learning/QLearningLegacy.js.map +1 -0
- package/dist/learning/algorithms/AbstractRLLearner.d.ts +162 -0
- package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -0
- package/dist/learning/algorithms/AbstractRLLearner.js +300 -0
- package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -0
- package/dist/learning/algorithms/ActorCriticLearner.d.ts +201 -0
- package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -0
- package/dist/learning/algorithms/ActorCriticLearner.js +447 -0
- package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -0
- package/dist/learning/algorithms/PPOLearner.d.ts +207 -0
- package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -0
- package/dist/learning/algorithms/PPOLearner.js +490 -0
- package/dist/learning/algorithms/PPOLearner.js.map +1 -0
- package/dist/learning/algorithms/QLearning.d.ts +68 -0
- package/dist/learning/algorithms/QLearning.d.ts.map +1 -0
- package/dist/learning/algorithms/QLearning.js +116 -0
- package/dist/learning/algorithms/QLearning.js.map +1 -0
- package/dist/learning/algorithms/SARSALearner.d.ts +107 -0
- package/dist/learning/algorithms/SARSALearner.d.ts.map +1 -0
- package/dist/learning/algorithms/SARSALearner.js +252 -0
- package/dist/learning/algorithms/SARSALearner.js.map +1 -0
- package/dist/learning/algorithms/index.d.ts +29 -0
- package/dist/learning/algorithms/index.d.ts.map +1 -0
- package/dist/learning/algorithms/index.js +44 -0
- package/dist/learning/algorithms/index.js.map +1 -0
- package/dist/learning/index.d.ts +3 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +15 -1
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +2 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/mcp/handlers/advanced/index.d.ts +3 -2
- package/dist/mcp/handlers/advanced/index.d.ts.map +1 -1
- package/dist/mcp/handlers/advanced/index.js +4 -5
- package/dist/mcp/handlers/advanced/index.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts +1 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +3 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts +1 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js +3 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
- package/dist/mcp/handlers/analysis/index.d.ts +0 -2
- package/dist/mcp/handlers/analysis/index.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/index.js +2 -3
- package/dist/mcp/handlers/analysis/index.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts +1 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +3 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
- package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/flaky-test-detect.js +2 -0
- package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
- package/dist/mcp/handlers/prediction/index.d.ts +0 -2
- package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/index.js +2 -3
- package/dist/mcp/handlers/prediction/index.js.map +1 -1
- package/dist/mcp/handlers/security/index.d.ts +0 -30
- package/dist/mcp/handlers/security/index.d.ts.map +1 -1
- package/dist/mcp/handlers/security/index.js +5 -31
- package/dist/mcp/handlers/security/index.js.map +1 -1
- package/dist/mcp/lazy-loader.d.ts +156 -0
- package/dist/mcp/lazy-loader.d.ts.map +1 -0
- package/dist/mcp/lazy-loader.js +327 -0
- package/dist/mcp/lazy-loader.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +18 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +133 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +236 -49
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-categories.d.ts +105 -0
- package/dist/mcp/tool-categories.d.ts.map +1 -0
- package/dist/mcp/tool-categories.js +463 -0
- package/dist/mcp/tool-categories.js.map +1 -0
- package/dist/mcp/tools.d.ts +3 -19
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +260 -647
- package/dist/mcp/tools.js.map +1 -1
- package/dist/memory/DistributedPatternLibrary.d.ts +159 -0
- package/dist/memory/DistributedPatternLibrary.d.ts.map +1 -0
- package/dist/memory/DistributedPatternLibrary.js +370 -0
- package/dist/memory/DistributedPatternLibrary.js.map +1 -0
- package/dist/memory/PatternQualityScorer.d.ts +169 -0
- package/dist/memory/PatternQualityScorer.d.ts.map +1 -0
- package/dist/memory/PatternQualityScorer.js +327 -0
- package/dist/memory/PatternQualityScorer.js.map +1 -0
- package/dist/memory/PatternReplicationService.d.ts +187 -0
- package/dist/memory/PatternReplicationService.d.ts.map +1 -0
- package/dist/memory/PatternReplicationService.js +392 -0
- package/dist/memory/PatternReplicationService.js.map +1 -0
- package/dist/providers/ClaudeProvider.d.ts +98 -0
- package/dist/providers/ClaudeProvider.d.ts.map +1 -0
- package/dist/providers/ClaudeProvider.js +418 -0
- package/dist/providers/ClaudeProvider.js.map +1 -0
- package/dist/providers/ILLMProvider.d.ts +287 -0
- package/dist/providers/ILLMProvider.d.ts.map +1 -0
- package/dist/providers/ILLMProvider.js +33 -0
- package/dist/providers/ILLMProvider.js.map +1 -0
- package/dist/providers/LLMProviderFactory.d.ts +154 -0
- package/dist/providers/LLMProviderFactory.d.ts.map +1 -0
- package/dist/providers/LLMProviderFactory.js +426 -0
- package/dist/providers/LLMProviderFactory.js.map +1 -0
- package/dist/providers/RuvllmProvider.d.ts +107 -0
- package/dist/providers/RuvllmProvider.d.ts.map +1 -0
- package/dist/providers/RuvllmProvider.js +417 -0
- package/dist/providers/RuvllmProvider.js.map +1 -0
- package/dist/providers/index.d.ts +31 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +69 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/utils/IntervalRegistry.d.ts +110 -0
- package/dist/utils/IntervalRegistry.d.ts.map +1 -0
- package/dist/utils/IntervalRegistry.js +190 -0
- package/dist/utils/IntervalRegistry.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +5 -1
- package/dist/utils/index.js.map +1 -1
- package/docs/reference/agents.md +33 -0
- package/docs/reference/usage.md +60 -0
- package/package.json +2 -2
package/dist/mcp/server.js
CHANGED
|
@@ -16,15 +16,17 @@ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
|
16
16
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
17
17
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
18
18
|
const tools_js_1 = require("./tools.js");
|
|
19
|
+
const lazy_loader_js_1 = require("./lazy-loader.js");
|
|
20
|
+
const tool_categories_js_1 = require("./tool-categories.js");
|
|
19
21
|
const fleet_init_js_1 = require("./handlers/fleet-init.js");
|
|
20
22
|
const agent_spawn_js_1 = require("./handlers/agent-spawn.js");
|
|
21
|
-
|
|
23
|
+
// REMOVED: TestGenerateHandler - use TestGenerateEnhancedHandler instead (Issue #115 Phase 1)
|
|
22
24
|
const test_execute_js_1 = require("./handlers/test-execute.js");
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
// REMOVED: QualityAnalyzeHandler - use QE_QUALITYGATE_EVALUATE instead (Issue #115 Phase 1)
|
|
26
|
+
// REMOVED: PredictDefectsHandler - use PredictDefectsAIHandler instead (Issue #115 Phase 1)
|
|
25
27
|
const fleet_status_js_1 = require("./handlers/fleet-status.js");
|
|
26
28
|
const task_orchestrate_js_1 = require("./handlers/task-orchestrate.js");
|
|
27
|
-
|
|
29
|
+
// REMOVED: OptimizeTestsHandler - use TestOptimizeSublinearHandler instead (Issue #115 Phase 1)
|
|
28
30
|
const memory_store_js_1 = require("./handlers/memory/memory-store.js");
|
|
29
31
|
const memory_retrieve_js_1 = require("./handlers/memory/memory-retrieve.js");
|
|
30
32
|
const memory_query_js_1 = require("./handlers/memory/memory-query.js");
|
|
@@ -47,21 +49,14 @@ const test_execute_parallel_js_1 = require("./handlers/test/test-execute-paralle
|
|
|
47
49
|
const test_optimize_sublinear_js_1 = require("./handlers/test/test-optimize-sublinear.js");
|
|
48
50
|
const test_report_comprehensive_js_1 = require("./handlers/test/test-report-comprehensive.js");
|
|
49
51
|
const test_coverage_detailed_js_1 = require("./handlers/test/test-coverage-detailed.js");
|
|
50
|
-
const quality_gate_execute_js_1 = require("./handlers/quality/quality-gate-execute.js");
|
|
51
|
-
const quality_validate_metrics_js_1 = require("./handlers/quality/quality-validate-metrics.js");
|
|
52
|
-
const quality_risk_assess_js_1 = require("./handlers/quality/quality-risk-assess.js");
|
|
53
|
-
const quality_decision_make_js_1 = require("./handlers/quality/quality-decision-make.js");
|
|
54
|
-
const quality_policy_check_js_1 = require("./handlers/quality/quality-policy-check.js");
|
|
55
|
-
const flaky_test_detect_js_1 = require("./handlers/prediction/flaky-test-detect.js");
|
|
56
52
|
const predict_defects_ai_js_1 = require("./handlers/prediction/predict-defects-ai.js");
|
|
57
|
-
|
|
53
|
+
// REMOVED: RegressionRiskAnalyzeHandler - use QE_REGRESSION_ANALYZE_RISK instead (Issue #115)
|
|
58
54
|
const visual_test_regression_js_1 = require("./handlers/prediction/visual-test-regression.js");
|
|
59
55
|
const deployment_readiness_check_js_1 = require("./handlers/prediction/deployment-readiness-check.js");
|
|
60
56
|
const coverage_analyze_sublinear_handler_js_1 = require("./handlers/analysis/coverage-analyze-sublinear-handler.js");
|
|
61
57
|
const coverage_gaps_detect_handler_js_1 = require("./handlers/analysis/coverage-gaps-detect-handler.js");
|
|
62
|
-
|
|
58
|
+
// REMOVED: PerformanceBenchmarkRunHandler - use PERFORMANCE_RUN_BENCHMARK instead (Issue #115)
|
|
63
59
|
const performance_monitor_realtime_handler_js_1 = require("./handlers/analysis/performance-monitor-realtime-handler.js");
|
|
64
|
-
const security_scan_comprehensive_handler_js_1 = require("./handlers/analysis/security-scan-comprehensive-handler.js");
|
|
65
60
|
const AgentRegistry_js_1 = require("./services/AgentRegistry.js");
|
|
66
61
|
const HookExecutor_js_1 = require("./services/HookExecutor.js");
|
|
67
62
|
const MemoryManagerFactory_js_1 = require("../core/memory/MemoryManagerFactory.js");
|
|
@@ -134,14 +129,13 @@ class AgenticQEMCPServer {
|
|
|
134
129
|
this.handlers.set(tools_js_1.TOOL_NAMES.AGENT_SPAWN, new agent_spawn_js_1.AgentSpawnHandler(this.registry, this.hookExecutor));
|
|
135
130
|
this.handlers.set(tools_js_1.TOOL_NAMES.FLEET_STATUS, new fleet_status_js_1.FleetStatusHandler(this.registry, this.hookExecutor));
|
|
136
131
|
// Test lifecycle handlers
|
|
137
|
-
|
|
132
|
+
// REMOVED: TEST_GENERATE - use TEST_GENERATE_ENHANCED instead (Issue #115 Phase 1)
|
|
138
133
|
this.handlers.set(tools_js_1.TOOL_NAMES.TEST_EXECUTE, new test_execute_js_1.TestExecuteHandler(this.registry, this.hookExecutor));
|
|
139
|
-
//
|
|
140
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_ANALYZE, new quality_analyze_js_1.QualityAnalyzeHandler(this.registry, this.hookExecutor));
|
|
141
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.PREDICT_DEFECTS, new predict_defects_js_1.PredictDefectsHandler(this.registry, this.hookExecutor));
|
|
142
|
-
// Orchestration and optimization handlers
|
|
134
|
+
// Orchestration handlers
|
|
143
135
|
this.handlers.set(tools_js_1.TOOL_NAMES.TASK_ORCHESTRATE, new task_orchestrate_js_1.TaskOrchestrateHandler(this.registry, this.hookExecutor, this.memory));
|
|
144
|
-
|
|
136
|
+
// REMOVED: OPTIMIZE_TESTS - use TEST_OPTIMIZE_SUBLINEAR instead (Issue #115 Phase 1)
|
|
137
|
+
// REMOVED: QUALITY_ANALYZE - use QE_QUALITYGATE_EVALUATE instead (Issue #115 Phase 1)
|
|
138
|
+
// REMOVED: PREDICT_DEFECTS - use PREDICT_DEFECTS_AI instead (Issue #115 Phase 1)
|
|
145
139
|
// Enhanced test tool handlers
|
|
146
140
|
this.handlers.set(tools_js_1.TOOL_NAMES.TEST_GENERATE_ENHANCED, new test_generate_enhanced_js_1.TestGenerateEnhancedHandler());
|
|
147
141
|
this.handlers.set(tools_js_1.TOOL_NAMES.TEST_EXECUTE_PARALLEL, new test_execute_parallel_js_1.TestExecuteParallelHandler());
|
|
@@ -171,24 +165,20 @@ class AgenticQEMCPServer {
|
|
|
171
165
|
this.handlers.set(tools_js_1.TOOL_NAMES.TASK_STATUS, new task_status_js_1.TaskStatusHandler(this.memory));
|
|
172
166
|
this.handlers.set(tools_js_1.TOOL_NAMES.EVENT_EMIT, new event_emit_js_1.EventEmitHandler(this.memory));
|
|
173
167
|
this.handlers.set(tools_js_1.TOOL_NAMES.EVENT_SUBSCRIBE, new event_subscribe_js_1.EventSubscribeHandler(this.memory));
|
|
174
|
-
// Quality gate handlers
|
|
175
|
-
|
|
176
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_VALIDATE_METRICS, new quality_validate_metrics_js_1.QualityValidateMetricsHandler(this.hookExecutor));
|
|
177
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_RISK_ASSESS, new quality_risk_assess_js_1.QualityRiskAssessHandler(this.hookExecutor));
|
|
178
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_DECISION_MAKE, new quality_decision_make_js_1.QualityDecisionMakeHandler(this.hookExecutor));
|
|
179
|
-
this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_POLICY_CHECK, new quality_policy_check_js_1.QualityPolicyCheckHandler(this.hookExecutor));
|
|
168
|
+
// Quality gate handlers - REMOVED (Issue #115 Phase 1)
|
|
169
|
+
// Use QE_QUALITYGATE_* handlers instead (qe_qualitygate_evaluate, qe_qualitygate_validate_metrics, etc.)
|
|
180
170
|
// Prediction and analysis handlers
|
|
181
|
-
this.handlers.set(
|
|
171
|
+
// this.handlers.set(TOOL_NAMES.FLAKY_TEST_DETECT, new FlakyTestDetectHandler(this.registry, this.hookExecutor)); // DEPRECATED - absorbed into FLAKY_DETECT_STATISTICAL
|
|
182
172
|
this.handlers.set(tools_js_1.TOOL_NAMES.PREDICT_DEFECTS_AI, new predict_defects_ai_js_1.PredictDefectsAIHandler(this.registry, this.hookExecutor));
|
|
183
|
-
this.handlers.set(
|
|
173
|
+
// this.handlers.set(TOOL_NAMES.REGRESSION_RISK_ANALYZE, new RegressionRiskAnalyzeHandler(this.registry, this.hookExecutor)); // REMOVED - use QE_REGRESSION_ANALYZE_RISK instead (Issue #115)
|
|
184
174
|
this.handlers.set(tools_js_1.TOOL_NAMES.VISUAL_TEST_REGRESSION, new visual_test_regression_js_1.VisualTestRegressionHandler(this.registry, this.hookExecutor));
|
|
185
175
|
this.handlers.set(tools_js_1.TOOL_NAMES.DEPLOYMENT_READINESS_CHECK, new deployment_readiness_check_js_1.DeploymentReadinessCheckHandler(this.registry, this.hookExecutor));
|
|
186
176
|
// Analysis handlers
|
|
187
177
|
this.handlers.set(tools_js_1.TOOL_NAMES.COVERAGE_ANALYZE_SUBLINEAR, new coverage_analyze_sublinear_handler_js_1.CoverageAnalyzeSublinearHandler());
|
|
188
178
|
this.handlers.set(tools_js_1.TOOL_NAMES.COVERAGE_GAPS_DETECT, new coverage_gaps_detect_handler_js_1.CoverageGapsDetectHandler());
|
|
189
|
-
this.handlers.set(
|
|
179
|
+
// this.handlers.set(TOOL_NAMES.PERFORMANCE_BENCHMARK_RUN, new PerformanceBenchmarkRunHandler()); // DEPRECATED - absorbed into PERFORMANCE_RUN_BENCHMARK
|
|
190
180
|
this.handlers.set(tools_js_1.TOOL_NAMES.PERFORMANCE_MONITOR_REALTIME, new performance_monitor_realtime_handler_js_1.PerformanceMonitorRealtimeHandler());
|
|
191
|
-
this.handlers.set(
|
|
181
|
+
// this.handlers.set(TOOL_NAMES.SECURITY_SCAN_COMPREHENSIVE, new SecurityScanComprehensiveHandler()); // DEPRECATED - use QE_SECURITY_SCAN_COMPREHENSIVE
|
|
192
182
|
// Streaming handlers (v1.0.5) - Note: These require special handling for AsyncGenerator
|
|
193
183
|
// They use the same memoryStore and eventBus as other handlers
|
|
194
184
|
// Create a shared EventEmitter for streaming if memory doesn't have one
|
|
@@ -234,10 +224,10 @@ class AgenticQEMCPServer {
|
|
|
234
224
|
this.handlers.set(tools_js_1.TOOL_NAMES.PERFORMANCE_ANALYZE_BOTTLENECKS, phase3Handler);
|
|
235
225
|
this.handlers.set(tools_js_1.TOOL_NAMES.PERFORMANCE_GENERATE_REPORT, phase3Handler);
|
|
236
226
|
this.handlers.set(tools_js_1.TOOL_NAMES.PERFORMANCE_RUN_BENCHMARK, phase3Handler);
|
|
237
|
-
// Security Tools
|
|
238
|
-
this.handlers.set(
|
|
239
|
-
this.handlers.set(
|
|
240
|
-
this.handlers.set(
|
|
227
|
+
// Security Tools (legacy tools deprecated - use qe_security_* instead)
|
|
228
|
+
// this.handlers.set(TOOL_NAMES.SECURITY_VALIDATE_AUTH, phase3Handler); // DEPRECATED
|
|
229
|
+
// this.handlers.set(TOOL_NAMES.SECURITY_CHECK_AUTHZ, phase3Handler); // DEPRECATED
|
|
230
|
+
// this.handlers.set(TOOL_NAMES.SECURITY_SCAN_DEPENDENCIES, phase3Handler); // DEPRECATED
|
|
241
231
|
this.handlers.set(tools_js_1.TOOL_NAMES.SECURITY_GENERATE_REPORT, phase3Handler);
|
|
242
232
|
// Visual Testing Tools
|
|
243
233
|
this.handlers.set(tools_js_1.TOOL_NAMES.VISUAL_COMPARE_SCREENSHOTS, phase3Handler);
|
|
@@ -298,16 +288,215 @@ class AgenticQEMCPServer {
|
|
|
298
288
|
*/
|
|
299
289
|
setupRequestHandlers() {
|
|
300
290
|
// Handle tool listing requests
|
|
291
|
+
// Issue #115 Phase 2: Use lazy loader to return only core tools initially
|
|
292
|
+
// This reduces token count by ~80% (14 core tools vs 87 total)
|
|
293
|
+
// Domain-specific tools are loaded on-demand via tools_load_domain
|
|
301
294
|
this.server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
295
|
+
const loader = (0, lazy_loader_js_1.getToolLoader)();
|
|
296
|
+
const coreTools = loader.getCoreTools();
|
|
297
|
+
const stats = loader.getStats();
|
|
298
|
+
// Log stats for debugging (can be removed in production)
|
|
299
|
+
console.error(`[Lazy Loader] Returning ${coreTools.length} core tools (${stats.totalAvailable} available)`);
|
|
302
300
|
return {
|
|
303
|
-
tools:
|
|
301
|
+
tools: coreTools
|
|
304
302
|
};
|
|
305
303
|
});
|
|
306
304
|
// Handle tool call requests
|
|
307
305
|
this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
308
306
|
const { name, arguments: args } = request.params;
|
|
309
307
|
try {
|
|
310
|
-
//
|
|
308
|
+
// Meta-tools for hierarchical tool loading (Phase 2 Optimization - Issue #115)
|
|
309
|
+
// These are handled inline before regular handler validation
|
|
310
|
+
if (name === tools_js_1.TOOL_NAMES.TOOLS_DISCOVER) {
|
|
311
|
+
const safeArgs = (args || {});
|
|
312
|
+
const categoryInput = safeArgs.category || 'all';
|
|
313
|
+
const includeDescriptions = safeArgs.includeDescriptions || false;
|
|
314
|
+
const toolLoader = (0, lazy_loader_js_1.getToolLoader)();
|
|
315
|
+
const stats = toolLoader.getStats();
|
|
316
|
+
// Support multiple categories (comma-separated)
|
|
317
|
+
const requestedCategories = categoryInput.split(',').map(c => c.trim().toLowerCase());
|
|
318
|
+
const shouldIncludeCategory = (cat) => requestedCategories.includes('all') || requestedCategories.includes(cat);
|
|
319
|
+
// Calculate statistics
|
|
320
|
+
const totalAvailable = tool_categories_js_1.TOOL_STATS.total;
|
|
321
|
+
const totalLoaded = stats.totalLoaded;
|
|
322
|
+
const loadingPercentage = totalAvailable > 0
|
|
323
|
+
? Math.round((totalLoaded / totalAvailable) * 100)
|
|
324
|
+
: 0;
|
|
325
|
+
const result = {
|
|
326
|
+
success: true,
|
|
327
|
+
timestamp: new Date().toISOString(),
|
|
328
|
+
// Overall statistics
|
|
329
|
+
statistics: {
|
|
330
|
+
totalAvailable,
|
|
331
|
+
totalLoaded,
|
|
332
|
+
loadingPercentage: `${loadingPercentage}%`,
|
|
333
|
+
breakdown: {
|
|
334
|
+
core: {
|
|
335
|
+
available: tool_categories_js_1.TOOL_STATS.core,
|
|
336
|
+
loaded: tool_categories_js_1.TOOL_STATS.core,
|
|
337
|
+
status: 'always loaded'
|
|
338
|
+
},
|
|
339
|
+
domains: {
|
|
340
|
+
available: tool_categories_js_1.TOOL_STATS.domains,
|
|
341
|
+
loaded: stats.loadedDomains.filter(d => Object.keys(tool_categories_js_1.DOMAIN_TOOLS).includes(d)).reduce((sum, d) => sum + tool_categories_js_1.DOMAIN_TOOLS[d].length, 0),
|
|
342
|
+
loadedDomains: stats.loadedDomains.filter(d => Object.keys(tool_categories_js_1.DOMAIN_TOOLS).includes(d)),
|
|
343
|
+
availableDomains: Object.keys(tool_categories_js_1.DOMAIN_TOOLS)
|
|
344
|
+
},
|
|
345
|
+
specialized: {
|
|
346
|
+
available: tool_categories_js_1.TOOL_STATS.specialized,
|
|
347
|
+
loaded: stats.loadedDomains.filter(d => Object.keys(tool_categories_js_1.SPECIALIZED_TOOLS).includes(d)).reduce((sum, d) => sum + tool_categories_js_1.SPECIALIZED_TOOLS[d].length, 0),
|
|
348
|
+
loadedDomains: stats.loadedDomains.filter(d => Object.keys(tool_categories_js_1.SPECIALIZED_TOOLS).includes(d)),
|
|
349
|
+
availableDomains: Object.keys(tool_categories_js_1.SPECIALIZED_TOOLS)
|
|
350
|
+
},
|
|
351
|
+
coordination: {
|
|
352
|
+
available: tool_categories_js_1.TOOL_STATS.coordination,
|
|
353
|
+
loaded: stats.loadedDomains.includes('coordination') ? tool_categories_js_1.TOOL_STATS.coordination : 0,
|
|
354
|
+
status: stats.loadedDomains.includes('coordination') ? 'loaded' : 'available'
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
// Category-specific details
|
|
359
|
+
categories: {}
|
|
360
|
+
};
|
|
361
|
+
// Core tools
|
|
362
|
+
if (shouldIncludeCategory('core')) {
|
|
363
|
+
result.categories.core = {
|
|
364
|
+
description: 'Always-loaded essential QE tools',
|
|
365
|
+
count: tool_categories_js_1.TOOL_STATS.core,
|
|
366
|
+
status: 'loaded',
|
|
367
|
+
tools: includeDescriptions
|
|
368
|
+
? tool_categories_js_1.CORE_TOOLS.map(t => ({ name: t, loaded: true, category: 'core' }))
|
|
369
|
+
: tool_categories_js_1.CORE_TOOLS.slice()
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
// Domain tools
|
|
373
|
+
if (shouldIncludeCategory('domains')) {
|
|
374
|
+
const domainDetails = Object.entries(tool_categories_js_1.DOMAIN_TOOLS).map(([domain, tools]) => ({
|
|
375
|
+
domain,
|
|
376
|
+
count: tools.length,
|
|
377
|
+
loaded: stats.loadedDomains.includes(domain),
|
|
378
|
+
keywords: tool_categories_js_1.DOMAIN_KEYWORDS[domain],
|
|
379
|
+
tools: includeDescriptions ? tools.map(t => ({
|
|
380
|
+
name: t,
|
|
381
|
+
loaded: stats.loadedDomains.includes(domain),
|
|
382
|
+
category: 'domain',
|
|
383
|
+
domain
|
|
384
|
+
})) : tools.slice()
|
|
385
|
+
}));
|
|
386
|
+
result.categories.domains = {
|
|
387
|
+
description: 'Domain-specific tools loaded on demand via keyword detection',
|
|
388
|
+
totalCount: tool_categories_js_1.TOOL_STATS.domains,
|
|
389
|
+
loadedCount: domainDetails.filter(d => d.loaded).reduce((sum, d) => sum + d.count, 0),
|
|
390
|
+
availableDomains: domainDetails
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
// Specialized tools
|
|
394
|
+
if (shouldIncludeCategory('specialized')) {
|
|
395
|
+
const specializedDetails = Object.entries(tool_categories_js_1.SPECIALIZED_TOOLS).map(([domain, tools]) => ({
|
|
396
|
+
domain,
|
|
397
|
+
count: tools.length,
|
|
398
|
+
loaded: stats.loadedDomains.includes(domain),
|
|
399
|
+
loadMethod: 'explicit request via tools_load_domain',
|
|
400
|
+
tools: includeDescriptions ? tools.map(t => ({
|
|
401
|
+
name: t,
|
|
402
|
+
loaded: stats.loadedDomains.includes(domain),
|
|
403
|
+
category: 'specialized',
|
|
404
|
+
domain
|
|
405
|
+
})) : tools.slice()
|
|
406
|
+
}));
|
|
407
|
+
result.categories.specialized = {
|
|
408
|
+
description: 'Advanced tools for expert use, loaded explicitly',
|
|
409
|
+
totalCount: tool_categories_js_1.TOOL_STATS.specialized,
|
|
410
|
+
loadedCount: specializedDetails.filter(d => d.loaded).reduce((sum, d) => sum + d.count, 0),
|
|
411
|
+
availableDomains: specializedDetails
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
// Coordination tools
|
|
415
|
+
if (shouldIncludeCategory('coordination')) {
|
|
416
|
+
result.categories.coordination = {
|
|
417
|
+
description: 'Workflow and inter-agent coordination tools',
|
|
418
|
+
count: tool_categories_js_1.TOOL_STATS.coordination,
|
|
419
|
+
loaded: stats.loadedDomains.includes('coordination'),
|
|
420
|
+
tools: includeDescriptions
|
|
421
|
+
? tool_categories_js_1.COORDINATION_TOOLS.map(t => ({
|
|
422
|
+
name: t,
|
|
423
|
+
loaded: stats.loadedDomains.includes('coordination'),
|
|
424
|
+
category: 'coordination'
|
|
425
|
+
}))
|
|
426
|
+
: tool_categories_js_1.COORDINATION_TOOLS.slice()
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
// Add usage hints if all categories requested
|
|
430
|
+
if (requestedCategories.includes('all')) {
|
|
431
|
+
result.usage = {
|
|
432
|
+
tips: [
|
|
433
|
+
'Filter by category: use category="core,domains" for multiple categories',
|
|
434
|
+
'Load domain tools: use tools_load_domain with domain name',
|
|
435
|
+
'Auto-loading: Domain tools load automatically when keywords are detected',
|
|
436
|
+
'Include descriptions: set includeDescriptions=true for detailed tool info'
|
|
437
|
+
],
|
|
438
|
+
availableCategories: ['core', 'domains', 'specialized', 'coordination', 'all'],
|
|
439
|
+
loadableDomains: [
|
|
440
|
+
...Object.keys(tool_categories_js_1.DOMAIN_TOOLS),
|
|
441
|
+
...Object.keys(tool_categories_js_1.SPECIALIZED_TOOLS),
|
|
442
|
+
'coordination'
|
|
443
|
+
]
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
447
|
+
}
|
|
448
|
+
if (name === tools_js_1.TOOL_NAMES.TOOLS_LOAD_DOMAIN) {
|
|
449
|
+
const safeArgs = (args || {});
|
|
450
|
+
const domain = safeArgs.domain;
|
|
451
|
+
const preload = safeArgs.preload || false;
|
|
452
|
+
if (!domain) {
|
|
453
|
+
throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidParams, 'domain parameter is required');
|
|
454
|
+
}
|
|
455
|
+
const toolLoader = (0, lazy_loader_js_1.getToolLoader)();
|
|
456
|
+
const loadResult = toolLoader.loadDomain(domain);
|
|
457
|
+
const stats = toolLoader.getStats();
|
|
458
|
+
const result = {
|
|
459
|
+
success: loadResult.success,
|
|
460
|
+
timestamp: new Date().toISOString(),
|
|
461
|
+
domain,
|
|
462
|
+
toolsLoaded: loadResult.toolsLoaded.length,
|
|
463
|
+
tools: loadResult.toolsLoaded,
|
|
464
|
+
alreadyLoaded: loadResult.alreadyLoaded,
|
|
465
|
+
totalLoadedDomains: stats.loadedDomains,
|
|
466
|
+
message: loadResult.alreadyLoaded
|
|
467
|
+
? `Domain '${domain}' was already loaded`
|
|
468
|
+
: loadResult.toolsLoaded.length > 0
|
|
469
|
+
? `Successfully loaded ${loadResult.toolsLoaded.length} tools from ${domain} domain`
|
|
470
|
+
: `Domain '${domain}' not found`
|
|
471
|
+
};
|
|
472
|
+
// Optionally preload related domains
|
|
473
|
+
if (preload && loadResult.toolsLoaded.length > 0) {
|
|
474
|
+
const relatedDomains = {
|
|
475
|
+
security: ['coverage', 'quality'],
|
|
476
|
+
performance: ['coverage', 'quality'],
|
|
477
|
+
coverage: ['quality'],
|
|
478
|
+
quality: ['coverage'],
|
|
479
|
+
flaky: ['coverage', 'performance'],
|
|
480
|
+
visual: ['requirements'],
|
|
481
|
+
requirements: ['visual']
|
|
482
|
+
};
|
|
483
|
+
const related = relatedDomains[domain] || [];
|
|
484
|
+
const preloadedTools = [];
|
|
485
|
+
for (const relatedDomain of related) {
|
|
486
|
+
const relatedResult = toolLoader.loadDomain(relatedDomain);
|
|
487
|
+
preloadedTools.push(...relatedResult.toolsLoaded);
|
|
488
|
+
}
|
|
489
|
+
const updatedStats = toolLoader.getStats();
|
|
490
|
+
if (preloadedTools.length > 0) {
|
|
491
|
+
result.preloaded = {
|
|
492
|
+
domains: related.filter(d => updatedStats.loadedDomains.includes(d)),
|
|
493
|
+
tools: preloadedTools
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
498
|
+
}
|
|
499
|
+
// Validate tool exists (for non-meta-tools)
|
|
311
500
|
if (!this.handlers.has(name)) {
|
|
312
501
|
throw new types_js_1.McpError(types_js_1.ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
313
502
|
}
|
|
@@ -442,25 +631,23 @@ class AgenticQEMCPServer {
|
|
|
442
631
|
else if (name === tools_js_1.TOOL_NAMES.PERFORMANCE_RUN_BENCHMARK) {
|
|
443
632
|
result = await phase3Handler.handlePerformanceRunBenchmark(safeArgs);
|
|
444
633
|
}
|
|
445
|
-
else if (name === tools_js_1.TOOL_NAMES.
|
|
634
|
+
else if (name === tools_js_1.TOOL_NAMES.PERFORMANCE_MONITOR_REALTIME) {
|
|
446
635
|
result = await phase3Handler.handlePerformanceMonitorRealtime(safeArgs);
|
|
447
636
|
}
|
|
448
|
-
// Security Tools
|
|
449
|
-
else if (name ===
|
|
450
|
-
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
result = await phase3Handler.handleSecurityScanDependencies(safeArgs);
|
|
457
|
-
}
|
|
637
|
+
// Security Tools (legacy tools deprecated - use qe_security_* instead)
|
|
638
|
+
// else if (name === TOOL_NAMES.SECURITY_VALIDATE_AUTH) { // DEPRECATED
|
|
639
|
+
// result = await phase3Handler.handleSecurityValidateAuth(safeArgs);
|
|
640
|
+
// } else if (name === TOOL_NAMES.SECURITY_CHECK_AUTHZ) { // DEPRECATED
|
|
641
|
+
// result = await phase3Handler.handleSecurityCheckAuthz(safeArgs);
|
|
642
|
+
// } else if (name === TOOL_NAMES.SECURITY_SCAN_DEPENDENCIES) { // DEPRECATED
|
|
643
|
+
// result = await phase3Handler.handleSecurityScanDependencies(safeArgs);
|
|
644
|
+
// }
|
|
458
645
|
else if (name === tools_js_1.TOOL_NAMES.SECURITY_GENERATE_REPORT) {
|
|
459
646
|
result = await phase3Handler.handleSecurityGenerateReport(safeArgs);
|
|
460
647
|
}
|
|
461
|
-
else if (name ===
|
|
462
|
-
|
|
463
|
-
}
|
|
648
|
+
// else if (name === TOOL_NAMES.SECURITY_SCAN_COMPREHENSIVE) { // DEPRECATED - use QE_SECURITY_SCAN_COMPREHENSIVE
|
|
649
|
+
// result = await phase3Handler.handleSecurityScanComprehensive(safeArgs);
|
|
650
|
+
// }
|
|
464
651
|
// Visual Testing Tools
|
|
465
652
|
else if (name === tools_js_1.TOOL_NAMES.VISUAL_COMPARE_SCREENSHOTS) {
|
|
466
653
|
result = await phase3Handler.handleVisualCompareScreenshots(safeArgs);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Categories for Hierarchical Lazy Loading
|
|
3
|
+
* Phase 2 Implementation - Issue #115
|
|
4
|
+
*
|
|
5
|
+
* This file organizes all 96 MCP tools into categories for efficient loading:
|
|
6
|
+
* - Core tools: Always loaded (~14 tools)
|
|
7
|
+
* - Domain tools: Loaded on keyword detection (70 tools across 7 domains)
|
|
8
|
+
* - Specialized tools: Loaded on explicit request (12 tools)
|
|
9
|
+
*/
|
|
10
|
+
export type ToolDomain = 'security' | 'performance' | 'coverage' | 'quality' | 'flaky' | 'visual' | 'requirements';
|
|
11
|
+
export type SpecializedDomain = 'learning' | 'advanced';
|
|
12
|
+
export type ToolCategory = 'core' | 'domain' | 'specialized';
|
|
13
|
+
/**
|
|
14
|
+
* Core tools - always loaded (~14 tools)
|
|
15
|
+
* These are fundamental tools needed for basic fleet operations
|
|
16
|
+
*/
|
|
17
|
+
export declare const CORE_TOOLS: readonly ["mcp__agentic_qe__fleet_init", "mcp__agentic_qe__agent_spawn", "mcp__agentic_qe__fleet_status", "mcp__agentic_qe__test_generate_enhanced", "mcp__agentic_qe__test_execute", "mcp__agentic_qe__test_execute_parallel", "mcp__agentic_qe__test_report_comprehensive", "mcp__agentic_qe__memory_store", "mcp__agentic_qe__memory_retrieve", "mcp__agentic_qe__memory_query", "mcp__agentic_qe__task_orchestrate", "mcp__agentic_qe__task_status", "mcp__agentic_qe__tools_discover", "mcp__agentic_qe__tools_load_domain"];
|
|
18
|
+
/**
|
|
19
|
+
* Domain tools - load on keyword detection
|
|
20
|
+
* Organized by testing domain with specific focus areas
|
|
21
|
+
*/
|
|
22
|
+
export declare const DOMAIN_TOOLS: Record<ToolDomain, readonly string[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Specialized tools - load on explicit request
|
|
25
|
+
* These are advanced tools for specific scenarios
|
|
26
|
+
*/
|
|
27
|
+
export declare const SPECIALIZED_TOOLS: Record<SpecializedDomain, readonly string[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Keywords for auto-loading domains
|
|
30
|
+
* Used to detect which domain tools to load based on user message content
|
|
31
|
+
*
|
|
32
|
+
* Enhanced in Phase 3 Track I with:
|
|
33
|
+
* - More comprehensive keyword coverage
|
|
34
|
+
* - Common misspellings and abbreviations
|
|
35
|
+
* - Related testing terminology
|
|
36
|
+
* - Industry-standard terms
|
|
37
|
+
*/
|
|
38
|
+
export declare const DOMAIN_KEYWORDS: Record<ToolDomain, readonly string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Additional coordination and workflow tools
|
|
41
|
+
* These don't fit neatly into domains but are important
|
|
42
|
+
*/
|
|
43
|
+
export declare const COORDINATION_TOOLS: readonly ["mcp__agentic_qe__workflow_create", "mcp__agentic_qe__workflow_execute", "mcp__agentic_qe__workflow_checkpoint", "mcp__agentic_qe__workflow_resume", "mcp__agentic_qe__memory_share", "mcp__agentic_qe__memory_backup", "mcp__agentic_qe__blackboard_post", "mcp__agentic_qe__blackboard_read", "mcp__agentic_qe__consensus_propose", "mcp__agentic_qe__consensus_vote", "mcp__agentic_qe__artifact_manifest"];
|
|
44
|
+
/**
|
|
45
|
+
* Legacy tools that have been deprecated but may still exist
|
|
46
|
+
* These should not be loaded in normal operations
|
|
47
|
+
*/
|
|
48
|
+
export declare const DEPRECATED_TOOLS: readonly ["mcp__agentic_qe__test_generate", "mcp__agentic_qe__test_execute", "mcp__agentic_qe__predict_defects", "mcp__agentic_qe__optimize_tests"];
|
|
49
|
+
/**
|
|
50
|
+
* Get the category of a tool (core, domain, or specialized)
|
|
51
|
+
*/
|
|
52
|
+
export declare function getToolCategory(toolName: string): ToolCategory;
|
|
53
|
+
/**
|
|
54
|
+
* Get the specific domain of a tool
|
|
55
|
+
*/
|
|
56
|
+
export declare function getToolDomain(toolName: string): ToolDomain | SpecializedDomain | 'coordination' | null;
|
|
57
|
+
/**
|
|
58
|
+
* Related domains that should be loaded together
|
|
59
|
+
* When one domain is detected, related domains may also be useful
|
|
60
|
+
*/
|
|
61
|
+
export declare const DOMAIN_RELATIONSHIPS: Record<ToolDomain, ToolDomain[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Detect which domains should be loaded based on message content
|
|
64
|
+
* Enhanced with:
|
|
65
|
+
* - Better keyword matching (word boundaries)
|
|
66
|
+
* - Related domain detection
|
|
67
|
+
* - Duplicate prevention
|
|
68
|
+
*/
|
|
69
|
+
export declare function detectDomainsFromMessage(message: string, options?: {
|
|
70
|
+
includeRelated?: boolean;
|
|
71
|
+
minKeywordLength?: number;
|
|
72
|
+
}): ToolDomain[];
|
|
73
|
+
/**
|
|
74
|
+
* Get all tools for a specific domain
|
|
75
|
+
*/
|
|
76
|
+
export declare function getAllToolsForDomain(domain: ToolDomain | SpecializedDomain | 'coordination'): readonly string[];
|
|
77
|
+
/**
|
|
78
|
+
* Get all tools that should be loaded for a given message
|
|
79
|
+
*/
|
|
80
|
+
export declare function getToolsForMessage(message: string): {
|
|
81
|
+
core: readonly string[];
|
|
82
|
+
domains: Record<ToolDomain, readonly string[]>;
|
|
83
|
+
total: number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Check if a tool is deprecated
|
|
87
|
+
*/
|
|
88
|
+
export declare function isToolDeprecated(toolName: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Statistics about tool distribution
|
|
91
|
+
*/
|
|
92
|
+
export declare const TOOL_STATS: {
|
|
93
|
+
readonly core: 14;
|
|
94
|
+
readonly domains: number;
|
|
95
|
+
readonly specialized: number;
|
|
96
|
+
readonly coordination: 11;
|
|
97
|
+
readonly deprecated: 4;
|
|
98
|
+
readonly total: number;
|
|
99
|
+
readonly activeTotal: number;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Get a summary of the tool categorization
|
|
103
|
+
*/
|
|
104
|
+
export declare function getToolCategorySummary(): string;
|
|
105
|
+
//# sourceMappingURL=tool-categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-categories.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC;AACnH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,UAAU,mgBAeb,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAuD9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CA6C1E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAsHjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,0ZAYrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qJAKnB,CAAC;AAIX;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAc9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GAAG,IAAI,CAYtG;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,CAQjE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,UAAU,EAAE,CA+BpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,GAAG,SAAS,MAAM,EAAE,CAc/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IACnD,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf,CAgBA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;CAYb,CAAC;AAEX;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAgB/C"}
|