/** * Unified Protocol Compliance Assessor * * Merges protocol compliance and error handling into a single Phase 2 module. * Produces both `mcpSpecCompliance` (or `protocolCompliance`) and `errorHandling` results. * * @module assessment/modules/ProtocolComplianceAssessor * @see GitHub Issue #188 */ import { MCPSpecComplianceAssessment, ErrorHandlingAssessment } from "../../../../lib/assessmentTypes.js"; import type { AssessmentConfiguration } from "../../../../lib/assessment/configTypes.js"; import { BaseAssessor } from "../BaseAssessor.js"; import { AssessmentContext } from "../../AssessmentOrchestrator.js"; /** * Unified Protocol Compliance Assessment Result * Contains both protocol compliance and error handling results. */ export interface UnifiedProtocolComplianceAssessment extends MCPSpecComplianceAssessment { /** Error handling results for backward compatibility */ errorHandling: ErrorHandlingAssessment; } /** * Unified Protocol Compliance Assessor * * Combines: * - Protocol compliance checks (JSON-RPC, schema, capabilities, etc.) * - Error handling tests (missing params, wrong types, invalid values, etc.) */ export declare class ProtocolComplianceAssessor extends BaseAssessor { private jsonRpcChecker; private schemaChecker; private serverInfoChecker; private capabilitiesChecker; private errorResponseChecker; private contentTypeChecker; private initializationChecker; private outputSchemaAnalyzer; private metadataExtractor; private inputValidationTester; private errorHandlingScorer; private errorHandlingReporter; constructor(config: AssessmentConfiguration); /** * Unified assessment combining protocol compliance and error handling. */ assess(context: AssessmentContext): Promise; /** * Run all protocol compliance checks. */ private runProtocolChecks; /** * Run error handling tests. */ private runErrorHandlingTests; /** * Select tools for error handling testing. */ private selectToolsForErrorTesting; /** * Extract protocol version from context. */ private extractProtocolVersion; /** * Generate explanation for protocol compliance results. */ private generateProtocolExplanation; /** * Generate recommendations for protocol compliance. */ private generateProtocolRecommendations; } //# sourceMappingURL=ProtocolComplianceAssessor.d.ts.map