Skip to content

Commit 421e44e

Browse files
authored
fix(ai): map avif, heic, heif and mov extensions to media types (#58886)
1 parent b21b21b commit 421e44e

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

‎packages/ai/src/utils/media-type.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,12 @@ const EXTENSIONS: Readonly<Record<string, string>> = {
5353
jpeg: "image/jpeg",
5454
gif: "image/gif",
5555
webp: "image/webp",
56+
avif: "image/avif",
57+
heic: "image/heic",
58+
heif: "image/heif",
5659
pdf: "application/pdf",
5760
mp4: "video/mp4",
61+
mov: "video/quicktime",
5862
webm: "video/webm",
5963
mp3: "audio/mpeg",
6064
m4a: "audio/mp4",

‎packages/ai/test/media.test.ts‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,16 @@ describe("Media", () => {
291291
yield* fs.writeFile(plain, new TextEncoder().encode("# hi"))
292292
expect((yield* Media.file(plain)).mediaType).toBe("text/markdown")
293293

294+
for (const [name, mediaType] of [
295+
["photo.avif", "image/avif"],
296+
["photo.HEIC", "image/heic"],
297+
["photo.heif", "image/heif"],
298+
["clip.mov", "video/quicktime"],
299+
]) {
300+
yield* fs.writeFile(`${dir}/${name}`, Uint8Array.from([1, 2, 3]))
301+
expect((yield* Media.file(`${dir}/${name}`)).mediaType).toBe(mediaType)
302+
}
303+
294304
const target = `${dir}/copy.png`
295305
yield* Media.write(Media.base64("AQID", "image/png"), target)
296306
expect(yield* fs.readFile(target)).toEqual(Uint8Array.from([1, 2, 3]))

0 commit comments

Comments
 (0)