mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-19 00:52:10 -06:00
0e792b6de3
* refactor(channels): centralize inbound turn orchestration * refactor(runtime): remove stale compatibility paths * chore(guards): reject internal deprecated API use * refactor(channels): simplify core turn planning * chore(guards): keep deprecated checks boundary-focused * refactor(memory): keep modern config off compat barrel * fix(msteams): preserve feedback learning * test(channels): align modern inbound fixtures * refactor(channels): finish modern inbound migration * refactor(channels): tighten core inbound kernel * fix(channels): preserve turn assembly narrowing * test(sdk): keep runtime mock binding immutable * test(matrix): isolate read policy runtime * test(msteams): mock canonical reply factory * test(slack): mock core inbound turn dispatch * test(telegram): inject core session recorder * test(signal): inject core session recorder * test(googlechat): assert canonical inbound routing * test(synology-chat): align core turn fixture * fix(sdk): preserve direct DM runtime compat * refactor(channels): own inbound envelope compat in core * refactor(channels): trim inbound dispatch seams * refactor(channels): remove redundant async wrappers * test(synology-chat): type canonical dispatcher mock * refactor(channels): remove remaining dead compat seams * chore(sdk): refresh API baseline after rebase * fix(channels): preserve direct DM identity metadata
20 lines
748 B
TypeScript
20 lines
748 B
TypeScript
// Runtime media helpers load and classify media attachments for plugin runtimes.
|
|
import { mediaKindFromMime } from "@openclaw/media-core/constants";
|
|
import { detectMime } from "@openclaw/media-core/mime";
|
|
import { isVoiceMessageCompatibleAudio } from "../../media/audio.js";
|
|
import { getImageMetadata, resizeToJpeg } from "../../media/media-services.js";
|
|
import { loadWebMedia } from "../../media/web-media.js";
|
|
import type { PluginRuntime } from "./types.js";
|
|
|
|
/** Creates the plugin runtime media facade. */
|
|
export function createRuntimeMedia(): PluginRuntime["media"] {
|
|
return {
|
|
loadWebMedia,
|
|
detectMime,
|
|
mediaKindFromMime,
|
|
isVoiceCompatibleAudio: isVoiceMessageCompatibleAudio,
|
|
getImageMetadata,
|
|
resizeToJpeg,
|
|
};
|
|
}
|