import type { Tool } from '../core/tools/tool-types.js'; export interface RuntimeCapabilityTool { name: string; } export interface RuntimeCapabilitiesPromptOptions { tools: readonly RuntimeCapabilityTool[] | readonly Tool[]; mcpEnabled?: boolean; mcpServerNames?: readonly string[]; /** * Unused after de-duplication — kept on the options type for source * compatibility. The tool list is no longer rendered into the prompt * (tool names already appear in the tool definitions sent to the model). * @deprecated */ maxToolNames?: number; } export declare function isCodeGraphToolName(toolName: string): boolean; /** * Build the runtime-capabilities layer of the system prompt. This deliberately * does NOT list every registered tool name — the model already receives the * full tool definitions (name + description + schema) as part of the request, * so echoing the names here would be pure duplication that bloats the prompt * without adding information. We surface only what the tool definitions * cannot tell the model: the MCP connection state, whether CodeGraph tools are * available (and the fallback discipline when they are not), and the * non-negotiable "do not invent tool names" contract. */ export declare function buildRuntimeCapabilitiesPrompt(options: RuntimeCapabilitiesPromptOptions): string; //# sourceMappingURL=runtime-capabilities.d.ts.map