/** * UNIFIED CODING CAPABILITY * * A lean, consolidated capability module that provides all essential * tools for an AI coding assistant in a single, coherent interface. * * Consolidates: Filesystem, Edit, Bash, Search, Git, Web */ import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js'; import type { LLMProvider } from '../core/types.js'; export interface UnifiedCodingOptions { workingDir?: string; enableGit?: boolean; enableWeb?: boolean; enableBash?: boolean; maxFileSize?: number; timeout?: number; /** LLM provider for parallel agent spawning */ provider?: LLMProvider; providerId?: string; modelId?: string; /** When set, this capability is being built FOR a sub-agent: the * unified suite is filtered down to the tools that subagent_type is * allowed to use. The parent's capability is built with this unset * (or 'general'). */ subagentType?: import('../core/agentRegistry.js').AgentType; /** Optional explicit allow-list. Overrides `subagentType` filtering * if both are set. Used internally when callers want a custom * toolset for a one-off sub-agent. */ allowedToolNames?: ReadonlySet; /** Shared registry for the parent agent — child agents access this * via the `Agent` and lifecycle tools. Created lazily on first use * if not passed in. */ agentRegistry?: import('../core/agentRegistry.js').AgentRegistry; } export declare class UnifiedCodingCapabilityModule implements CapabilityModule { readonly id = "unified-coding"; private readonly options; constructor(options?: UnifiedCodingOptions); create(_context: CapabilityContext): Promise; private buildToolSuite; private createReadFileTool; private createWriteFileTool; private createListFilesTool; private createFileExistsTool; private createEditFileTool; private createSearchReplaceTool; private createGrepTool; private createGlobTool; private createBashTool; private createGitTool; private createWebFetchTool; private createAgentSpawnTools; private subagentSystemPrompt; private resolvePath; private listDirectory; private globToRegex; private escapeRegex; } export declare function createUnifiedCodingCapability(options?: UnifiedCodingOptions): UnifiedCodingCapabilityModule; export default UnifiedCodingCapabilityModule; //# sourceMappingURL=unifiedCodingCapability.d.ts.map