/** * A2A MCP Bridge * * Seamless translation bridge between MCP (Model Context Protocol) and A2A (Agent-to-Agent) protocols. * Provides bidirectional translation with parameter transformation and response mapping. */ /// import { EventEmitter } from "events"; import { A2AMessage, A2AResponse, MCPToA2AMapping } from "../../../types/a2a.js"; import { MCPRequest, MCPResponse } from "../../../types/mcp.js"; import { TopologyType } from "../../protocol-activator.js"; /** * Bridge metrics */ export interface BridgeMetrics { totalTranslations: number; mcpToA2ATranslations: number; a2aToMCPTranslations: number; avgTranslationTime: number; successRate: number; errorRate: number; mappingsCount: number; transformationCacheHits: number; errorsByType: { [errorType: string]: number; }; } /** * A2A MCP Bridge implementation */ export declare class A2AMCPBridge extends EventEmitter { private logger; private mappings; private reverseMappings; private transformationCache; private isInitialized; private topology?; private metrics; private cacheEnabled; private cacheTTL; private maxCacheSize; constructor(options?: { topology: TopologyType; }); /** * Initialize the MCP bridge */ initialize(): Promise; /** * Shutdown the MCP bridge */ shutdown(): Promise; /** * Translate MCP request to A2A message */ translateMCPToA2A(mcpRequest: MCPRequest): Promise; /** * Translate A2A message to MCP request */ translateA2AToMCP(a2aMessage: A2AMessage): Promise; /** * Translate MCP response to A2A response */ translateMCPResponseToA2A(mcpResponse: MCPResponse): Promise; /** * Translate A2A response to MCP response */ translateA2AResponseToMCP(a2aResponse: A2AResponse): Promise; /** * Register a method mapping */ registerMapping(mapping: MCPToA2AMapping): void; /** * Unregister a method mapping */ unregisterMapping(mcpMethod: string): void; /** * Get all mappings */ getMappings(): Map; /** * Get bridge metrics */ getBridgeMetrics(): BridgeMetrics; /** * Register default mappings for common MCP tools */ private registerDefaultMappings; /** * Find MCP mapping for request */ private findMCPMapping; /** * Extract MCP method from request */ private extractMCPMethod; /** * Transform parameters using mapping */ private transformParameters; /** * Reverse transform parameters (A2A to MCP) */ private reverseTransformParameters; /** * Transform response using response mapping */ private transformResponse; /** * Reverse transform response data (A2A to MCP) */ private reverseTransformResponseData; /** * Determine target agent for A2A message */ private determineTargetAgent; /** * Determine message priority from MCP request */ private determinePriority; /** * Create A2A context from MCP request */ private createA2AContext; /** * Generate MCP prompt from A2A message */ private generateMCPPrompt; /** * Generate parameter schema for MCP tool */ private generateParameterSchema; /** * Extract required parameters from mapping */ private extractRequiredParameters; /** * Validate A2A message format */ private validateA2AMessage; /** * Check if parameter is required */ private isRequiredParameter; /** * Get nested value from object */ private getNestedValue; /** * Set nested value in object */ private setNestedValue; /** * Reverse transform value (simple heuristic) */ private reverseTransform; /** * Generate cache key */ private generateCacheKey; /** * Get cached transformation */ private getCachedTransformation; /** * Cache transformation result */ private cacheTransformation; /** * Clean up expired cache entries */ private cleanupCache; /** * Track translation success */ private trackTranslationSuccess; /** * Track translation error */ private trackTranslationError; } //# sourceMappingURL=a2a-mcp-bridge.d.ts.map