UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

51 lines (50 loc) 2.19 kB
import { a as normalizeLowercaseStringOrEmpty } from "./string-coerce-mnp54Vah.js"; import { a as shouldLogVerbose, r as logVerbose } from "./globals-GTrXU4s9.js"; import { t as isDeliverableMessageChannel } from "./message-channel-normalize-BLLf0ubu.js"; import "./message-channel-BiOeMu0l.js"; //#region src/media-understanding/echo-transcript.ts let messageRuntimePromise = null; function loadMessageRuntime() { messageRuntimePromise ??= import("./runtime-KXUVT2qQ.js"); return messageRuntimePromise; } /** Default operator-visible transcript echo format for preflight audio transcription. */ const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\""; function formatEchoTranscript(transcript, format) { return format.replace("{transcript}", transcript); } /** Sends a best-effort transcript echo back to the originating deliverable chat. */ async function sendTranscriptEcho(params) { const { ctx, cfg, transcript } = params; const channel = ctx.Provider ?? ctx.Surface ?? ""; const to = ctx.OriginatingTo ?? ctx.From ?? ""; if (!channel || !to) { if (shouldLogVerbose()) logVerbose("media: echo-transcript skipped (no channel/to resolved from ctx)"); return; } const normalizedChannel = normalizeLowercaseStringOrEmpty(channel); if (!isDeliverableMessageChannel(normalizedChannel)) { if (shouldLogVerbose()) logVerbose(`media: echo-transcript skipped (channel "${normalizedChannel}" is not deliverable)`); return; } const text = formatEchoTranscript(transcript, params.format ?? "📝 \"{transcript}\""); try { const { sendDurableMessageBatch } = await loadMessageRuntime(); const send = await sendDurableMessageBatch({ cfg, channel: normalizedChannel, to, accountId: ctx.AccountId ?? void 0, threadId: ctx.MessageThreadId ?? void 0, payloads: [{ text }], bestEffort: true, durability: "best_effort" }); if (send.status === "failed") throw send.error; if (shouldLogVerbose()) logVerbose(`media: echo-transcript sent to ${normalizedChannel}/${to}`); } catch (err) { logVerbose(`media: echo-transcript delivery failed: ${String(err)}`); } } //#endregion export { sendTranscriptEcho as n, DEFAULT_ECHO_TRANSCRIPT_FORMAT as t };