import type { GatewayToolExecutor } from '../gateway-tool-executor.js'; import type { GatewayToolExecutionContext } from '../types.js'; import type { CodeActSandbox } from './sandbox.js'; import type { FunctionDescriptor } from './types.js'; import type { RoleConfig } from '../../cli/config/types.js'; import { RoleManager } from '../role-manager.js'; /** Tool metadata for .d.ts generation */ export interface ToolMeta { readonly name: string; readonly description: string; readonly params: readonly { readonly name: string; readonly type: string; readonly required: boolean; readonly description?: string; }[]; readonly returnType: string; readonly category: FunctionDescriptor['category']; } /** Read-only tool names for Tier 3 (strictest) */ export declare const READ_ONLY_TOOLS: Set; export declare function isCodeActMutatingTool(toolName: string): boolean; /** Memory-write tools additionally allowed for Tier 2 */ export declare const MEMORY_WRITE_TOOLS: Set; export declare function isToolAvailableAtTier(toolName: string, tier: 1 | 2 | 3): boolean; export declare class HostBridge { private executor; private roleManager?; private executionContext?; onToolUse?: (toolName: string, input: Record, result: unknown) => void; constructor(executor: GatewayToolExecutor, roleManager?: RoleManager | undefined, executionContext?: (GatewayToolExecutionContext | null) | undefined); /** Inject tier/role-filtered functions, or exactly an already-projected name set. */ injectInto(sandbox: CodeActSandbox, tierOrProjectedNames?: 1 | 2 | 3 | readonly string[], role?: RoleConfig): void; /** Get available function descriptors filtered by tier */ getAvailableFunctions(tier?: 1 | 2 | 3): FunctionDescriptor[]; /** Get all tool metadata (for TypeDefinitionGenerator) */ static getToolRegistry(): readonly ToolMeta[]; /** Build input object from positional or object args */ private _buildInput; } //# sourceMappingURL=host-bridge.d.ts.map