/** * MCP Tools Registry * * This module defines and exports all available MCP tools. * All operations from Epics 3-10 are registered here with proper JSON Schema definitions. * * Tool categories: * - Core Operations: Project, Specification, Epic, Ticket, Dependency * - Context & AI: Implementation context, actionable tickets, critical path * - Workflow: Work sessions, progress reporting * - Testing: Test results, validation * - Discovery: Report and resolve discoveries * - Status: Status reports, summaries, analytics * - Search: Search, find by file/tag, find related * - Git: Link commits and PRs, get linked items */ import { ApiClient } from '../client/api-client.js'; import { MCPErrorResponse } from '../validation/index.js'; /** * Tool definition matching MCP protocol schema */ export interface Tool { name: string; description: string; inputSchema: { type: 'object'; properties: Record; required?: string[]; }; } /** * Get list of all available tools * * This returns the tool definitions that will be sent to the AI client * in response to ListTools requests. * * @returns Array of tool definitions */ export declare function getTools(): Tool[]; /** * Tool handler type - processes arguments and returns a result */ type ToolHandler = (apiClient: ApiClient, args: Record) => Promise; /** * Create tool handlers that call the API with proper request formatting * * Each handler: * - Validates required arguments * - Formats the request for the API * - Parses and transforms the response * - Handles errors appropriately * * @param apiClient - The API client to use for making requests * @returns Record of tool handlers keyed by tool name */ export declare function createToolHandlers(apiClient: ApiClient): Record; /** * Reset the cached tool handlers (for testing purposes) */ export declare function resetToolHandlers(): void; /** * Handle a tool call by routing to the appropriate handler * * @param apiClient - The API client to use for making requests * @param toolName - Name of the tool being called * @param args - Arguments passed to the tool * @param debug - Whether to enable debug logging * @returns Promise resolving to the tool result */ export declare function handleToolCall(apiClient: ApiClient, toolName: string, args: Record, debug?: boolean): Promise; /** * Handle a tool call and return MCP-formatted response * This wraps handleToolCall with proper error formatting for MCP protocol * * @param apiClient - The API client to use for making requests * @param toolName - Name of the tool being called * @param args - Arguments passed to the tool * @param debug - Whether to enable debug logging * @returns Promise resolving to either the result or an MCP error response */ export declare function handleToolCallSafe(apiClient: ApiClient, toolName: string, args: Record, debug?: boolean): Promise; export { ValidationError, ApiError, validateToolArgs, formatMCPError, transformError, type MCPErrorResponse, } from '../validation/index.js'; //# sourceMappingURL=index.d.ts.map