@bryan-thompson/inspector-assessment-client 1.25.1 → 1.25.5

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 (132) hide show
  1. package/dist/assets/{OAuthCallback-CkzX_H4T.js → OAuthCallback-Dl4GYls3.js} +1 -1
  2. package/dist/assets/{OAuthDebugCallback-jZEkm74B.js → OAuthDebugCallback-BdJ38Z-r.js} +1 -1
  3. package/dist/assets/{index-Df9Sx1jt.css → index-cHhcEXbr.css} +4 -0
  4. package/dist/assets/{index-BVx1dGJT.js → index-pfUiTdQb.js} +4 -4
  5. package/dist/index.html +2 -2
  6. package/lib/lib/assessment/configTypes.d.ts +3 -0
  7. package/lib/lib/assessment/configTypes.d.ts.map +1 -1
  8. package/lib/lib/assessment/configTypes.js +11 -6
  9. package/lib/lib/assessment/coreTypes.d.ts +65 -0
  10. package/lib/lib/assessment/coreTypes.d.ts.map +1 -1
  11. package/lib/lib/assessment/extendedTypes.d.ts +127 -0
  12. package/lib/lib/assessment/extendedTypes.d.ts.map +1 -1
  13. package/lib/lib/assessment/resultTypes.d.ts +45 -0
  14. package/lib/lib/assessment/resultTypes.d.ts.map +1 -1
  15. package/lib/services/assessment/AssessmentOrchestrator.d.ts +4 -12
  16. package/lib/services/assessment/AssessmentOrchestrator.d.ts.map +1 -1
  17. package/lib/services/assessment/AssessmentOrchestrator.js +49 -238
  18. package/lib/services/assessment/TestDataGenerator.d.ts +9 -1
  19. package/lib/services/assessment/TestDataGenerator.d.ts.map +1 -1
  20. package/lib/services/assessment/TestDataGenerator.js +32 -6
  21. package/lib/services/assessment/TestScenarioEngine.d.ts +9 -1
  22. package/lib/services/assessment/TestScenarioEngine.d.ts.map +1 -1
  23. package/lib/services/assessment/TestScenarioEngine.js +17 -14
  24. package/lib/services/assessment/ToolClassifier.d.ts +154 -27
  25. package/lib/services/assessment/ToolClassifier.d.ts.map +1 -1
  26. package/lib/services/assessment/ToolClassifier.js +171 -318
  27. package/lib/services/assessment/config/annotationPatterns.d.ts +3 -1
  28. package/lib/services/assessment/config/annotationPatterns.d.ts.map +1 -1
  29. package/lib/services/assessment/config/annotationPatterns.js +5 -2
  30. package/lib/services/assessment/config/architecturePatterns.d.ts +101 -0
  31. package/lib/services/assessment/config/architecturePatterns.d.ts.map +1 -0
  32. package/lib/services/assessment/config/architecturePatterns.js +248 -0
  33. package/lib/services/assessment/config/performanceConfig.d.ts +122 -0
  34. package/lib/services/assessment/config/performanceConfig.d.ts.map +1 -0
  35. package/lib/services/assessment/config/performanceConfig.js +154 -0
  36. package/lib/services/assessment/config/sanitizationPatterns.d.ts +63 -0
  37. package/lib/services/assessment/config/sanitizationPatterns.d.ts.map +1 -0
  38. package/lib/services/assessment/config/sanitizationPatterns.js +223 -0
  39. package/lib/services/assessment/lib/claudeCodeBridge.d.ts +3 -1
  40. package/lib/services/assessment/lib/claudeCodeBridge.d.ts.map +1 -1
  41. package/lib/services/assessment/lib/claudeCodeBridge.js +5 -3
  42. package/lib/services/assessment/lib/concurrencyLimit.d.ts +6 -2
  43. package/lib/services/assessment/lib/concurrencyLimit.d.ts.map +1 -1
  44. package/lib/services/assessment/lib/concurrencyLimit.js +13 -6
  45. package/lib/services/assessment/lib/errors.d.ts +90 -0
  46. package/lib/services/assessment/lib/errors.d.ts.map +1 -0
  47. package/lib/services/assessment/lib/errors.js +136 -0
  48. package/lib/services/assessment/lib/timeoutUtils.d.ts +69 -0
  49. package/lib/services/assessment/lib/timeoutUtils.d.ts.map +1 -0
  50. package/lib/services/assessment/lib/timeoutUtils.js +103 -0
  51. package/lib/services/assessment/modules/BaseAssessor.d.ts +43 -8
  52. package/lib/services/assessment/modules/BaseAssessor.d.ts.map +1 -1
  53. package/lib/services/assessment/modules/BaseAssessor.js +103 -34
  54. package/lib/services/assessment/modules/DeveloperExperienceAssessor.d.ts +38 -1
  55. package/lib/services/assessment/modules/DeveloperExperienceAssessor.d.ts.map +1 -1
  56. package/lib/services/assessment/modules/DeveloperExperienceAssessor.js +185 -19
  57. package/lib/services/assessment/modules/DocumentationAssessor.d.ts +5 -0
  58. package/lib/services/assessment/modules/DocumentationAssessor.d.ts.map +1 -1
  59. package/lib/services/assessment/modules/DocumentationAssessor.js +11 -0
  60. package/lib/services/assessment/modules/ErrorHandlingAssessor.js +1 -1
  61. package/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -1
  62. package/lib/services/assessment/modules/FunctionalityAssessor.js +6 -3
  63. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts +3 -0
  64. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts.map +1 -1
  65. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.js +14 -2
  66. package/lib/services/assessment/modules/ManifestValidationAssessor.d.ts.map +1 -1
  67. package/lib/services/assessment/modules/ManifestValidationAssessor.js +7 -2
  68. package/lib/services/assessment/modules/PromptAssessor.d.ts +1 -0
  69. package/lib/services/assessment/modules/PromptAssessor.d.ts.map +1 -1
  70. package/lib/services/assessment/modules/PromptAssessor.js +26 -16
  71. package/lib/services/assessment/modules/ProtocolComplianceAssessor.d.ts.map +1 -1
  72. package/lib/services/assessment/modules/ProtocolComplianceAssessor.js +6 -2
  73. package/lib/services/assessment/modules/ProtocolConformanceAssessor.d.ts +5 -0
  74. package/lib/services/assessment/modules/ProtocolConformanceAssessor.d.ts.map +1 -1
  75. package/lib/services/assessment/modules/ProtocolConformanceAssessor.js +15 -0
  76. package/lib/services/assessment/modules/ResourceAssessor.d.ts.map +1 -1
  77. package/lib/services/assessment/modules/ResourceAssessor.js +8 -2
  78. package/lib/services/assessment/modules/SecurityAssessor.d.ts +3 -171
  79. package/lib/services/assessment/modules/SecurityAssessor.d.ts.map +1 -1
  80. package/lib/services/assessment/modules/SecurityAssessor.js +25 -1480
  81. package/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts +27 -28
  82. package/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts.map +1 -1
  83. package/lib/services/assessment/modules/ToolAnnotationAssessor.js +340 -863
  84. package/lib/services/assessment/modules/UsabilityAssessor.d.ts +5 -0
  85. package/lib/services/assessment/modules/UsabilityAssessor.d.ts.map +1 -1
  86. package/lib/services/assessment/modules/UsabilityAssessor.js +11 -0
  87. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.d.ts +57 -0
  88. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.d.ts.map +1 -0
  89. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.js +176 -0
  90. package/lib/services/assessment/modules/annotations/ArchitectureDetector.d.ts +67 -0
  91. package/lib/services/assessment/modules/annotations/ArchitectureDetector.d.ts.map +1 -0
  92. package/lib/services/assessment/modules/annotations/ArchitectureDetector.js +239 -0
  93. package/lib/services/assessment/modules/annotations/BehaviorInference.d.ts +46 -0
  94. package/lib/services/assessment/modules/annotations/BehaviorInference.d.ts.map +1 -0
  95. package/lib/services/assessment/modules/annotations/BehaviorInference.js +394 -0
  96. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.d.ts +64 -0
  97. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.d.ts.map +1 -0
  98. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.js +304 -0
  99. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.d.ts +43 -0
  100. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.d.ts.map +1 -0
  101. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.js +276 -0
  102. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.d.ts +122 -0
  103. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.d.ts.map +1 -0
  104. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.js +388 -0
  105. package/lib/services/assessment/modules/annotations/index.d.ts +13 -0
  106. package/lib/services/assessment/modules/annotations/index.d.ts.map +1 -0
  107. package/lib/services/assessment/modules/annotations/index.js +15 -0
  108. package/lib/services/assessment/modules/index.d.ts +10 -0
  109. package/lib/services/assessment/modules/index.d.ts.map +1 -1
  110. package/lib/services/assessment/modules/index.js +13 -0
  111. package/lib/services/assessment/modules/securityTests/SanitizationDetector.d.ts +125 -0
  112. package/lib/services/assessment/modules/securityTests/SanitizationDetector.d.ts.map +1 -0
  113. package/lib/services/assessment/modules/securityTests/SanitizationDetector.js +345 -0
  114. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.d.ts +33 -0
  115. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.d.ts.map +1 -0
  116. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.js +128 -0
  117. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.d.ts +67 -0
  118. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.d.ts.map +1 -0
  119. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.js +372 -0
  120. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.d.ts +178 -0
  121. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.d.ts.map +1 -0
  122. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.js +1207 -0
  123. package/lib/services/assessment/modules/securityTests/index.d.ts +8 -0
  124. package/lib/services/assessment/modules/securityTests/index.d.ts.map +1 -0
  125. package/lib/services/assessment/modules/securityTests/index.js +7 -0
  126. package/lib/services/assessment/orchestratorHelpers.d.ts +83 -0
  127. package/lib/services/assessment/orchestratorHelpers.d.ts.map +1 -0
  128. package/lib/services/assessment/orchestratorHelpers.js +212 -0
  129. package/lib/services/assessment/tool-classifier-patterns.d.ts +85 -0
  130. package/lib/services/assessment/tool-classifier-patterns.d.ts.map +1 -0
  131. package/lib/services/assessment/tool-classifier-patterns.js +365 -0
  132. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AssessmentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/AssessmentOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssessmentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/AssessmentOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ import { SecurityAssessor } from "./modules/SecurityAssessor.js";
9
9
  import { DocumentationAssessor } from "./modules/DocumentationAssessor.js";
10
10
  import { ErrorHandlingAssessor } from "./modules/ErrorHandlingAssessor.js";
11
11
  import { UsabilityAssessor } from "./modules/UsabilityAssessor.js";
12
- // Extended assessment modules
13
- import { MCPSpecComplianceAssessor } from "./modules/MCPSpecComplianceAssessor.js";
12
+ // Extended assessment modules - unified protocol compliance
13
+ import { ProtocolComplianceAssessor } from "./modules/ProtocolComplianceAssessor.js";
14
14
  // New MCP Directory Compliance Gap assessors
15
15
  import { AUPComplianceAssessor } from "./modules/AUPComplianceAssessor.js";
16
16
  import { ToolAnnotationAssessor } from "./modules/ToolAnnotationAssessor.js";
@@ -23,133 +23,16 @@ import { TemporalAssessor } from "./modules/TemporalAssessor.js";
23
23
  import { ResourceAssessor } from "./modules/ResourceAssessor.js";
24
24
  import { PromptAssessor } from "./modules/PromptAssessor.js";
25
25
  import { CrossCapabilitySecurityAssessor } from "./modules/CrossCapabilitySecurityAssessor.js";
26
- // Protocol conformance assessor
27
- import { ProtocolConformanceAssessor } from "./modules/ProtocolConformanceAssessor.js";
26
+ // Note: ProtocolConformanceAssessor merged into ProtocolComplianceAssessor (v1.25.2)
28
27
  // Pattern configuration for tool annotation assessment
29
28
  import { loadPatternConfig, compilePatterns, } from "./config/annotationPatterns.js";
30
29
  // Claude Code integration for intelligent analysis
31
30
  import { ClaudeCodeBridge, FULL_CLAUDE_CODE_CONFIG, } from "./lib/claudeCodeBridge.js";
32
31
  import { TestDataGenerator } from "./TestDataGenerator.js";
33
- // Import score calculation helpers from shared module
34
- import { calculateModuleScore, normalizeModuleKey, INSPECTOR_VERSION, } from "../../lib/moduleScoring.js";
35
32
  // Structured logging
36
33
  import { createLogger, DEFAULT_LOGGING_CONFIG } from "./lib/logger.js";
37
- // Track module start times for duration calculation
38
- const moduleStartTimes = new Map();
39
- /**
40
- * Emit module_started event and track start time for duration calculation.
41
- * Emits JSONL to stderr with version field for consistent event structure.
42
- */
43
- function emitModuleStartedEvent(moduleName, estimatedTests, toolCount) {
44
- const moduleKey = normalizeModuleKey(moduleName);
45
- moduleStartTimes.set(moduleKey, Date.now());
46
- // Emit JSONL to stderr with version field
47
- console.error(JSON.stringify({
48
- event: "module_started",
49
- module: moduleKey,
50
- estimatedTests,
51
- toolCount,
52
- version: INSPECTOR_VERSION,
53
- }));
54
- }
55
- /**
56
- * Emit module_complete event with score and duration.
57
- * Uses shared score calculator for consistent scoring logic.
58
- * For AUP module, includes enriched violation data for Claude analysis.
59
- */
60
- function emitModuleProgress(moduleName, status, result, testsRun = 0) {
61
- // Calculate score using shared helper
62
- const score = calculateModuleScore(result);
63
- // Don't emit events for skipped modules (null score means module wasn't run)
64
- if (score === null)
65
- return;
66
- const moduleKey = normalizeModuleKey(moduleName);
67
- // Calculate duration from module start time
68
- const startTime = moduleStartTimes.get(moduleKey);
69
- const duration = startTime ? Date.now() - startTime : 0;
70
- moduleStartTimes.delete(moduleKey);
71
- // Build base event
72
- const event = {
73
- event: "module_complete",
74
- module: moduleKey,
75
- status,
76
- score,
77
- testsRun,
78
- duration,
79
- version: INSPECTOR_VERSION,
80
- };
81
- // Add AUP enrichment when module is AUP
82
- if (moduleKey === "aup" && result) {
83
- const aupEnrichment = buildAUPEnrichment(result);
84
- Object.assign(event, aupEnrichment);
85
- }
86
- // Emit JSONL to stderr with version field
87
- console.error(JSON.stringify(event));
88
- }
89
- /**
90
- * Build AUP enrichment data from an AUP compliance assessment result.
91
- * Samples violations prioritizing by severity (CRITICAL > HIGH > MEDIUM).
92
- */
93
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
- function buildAUPEnrichment(aupResult, maxSamples = 10) {
95
- const violations = aupResult.violations || [];
96
- // Calculate metrics
97
- const metrics = {
98
- total: violations.length,
99
- critical: violations.filter((v) => v.severity === "CRITICAL").length,
100
- high: violations.filter((v) => v.severity === "HIGH")
101
- .length,
102
- medium: violations.filter((v) => v.severity === "MEDIUM").length,
103
- byCategory: {},
104
- };
105
- // Count by category
106
- for (const v of violations) {
107
- metrics.byCategory[v.category] = (metrics.byCategory[v.category] || 0) + 1;
108
- }
109
- // Sample violations prioritizing by severity
110
- const sampled = [];
111
- const severityOrder = ["CRITICAL", "HIGH", "MEDIUM"];
112
- for (const severity of severityOrder) {
113
- if (sampled.length >= maxSamples)
114
- break;
115
- const bySeverity = violations.filter((v) => v.severity === severity);
116
- for (const v of bySeverity) {
117
- if (sampled.length >= maxSamples)
118
- break;
119
- sampled.push({
120
- category: v.category,
121
- categoryName: v.categoryName,
122
- severity: v.severity,
123
- matchedText: v.matchedText,
124
- location: v.location,
125
- confidence: v.confidence,
126
- });
127
- }
128
- }
129
- // Build sampling note
130
- let samplingNote = "";
131
- if (violations.length === 0) {
132
- samplingNote = "No violations detected.";
133
- }
134
- else if (violations.length <= maxSamples) {
135
- samplingNote = `All ${violations.length} violation(s) included.`;
136
- }
137
- else {
138
- samplingNote = `Sampled ${sampled.length} of ${violations.length} violations, prioritized by severity (CRITICAL > HIGH > MEDIUM).`;
139
- }
140
- return {
141
- violationsSample: sampled,
142
- samplingNote,
143
- violationMetrics: metrics,
144
- scannedLocations: aupResult.scannedLocations || {
145
- toolNames: false,
146
- toolDescriptions: false,
147
- readme: false,
148
- sourceCode: false,
149
- },
150
- highRiskDomains: (aupResult.highRiskDomains || []).slice(0, 10),
151
- };
152
- }
34
+ // Extracted helpers for testability
35
+ import { emitModuleStartedEvent, emitModuleProgress, determineOverallStatus, generateSummary, generateRecommendations, } from "./orchestratorHelpers.js";
153
36
  export class AssessmentOrchestrator {
154
37
  config;
155
38
  logger;
@@ -164,8 +47,8 @@ export class AssessmentOrchestrator {
164
47
  documentationAssessor;
165
48
  errorHandlingAssessor;
166
49
  usabilityAssessor;
167
- // Extended assessors
168
- mcpSpecAssessor;
50
+ // Extended assessors - unified protocol compliance
51
+ protocolComplianceAssessor;
169
52
  // New MCP Directory Compliance Gap assessors
170
53
  aupComplianceAssessor;
171
54
  toolAnnotationAssessor;
@@ -178,12 +61,20 @@ export class AssessmentOrchestrator {
178
61
  resourceAssessor;
179
62
  promptAssessor;
180
63
  crossCapabilityAssessor;
181
- // Protocol conformance assessor
182
- protocolConformanceAssessor;
64
+ // Note: protocolConformanceAssessor merged into protocolComplianceAssessor (v1.25.2)
183
65
  constructor(config = {}) {
184
66
  this.config = { ...DEFAULT_ASSESSMENT_CONFIG, ...config };
185
67
  // Initialize logger
186
68
  this.logger = createLogger("AssessmentOrchestrator", this.config.logging ?? DEFAULT_LOGGING_CONFIG);
69
+ // Emit deprecation warnings for deprecated config flags
70
+ if (this.config.assessmentCategories?.mcpSpecCompliance !== undefined) {
71
+ this.logger.warn("Config flag 'mcpSpecCompliance' is deprecated. Use 'protocolCompliance' instead. " +
72
+ "This flag will be removed in v2.0.0.", { flag: "mcpSpecCompliance", replacement: "protocolCompliance" });
73
+ }
74
+ if (this.config.assessmentCategories?.protocolConformance !== undefined) {
75
+ this.logger.warn("Config flag 'protocolConformance' is deprecated. Use 'protocolCompliance' instead. " +
76
+ "This flag will be removed in v2.0.0.", { flag: "protocolConformance", replacement: "protocolCompliance" });
77
+ }
187
78
  // Initialize Claude Code Bridge if enabled in config
188
79
  if (this.config.claudeCode?.enabled) {
189
80
  this.initializeClaudeBridge(this.config.claudeCode);
@@ -206,8 +97,12 @@ export class AssessmentOrchestrator {
206
97
  }
207
98
  // Initialize extended assessors if enabled
208
99
  if (this.config.enableExtendedAssessment) {
209
- if (this.config.assessmentCategories?.mcpSpecCompliance) {
210
- this.mcpSpecAssessor = new MCPSpecComplianceAssessor(this.config);
100
+ // Initialize unified protocol compliance assessor
101
+ // Supports new protocolCompliance flag and deprecated mcpSpecCompliance/protocolConformance
102
+ if (this.config.assessmentCategories?.protocolCompliance ||
103
+ this.config.assessmentCategories?.mcpSpecCompliance ||
104
+ this.config.assessmentCategories?.protocolConformance) {
105
+ this.protocolComplianceAssessor = new ProtocolComplianceAssessor(this.config);
211
106
  }
212
107
  // Initialize new MCP Directory Compliance Gap assessors
213
108
  if (this.config.assessmentCategories?.aupCompliance) {
@@ -225,7 +120,7 @@ export class AssessmentOrchestrator {
225
120
  }
226
121
  // Load custom pattern configuration if provided
227
122
  if (this.config.patternConfigPath) {
228
- const patternConfig = loadPatternConfig(this.config.patternConfigPath);
123
+ const patternConfig = loadPatternConfig(this.config.patternConfigPath, this.logger);
229
124
  const compiledPatterns = compilePatterns(patternConfig);
230
125
  this.toolAnnotationAssessor.setPatterns(compiledPatterns);
231
126
  }
@@ -255,15 +150,14 @@ export class AssessmentOrchestrator {
255
150
  if (this.config.assessmentCategories?.crossCapability) {
256
151
  this.crossCapabilityAssessor = new CrossCapabilitySecurityAssessor(this.config);
257
152
  }
258
- // Initialize protocol conformance assessor
259
- if (this.config.assessmentCategories?.protocolConformance) {
260
- this.protocolConformanceAssessor = new ProtocolConformanceAssessor(this.config);
261
- }
153
+ // Note: Protocol conformance now handled by unified ProtocolComplianceAssessor above
262
154
  }
263
155
  // Wire up Claude bridge to TestDataGenerator for intelligent test generation
264
156
  if (this.claudeBridge) {
265
157
  TestDataGenerator.setClaudeBridge(this.claudeBridge);
266
158
  }
159
+ // Set logger for TestDataGenerator diagnostic output
160
+ TestDataGenerator.setLogger(this.logger);
267
161
  }
268
162
  /**
269
163
  * Get the count of tools that will actually be tested based on selectedToolsForTesting config.
@@ -282,7 +176,7 @@ export class AssessmentOrchestrator {
282
176
  */
283
177
  initializeClaudeBridge(bridgeConfig) {
284
178
  try {
285
- this.claudeBridge = new ClaudeCodeBridge(bridgeConfig);
179
+ this.claudeBridge = new ClaudeCodeBridge(bridgeConfig, this.logger);
286
180
  this.claudeEnabled = true;
287
181
  this.logger.info("Claude Code Bridge initialized", {
288
182
  features: bridgeConfig.features,
@@ -338,8 +232,8 @@ export class AssessmentOrchestrator {
338
232
  this.documentationAssessor?.resetTestCount();
339
233
  this.errorHandlingAssessor?.resetTestCount();
340
234
  this.usabilityAssessor?.resetTestCount();
341
- if (this.mcpSpecAssessor) {
342
- this.mcpSpecAssessor.resetTestCount();
235
+ if (this.protocolComplianceAssessor) {
236
+ this.protocolComplianceAssessor.resetTestCount();
343
237
  }
344
238
  // Reset new assessors
345
239
  if (this.aupComplianceAssessor) {
@@ -427,11 +321,11 @@ export class AssessmentOrchestrator {
427
321
  return (assessmentResults.usability = r);
428
322
  }));
429
323
  }
430
- // Extended assessments
431
- if (this.mcpSpecAssessor) {
432
- emitModuleStartedEvent("MCP Spec", 10, toolCount);
433
- assessmentPromises.push(this.mcpSpecAssessor.assess(context).then((r) => {
434
- emitModuleProgress("MCP Spec", r.status, r, this.mcpSpecAssessor.getTestCount());
324
+ // Extended assessments - unified protocol compliance
325
+ if (this.protocolComplianceAssessor) {
326
+ emitModuleStartedEvent("Protocol Compliance", 10, toolCount);
327
+ assessmentPromises.push(this.protocolComplianceAssessor.assess(context).then((r) => {
328
+ emitModuleProgress("Protocol Compliance", r.status, r, this.protocolComplianceAssessor.getTestCount());
435
329
  return (assessmentResults.mcpSpecCompliance = r);
436
330
  }));
437
331
  }
@@ -507,14 +401,7 @@ export class AssessmentOrchestrator {
507
401
  return (assessmentResults.crossCapability = r);
508
402
  }));
509
403
  }
510
- // Protocol Conformance (3 checks: error format, content types, initialization)
511
- if (this.protocolConformanceAssessor) {
512
- emitModuleStartedEvent("Protocol-Conformance", 3, toolCount);
513
- assessmentPromises.push(this.protocolConformanceAssessor.assess(context).then((r) => {
514
- emitModuleProgress("Protocol-Conformance", r.status, r, this.protocolConformanceAssessor.getTestCount());
515
- return (assessmentResults.protocolConformance = r);
516
- }));
517
- }
404
+ // Note: Protocol Conformance now handled by unified ProtocolComplianceAssessor above
518
405
  await Promise.all(assessmentPromises);
519
406
  }
520
407
  else {
@@ -558,11 +445,11 @@ export class AssessmentOrchestrator {
558
445
  await this.usabilityAssessor.assess(context);
559
446
  emitModuleProgress("Usability", assessmentResults.usability.status, assessmentResults.usability, this.usabilityAssessor.getTestCount());
560
447
  }
561
- if (this.mcpSpecAssessor) {
562
- emitModuleStartedEvent("MCP Spec", 10, toolCount);
448
+ if (this.protocolComplianceAssessor) {
449
+ emitModuleStartedEvent("Protocol Compliance", 10, toolCount);
563
450
  assessmentResults.mcpSpecCompliance =
564
- await this.mcpSpecAssessor.assess(context);
565
- emitModuleProgress("MCP Spec", assessmentResults.mcpSpecCompliance.status, assessmentResults.mcpSpecCompliance, this.mcpSpecAssessor.getTestCount());
451
+ await this.protocolComplianceAssessor.assess(context);
452
+ emitModuleProgress("Protocol Compliance", assessmentResults.mcpSpecCompliance.status, assessmentResults.mcpSpecCompliance, this.protocolComplianceAssessor.getTestCount());
566
453
  }
567
454
  // New MCP Directory Compliance Gap assessments (sequential)
568
455
  if (this.aupComplianceAssessor) {
@@ -625,13 +512,7 @@ export class AssessmentOrchestrator {
625
512
  await this.crossCapabilityAssessor.assess(context);
626
513
  emitModuleProgress("Cross-Capability", assessmentResults.crossCapability.status, assessmentResults.crossCapability, this.crossCapabilityAssessor.getTestCount());
627
514
  }
628
- // Protocol Conformance (3 checks: error format, content types, initialization)
629
- if (this.protocolConformanceAssessor) {
630
- emitModuleStartedEvent("Protocol-Conformance", 3, toolCount);
631
- assessmentResults.protocolConformance =
632
- await this.protocolConformanceAssessor.assess(context);
633
- emitModuleProgress("Protocol-Conformance", assessmentResults.protocolConformance.status, assessmentResults.protocolConformance, this.protocolConformanceAssessor.getTestCount());
634
- }
515
+ // Note: Protocol Conformance now handled by unified ProtocolComplianceAssessor above
635
516
  }
636
517
  // Integrate temporal findings into security.vulnerabilities for unified view
637
518
  if (assessmentResults.temporal?.rugPullsDetected &&
@@ -644,10 +525,10 @@ export class AssessmentOrchestrator {
644
525
  // Collect test counts from all assessors
645
526
  this.totalTestsRun = this.collectTotalTestCount();
646
527
  // Determine overall status
647
- const overallStatus = this.determineOverallStatus(assessmentResults);
528
+ const overallStatus = determineOverallStatus(assessmentResults);
648
529
  // Generate summary and recommendations
649
- const summary = this.generateSummary(assessmentResults);
650
- const recommendations = this.generateRecommendations(assessmentResults);
530
+ const summary = generateSummary(assessmentResults);
531
+ const recommendations = generateRecommendations(assessmentResults);
651
532
  const executionTime = Date.now() - this.startTime;
652
533
  // Type assertion needed because Partial<MCPDirectoryAssessment> has optional required fields
653
534
  // When modules are skipped via --skip-modules, not all fields will be present
@@ -694,7 +575,7 @@ export class AssessmentOrchestrator {
694
575
  const documentationCount = this.documentationAssessor?.getTestCount() || 0;
695
576
  const errorHandlingCount = this.errorHandlingAssessor?.getTestCount() || 0;
696
577
  const usabilityCount = this.usabilityAssessor?.getTestCount() || 0;
697
- const mcpSpecCount = this.mcpSpecAssessor?.getTestCount() || 0;
578
+ const mcpSpecCount = this.protocolComplianceAssessor?.getTestCount() || 0;
698
579
  // New assessor counts
699
580
  const aupCount = this.aupComplianceAssessor?.getTestCount() || 0;
700
581
  const annotationCount = this.toolAnnotationAssessor?.getTestCount() || 0;
@@ -707,8 +588,7 @@ export class AssessmentOrchestrator {
707
588
  const resourcesCount = this.resourceAssessor?.getTestCount() || 0;
708
589
  const promptsCount = this.promptAssessor?.getTestCount() || 0;
709
590
  const crossCapabilityCount = this.crossCapabilityAssessor?.getTestCount() || 0;
710
- // Protocol conformance count
711
- const protocolConformanceCount = this.protocolConformanceAssessor?.getTestCount() || 0;
591
+ // Note: Protocol conformance now included in mcpSpecCount (unified ProtocolComplianceAssessor)
712
592
  this.logger.debug("Test counts by assessor", {
713
593
  functionality: functionalityCount,
714
594
  security: securityCount,
@@ -726,7 +606,7 @@ export class AssessmentOrchestrator {
726
606
  resources: resourcesCount,
727
607
  prompts: promptsCount,
728
608
  crossCapability: crossCapabilityCount,
729
- protocolConformance: protocolConformanceCount,
609
+ // Note: protocolConformance now included in mcpSpec (unified)
730
610
  });
731
611
  total =
732
612
  functionalityCount +
@@ -744,80 +624,11 @@ export class AssessmentOrchestrator {
744
624
  temporalCount +
745
625
  resourcesCount +
746
626
  promptsCount +
747
- crossCapabilityCount +
748
- protocolConformanceCount;
627
+ crossCapabilityCount;
628
+ // Note: protocolConformance now included in mcpSpecCount (unified)
749
629
  this.logger.debug("Total test count", { total });
750
630
  return total;
751
631
  }
752
- determineOverallStatus(results) {
753
- const statuses = [];
754
- // Collect all statuses from assessment results
755
- Object.values(results).forEach((assessment) => {
756
- if (assessment &&
757
- typeof assessment === "object" &&
758
- "status" in assessment) {
759
- statuses.push(assessment.status);
760
- }
761
- });
762
- // If any critical category fails, overall fails
763
- if (statuses.includes("FAIL"))
764
- return "FAIL";
765
- // If any category needs more info, overall needs more info
766
- if (statuses.includes("NEED_MORE_INFO"))
767
- return "NEED_MORE_INFO";
768
- // All must pass for overall pass
769
- return "PASS";
770
- }
771
- generateSummary(results) {
772
- const parts = [];
773
- const totalCategories = Object.keys(results).length;
774
- const passedCategories = Object.values(results).filter((r) => r?.status === "PASS").length;
775
- parts.push(`Assessment complete: ${passedCategories}/${totalCategories} categories passed.`);
776
- // Add key findings
777
- if (results.security?.vulnerabilities?.length > 0) {
778
- parts.push(`Found ${results.security.vulnerabilities.length} security vulnerabilities.`);
779
- }
780
- if (results.functionality?.brokenTools?.length > 0) {
781
- parts.push(`${results.functionality.brokenTools.length} tools are not functioning correctly.`);
782
- }
783
- // New assessor findings
784
- if (results.aupCompliance?.violations?.length > 0) {
785
- const criticalCount = results.aupCompliance.violations.filter((v) => v.severity === "CRITICAL").length;
786
- if (criticalCount > 0) {
787
- parts.push(`CRITICAL: ${criticalCount} AUP violation(s) detected.`);
788
- }
789
- else {
790
- parts.push(`${results.aupCompliance.violations.length} AUP item(s) flagged for review.`);
791
- }
792
- }
793
- if (results.toolAnnotations?.missingAnnotationsCount > 0) {
794
- parts.push(`${results.toolAnnotations.missingAnnotationsCount} tools missing annotations.`);
795
- }
796
- if (results.prohibitedLibraries?.matches?.length > 0) {
797
- const blockingCount = results.prohibitedLibraries.matches.filter((m) => m.severity === "BLOCKING").length;
798
- if (blockingCount > 0) {
799
- parts.push(`BLOCKING: ${blockingCount} prohibited library/libraries detected.`);
800
- }
801
- }
802
- if (results.portability?.usesBundleRoot) {
803
- parts.push("Uses ${BUNDLE_ROOT} anti-pattern.");
804
- }
805
- return parts.join(" ");
806
- }
807
- generateRecommendations(results) {
808
- const recommendations = [];
809
- // Aggregate recommendations from all assessments
810
- Object.values(results).forEach((assessment) => {
811
- if (assessment &&
812
- typeof assessment === "object" &&
813
- "recommendations" in assessment &&
814
- Array.isArray(assessment.recommendations)) {
815
- recommendations.push(...assessment.recommendations);
816
- }
817
- });
818
- // De-duplicate and prioritize
819
- return [...new Set(recommendations)].slice(0, 10);
820
- }
821
632
  /**
822
633
  * Get assessment configuration
823
634
  */
@@ -7,6 +7,8 @@
7
7
  */
8
8
  import { Tool } from "@modelcontextprotocol/sdk/types.js";
9
9
  import type { ClaudeCodeBridge } from "./lib/claudeCodeBridge.js";
10
+ import type { Logger } from "./lib/logger.js";
11
+ import { JSONSchema7 } from "../../lib/assessmentTypes.js";
10
12
  export interface TestScenario {
11
13
  name: string;
12
14
  description: string;
@@ -17,11 +19,17 @@ export interface TestScenario {
17
19
  }
18
20
  export declare class TestDataGenerator {
19
21
  private static claudeBridge;
22
+ private static logger;
20
23
  /**
21
24
  * Set the Claude Code bridge for intelligent test generation
22
25
  * Call this once during initialization if Claude integration is enabled
23
26
  */
24
27
  static setClaudeBridge(bridge: ClaudeCodeBridge | null): void;
28
+ /**
29
+ * Set the logger for diagnostic output
30
+ * Call this once during initialization
31
+ */
32
+ static setLogger(logger: Logger | null): void;
25
33
  /**
26
34
  * Check if Claude Code integration is available and enabled
27
35
  */
@@ -77,7 +85,7 @@ export declare class TestDataGenerator {
77
85
  /**
78
86
  * Generate a single realistic value for backward compatibility
79
87
  */
80
- static generateSingleValue(fieldName: string, schema: any): unknown;
88
+ static generateSingleValue(fieldName: string, schema: JSONSchema7): unknown;
81
89
  /**
82
90
  * Generate value from JSON schema definition
83
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TestDataGenerator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestDataGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACjE,MAAM,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;CAC9C;AAED,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiC;IAE5D;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAI7D;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO;IAOjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CA2FpC;IAEF;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE;IAoBxD;;;OAGG;WACU,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgD5E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAaxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwCxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA2FxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgDpC;;OAEG;WACW,uBAAuB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAySrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAgB9B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO;IAInE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAmDtC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAwBxE;IAEJ;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAe7C;IAEF;;;;;;;;;;OAUG;IACH,MAAM,CAAC,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO;CAoBX"}
1
+ {"version":3,"file":"TestDataGenerator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestDataGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACjE,MAAM,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;CAC9C;AAED,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiC;IAE5D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAuB;IAE5C;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAI7D;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI7C;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO;IAOjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CA2FpC;IAEF;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE;IAoBxD;;;OAGG;WACU,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmD5E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAaxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwCxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA2FxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgDpC;;OAEG;WACW,uBAAuB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAkTrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAgB9B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAsDtC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAwBxE;IAEJ;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAe7C;IAEF;;;;;;;;;;OAUG;IACH,MAAM,CAAC,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO;CAoBX"}
@@ -8,6 +8,8 @@
8
8
  export class TestDataGenerator {
9
9
  // Optional Claude Code bridge for intelligent test generation
10
10
  static claudeBridge = null;
11
+ // Optional logger for diagnostic output
12
+ static logger = null;
11
13
  /**
12
14
  * Set the Claude Code bridge for intelligent test generation
13
15
  * Call this once during initialization if Claude integration is enabled
@@ -15,6 +17,13 @@ export class TestDataGenerator {
15
17
  static setClaudeBridge(bridge) {
16
18
  this.claudeBridge = bridge;
17
19
  }
20
+ /**
21
+ * Set the logger for diagnostic output
22
+ * Call this once during initialization
23
+ */
24
+ static setLogger(logger) {
25
+ this.logger = logger;
26
+ }
18
27
  /**
19
28
  * Check if Claude Code integration is available and enabled
20
29
  */
@@ -144,7 +153,9 @@ export class TestDataGenerator {
144
153
  try {
145
154
  const claudeParams = await this.claudeBridge.generateTestParameters(tool);
146
155
  if (claudeParams && claudeParams.length > 0) {
147
- console.log(`[TestDataGenerator] Using Claude-generated params for ${tool.name}`);
156
+ this.logger?.info("Using Claude-generated params", {
157
+ toolName: tool.name,
158
+ });
148
159
  // Convert Claude params to TestScenario format
149
160
  const claudeScenarios = claudeParams.map((params, index) => ({
150
161
  name: this.getClaudeScenarioName(index),
@@ -163,7 +174,10 @@ export class TestDataGenerator {
163
174
  }
164
175
  }
165
176
  catch (error) {
166
- console.warn(`[TestDataGenerator] Claude generation failed for ${tool.name}, falling back to schema-based:`, error);
177
+ this.logger?.warn("Claude generation failed, falling back to schema-based", {
178
+ toolName: tool.name,
179
+ error: String(error),
180
+ });
167
181
  }
168
182
  }
169
183
  // Fall back to schema-based generation
@@ -539,7 +553,10 @@ export class TestDataGenerator {
539
553
  lowerFieldName.includes("documents");
540
554
  if (isMutationField && schema.items) {
541
555
  // Generate one minimal item even for "empty" variant
542
- const item = this.generateValueFromSchema(schema.items, "empty");
556
+ const itemSchema = Array.isArray(schema.items)
557
+ ? schema.items[0]
558
+ : schema.items;
559
+ const item = this.generateValueFromSchema(itemSchema, "empty");
543
560
  return [item];
544
561
  }
545
562
  return [];
@@ -548,9 +565,12 @@ export class TestDataGenerator {
548
565
  // Generate multiple items
549
566
  const count = 10;
550
567
  if (schema.items) {
568
+ const itemSchema = Array.isArray(schema.items)
569
+ ? schema.items[0]
570
+ : schema.items;
551
571
  return Array(count)
552
572
  .fill(0)
553
- .map(() => this.generateValueFromSchema(schema.items, variant));
573
+ .map(() => this.generateValueFromSchema(itemSchema, variant));
554
574
  }
555
575
  return Array(count)
556
576
  .fill(0)
@@ -559,7 +579,10 @@ export class TestDataGenerator {
559
579
  // Typical variant - generate realistic array
560
580
  if (schema.items) {
561
581
  // Generate 1-2 items based on schema.items
562
- const item = this.generateValueFromSchema(schema.items, variant);
582
+ const itemSchema = Array.isArray(schema.items)
583
+ ? schema.items[0]
584
+ : schema.items;
585
+ const item = this.generateValueFromSchema(itemSchema, variant);
563
586
  return [item];
564
587
  }
565
588
  // Context-aware array generation (fallback for simple arrays without schema.items)
@@ -650,7 +673,10 @@ export class TestDataGenerator {
650
673
  }
651
674
  case "array":
652
675
  if (schema.items) {
653
- const item = this.generateValueFromSchema(schema.items, variant);
676
+ const itemSchema = Array.isArray(schema.items)
677
+ ? schema.items[0]
678
+ : schema.items;
679
+ const item = this.generateValueFromSchema(itemSchema, variant);
654
680
  return [item];
655
681
  }
656
682
  return [];
@@ -5,6 +5,7 @@
5
5
  import { Tool, CompatibilityCallToolResult } from "@modelcontextprotocol/sdk/types.js";
6
6
  import { TestScenario } from "./TestDataGenerator.js";
7
7
  import { ValidationResult } from "./ResponseValidator.js";
8
+ import { PerformanceConfig } from "./config/performanceConfig.js";
8
9
  export interface ScenarioTestResult {
9
10
  scenario: TestScenario;
10
11
  executed: boolean;
@@ -42,7 +43,14 @@ export interface ComprehensiveToolTestResult {
42
43
  export declare class TestScenarioEngine {
43
44
  private testTimeout;
44
45
  private delayBetweenTests;
45
- constructor(testTimeout?: number, delayBetweenTests?: number);
46
+ /**
47
+ * Create a new TestScenarioEngine.
48
+ *
49
+ * @param testTimeout - Timeout for each test in milliseconds (default from PerformanceConfig)
50
+ * @param delayBetweenTests - Delay between tests for rate limiting (default: 0)
51
+ * @param performanceConfig - Optional performance configuration for centralized tuning
52
+ */
53
+ constructor(testTimeout?: number, delayBetweenTests?: number, performanceConfig?: Partial<PerformanceConfig>);
46
54
  /**
47
55
  * Sleep for specified milliseconds (for rate limiting)
48
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TestScenarioEngine.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestScenarioEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,IAAI,EACJ,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAEL,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EACT,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,QAAQ,GACR,UAAU,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;KAC9C,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,WAAW,GAAE,MAAa,EAAE,iBAAiB,GAAE,MAAU;IAKrE;;OAEG;YACW,KAAK;IAInB;;OAEG;IACG,yBAAyB,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACxC,OAAO,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,CAAC;IAwEhE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACG,uBAAuB,CAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACxC,OAAO,CAAC,2BAA2B,CAAC;IAiGvC;;OAEG;YACW,eAAe;IA0E7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoK/B;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM;CAsD3E"}
1
+ {"version":3,"file":"TestScenarioEngine.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestScenarioEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,IAAI,EACJ,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAEL,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EACT,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,QAAQ,GACR,UAAU,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;KAC9C,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;OAMG;gBAED,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,GAAE,MAAU,EAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAShD;;OAEG;YACW,KAAK;IAInB;;OAEG;IACG,yBAAyB,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACxC,OAAO,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,CAAC;IAoEhE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACG,uBAAuB,CAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,2BAA2B,CAAC,GACxC,OAAO,CAAC,2BAA2B,CAAC;IAiGvC;;OAEG;YACW,eAAe;IAwE7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoK/B;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM;CAsD3E"}