// GENERATED CODE! DO NOT MODIFY BY HAND!

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { LegacyAppPathString } from "../LegacyAppPathString";
import type { AdditionalPermissionProfile } from "./AdditionalPermissionProfile";
import type { CommandAction } from "./CommandAction";
import type { CommandExecutionApprovalDecision } from "./CommandExecutionApprovalDecision";
import type { ExecPolicyAmendment } from "./ExecPolicyAmendment";
import type { NetworkApprovalContext } from "./NetworkApprovalContext";
import type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment";

export type CommandExecutionRequestApprovalParams = { threadId: string, turnId: string, itemId: string,
/**
 * Unix timestamp (in milliseconds) when this approval request started.
 */
startedAtMs: number,
/**
 * Unique identifier for this specific approval callback.
 *
 * For regular shell/unified_exec approvals, this is null.
 *
 * For zsh-exec-bridge subcommand approvals, multiple callbacks can belong to
 * one parent `itemId`, so `approvalId` is a distinct opaque callback id
 * (a UUID) used to disambiguate routing.
 */
approvalId?: string | null,
/**
 * Environment in which the command will run.
 */
environmentId: string | null,
/**
 * Optional explanatory reason (e.g. request for network access).
 */
reason?: string | null,
/**
 * Optional context for a managed-network approval prompt.
 */
networkApprovalContext?: NetworkApprovalContext | null,
/**
 * The command to be executed.
 */
command?: string | null,
/**
 * The command's working directory.
 */
cwd?: LegacyAppPathString | null,
/**
 * Best-effort parsed command actions for friendly display.
 */
commandActions?: Array<CommandAction> | null,
/**
 * Optional additional permissions requested for this command.
 */
additionalPermissions?: AdditionalPermissionProfile | null,
/**
 * Optional proposed execpolicy amendment to allow similar commands without prompting.
 */
proposedExecpolicyAmendment?: ExecPolicyAmendment | null,
/**
 * Optional proposed network policy amendments (allow/deny host) for future requests.
 */
proposedNetworkPolicyAmendments?: Array<NetworkPolicyAmendment> | null,
/**
 * Ordered list of decisions the client may present for this prompt.
 */
availableDecisions?: Array<CommandExecutionApprovalDecision> | null, };
