24 lines
862 B
TypeScript
24 lines
862 B
TypeScript
import type { ClawdbotConfig } from "../../config/config.js";
|
|
import { normalizeAccountId } from "../../routing/session-key.js";
|
|
|
|
const MB = 1024 * 1024;
|
|
|
|
export function resolveChannelMediaMaxBytes(params: {
|
|
cfg: ClawdbotConfig;
|
|
// Channel-specific config lives under different keys; keep this helper generic
|
|
// so shared plugin helpers don't need channel-id branching.
|
|
resolveChannelLimitMb: (params: { cfg: ClawdbotConfig; 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;
|
|
}
|