import type { AgentTool } from "@caupulican/pi-agent-core"; import type { TSchema } from "typebox"; import type { CapabilityEnvelope } from "./contracts.ts"; /** * Derive one immutable child-tool view from an already-authorized composite tool call. * Explicit child denials and every capability/path bound remain intact. An allowlist is widened * only when it actually grants the parent; direct or accidental use cannot turn a denied parent * into authority for its implementation tools. */ export declare function deriveCompositeChildEnvelope(parentToolName: string, childToolNames: readonly string[], envelope: CapabilityEnvelope | undefined): CapabilityEnvelope | undefined; /** Apply the complete autonomy gate to a composite tool's concrete child tool at execution time. */ export declare function wrapToolWithCapabilityEnvelopeGate(tool: AgentTool, cwd: string, envelope: CapabilityEnvelope | undefined): AgentTool; //# sourceMappingURL=composite-tool-gate.d.ts.map