import type { SuggestedAction } from "./suggested-action.js"; import type { PlanPolicyId } from "../plan/plan.js"; import type { ExtensionType } from "../extensions/common.js"; export interface ConfiguredAgentOperation { readonly extensionType: ExtensionType; readonly name: string; readonly targetEnabled: boolean; } export type ConfirmationRecoveryValue = { readonly _tag: "Public"; readonly value: string; } | { readonly _tag: "Protected"; } | { readonly _tag: "Unclassified"; }; export type ConfirmationRecoveryArgument = { readonly _tag: "Option"; readonly flag: string; readonly value: ConfirmationRecoveryValue; } | { readonly _tag: "Positional"; readonly value: ConfirmationRecoveryValue; } | { readonly _tag: "Switch"; readonly flag: string; readonly enabled: boolean; }; export interface ConfirmationRecovery { readonly command: ReadonlyArray; readonly arguments: ReadonlyArray; } export type PlanExecutionRequest = { readonly mode: "preview"; } | { readonly mode: "apply"; readonly confirmableRiskApproval: "prompt-if-interactive" | "preapproved"; readonly acceptedPolicies: ReadonlySet; }; /** Invocation-scoped policy input plus safe replay metadata for approval recovery. */ export type PlanExecution = { readonly request: { readonly mode: "preview"; }; readonly configuredAgentOperations?: ReadonlyArray; } | { readonly request: Extract; readonly approvalRecovery: ConfirmationRecovery; readonly configuredAgentOperations?: ReadonlyArray; }; export declare const previewPlanExecution: PlanExecution; export declare const applyPlanExecution: (options: { readonly approval: "prompt-if-interactive" | "preapproved"; readonly acceptedPolicies?: ReadonlySet; readonly recovery: ConfirmationRecovery; readonly configuredAgentOperations?: ReadonlyArray; }) => PlanExecution; export declare const preapprovedPlanExecution: PlanExecution; export declare const promptablePlanExecution: (recovery: ConfirmationRecovery, acceptedPolicies?: ReadonlySet) => PlanExecution; export declare const publicRecoveryValue: (value: string) => ConfirmationRecoveryValue; export declare const protectedRecoveryValue: () => ConfirmationRecoveryValue; export declare const unclassifiedRecoveryValue: () => ConfirmationRecoveryValue; export declare const credentialFreeLocatorRecoveryValue: (value: string) => ConfirmationRecoveryValue; export declare const recoveryOption: (flag: string, value: ConfirmationRecoveryValue) => ConfirmationRecoveryArgument; export declare const recoveryPositional: (value: ConfirmationRecoveryValue) => ConfirmationRecoveryArgument; export declare const recoverySwitch: (flag: string, enabled: boolean) => ConfirmationRecoveryArgument; export declare const renderConfirmationRecoveryCommand: (recovery: ConfirmationRecovery, options?: { readonly includeYes?: boolean; readonly additionalSwitches?: ReadonlyArray; }) => string | undefined; export declare const namedPolicyRecoverySuggestions: (recovery: ConfirmationRecovery, requiredFlags: ReadonlyArray) => ReadonlyArray; export declare const confirmationRecoverySuggestions: (recovery: ConfirmationRecovery) => ReadonlyArray; //# sourceMappingURL=confirmation-recovery.d.ts.map