import { r as KlawConfig } from "./types.klaw-xKUw_Rz7.js"; import { g as InteractiveReplyButton } from "./get-reply-options.types-CS-CA1Iq.js"; import { l as ExecApprovalResolved, o as ExecApprovalDecision, s as ExecApprovalRequest, ut as CommandExplanationSummary } from "./exec-approvals-D24np_n8.js"; import { c as PluginApprovalResolved, o as PluginApprovalRequest } from "./plugin-approvals-C1U8clbW.js"; import { r as GatewayReconnectPausedInfo } from "./client-CxiwXw5T.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: KlawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeDeliveryCapabilities; resolveOriginTarget?: (params: { cfg: KlawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeTarget | null | Promise; resolveApproverDmTargets?: (params: { cfg: KlawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ChannelApprovalNativeRequest; }) => ChannelApprovalNativeTarget[] | Promise; }; //#endregion //#region src/infra/approval-native-delivery.d.ts type ApprovalRequest$2 = 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: KlawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: ApprovalRequest$2; 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: KlawConfig; 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$1 = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolved$1 = ExecApprovalResolved | PluginApprovalResolved; type ChannelNativeApprovalPlanDeliveryResult = { entries: TPendingEntry[]; deliveryPlan: ChannelApprovalNativeDeliveryPlan; deliveredTargets: ChannelApprovalNativePlannedTarget[]; }; declare function deliverApprovalRequestViaChannelNativePlan(params: { cfg: KlawConfig; 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 = { 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; //#endregion //#region src/infra/approval-handler-runtime-types.d.ts type ApprovalRequest = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolved = ExecApprovalResolved | PluginApprovalResolved; type ChannelApprovalCapabilityHandlerContext = { cfg: KlawConfig; 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 { ExecApprovalChannelRuntimeAdapter as A, ChannelApprovalNativeDeliveryPreference as B, ResolvedApprovalView as C, createExecApprovalChannelRuntime as D, ExecApprovalChannelRuntimeTerminalStartError as E, ChannelApprovalNativeDeliveryPlan as F, ChannelApprovalNativeSurface as H, ChannelApprovalNativePlannedTarget as I, resolveChannelNativeApprovalDeliveryPlan as L, ChannelNativeApprovalDeliveryCallbacks as M, ChannelNativeApprovalTransportSpec as N, isExecApprovalChannelRuntimeTerminalStartError as O, PreparedChannelNativeApprovalTarget as P, ChannelApprovalNativeAdapter as R, PluginApprovalResolvedView as S, deliverApprovalRequestViaChannelNativePlan as T, ChannelApprovalNativeTarget as U, ChannelApprovalNativeRequest as V, ChannelApprovalKind as W, ExecApprovalResolvedView as _, ChannelApprovalNativeFinalAction as a, PluginApprovalExpiredView as b, ChannelApprovalNativePresentationAdapter as c, ChannelApprovalNativeTransportAdapter as d, ApprovalActionView as f, ExecApprovalPendingView as g, ExecApprovalExpiredView as h, ChannelApprovalNativeAvailabilityAdapter as i, ExecApprovalChannelRuntimeEventKind as j, ExecApprovalChannelRuntime as k, ChannelApprovalNativeRuntimeAdapter as l, ApprovalViewModel as m, ApprovalResolved as n, ChannelApprovalNativeInteractionAdapter as o, ApprovalMetadataView as p, ChannelApprovalCapabilityHandlerContext as r, ChannelApprovalNativeObserveAdapter as s, ApprovalRequest as t, ChannelApprovalNativeRuntimeSpec as u, ExpiredApprovalView as v, createChannelNativeApprovalRuntime as w, PluginApprovalPendingView as x, PendingApprovalView as y, ChannelApprovalNativeDeliveryCapabilities as z };