fix: normalize Base64 data URL input before image conversion

This commit is contained in:
XIN PENG 2026-02-17 08:21:07 -08:00
parent ea814ffa15
commit 814380b85c
2 changed files with 6 additions and 1 deletions

View File

@ -33,4 +33,9 @@ describe("mime type inference", () => {
const base64 = extractBase64Data("data:image/png;base64,abc123")
expect(base64).toBe("abc123")
})
test("extracts raw base64 data from data URL with extra parameters", () => {
const base64 = extractBase64Data("data:image/heic;name=clip.heic;base64,abc123")
expect(base64).toBe("abc123")
})
})

View File

@ -60,7 +60,7 @@ export function createLookAt(ctx: PluginInput): ToolDefinition {
if (needsConversion(mimeType)) {
log(`[look_at] Detected unsupported Base64 format: ${mimeType}, converting to JPEG...`)
try {
const { base64, tempFiles } = convertBase64ImageToJpeg(imageData, mimeType)
const { base64, tempFiles } = convertBase64ImageToJpeg(finalBase64Data, mimeType)
finalBase64Data = base64
finalMimeType = "image/jpeg"
tempFilesToCleanup = tempFiles