mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-18 04:31:10 +00:00
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { buildOpenAIRealtimeTranscriptionProvider } from "./realtime-transcription-provider.js";
|
|
|
|
describe("buildOpenAIRealtimeTranscriptionProvider", () => {
|
|
it("normalizes OpenAI config defaults", () => {
|
|
const provider = buildOpenAIRealtimeTranscriptionProvider();
|
|
const resolved = provider.resolveConfig?.({
|
|
cfg: {} as never,
|
|
rawConfig: {
|
|
providers: {
|
|
openai: {
|
|
apiKey: "sk-test", // pragma: allowlist secret
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
expect(resolved).toEqual({
|
|
apiKey: "sk-test",
|
|
});
|
|
});
|
|
|
|
it("keeps provider-owned transcription settings configurable via raw provider config", () => {
|
|
const provider = buildOpenAIRealtimeTranscriptionProvider();
|
|
const resolved = provider.resolveConfig?.({
|
|
cfg: {} as never,
|
|
rawConfig: {
|
|
providers: {
|
|
openai: {
|
|
model: "gpt-4o-transcribe",
|
|
silenceDurationMs: 900,
|
|
vadThreshold: 0.45,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
expect(resolved).toEqual({
|
|
model: "gpt-4o-transcribe",
|
|
silenceDurationMs: 900,
|
|
vadThreshold: 0.45,
|
|
});
|
|
});
|
|
|
|
it("accepts the legacy openai-realtime alias", () => {
|
|
const provider = buildOpenAIRealtimeTranscriptionProvider();
|
|
expect(provider.aliases).toContain("openai-realtime");
|
|
});
|
|
});
|