import type { OpenClawConfig } from "../../config/types.openclaw.js"; import type { GetReplyOptions, SourceReplyDeliveryMode } from "../get-reply-options.types.js"; import type { FinalizedMsgContext } from "../templating.js"; import type { FormatAbortReplyText, TryFastAbortFromMessage } from "./abort.runtime-types.js"; import type { GetReplyFromConfig } from "./get-reply.types.js"; import type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js"; export type DispatchFromConfigResult = { queuedFinal: boolean; counts: Record; failedCounts?: Partial>; sourceReplyDeliveryMode?: SourceReplyDeliveryMode; }; export type DispatchFromConfigParams = { ctx: FinalizedMsgContext; cfg: OpenClawConfig; dispatcher: ReplyDispatcher; replyOptions?: Omit; replyResolver?: GetReplyFromConfig; fastAbortResolver?: TryFastAbortFromMessage; formatAbortReplyTextResolver?: FormatAbortReplyText; /** Optional patch applied to the already loaded config before reply resolution. */ configOverride?: OpenClawConfig; }; export type DispatchReplyFromConfig = (params: DispatchFromConfigParams) => Promise;