Download src/infra/approval-native-runtime-types.ts from SaylorTwift/openclaw: direct link, hf CLI and curl.
- Browser
- Download file 2.26 kB
-
https://huggingface.co/SaylorTwift/openclaw/resolve/main/src/infra/approval-native-runtime-types.ts
- Command line
-
hf download hf://SaylorTwift/openclaw/src/infra/approval-native-runtime-types.ts
-
curl -L -o approval-native-runtime-types.ts https://huggingface.co/SaylorTwift/openclaw/resolve/main/src/infra/approval-native-runtime-types.ts
2.26 kB
| // Defines native approval runtime delivery transport contracts. | |
| import type { ChannelApprovalNativePlannedTarget } from "./approval-native-delivery.js"; | |
| import type { ChannelApprovalKind } from "./approval-types.js"; | |
| /** Prepared delivery target plus the stable key used to avoid duplicate native messages. */ | |
| export type PreparedChannelNativeApprovalTarget<TPreparedTarget> = { | |
| dedupeKey: string; | |
| target: TPreparedTarget; | |
| }; | |
| /** Channel hooks that prepare adapter targets and deliver pending approval content. */ | |
| export type ChannelNativeApprovalTransportSpec< | |
| TPendingEntry, | |
| TPreparedTarget, | |
| TPendingContent, | |
| TRequest, | |
| > = { | |
| prepareTarget: (params: { | |
| plannedTarget: ChannelApprovalNativePlannedTarget; | |
| request: TRequest; | |
| approvalKind: ChannelApprovalKind; | |
| pendingContent: TPendingContent; | |
| }) => | |
| | PreparedChannelNativeApprovalTarget<TPreparedTarget> | |
| | null | |
| | Promise<PreparedChannelNativeApprovalTarget<TPreparedTarget> | null>; | |
| deliverTarget: (params: { | |
| plannedTarget: ChannelApprovalNativePlannedTarget; | |
| preparedTarget: TPreparedTarget; | |
| request: TRequest; | |
| approvalKind: ChannelApprovalKind; | |
| pendingContent: TPendingContent; | |
| }) => TPendingEntry | null | Promise<TPendingEntry | null>; | |
| }; | |
| /** Optional observer hooks for per-target native approval delivery outcomes. */ | |
| export type ChannelNativeApprovalDeliveryCallbacks< | |
| TPendingEntry, | |
| TPreparedTarget, | |
| TPendingContent, | |
| TRequest, | |
| > = { | |
| onDeliveryError?: (params: { | |
| error: unknown; | |
| plannedTarget: ChannelApprovalNativePlannedTarget; | |
| request: TRequest; | |
| approvalKind: ChannelApprovalKind; | |
| pendingContent: TPendingContent; | |
| }) => void; | |
| onDuplicateSkipped?: (params: { | |
| plannedTarget: ChannelApprovalNativePlannedTarget; | |
| preparedTarget: PreparedChannelNativeApprovalTarget<TPreparedTarget>; | |
| request: TRequest; | |
| approvalKind: ChannelApprovalKind; | |
| pendingContent: TPendingContent; | |
| }) => void; | |
| onDelivered?: (params: { | |
| plannedTarget: ChannelApprovalNativePlannedTarget; | |
| preparedTarget: PreparedChannelNativeApprovalTarget<TPreparedTarget>; | |
| request: TRequest; | |
| approvalKind: ChannelApprovalKind; | |
| pendingContent: TPendingContent; | |
| entry: TPendingEntry; | |
| }) => void; | |
| }; | |