feat(*): 模型计费与渠道目录 - 支持视频 Token 报价结算和稳定模型展示

This commit is contained in:
ddCat
2026-09-18 23:26:54 +08:00
parent 90add8c466
commit 1a79005d25
57 changed files with 2904 additions and 341 deletions

View File

@@ -3,13 +3,21 @@ import { describe, expect, test } from "bun:test";
import { modelProtocolSupportsTokenBilling } from "../src/lib/model-protocols";
describe("model protocol Token billing", () => {
test("supports text models and Volcengine Ark video only", () => {
test("supports text and every video protocol", () => {
expect(modelProtocolSupportsTokenBilling("text", "chat-completion")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-ark-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-ark-agent-plan-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-jimeng-video")).toBe(false);
expect(modelProtocolSupportsTokenBilling("video", "newapi")).toBe(false);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-jimeng-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "newapi-channel-2")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "newapi")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "custom-video-protocol")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video")).toBe(true);
});
test("does not enable Token billing for image, audio or unselected capabilities", () => {
expect(modelProtocolSupportsTokenBilling("image", "volcengine-ark-image")).toBe(false);
expect(modelProtocolSupportsTokenBilling("image", "volcengine-ark-agent-plan-image")).toBe(false);
expect(modelProtocolSupportsTokenBilling("audio", "speech")).toBe(false);
expect(modelProtocolSupportsTokenBilling(undefined, "volcengine-ark-video")).toBe(false);
});
});