Files
openclaw/src/plugin-sdk/reply-dispatch-runtime.ts
T
Peter Steinberger 568b920b21 feat(lint): enforce import ordering and deduplication (#124730)
* refactor(imports): dedupe and hoist imports

* feat(lint): enforce import/no-duplicates and import/first
2026-08-16 11:44:52 -07:00

38 lines
1.7 KiB
TypeScript

import type {
DispatchReplyWithBufferedBlockDispatcher,
DispatchReplyWithDispatcher,
} from "../auto-reply/reply/provider-dispatcher.types.js";
import { createLazyPromise } from "../shared/lazy-runtime.js";
/**
* Runtime SDK subpath for lazy reply dispatch and inbound-context helpers.
*/
export { resolveChunkMode } from "../auto-reply/chunk.js";
export { generateConversationLabel } from "../auto-reply/reply/conversation-label-generator.js";
export { finalizeInboundContextForSdk as finalizeInboundContext } from "../auto-reply/reply/inbound-context.js";
export type { CommandTurnContext } from "../auto-reply/command-turn-context.js";
export type {
DispatchReplyWithBufferedBlockDispatcher,
DispatchReplyWithDispatcher,
} from "../auto-reply/reply/provider-dispatcher.types.js";
export type { ReplyPayload } from "./reply-payload.js";
const loadProviderDispatcherRuntimeModule = createLazyPromise(
() => import("../auto-reply/reply/provider-dispatcher.runtime.js"),
{ cacheRejections: true },
);
/** Dispatches a reply with buffered block support after lazy-loading the runtime dispatcher. */
export const dispatchReplyWithBufferedBlockDispatcher: DispatchReplyWithBufferedBlockDispatcher =
async (params) => {
const { dispatchReplyWithBufferedBlockDispatcherCore: dispatch } =
await loadProviderDispatcherRuntimeModule();
return await dispatch(params);
};
/** Dispatches a reply through the provider dispatcher after lazy-loading runtime code. */
export const dispatchReplyWithDispatcher: DispatchReplyWithDispatcher = async (params) => {
const { dispatchReplyWithDispatcherCore: dispatch } = await loadProviderDispatcherRuntimeModule();
return await dispatch(params);
};