





















@@ -70,26 +70,39 @@ describe("openrouter media understanding provider", () => {
7070text: "hello world",
7171model: "openai/whisper-large-v3-turbo",
7272});
73-expect(resolveProviderHttpRequestConfigMock).toHaveBeenCalledWith(
74-expect.objectContaining({
75-provider: "openrouter",
76-capability: "audio",
77-}),
78-);
79-expect(postJsonRequestMock).toHaveBeenCalledWith(
80-expect.objectContaining({
81-url: "https://openrouter.ai/api/v1/audio/transcriptions",
82-timeoutMs: 12_000,
83-body: {
84-model: "openai/whisper-large-v3-turbo",
85-input_audio: {
86-data: Buffer.from("audio-bytes").toString("base64"),
87-format: "ogg",
88-},
89-language: "en",
73+expect(resolveProviderHttpRequestConfigMock).toHaveBeenCalledWith({
74+baseUrl: undefined,
75+defaultBaseUrl: "https://openrouter.ai/api/v1",
76+headers: undefined,
77+request: undefined,
78+defaultHeaders: {
79+Authorization: "Bearer sk-openrouter",
80+"Content-Type": "application/json",
81+"HTTP-Referer": "https://openclaw.ai",
82+"X-OpenRouter-Title": "OpenClaw",
83+},
84+provider: "openrouter",
85+api: "openrouter-stt",
86+capability: "audio",
87+transport: "media-understanding",
88+});
89+expect(postJsonRequestMock).toHaveBeenCalledWith({
90+url: "https://openrouter.ai/api/v1/audio/transcriptions",
91+headers: expect.any(Headers),
92+body: {
93+model: "openai/whisper-large-v3-turbo",
94+input_audio: {
95+data: Buffer.from("audio-bytes").toString("base64"),
96+format: "ogg",
9097},
91-}),
92-);
98+language: "en",
99+},
100+timeoutMs: 12_000,
101+fetchFn: fetch,
102+allowPrivateNetwork: false,
103+dispatcherPolicy: undefined,
104+auditContext: "openrouter stt",
105+});
93106const headers = postJsonRequestMock.mock.calls.at(0)?.[0]?.headers as Headers;
94107expect(headers.get("authorization")).toBe("Bearer sk-openrouter");
95108expect(headers.get("http-referer")).toBe("https://openclaw.ai");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。