agentic-qe 2.1.1 → 2.1.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 (70) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README.md +37 -11
  3. package/dist/core/MemoryManager.d.ts.map +1 -1
  4. package/dist/core/MemoryManager.js +4 -0
  5. package/dist/core/MemoryManager.js.map +1 -1
  6. package/dist/core/memory/RuVectorPatternStore.d.ts +5 -1
  7. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  8. package/dist/core/memory/RuVectorPatternStore.js +43 -1
  9. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  10. package/dist/mcp/handlers/advanced/index.d.ts +3 -2
  11. package/dist/mcp/handlers/advanced/index.d.ts.map +1 -1
  12. package/dist/mcp/handlers/advanced/index.js +4 -5
  13. package/dist/mcp/handlers/advanced/index.js.map +1 -1
  14. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts +1 -0
  15. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
  16. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +3 -0
  17. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
  18. package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts +1 -0
  19. package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
  20. package/dist/mcp/handlers/analysis/coverageGapsDetect.js +3 -0
  21. package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
  22. package/dist/mcp/handlers/analysis/index.d.ts +0 -2
  23. package/dist/mcp/handlers/analysis/index.d.ts.map +1 -1
  24. package/dist/mcp/handlers/analysis/index.js +2 -3
  25. package/dist/mcp/handlers/analysis/index.js.map +1 -1
  26. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts +1 -0
  27. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
  28. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +3 -0
  29. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
  30. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  31. package/dist/mcp/handlers/prediction/flaky-test-detect.js +2 -0
  32. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  33. package/dist/mcp/handlers/prediction/index.d.ts +0 -2
  34. package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
  35. package/dist/mcp/handlers/prediction/index.js +2 -3
  36. package/dist/mcp/handlers/prediction/index.js.map +1 -1
  37. package/dist/mcp/handlers/security/index.d.ts +0 -30
  38. package/dist/mcp/handlers/security/index.d.ts.map +1 -1
  39. package/dist/mcp/handlers/security/index.js +5 -31
  40. package/dist/mcp/handlers/security/index.js.map +1 -1
  41. package/dist/mcp/lazy-loader.d.ts +156 -0
  42. package/dist/mcp/lazy-loader.d.ts.map +1 -0
  43. package/dist/mcp/lazy-loader.js +327 -0
  44. package/dist/mcp/lazy-loader.js.map +1 -0
  45. package/dist/mcp/server-instructions.d.ts +18 -0
  46. package/dist/mcp/server-instructions.d.ts.map +1 -0
  47. package/dist/mcp/server-instructions.js +133 -0
  48. package/dist/mcp/server-instructions.js.map +1 -0
  49. package/dist/mcp/server.d.ts.map +1 -1
  50. package/dist/mcp/server.js +236 -49
  51. package/dist/mcp/server.js.map +1 -1
  52. package/dist/mcp/tool-categories.d.ts +105 -0
  53. package/dist/mcp/tool-categories.d.ts.map +1 -0
  54. package/dist/mcp/tool-categories.js +463 -0
  55. package/dist/mcp/tool-categories.js.map +1 -0
  56. package/dist/mcp/tools.d.ts +3 -19
  57. package/dist/mcp/tools.d.ts.map +1 -1
  58. package/dist/mcp/tools.js +260 -647
  59. package/dist/mcp/tools.js.map +1 -1
  60. package/dist/utils/IntervalRegistry.d.ts +110 -0
  61. package/dist/utils/IntervalRegistry.d.ts.map +1 -0
  62. package/dist/utils/IntervalRegistry.js +190 -0
  63. package/dist/utils/IntervalRegistry.js.map +1 -0
  64. package/dist/utils/index.d.ts +1 -0
  65. package/dist/utils/index.d.ts.map +1 -1
  66. package/dist/utils/index.js +5 -1
  67. package/dist/utils/index.js.map +1 -1
  68. package/docs/reference/agents.md +33 -0
  69. package/docs/reference/usage.md +60 -0
  70. package/package.json +2 -2
@@ -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
- const test_generate_js_1 = require("./handlers/test-generate.js");
23
+ // REMOVED: TestGenerateHandler - use TestGenerateEnhancedHandler instead (Issue #115 Phase 1)
22
24
  const test_execute_js_1 = require("./handlers/test-execute.js");
23
- const quality_analyze_js_1 = require("./handlers/quality-analyze.js");
24
- const predict_defects_js_1 = require("./handlers/predict-defects.js");
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
- const optimize_tests_js_1 = require("./handlers/optimize-tests.js");
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
- const regression_risk_analyze_js_1 = require("./handlers/prediction/regression-risk-analyze.js");
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
- const performance_benchmark_run_handler_js_1 = require("./handlers/analysis/performance-benchmark-run-handler.js");
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
- this.handlers.set(tools_js_1.TOOL_NAMES.TEST_GENERATE, new test_generate_js_1.TestGenerateHandler(this.registry, this.hookExecutor));
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
- // Quality and analysis handlers
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
- this.handlers.set(tools_js_1.TOOL_NAMES.OPTIMIZE_TESTS, new optimize_tests_js_1.OptimizeTestsHandler(this.registry, this.hookExecutor));
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
- this.handlers.set(tools_js_1.TOOL_NAMES.QUALITY_GATE_EXECUTE, new quality_gate_execute_js_1.QualityGateExecuteHandler(this.registry, this.hookExecutor));
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(tools_js_1.TOOL_NAMES.FLAKY_TEST_DETECT, new flaky_test_detect_js_1.FlakyTestDetectHandler(this.registry, this.hookExecutor));
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(tools_js_1.TOOL_NAMES.REGRESSION_RISK_ANALYZE, new regression_risk_analyze_js_1.RegressionRiskAnalyzeHandler(this.registry, this.hookExecutor));
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(tools_js_1.TOOL_NAMES.PERFORMANCE_BENCHMARK_RUN, new performance_benchmark_run_handler_js_1.PerformanceBenchmarkRunHandler());
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(tools_js_1.TOOL_NAMES.SECURITY_SCAN_COMPREHENSIVE, new security_scan_comprehensive_handler_js_1.SecurityScanComprehensiveHandler());
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(tools_js_1.TOOL_NAMES.SECURITY_VALIDATE_AUTH, phase3Handler);
239
- this.handlers.set(tools_js_1.TOOL_NAMES.SECURITY_CHECK_AUTHZ, phase3Handler);
240
- this.handlers.set(tools_js_1.TOOL_NAMES.SECURITY_SCAN_DEPENDENCIES, phase3Handler);
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: tools_js_1.agenticQETools
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
- // Validate tool exists
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.PERFORMANCE_MONITOR_REALTIME_PHASE3) {
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 === tools_js_1.TOOL_NAMES.SECURITY_VALIDATE_AUTH) {
450
- result = await phase3Handler.handleSecurityValidateAuth(safeArgs);
451
- }
452
- else if (name === tools_js_1.TOOL_NAMES.SECURITY_CHECK_AUTHZ) {
453
- result = await phase3Handler.handleSecurityCheckAuthz(safeArgs);
454
- }
455
- else if (name === tools_js_1.TOOL_NAMES.SECURITY_SCAN_DEPENDENCIES) {
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 === tools_js_1.TOOL_NAMES.SECURITY_SCAN_COMPREHENSIVE_PHASE3) {
462
- result = await phase3Handler.handleSecurityScanComprehensive(safeArgs);
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);
@@ -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"}