/** * Tool Discovery Service * * Provides semantic tool discovery with: * - Vector-based search via DiscoveryEngine * - Health filtering for disabled MCPs * - Score adjustment using SearchEnhancer * - CLI tool enhancement for shell commands * - Schema resolution from definitions/connections */ import { DiscoveryEngine } from '../../discovery/engine.js'; import { MCPHealthMonitor } from '../../utils/health-monitor.js'; import type { OrchestratorContext } from '../interfaces/orchestrator-context.js'; import type { OrchestratorService } from '../interfaces/service-container.js'; import type { DiscoveryResult, ToolSearchOptions } from '../types/discovery.js'; /** * CLI Scanner interface for optional CLI tool enhancement */ interface CLIScanner { searchTools(query: string): Promise>; } /** * Tool Discovery Service implementation */ export declare class ToolDiscoveryService implements OrchestratorService { private context; private discovery; private healthMonitor; private cliScanner?; private initialized; constructor(context: OrchestratorContext, discovery: DiscoveryEngine, healthMonitor: MCPHealthMonitor, cliScanner?: CLIScanner); /** * Initialize the discovery service */ initialize(): Promise; /** * Set CLI scanner for shell tool enhancement */ setCLIScanner(scanner: CLIScanner): void; /** * Find tools matching a query * * @param query - Search query (empty for list all) * @param options - Search options * @returns Discovery results */ find(query: string, options?: ToolSearchOptions): Promise; /** * Get tool schema by MCP name and tool name */ getToolSchema(mcpName: string, toolName: string): any; /** * Get tool schema by identifier (e.g., "mcp:tool") */ getToolSchemaByIdentifier(toolIdentifier: string): any; /** * List all tools filtered by health */ private listAllTools; /** * Parse vector search results into discovery results */ private parseResults; /** * Filter results by health status */ private filterByHealth; /** * Adjust scores using SearchEnhancer for term frequency boosting */ private adjustScoresUniversally; /** * Enhance shell tool descriptions with relevant CLI info */ private enhanceWithCLIInfo; /** * Get relevant CLI tools for a query */ private getRelevantCLITools; /** * Get required state from context */ private getStateFromContext; /** * Cleanup */ cleanup(): Promise; } /** * Create a tool discovery service instance */ export declare function createToolDiscoveryService(context: OrchestratorContext, discovery: DiscoveryEngine, healthMonitor: MCPHealthMonitor, cliScanner?: CLIScanner): ToolDiscoveryService; export {}; //# sourceMappingURL=tool-discovery.d.ts.map