/** * openlore MCP Server * * Exposes openlore's static analysis capabilities as Model Context Protocol * tools, usable from Cline, Claude Code, or any MCP-compatible AI agent. * * Transport: stdio (standard for editor-embedded MCP servers) * * Configuration for Cline / Claude Code: * { * "mcpServers": { * "openlore": { * "command": "node", * "args": ["/path/to/openlore/dist/cli/index.js", "mcp"] * } * } * } */ import { Command } from 'commander'; import { sanitizeMcpError, validateDirectory } from '../../core/services/mcp-handlers/utils.js'; import { handleGetCallGraph, handleGetSubgraph, handleAnalyzeImpact, handleGetLowRiskRefactorCandidates, handleGetLeafFunctions, handleGetCriticalHubs, handleGetGodFunctions, handleGetFileDependencies, handleTraceExecutionPath } from '../../core/services/mcp-handlers/graph.js'; import { handleSearchCode, handleSuggestInsertionPoints, handleSearchSpecs } from '../../core/services/mcp-handlers/semantic.js'; import { handleAnalyzeCodebase, handleGetArchitectureOverview, handleGetRefactorReport, handleGetDuplicateReport, handleGetSignatures, handleGetMapping, handleCheckSpecDrift, handleGetFunctionSkeleton, handleGetRouteInventory, handleGetMiddlewareInventory, handleGetSchemaInventory, handleGetUIComponents, handleGetEnvVars, handleGetExternalPackages, handleAuditSpecCoverage, handleGenerateTests, handleGetTestCoverage, handleGetMinimalContext, handleGetCluster, handleDetectChanges } from '../../core/services/mcp-handlers/analysis.js'; export { sanitizeMcpError, validateDirectory }; export { handleGetCallGraph, handleGetSubgraph, handleAnalyzeImpact, handleGetLowRiskRefactorCandidates, handleGetLeafFunctions, handleGetCriticalHubs, handleGetGodFunctions, handleGetFileDependencies, handleTraceExecutionPath, handleSearchCode, handleSuggestInsertionPoints, handleSearchSpecs, handleAnalyzeCodebase, handleGetArchitectureOverview, handleGetRefactorReport, handleGetDuplicateReport, handleGetSignatures, handleGetMapping, handleCheckSpecDrift, handleGetFunctionSkeleton, handleGetRouteInventory, handleGetMiddlewareInventory, handleGetSchemaInventory, handleGetUIComponents, handleGetEnvVars, handleGetExternalPackages, handleAuditSpecCoverage, handleGenerateTests, handleGetTestCoverage, handleGetMinimalContext, handleGetCluster, handleDetectChanges, }; export declare const TOOL_DEFINITIONS: ({ name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; task: { type: string; description: string; }; limit: { type: string; description: string; }; tokenBudget: { type: string; description: string; }; lean: { type: string; description: string; }; rankBy: { type: string; enum: string[]; description: string; }; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; force: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; filePattern: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; functionName: { type: string; description: string; }; direction: { type: string; enum: string[]; description: string; }; maxDepth: { type: string; description: string; }; format: { type: string; enum: string[]; description: string; }; directResolvedOnly: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; entryFunction: { type: string; description: string; }; targetFunction: { type: string; description: string; }; maxDepth: { type: string; description: string; }; maxPaths: { type: string; description: string; }; directResolvedOnly: { type: string; description: string; }; valueLevel: { type: string; description: string; }; valueParam: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; format?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; domain: { type: string; description: string; }; orphansOnly: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; base: { type: string; description: string; }; files: { type: string; items: { type: string; }; description: string; }; domains: { type: string; items: { type: string; }; description: string; }; failOn: { type: string; enum: string[]; description: string; }; maxFiles: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { federation: { readonly type: "boolean"; readonly description: "Opt-in: compute across federated repos (.openlore/federation.json); no-op without a registry (default false)."; }; federationRepos: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Limit federation scope to these registry repo names (default: all)."; }; directory: { type: string; description: string; }; symbol: { type: string; description: string; }; depth: { type: string; description: string; }; directResolvedOnly: { type: string; description: string; }; valueLevel: { type: string; description: string; }; valueParam: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { federation: { readonly type: "boolean"; readonly description: "Opt-in: compute across federated repos (.openlore/federation.json); no-op without a registry (default false)."; }; federationRepos: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Limit federation scope to these registry repo names (default: all)."; }; directory: { type: string; description: string; }; changedSymbols: { type: string; items: { type: string; }; description: string; }; diffRef: { type: string; description: string; }; maxDepth: { type: string; description: string; }; directResolvedOnly: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; format?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; baseRef: { type: string; description: string; }; depth: { type: string; description: string; }; maxSymbols: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { federation: { readonly type: "boolean"; readonly description: "Opt-in: compute across federated repos (.openlore/federation.json); no-op without a registry (default false)."; }; federationRepos: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Limit federation scope to these registry repo names (default: all)."; }; directory: { type: string; description: string; }; ifDeleted: { type: string; description: string; }; maxResults: { type: string; description: string; }; filePattern: { type: string; description: string; }; directResolvedOnly: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; kind: { type: string; enum: string[]; description: string; }; subject: { type: string; description: string; }; object: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; baseRef: { type: string; description: string; }; headRef: { type: string; description: string; }; maxResults: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; file: { type: string; description: string; }; limit: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; from: { type: string; description: string; }; to: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; limit: { type: string; description: string; }; filePattern: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; limit: { type: string; description: string; }; filePattern: { type: string; description: string; }; sortBy: { type: string; enum: string[]; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; limit: { type: string; description: string; }; minFanIn: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; filePath: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; filePath: { type: string; description: string; }; fanOutThreshold: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; description: { type: string; description: string; }; limit: { type: string; description: string; }; language: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; query: { type: string; description: string; }; limit: { type: string; description: string; }; language: { type: string; description: string; }; minFanIn: { type: string; description: string; }; tokenBudget: { type: string; description: string; }; task?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; query: { type: string; description: string; }; limit: { type: string; description: string; }; domain: { type: string; description: string; }; section: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; query: { type: string; description: string; }; limit: { type: string; description: string; }; language: { type: string; description: string; }; domain: { type: string; description: string; }; section: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; domain: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; filePath: { type: string; description: string; }; functionName: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; filePath: { type: string; description: string; }; direction: { type: string; enum: string[]; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; description: { type: string; description: string; }; slug: { type: string; description: string; }; storyContent: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; language?: undefined; query?: undefined; section?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; storyFilePath: { type: string; description: string; }; description: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; query: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; maxUncovered: { type: string; description: string; }; hubThreshold: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; domains: { type: string; items: { type: string; }; description: string; }; framework: { type: string; enum: string[]; description: string; }; useLlm: { type: string; description: string; }; dryRun: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; domains: { type: string; items: { type: string; }; description: string; }; minCoverage: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; functionName: { type: string; description: string; }; filePath: { type: string; description: string; }; rankBy: { type: string; enum: string[]; description: string; }; tokenBudget: { type: string; description: string; }; task?: undefined; limit?: undefined; lean?: undefined; force?: undefined; filePattern?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; functionName: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; limit: { type: string; description: string; }; label: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; communityId: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { federation: { readonly type: "boolean"; readonly description: "Opt-in: compute across federated repos (.openlore/federation.json); no-op without a registry (default false)."; }; federationRepos: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Limit federation scope to these registry repo names (default: all)."; }; directory: { type: string; description: string; }; from: { type: string; description: string; }; to: { type: string; description: string; }; useCallDistance: { type: string; description: string; }; directResolvedOnly: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; base: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; limit: { type: string; description: string; }; task?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; title: { type: string; description: string; }; rationale: { type: string; description: string; }; consequences: { type: string; description: string; }; affectedFiles: { type: string; items: { type: string; }; description: string; }; supersedes: { type: string; description: string; }; scope: { type: string; enum: string[]; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; status: { type: string; enum: string[]; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; id: { type: string; description: string; }; note: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; dryRun: { type: string; description: string; }; id: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; type?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { directory: { type: string; description: string; }; content: { type: string; description: string; }; anchors: { type: string; description: string; items: { type: string; properties: { symbol: { type: string; description: string; }; file: { type: string; description: string; }; }; }; }; tags: { type: string; items: { type: string; }; description: string; }; type: { type: string; enum: string[]; description: string; }; supersedes: { type: string; description: string; }; task?: undefined; limit?: undefined; tokenBudget?: undefined; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { federation: { readonly type: "boolean"; readonly description: "Opt-in: compute across federated repos (.openlore/federation.json); no-op without a registry (default false)."; }; federationRepos: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Limit federation scope to these registry repo names (default: all)."; }; directory: { type: string; description: string; }; task: { type: string; description: string; }; limit: { type: string; description: string; }; tokenBudget: { type: string; description: string; }; asOf: { type: string; description: string; }; changedSince: { type: string; description: string; }; type: { type: string; description: string; enum?: undefined; }; lean?: undefined; rankBy?: undefined; force?: undefined; filePattern?: undefined; functionName?: undefined; direction?: undefined; maxDepth?: undefined; format?: undefined; directResolvedOnly?: undefined; entryFunction?: undefined; targetFunction?: undefined; maxPaths?: undefined; valueLevel?: undefined; valueParam?: undefined; domain?: undefined; orphansOnly?: undefined; base?: undefined; files?: undefined; domains?: undefined; failOn?: undefined; maxFiles?: undefined; baseRef?: undefined; depth?: undefined; maxSymbols?: undefined; kind?: undefined; subject?: undefined; object?: undefined; headRef?: undefined; maxResults?: undefined; file?: undefined; from?: undefined; to?: undefined; sortBy?: undefined; minFanIn?: undefined; filePath?: undefined; fanOutThreshold?: undefined; description?: undefined; language?: undefined; query?: undefined; section?: undefined; slug?: undefined; storyContent?: undefined; storyFilePath?: undefined; maxUncovered?: undefined; hubThreshold?: undefined; framework?: undefined; useLlm?: undefined; dryRun?: undefined; minCoverage?: undefined; label?: undefined; communityId?: undefined; title?: undefined; rationale?: undefined; consequences?: undefined; affectedFiles?: undefined; supersedes?: undefined; scope?: undefined; status?: undefined; id?: undefined; note?: undefined; content?: undefined; anchors?: undefined; tags?: undefined; }; required: string[]; }; })[]; /** Full MCP `annotations` for a tool: read/write hints + title + openWorldHint (spec-11). */ export declare function toolAnnotations(name: string): Record; export declare const TOOL_PRESETS: Record>; /** * Resolve which tools an MCP session exposes (Spec 14). `--preset` wins over the * legacy `--minimal` (= the 'minimal' preset); no selector = all tools. Throws on * an unknown preset so a typo fails loudly instead of silently exposing all 60. * Pure + exported for unit testing. */ export declare function selectActiveTools(allTools: T[], opts: { minimal?: boolean; preset?: string; }): T[]; export declare const mcpCommand: Command; //# sourceMappingURL=mcp.d.ts.map