import { i as InteractiveReplyButton } from "./payload-BoZF5rJz.js"; import { i as OpenClawConfig } from "./types.openclaw-Dkap9jPv.js"; import { gt as CommandExplanationSummary, l as ExecApprovalResolved, o as ExecApprovalDecision, s as ExecApprovalRequest } from "./exec-approvals-CPpcfY0H.js"; import { l as PluginApprovalResolved, s as PluginApprovalRequest } from "./plugin-approvals-BT7-U8LU.js"; import { i as GatewayReconnectPausedInfo } from "./client-BWFNfa3t.js"; //#region src/infra/approval-types.d.ts type ChannelApprovalKind = "exec" | "plugin"; //#endregion //#region src/channels/plugins/approval-native.types.d.ts type ChannelApprovalNativeSurface = "origin" | "approver-dm"; type ChannelApprovalNativeTarget = { to: string; threadId?: string | number | null; }; type ChannelApprovalNativeDeliveryPreference = ChannelApprovalNativeSurface | "both"; type ChannelApprovalNativeRequest = ExecApprovalRequest | PluginApprovalRequest; type ChannelApprovalNativeDeliveryCapabilities = { enabled: boolean; preferredSurface: ChannelApprovalNativeDeliveryPreference; supportsOriginSurface: boolean; supportsApproverDmSurface: boolean; notifyOriginWhenDmOnly?: boolean; }; type ChannelApprovalNativeAdapter = { describeDeliveryCapabilities: (params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeDeliveryCapabilities; resolveOriginTarget?: (params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeTarget | null | Promise; resolveApproverDmTargets?: (params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeTarget[] | Promise; }; //#endregion //#region src/infra/approval-native-delivery.d.ts type ApprovalRequest$3 = ExecApprovalRequest | PluginApprovalRequest; type ChannelApprovalNativePlannedTarget = { surface: ChannelApprovalNativeSurface; target: ChannelApprovalNativeTarget; reason: "preferred" | "fallback"; }; type ChannelApprovalNativeDeliveryPlan = { targets: ChannelApprovalNativePlannedTarget[]; originTarget: ChannelApprovalNativeTarget | null; notifyOriginWhenDmOnly: boolean; }; declare function resolveChannelNativeApprovalDeliveryPlan(params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ApprovalRequest$3; adapter?: ChannelApprovalNativeAdapter | null; }): Promise; //#endregion //#region src/infra/approval-native-runtime-types.d.ts type PreparedChannelNativeApprovalTarget = { dedupeKey: string; target: TPreparedTarget; }; type ChannelNativeApprovalTransportSpec = { prepareTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; approvalKind: ChannelApprovalKind; pendingContent: TPendingContent; }) => PreparedChannelNativeApprovalTarget | null | Promise | null>; deliverTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: TPreparedTarget; request: TRequest; approvalKind: ChannelApprovalKind; pendingContent: TPendingContent; }) => TPendingEntry | null | Promise; }; type ChannelNativeApprovalDeliveryCallbacks = { onDeliveryError?: (params: { error: unknown; plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; approvalKind: ChannelApprovalKind; pendingContent: TPendingContent; }) => void; onDuplicateSkipped?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; approvalKind: ChannelApprovalKind; pendingContent: TPendingContent; }) => void; onDelivered?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; approvalKind: ChannelApprovalKind; pendingContent: TPendingContent; entry: TPendingEntry; }) => void; }; //#endregion //#region src/infra/exec-approval-channel-runtime.types.d.ts type ApprovalRequestEvent$1 = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolvedEvent$1 = ExecApprovalResolved | PluginApprovalResolved; type ExecApprovalChannelRuntimeEventKind = "exec" | "plugin"; type ExecApprovalChannelRuntimeAdapter = { label: string; clientDisplayName: string; cfg: OpenClawConfig; gatewayUrl?: string; eventKinds?: readonly ExecApprovalChannelRuntimeEventKind[]; isConfigured: () => boolean; shouldHandle: (request: TRequest) => boolean; deliverRequested: (request: TRequest) => Promise; beforeGatewayClientStart?: () => Promise | void; finalizeResolved: (params: { request: TRequest; resolved: TResolved; entries: TPending[]; }) => Promise; finalizeExpired?: (params: { request: TRequest; entries: TPending[]; }) => Promise; onStopped?: () => Promise | void; nowMs?: () => number; }; type ExecApprovalChannelRuntime = { start: () => Promise; stop: () => Promise; handleRequested: (request: TRequest) => Promise; handleResolved: (resolved: TResolved) => Promise; handleExpired: (approvalId: string) => Promise; request: (method: string, params: Record) => Promise; }; //#endregion //#region src/infra/exec-approval-channel-runtime.d.ts type ApprovalRequestEvent = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolvedEvent = ExecApprovalResolved | PluginApprovalResolved; declare class ExecApprovalChannelRuntimeTerminalStartError extends Error { readonly detailCode: string | null; constructor(info: GatewayReconnectPausedInfo, cause?: unknown); } declare function isExecApprovalChannelRuntimeTerminalStartError(error: unknown): error is ExecApprovalChannelRuntimeTerminalStartError; declare function createExecApprovalChannelRuntime(adapter: ExecApprovalChannelRuntimeAdapter): ExecApprovalChannelRuntime; //#endregion //#region src/infra/approval-native-runtime.d.ts type ApprovalRequest$2 = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolved$1 = ExecApprovalResolved | PluginApprovalResolved; type ChannelNativeApprovalPlanDeliveryResult = { entries: TPendingEntry[]; deliveryPlan: ChannelApprovalNativeDeliveryPlan; deliveredTargets: ChannelApprovalNativePlannedTarget[]; }; declare function deliverApprovalRequestViaChannelNativePlan(params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: TRequest; adapter?: ChannelApprovalNativeAdapter | null; prepareTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; }) => PreparedChannelNativeApprovalTarget | null | Promise | null>; deliverTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: TPreparedTarget; request: TRequest; }) => TPendingEntry | null | Promise; onDeliveryError?: (params: { error: unknown; plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; }) => void; onDuplicateSkipped?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; }) => void; onDelivered?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; entry: TPendingEntry; }) => void; }): Promise>; type ChannelNativeApprovalRuntimeAdapter = Omit, "deliverRequested"> & ChannelNativeApprovalTransportSpec & ChannelNativeApprovalDeliveryCallbacks & { channel?: string; channelLabel?: string; accountId?: string | null; nativeAdapter?: ChannelApprovalNativeAdapter | null; resolveApprovalKind?: (request: TRequest) => ChannelApprovalKind; buildPendingContent: (params: { request: TRequest; approvalKind: ChannelApprovalKind; nowMs: number; }) => TPendingContent | Promise; onStopped?: () => Promise | void; }; declare function createChannelNativeApprovalRuntime(adapter: ChannelNativeApprovalRuntimeAdapter): ExecApprovalChannelRuntime; //#endregion //#region src/infra/approval-view-model.types.d.ts type ApprovalPhase = "pending" | "resolved" | "expired"; type ApprovalActionView = { kind?: "command" | "decision"; decision: ExecApprovalDecision; label: string; style: NonNullable; command: string; }; type ApprovalMetadataView = { label: string; value: string; }; type ApprovalViewBase = { approvalId: string; approvalKind: ChannelApprovalKind; phase: ApprovalPhase; title: string; description?: string | null; metadata: ApprovalMetadataView[]; }; type ExecApprovalViewBase = ApprovalViewBase & { approvalKind: "exec"; ask?: string | null; agentId?: string | null; warningText?: string | null; commandAnalysis?: CommandExplanationSummary | null; commandText: string; commandPreview?: string | null; cwd?: string | null; envKeys?: readonly string[]; host?: string | null; nodeId?: string | null; sessionKey?: string | null; }; type ExecApprovalPendingView = ExecApprovalViewBase & { phase: "pending"; actions: ApprovalActionView[]; expiresAtMs: number; }; type ExecApprovalResolvedView = ExecApprovalViewBase & { phase: "resolved"; decision: ExecApprovalDecision; resolvedBy?: string | null; }; type ExecApprovalExpiredView = ExecApprovalViewBase & { phase: "expired"; }; type PluginApprovalViewBase = ApprovalViewBase & { approvalKind: "plugin"; agentId?: string | null; pluginId?: string | null; toolName?: string | null; severity: "info" | "warning" | "critical"; }; type PluginApprovalPendingView = PluginApprovalViewBase & { phase: "pending"; actions: ApprovalActionView[]; expiresAtMs: number; }; type PluginApprovalResolvedView = PluginApprovalViewBase & { phase: "resolved"; decision: ExecApprovalDecision; resolvedBy?: string | null; }; type PluginApprovalExpiredView = PluginApprovalViewBase & { phase: "expired"; }; type PendingApprovalView = ExecApprovalPendingView | PluginApprovalPendingView; type ResolvedApprovalView = ExecApprovalResolvedView | PluginApprovalResolvedView; type ExpiredApprovalView = ExecApprovalExpiredView | PluginApprovalExpiredView; type ApprovalViewModel = PendingApprovalView | ResolvedApprovalView | ExpiredApprovalView; type ApprovalRequest$1 = ExecApprovalRequest | PluginApprovalRequest; //#endregion //#region src/infra/approval-handler-runtime-types.d.ts type ApprovalRequest = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolved = ExecApprovalResolved | PluginApprovalResolved; type ChannelApprovalCapabilityHandlerContext = { cfg: OpenClawConfig; accountId?: string | null; gatewayUrl?: string; context?: unknown; }; type ChannelApprovalNativeFinalAction = { kind: "update"; payload: TPayload; } | { kind: "delete"; } | { kind: "clear-actions"; } | { kind: "leave"; }; type ChannelApprovalNativeAvailabilityAdapter = { isConfigured: (params: ChannelApprovalCapabilityHandlerContext) => boolean; shouldHandle: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; }) => boolean; }; type ChannelApprovalNativePresentationAdapter = { buildPendingPayload: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; approvalKind: ChannelApprovalKind; nowMs: number; view: PendingApprovalView; }) => TPendingPayload | Promise; buildResolvedResult: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; resolved: ApprovalResolved; view: ResolvedApprovalView; entry: unknown; }) => ChannelApprovalNativeFinalAction | Promise>; buildExpiredResult: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; view: ExpiredApprovalView; entry: unknown; }) => ChannelApprovalNativeFinalAction | Promise>; }; type ChannelApprovalNativeTransportAdapterForView = { prepareTarget: (params: ChannelApprovalCapabilityHandlerContext & { plannedTarget: ChannelApprovalNativePlannedTarget; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; }) => PreparedChannelNativeApprovalTarget | null | Promise | null>; deliverPending: (params: ChannelApprovalCapabilityHandlerContext & { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: TPreparedTarget; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; }) => TPendingEntry | null | Promise; updateEntry?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; payload: TFinalPayload; phase: "resolved" | "expired"; }) => Promise; deleteEntry?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; phase: "resolved" | "expired"; }) => Promise; }; type ChannelApprovalNativeTransportAdapter = ChannelApprovalNativeTransportAdapterForView; type ChannelApprovalNativeInteractionAdapterForView = { bindPending?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; }) => TBinding | null | Promise; unbindPending?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; binding: TBinding; request: ApprovalRequest; approvalKind: ChannelApprovalKind; }) => Promise | void; clearPendingActions?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; phase: "resolved" | "expired"; }) => Promise; cancelDelivered?: (params: ChannelApprovalCapabilityHandlerContext & { entry: TPendingEntry; request: ApprovalRequest; approvalKind: ChannelApprovalKind; }) => Promise | void; }; type ChannelApprovalNativeInteractionAdapter = ChannelApprovalNativeInteractionAdapterForView; type ChannelApprovalNativeObserveAdapterForView = { onDeliveryError?: (params: ChannelApprovalCapabilityHandlerContext & { error: unknown; plannedTarget: ChannelApprovalNativePlannedTarget; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; }) => void; onDuplicateSkipped?: (params: ChannelApprovalCapabilityHandlerContext & { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; }) => void; onDelivered?: (params: ChannelApprovalCapabilityHandlerContext & { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: ApprovalRequest; approvalKind: ChannelApprovalKind; view: TPendingView; pendingPayload: TPendingPayload; entry: TPendingEntry; }) => void; }; type ChannelApprovalNativeObserveAdapter = ChannelApprovalNativeObserveAdapterForView; type ChannelApprovalNativeRuntimeAdapter = { eventKinds?: readonly ExecApprovalChannelRuntimeEventKind[]; resolveApprovalKind?: (request: ApprovalRequest) => ChannelApprovalKind; availability: ChannelApprovalNativeAvailabilityAdapter; presentation: ChannelApprovalNativePresentationAdapter; transport: ChannelApprovalNativeTransportAdapter; interactions?: ChannelApprovalNativeInteractionAdapter; observe?: ChannelApprovalNativeObserveAdapter; }; type ChannelApprovalNativeRuntimeSpec = { eventKinds?: readonly ExecApprovalChannelRuntimeEventKind[]; resolveApprovalKind?: (request: ApprovalRequest) => ChannelApprovalKind; availability: ChannelApprovalNativeAvailabilityAdapter; presentation: { buildPendingPayload: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; approvalKind: ChannelApprovalKind; nowMs: number; view: TPendingView; }) => TPendingPayload | Promise; buildResolvedResult: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; resolved: ApprovalResolved; view: TResolvedView; entry: TPendingEntry; }) => ChannelApprovalNativeFinalAction | Promise>; buildExpiredResult: (params: ChannelApprovalCapabilityHandlerContext & { request: ApprovalRequest; view: TExpiredView; entry: TPendingEntry; }) => ChannelApprovalNativeFinalAction | Promise>; }; transport: ChannelApprovalNativeTransportAdapterForView; interactions?: ChannelApprovalNativeInteractionAdapterForView; observe?: ChannelApprovalNativeObserveAdapterForView; }; //#endregion export { ExecApprovalChannelRuntime as A, ChannelApprovalNativeDeliveryCapabilities as B, PluginApprovalResolvedView as C, ExecApprovalChannelRuntimeTerminalStartError as D, deliverApprovalRequestViaChannelNativePlan as E, PreparedChannelNativeApprovalTarget as F, ChannelApprovalKind as G, ChannelApprovalNativeRequest as H, ChannelApprovalNativeDeliveryPlan as I, ChannelApprovalNativePlannedTarget as L, ExecApprovalChannelRuntimeEventKind as M, ChannelNativeApprovalDeliveryCallbacks as N, createExecApprovalChannelRuntime as O, ChannelNativeApprovalTransportSpec as P, resolveChannelNativeApprovalDeliveryPlan as R, PluginApprovalPendingView as S, createChannelNativeApprovalRuntime as T, ChannelApprovalNativeSurface as U, ChannelApprovalNativeDeliveryPreference as V, ChannelApprovalNativeTarget as W, ExecApprovalPendingView as _, ChannelApprovalNativeFinalAction as a, PendingApprovalView as b, ChannelApprovalNativePresentationAdapter as c, ChannelApprovalNativeTransportAdapter as d, ApprovalActionView as f, ExecApprovalExpiredView as g, ApprovalViewModel as h, ChannelApprovalNativeAvailabilityAdapter as i, ExecApprovalChannelRuntimeAdapter as j, isExecApprovalChannelRuntimeTerminalStartError as k, ChannelApprovalNativeRuntimeAdapter as l, ApprovalRequest$1 as m, ApprovalResolved as n, ChannelApprovalNativeInteractionAdapter as o, ApprovalMetadataView as p, ChannelApprovalCapabilityHandlerContext as r, ChannelApprovalNativeObserveAdapter as s, ApprovalRequest as t, ChannelApprovalNativeRuntimeSpec as u, ExecApprovalResolvedView as v, ResolvedApprovalView as w, PluginApprovalExpiredView as x, ExpiredApprovalView as y, ChannelApprovalNativeAdapter as z };