/** * MCP Tool JSON Schemas for Scampi * * Defines TypeScript types and JSON schemas for all Scampi MCP tools: * - scampi_generate_solutions: Generate multiple solution approaches for a task * - scampi_brainstorm: Brainstorm approach ideas without execution * - scampi_map_codebase: Scan and index a codebase directory * - scampi_search: Search the codebase for relevant files * - scampi_get_files: Retrieve file contents after search * - scampi_query_graph: Query the dependency graph */ /** * Input for the scampi_generate_solutions tool */ export interface GenerateSolutionsInput { /** The task or problem description to solve */ task: string; /** Number of solution approaches to generate (default: 3) */ count: number; /** Context about the codebase structure and relevant files */ codebase_context: string; /** If true, return planned approaches without executing them */ dry_run?: boolean; } /** * A single solution approach */ export interface SolutionApproach { /** Unique identifier for this approach */ id: string; /** High-level description of the approach */ approach: string; /** Detailed solution implementation */ solution: string; } /** * A failed solution attempt */ export interface SolutionFailure { /** Unique identifier for this attempt */ id: string; /** Description of the approach that was attempted */ approach: string; /** Error message or reason for failure */ error: string; } /** * Output from the scampi_generate_solutions tool */ export interface GenerateSolutionsOutput { /** Successfully generated solution approaches */ approaches: SolutionApproach[]; /** Failed solution attempts (if any) */ failures?: SolutionFailure[]; } /** * Input for the scampi_map_codebase tool */ export interface MapCodebaseInput { /** Directory path to scan and index */ directory: string; } /** * Output from the scampi_map_codebase tool */ export interface MapCodebaseOutput { /** Total number of files scanned */ files_scanned: number; /** Number of files loaded from cache (not re-processed) */ files_cached: number; /** Human-readable summary of the codebase structure */ summary: string; /** Error messages from failed summarizations (first few unique errors) */ errors?: string[]; } /** * Input for the scampi_brainstorm tool */ export interface BrainstormInput { /** The task or problem to brainstorm approaches for */ task: string; /** Context about the codebase structure and relevant files */ codebase_context: string; /** Number of approach ideas to generate (default: 3) */ count?: number; } /** * A single approach idea from brainstorming */ export interface ApproachIdea { /** Unique identifier for this idea (1-indexed) */ id: number; /** Brief name/description of the approach (max 50 chars) */ approach: string; /** Why this approach fits (1-2 sentences) */ rationale: string; /** Pros and cons (2-3 bullet points) */ tradeoffs: string; /** Key considerations for implementation (2-3 bullet points) */ implementation_hints: string; } /** * Output from the scampi_brainstorm tool */ export interface BrainstormOutput { /** Generated approach ideas */ ideas: ApproachIdea[]; /** Optional: ID of the recommended approach */ recommended?: number; } /** * Input for the scampi_search tool */ export interface SearchInput { /** Directory path to search in */ directory: string; /** Natural language or keyword query to search for */ query: string; } /** * A single search result */ export interface SearchResult { /** File path relative to the codebase root */ file: string; /** Numeric relevance score (0-1, higher is more relevant) */ score: number; /** Semantic relevance level (high, medium, low) */ relevance: 'high' | 'medium' | 'low'; /** Brief summary of why this file is relevant */ summary: string; /** LLM-generated reason for the relevance ranking */ reason?: string; } /** * Output from the scampi_search tool */ export interface SearchOutput { /** Matching files ranked by relevance */ results: SearchResult[]; } /** * Input for the scampi_get_files tool */ export interface GetFilesInput { /** Root directory of the codebase */ directory: string; /** Array of relative file paths to retrieve */ files: string[]; /** Include cached summaries if available (default: true) */ include_summary?: boolean; } /** * Content and metadata for a single file */ export interface FileContent { /** File path relative to the codebase root */ path: string; /** File content as a string */ content: string; /** Cached summary if available and requested */ summary?: string; /** Error message if file read failed */ error?: string; } /** * Output from the scampi_get_files tool */ export interface GetFilesOutput { /** Array of file contents with metadata */ files: FileContent[]; } /** * Input for the scampi_query_graph tool */ export interface QueryGraphInput { /** Directory path to query */ directory: string; /** Relative file path to query */ file: string; /** Type of query to perform */ query_type: "dependents" | "dependencies" | "exports" | "all"; } /** * Output from the scampi_query_graph tool */ export interface QueryGraphOutput { /** The queried file path */ file: string; /** Files that import this file (only if query_type is "dependents" or "all") */ dependents?: string[]; /** Files this file imports (only if query_type is "dependencies" or "all") */ dependencies?: string[]; /** What this file exports (only if query_type is "exports" or "all") */ exports?: string[]; } /** * JSON Schema type for MCP tool input schemas */ export interface JSONSchema { type: "object"; properties: Record; required: string[]; additionalProperties?: boolean; } /** * JSON Schema for GenerateSolutionsInput */ export declare const generateSolutionsInputSchema: JSONSchema; /** * JSON Schema for BrainstormInput */ export declare const brainstormInputSchema: JSONSchema; /** * JSON Schema for MapCodebaseInput */ export declare const mapCodebaseInputSchema: JSONSchema; /** * JSON Schema for SearchInput */ export declare const searchInputSchema: JSONSchema; /** * JSON Schema for GetFilesInput */ export declare const getFilesInputSchema: JSONSchema; /** * JSON Schema for QueryGraphInput */ export declare const queryGraphInputSchema: JSONSchema; /** * MCP Tool definition structure */ export interface MCPToolDefinition { /** Unique tool name */ name: string; /** Human-readable description of what the tool does */ description: string; /** JSON Schema for the tool's input parameters */ inputSchema: JSONSchema; } /** * MCP tool definition for scampi_generate_solutions */ export declare const generateSolutionsTool: MCPToolDefinition; /** * MCP tool definition for scampi_brainstorm */ export declare const brainstormTool: MCPToolDefinition; /** * MCP tool definition for scampi_map_codebase */ export declare const mapCodebaseTool: MCPToolDefinition; /** * MCP tool definition for scampi_search */ export declare const searchTool: MCPToolDefinition; /** * MCP tool definition for scampi_get_files */ export declare const getFilesTool: MCPToolDefinition; /** * MCP tool definition for scampi_query_graph */ export declare const queryGraphTool: MCPToolDefinition; /** * All Scampi MCP tool definitions * * Export this array for registration with the MCP server. */ export declare const scampiTools: MCPToolDefinition[]; /** * Map of tool names to their definitions for quick lookup */ export declare const scampiToolsMap: Record; //# sourceMappingURL=schemas.d.ts.map