import type { MsgContext } from "../auto-reply/templating.js"; import type { OpenClawConfig } from "../config/types.js"; import { logVerbose, shouldLogVerbose } from "../globals.js"; import { normalizeLowercaseStringOrEmpty } from "../shared/string-coerce.js"; import { isDeliverableMessageChannel } from "../utils/message-channel.js";
let deliverRuntimePromise: Promise<typeofimport("../infra/outbound/deliver-runtime.js")> | null = null;
function loadDeliverRuntime() {
deliverRuntimePromise ??= import("../infra/outbound/deliver-runtime.js"); return deliverRuntimePromise;
}
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 ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
try { const { deliverOutboundPayloads } = await loadDeliverRuntime();
await deliverOutboundPayloads({
cfg,
channel: normalizedChannel,
to,
accountId: ctx.AccountId ?? undefined,
threadId: ctx.MessageThreadId ?? undefined,
payloads: [{ text }],
bestEffort: true,
}); if (shouldLogVerbose()) {
logVerbose(`media: echo-transcript sent to ${normalizedChannel}/${to}`);
}
} catch (err) {
logVerbose(`media: echo-transcript delivery failed: ${String(err)}`);
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.8Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.