

























11import { describe, expect, it } from "vitest";
22import type { OpenClawConfig } from "../config/types.js";
3+import { MAX_TIMER_TIMEOUT_MS } from "../shared/number-coercion.js";
34import {
45deriveAspectRatioFromSize,
56normalizeDurationToClosestMax,
67resolveCapabilityModelCandidates,
78resolveClosestAspectRatio,
89resolveClosestResolution,
910resolveClosestSize,
11+resolveMediaProviderDefaultTimeoutMs,
12+resolveMediaProviderRequestTimeoutMs,
1013throwCapabilityGenerationFailure,
1114} from "./runtime-shared.js";
1215@@ -236,6 +239,24 @@ describe("media-generation runtime shared candidates", () => {
236239});
237240238241describe("media-generation runtime shared normalization", () => {
242+it("caps media provider timeouts to the timer-safe range", () => {
243+expect(resolveMediaProviderDefaultTimeoutMs(Number.MAX_SAFE_INTEGER)).toBe(
244+MAX_TIMER_TIMEOUT_MS,
245+);
246+expect(
247+resolveMediaProviderRequestTimeoutMs({
248+timeoutMs: Number.MAX_SAFE_INTEGER,
249+providerDefaultTimeoutMs: 30_000,
250+}),
251+).toBe(MAX_TIMER_TIMEOUT_MS);
252+expect(
253+resolveMediaProviderRequestTimeoutMs({
254+timeoutMs: 0,
255+providerDefaultTimeoutMs: 45_000,
256+}),
257+).toBe(45_000);
258+});
259+239260it("derives reduced aspect ratios from size strings", () => {
240261expect(deriveAspectRatioFromSize("1280x720")).toBe("16:9");
241262expect(deriveAspectRatioFromSize("1024x1536")).toBe("2:3");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。