import type { HarnessCapability } from "./capability-contract.ts"; import type { CapabilityEnforcementKind, OrchestrationProfile } from "./orchestration/contracts.ts"; export interface ToolCapabilityPolicy { /** AND across clauses; OR across the capability alternatives inside one clause. */ capabilityClauses: readonly (readonly HarnessCapability[])[]; enforcements: readonly CapabilityEnforcementKind[]; } export type ToolPathAccess = "none" | "read" | "write"; /** Model-facing runtime tools whose authority is owned by this policy catalogue. Platform aliases * and the internal managed-process adapter stay out of child CLI profiles. */ export declare const POLICY_OWNED_RUNTIME_TOOL_NAMES: readonly string[]; export declare function getToolCapabilityPolicy(toolName: string): ToolCapabilityPolicy | undefined; export declare function hasToolCapabilityPolicy(toolName: string): boolean; export declare function toolUsesPathScope(toolName: string): boolean; export declare function toolCapabilityRequirementClauses(toolName: string, args?: unknown): readonly (readonly HarnessCapability[])[]; export declare function requiredEnvelopeCapabilities(toolName: string, args?: unknown): readonly HarnessCapability[]; export declare function formatToolCapabilityRequirement(toolName: string, args?: unknown): string; export declare function envelopeHasToolCapability(capabilities: readonly HarnessCapability[], toolName: string, args?: unknown): boolean; /** Resolve the exact alternative selected from every conjunctive clause for one invocation. */ export declare function resolveToolCallCapabilities(capabilities: readonly HarnessCapability[], toolName: string, args?: unknown): readonly HarnessCapability[] | undefined; export declare function resolveCapabilityPathAccess(capabilities: readonly HarnessCapability[]): Exclude | undefined; /** Resolve whether one authorized invocation exposes caller-controlled paths to a scoped boundary. */ export declare function resolveToolCallPathAccess(capabilities: readonly HarnessCapability[], toolName: string, args?: unknown): ToolPathAccess; export declare function resolveProfileToolCapabilities(profile: Pick, toolName: string): readonly HarnessCapability[] | undefined; export declare function describeToolCapabilityAuthority(toolName: string): string; //# sourceMappingURL=tool-capability-policy.d.ts.map