




















@@ -1,6 +1,7 @@
11import { describe, expect, it } from "vitest";
22import {
33applyProviderNativeStreamingUsageCompat,
4+readConfiguredProviderCatalogEntries,
45supportsNativeStreamingUsageCompat,
56} from "./provider-catalog-shared.js";
67import type { ModelDefinitionConfig } from "./provider-model-shared.js";
@@ -54,3 +55,43 @@ describe("provider-catalog-shared native streaming usage compat", () => {
5455expect(provider.models?.[1]?.compat?.supportsUsageInStreaming).toBe(false);
5556});
5657});
58+59+describe("provider-catalog-shared configured catalog entries", () => {
60+it("preserves configured audio and video input modalities", () => {
61+expect(
62+readConfiguredProviderCatalogEntries({
63+providerId: "kilocode",
64+config: {
65+models: {
66+providers: {
67+kilocode: {
68+baseUrl: "https://api.kilo.ai/api/gateway/",
69+api: "openai-completions",
70+models: [
71+{
72+id: "google/gemini-3-pro-preview",
73+name: "Gemini 3 Pro Preview",
74+input: ["text", "image", "video", "audio"],
75+reasoning: true,
76+cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
77+contextWindow: 1048576,
78+maxTokens: 65536,
79+},
80+],
81+},
82+},
83+},
84+},
85+}),
86+).toEqual([
87+{
88+provider: "kilocode",
89+id: "google/gemini-3-pro-preview",
90+name: "Gemini 3 Pro Preview",
91+input: ["text", "image", "video", "audio"],
92+reasoning: true,
93+contextWindow: 1048576,
94+},
95+]);
96+});
97+});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。