import { type ToolMeta } from './host-bridge.js'; export type CodeActTier = 1 | 2 | 3; export interface CodeActRoleToolPolicy { readonly allowedTools?: readonly string[]; readonly blockedTools?: readonly string[]; } export interface CodeActToolPolicyInput { readonly tier: CodeActTier; readonly roleName?: string; readonly role?: CodeActRoleToolPolicy; readonly disallowedTools?: readonly string[]; readonly requestedAllowedTools?: unknown; readonly requestedBlockedTools?: unknown; /** Undefined preserves non-runtime callers; [] explicitly means no destination authority. */ readonly envelopeDestinationKinds?: readonly string[]; /** Undefined preserves non-runtime callers; [] explicitly means no connector read authority. */ readonly envelopeRawConnectors?: readonly string[]; } export interface CodeActToolPolicyFingerprintData { readonly version: 4; readonly inputs: { readonly tier: CodeActTier; readonly roleName: string | null; readonly roleAllowedTools: readonly string[] | null; readonly roleBlockedTools: readonly string[]; readonly runtimeDisallowedTools: readonly string[]; readonly requestedAllowedTools: readonly string[] | null; readonly requestedBlockedTools: readonly string[]; readonly envelopeDestinationKinds: readonly string[] | null; readonly envelopeRawConnectors: readonly string[] | null; }; readonly tools: readonly ToolMeta[]; } export type CodeActToolPolicyFingerprintPayload = string; export interface CodeActToolPolicy { readonly names: readonly string[]; readonly definitions: readonly ToolMeta[]; readonly fingerprintPayload: CodeActToolPolicyFingerprintPayload; } export declare class CodeActToolPolicyValidationError extends Error { constructor(message: string); } /** * Resolve every Code-Act tool-policy input against the HostBridge registry. * Role and runtime policy establish the upper bound; model-requested fields can * only intersect with or subtract from that bound. */ export declare function projectCodeActToolPolicy(input: CodeActToolPolicyInput): CodeActToolPolicy; export declare function requireCodeActTier(tier: unknown): CodeActTier; //# sourceMappingURL=tool-policy.d.ts.map