openclaw / src /plugins /runtime /runtime-media.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4c76b0d verified
Raw
History Blame Contribute Delete
1 kB
import { mediaKindFromMime } from "@openclaw/media-core/constants";
import { detectMime } from "@openclaw/media-core/mime";
import { isVoiceMessageCompatibleAudio } from "../../media/audio.js";
import { createLazyRuntimeMethod } from "../../shared/lazy-runtime.js";
import type { PluginRuntime } from "./types.js";
const loadWebMedia = createLazyRuntimeMethod(
() => import("../../media/web-media.js"),
(runtime) => runtime.loadWebMedia,
);
const getImageMetadata = createLazyRuntimeMethod(
() => import("../../media/image-ops.js"),
(runtime) => runtime.getImageMetadata,
);
const resizeToJpeg = createLazyRuntimeMethod(
() => import("../../media/image-ops.js"),
(runtime) => runtime.resizeToJpeg,
);
/** Creates the plugin runtime media facade. */
export function createRuntimeMedia(): PluginRuntime["media"] {
return {
loadWebMedia,
detectMime,
mediaKindFromMime,
isVoiceCompatibleAudio: isVoiceMessageCompatibleAudio,
getImageMetadata,
resizeToJpeg,
};
}