import type { ToolDef } from "../types.js"; import { type ManifestProvidedCategory } from "./manifest.js"; /** * Per-category provision plan derived from one plugin's `provides:` block. * Unlike injection, a provided category is owned end-to-end by the plugin: * action names are NOT prefixed, the entire top-level MCP tool is the * plugin's namespace. */ export interface ProvisionPlan { /** Provided category name (e.g. `terrain_sculpt`). */ category: string; /** Plugin name for diagnostics. */ pluginName: string; /** Category description. */ description?: string; /** Bare action name -> manifest spec. */ spec: ManifestProvidedCategory; } /** * Build a top-level ToolDef from one plugin-provided category. Dispatch is * via the task registry under `${category}.${action}`, matching how built-in * categories route inside index.ts. */ export declare function buildProvidedTool(plan: ProvisionPlan): ToolDef;