mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-09 15:02:58 +00:00
* refactor: centralize inbound supplemental context * refactor: trim supplemental finalizer typing * docs: clarify supplemental context projection * refactor: move inbound finalization into core * refactor: simplify channel inbound facts * refactor: fold supplemental media into inbound finalizer * refactor: migrate channel inbound callers to builder * docs: mark inbound finalizer compat types deprecated * refactor: wire runtime turn context builder * refactor: replace channel turn runtime API * fix: respect discord quote visibility * fix: avoid deprecated line dispatch helper * refactor: deprecate channel message SDK seams * docs: trim channel outbound SDK page * test: migrate irc inbound assertion * refactor: deprecate outbound SDK facades * refactor: deprecate channel helper SDK facades * refactor: deprecate channel streaming SDK facade * refactor: move direct dm helpers into inbound SDK * chore: mark legacy test-utils SDK alias deprecated * refactor: remove unused allow-from read helper * refactor: route remaining channel dispatch through core * refactor: enforce modern extension SDK imports * test: give slow image root tests more time * ci: support node fallback on windows * fix: add transcripts tool display metadata * refactor: trim legacy channel test seams * fix: preserve channel compat after rebase * fix: keep deprecated channel inbound aliases * fix: preserve discord thread context visibility * fix: clean final rebase conflicts * fix: preserve channel message dispatch aliases * fix: sync channel refactor after rebase * fix: sync channel refactor after latest main * fix: dedupe memory-core subagent mock * test: align clickclack inbound dispatch assertions * fix: sync plugin sdk api hash after rebase * fix: sync channel refactor after latest main * fix: sync plugin sdk api hash after rebase * fix: sync plugin sdk api hash after latest main * test: remove stale inbound context awaits
52 lines
1.8 KiB
TypeScript
52 lines
1.8 KiB
TypeScript
import {
|
|
deliverFinalizableLivePreview,
|
|
type LivePreviewFinalizerDraft,
|
|
type LivePreviewFinalizerResultKind,
|
|
} from "./message/live.js";
|
|
|
|
/**
|
|
* @deprecated Use `LivePreviewFinalizerDraft` from `openclaw/plugin-sdk/channel-outbound`.
|
|
*/
|
|
export type DraftPreviewFinalizerDraft<TId> = LivePreviewFinalizerDraft<TId>;
|
|
|
|
/**
|
|
* @deprecated Use `LivePreviewFinalizerResult` from `openclaw/plugin-sdk/channel-outbound`.
|
|
*/
|
|
export type DraftPreviewFinalizerResult = Exclude<
|
|
LivePreviewFinalizerResultKind,
|
|
"preview-retained"
|
|
>;
|
|
|
|
/**
|
|
* @deprecated Use `deliverFinalizableLivePreview` from `openclaw/plugin-sdk/channel-outbound`.
|
|
*/
|
|
export async function deliverFinalizableDraftPreview<TPayload, TId, TEdit>(params: {
|
|
kind: "tool" | "block" | "final";
|
|
payload: TPayload;
|
|
draft?: DraftPreviewFinalizerDraft<TId>;
|
|
buildFinalEdit: (payload: TPayload) => TEdit | undefined;
|
|
editFinal: (id: TId, edit: TEdit) => Promise<void>;
|
|
deliverNormally: (payload: TPayload) => Promise<boolean | void>;
|
|
onPreviewFinalized?: (id: TId) => Promise<void> | void;
|
|
onNormalDelivered?: () => Promise<void> | void;
|
|
logPreviewEditFailure?: (error: unknown) => void;
|
|
}): Promise<DraftPreviewFinalizerResult> {
|
|
const result = await deliverFinalizableLivePreview({
|
|
kind: params.kind,
|
|
payload: params.payload,
|
|
...(params.draft ? { draft: params.draft } : {}),
|
|
buildFinalEdit: params.buildFinalEdit,
|
|
editFinal: params.editFinal,
|
|
deliverNormally: params.deliverNormally,
|
|
onPreviewFinalized: async (id) => {
|
|
await params.onPreviewFinalized?.(id);
|
|
},
|
|
...(params.onNormalDelivered ? { onNormalDelivered: params.onNormalDelivered } : {}),
|
|
...(params.logPreviewEditFailure
|
|
? { logPreviewEditFailure: params.logPreviewEditFailure }
|
|
: {}),
|
|
});
|
|
|
|
return result.kind === "preview-retained" ? "normal-skipped" : result.kind;
|
|
}
|