/** * Plugin Tool Loader * * Loads MCP tools from installed plugins at MCP server startup. * Reads the installed.json manifest, dynamically imports each enabled plugin, * captures its registered tools via a CapturingRegistry, converts Zod schemas * to JSON Schema, and returns them ready for registerTools(). */ import type { MCPTool, MCPToolInputSchema } from '../mcp-tools/types.js'; interface IMCPTool { name: string; description?: string; inputSchema: unknown; handler?: (input: Record, context?: unknown) => Promise; execute?: (input: Record, context?: unknown) => Promise; category?: string; version?: string; } /** * Collects tools during plugin.register() without side effects. * No-op methods for hooks, workers, and agents — we only capture tools. */ export declare class CapturingRegistry { tools: IMCPTool[]; registerTools(tools: IMCPTool[]): void; registerTool(tool: IMCPTool): void; registerHook(): void; registerHooks(): void; registerWorker(): void; registerWorkers(): void; registerAgent(): void; registerAgents(): void; } export declare function createMinimalContext(): Record; export declare function zodToJsonSchema(schema: unknown): MCPToolInputSchema; export interface LoadedPlugins { tools: MCPTool[]; plugins: Array<{ shutdown(): Promise; }>; } /** * Load MCP tools from all enabled plugins listed in installed.json. * * Searches for the manifest in .claude-flow/plugins/installed.json under * the current working directory and the user's home directory. */ export declare function loadPluginTools(): Promise; export {}; //# sourceMappingURL=plugin-tool-loader.d.ts.map