refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态

This commit is contained in:
ddCat committed 2026-09-09 22:02:10 +08:00
1 parent bacd502f5c
commit b5f3413ded
298 files changed
+12681 -26428

No files matched your search

+7 -7
View File
@@ -8,10 +8,10 @@ import type { VideoProviderDeps } from "../src/services/api/video-provider-deps"
import { videoResponseTools } from "../src/services/api/video-response";
import { buildApiUrl, createModelChannel, defaultConfig, normalizeConfigSnapshot, resolveModelRequestConfig, type AiConfig } from "../src/stores/use-config-store";
const originalAxiosPost = axios.post;
const originalAxiosRequest = axios.request;
afterEach(() => {
axios.post = originalAxiosPost;
axios.request = originalAxiosRequest;
});
function configForAgnes(model = "agnes-video-2.5", input: Partial<AiConfig> = {}) {
@@ -69,11 +69,11 @@ describe("Agnes Video 2.5 request contract", () => {
test("video.ts dispatches Agnes through JSON instead of OpenAI multipart", async () => {
let requestBody: unknown;
let requestHeaders: Record<string, string> = {};
axios.post = (async (_url: string, body: unknown, options?: { headers?: Record<string, string> }) => {
requestBody = body;
requestHeaders = options?.headers || {};
axios.request = (async (request) => {
requestBody = request.data;
requestHeaders = request.headers as Record<string, string>;
return { data: { id: "task-1", video_id: "video-1", status: "queued" } };
}) as typeof axios.post;
}) as typeof axios.request;
const task = await createVideoGenerationTask(
configForAgnes("agnes-video-2.5", { size: "1280x720" }),
@@ -83,7 +83,7 @@ describe("Agnes Video 2.5 request contract", () => {
expect(task).toEqual({ id: "video-1", provider: "agnes", model: "agnes::agnes-video-2.5" });
expect(requestBody).not.toBeInstanceOf(FormData);
expect(requestHeaders["content-type"]).toBe("application/json");
expect(Object.entries(requestHeaders).find(([name]) => name.toLowerCase() === "content-type")?.[1]).toBe("application/json");
expect(requestBody).toEqual({
model: "agnes-video-2.5",
prompt: "自我介绍图片1",