/** * Single source of truth for all MCP tool definitions * This file defines all available tools and their metadata */ import { z } from 'zod'; /** * Content types that tools can return. * Text content is the default, image content is used for screenshots. */ export interface TextContent { type: 'text'; text: string; } export interface ImageContent { type: 'image'; data: string; mimeType: string; } export type ToolContent = TextContent | ImageContent; /** * Tool result can be a string (legacy, converted to TextContent) or structured content. */ export type ToolResult = string | ToolContent | ToolContent[]; export type ToolHandler = (args: unknown) => Promise; /** * Tool annotations that help the AI understand when and how to use tools. * These follow the MCP specification for ToolAnnotations. */ export interface ToolAnnotations { title?: string; readOnlyHint?: boolean; destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; } export interface ToolDefinition { name: string; description: string; category: string; schema: z.ZodSchema; handler: ToolHandler; annotations?: ToolAnnotations; } /** * Tool categories for organization */ export declare const TOOL_CATEGORIES: { readonly SETUP: "Setup & Configuration"; readonly MOBILE_DEVELOPMENT: "Mobile Development"; readonly UI_AUTOMATION: "UI Automation & WebView Interaction"; readonly IPC_PLUGIN: "IPC & Plugin Tools (via MCP Bridge)"; }; /** * Complete registry of all available tools * This is the single source of truth for tool definitions */ export declare const TOOLS: ToolDefinition[]; /** * Get all tool names for type checking */ export type ToolName = typeof TOOLS[number]['name']; /** * Get tools grouped by category */ export declare function getToolsByCategory(): Record; /** * Get total tool count */ export declare function getToolCount(): number; /** * Create a Map for fast tool lookup by name */ export declare const TOOL_MAP: Map;