/** * Auto-Resource Detector * Identifies tools that could be efficiently exposed as resources for direct access */ export interface ToolDefinition { name: string; description: string; inputSchema: any; mcpName: string; } export interface ResourceCandidate { toolName: string; mcpName: string; confidence: number; suggestedUri: string; reasoning: string[]; parameters: ParameterMapping[]; } export interface ParameterMapping { toolParam: string; uriPosition: string; required: boolean; type: string; } export declare class AutoResourceDetector { /** * Main detection method - identifies tools suitable for resource conversion */ detectResourceCandidates(tools: ToolDefinition[]): ResourceCandidate[]; /** * Analyze individual tool for resource suitability */ private analyzeTool; /** * Analyze tool naming patterns for resource suitability */ private analyzeNaming; /** * Analyze parameter complexity - simpler is better for resources */ private analyzeParameters; /** * Analyze description for resource indicators */ private analyzeDescription; /** * Analyze operation type for mutating vs non-mutating */ private analyzeOperation; /** * Extract parameter mappings for URI template generation */ private extractParameterMappings; /** * Generate URI template for resource access */ private generateUriTemplate; /** * Get efficiency gain estimate for tool-to-resource conversion */ getEfficiencyGain(candidate: ResourceCandidate): { tokenSavings: number; latencyReduction: number; reasoning: string[]; }; } //# sourceMappingURL=auto-resource-detector.d.ts.map