OpenClawBot / src /channels /plugins /media-limits.ts
darkfire514's picture
Upload 2526 files
fb4d8fe verified
import type { OpenClawConfig } from "../../config/config.js";
import { normalizeAccountId } from "../../routing/session-key.js";
const MB = 1024 * 1024;
export function resolveChannelMediaMaxBytes(params: {
cfg: OpenClawConfig;
// Channel-specific config lives under different keys; keep this helper generic
// so shared plugin helpers don't need channel-id branching.
resolveChannelLimitMb: (params: { cfg: OpenClawConfig; accountId: string }) => number | undefined;
accountId?: string | null;
}): number | undefined {
const accountId = normalizeAccountId(params.accountId);
const channelLimit = params.resolveChannelLimitMb({
cfg: params.cfg,
accountId,
});
if (channelLimit) {
return channelLimit * MB;
}
if (params.cfg.agents?.defaults?.mediaMaxMb) {
return params.cfg.agents.defaults.mediaMaxMb * MB;
}
return undefined;
}