

















@@ -3,14 +3,35 @@ import { describe, expect, it, vi } from "vitest";
33import type { OpenClawConfig } from "../config/types.js";
44import {
55buildReferenceInputCapabilityFailure,
6-mergeVideoGenerationProviderCapabilities,
76resolveProviderWithModelCapabilities,
87} from "./capability-overlays.js";
9-import type { VideoGenerationProvider } from "./types.js";
8+import type { VideoGenerationProvider, VideoGenerationProviderCapabilities } from "./types.js";
9+10+async function resolveCapabilitiesWithOverlay(
11+base: VideoGenerationProviderCapabilities,
12+overlay: VideoGenerationProviderCapabilities,
13+): Promise<VideoGenerationProviderCapabilities> {
14+const provider: VideoGenerationProvider = {
15+id: "video-plugin",
16+capabilities: base,
17+resolveModelCapabilities: async () => overlay,
18+async generateVideo() {
19+throw new Error("should not be called");
20+},
21+};
22+const resolved = await resolveProviderWithModelCapabilities({
23+ provider,
24+providerId: "video-plugin",
25+model: "model",
26+cfg: {} as OpenClawConfig,
27+log: { debug: vi.fn() },
28+});
29+return resolved.capabilities;
30+}
10311132describe("video-generation capability overlays", () => {
12-it("lets explicit false and zero values narrow base capabilities", () => {
13-const merged = mergeVideoGenerationProviderCapabilities(
33+it("lets explicit false and zero values narrow base capabilities", async () => {
34+const merged = await resolveCapabilitiesWithOverlay(
1435{
1536providerOptions: { seed: "number" },
1637generate: {
@@ -46,8 +67,8 @@ describe("video-generation capability overlays", () => {
4667});
4768});
486949-it("keeps base values when overlay leaves fields undefined", () => {
50-const merged = mergeVideoGenerationProviderCapabilities(
70+it("keeps base values when overlay leaves fields undefined", async () => {
71+const merged = await resolveCapabilitiesWithOverlay(
5172{
5273providerOptions: { seed: "number" },
5374generate: {
@@ -76,8 +97,8 @@ describe("video-generation capability overlays", () => {
7697});
7798});
789979-it("lets explicit empty providerOptions overlays clear inherited declarations", () => {
80-const merged = mergeVideoGenerationProviderCapabilities(
100+it("lets explicit empty providerOptions overlays clear inherited declarations", async () => {
101+const merged = await resolveCapabilitiesWithOverlay(
81102{
82103providerOptions: { seed: "number" },
83104generate: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。