mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
fix(gemini): validate audio format before mime normalization
This commit is contained in:
@@ -96,7 +96,8 @@ export const DEFAULT_SAFETY_SETTINGS = [
|
||||
];
|
||||
|
||||
function normalizeAudioMimeType(format: unknown): string {
|
||||
const normalized = String(format || "wav").toLowerCase();
|
||||
const normalized =
|
||||
typeof format === "string" && format.trim() ? format.trim().toLowerCase() : "wav";
|
||||
if (normalized === "mp3") {
|
||||
return "audio/mpeg";
|
||||
}
|
||||
|
||||
@@ -39,3 +39,10 @@ test("convertOpenAIContentToParts defaults the audio mime type to audio/wav", ()
|
||||
]);
|
||||
assert.deepEqual(parts, [{ inlineData: { mimeType: "audio/wav", data: "QUJDRA==" } }]);
|
||||
});
|
||||
|
||||
test("convertOpenAIContentToParts ignores non-string audio format values", () => {
|
||||
const parts = gemini.convertOpenAIContentToParts([
|
||||
{ type: "input_audio", input_audio: { data: "QUJDRA==", format: 123 } },
|
||||
]);
|
||||
assert.deepEqual(parts, [{ inlineData: { mimeType: "audio/wav", data: "QUJDRA==" } }]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user