import test from "node:test"; import assert from "node:assert/strict"; import { InMemoryMediaStore } from "../src/services/mediaStore.js"; import { createResponseNormalizationService } from "../src/services/responseNormalizationService.js"; test("adds proxy URLs for audio and data-url image outputs", () => { const mediaStore = new InMemoryMediaStore({ ttlSeconds: 3600 }); const service = createResponseNormalizationService({ mediaStore }); const normalized = service.normalize({ choices: [ { message: { audio: { data: "ZmFrZS1hdWRpbw==" }, content: [ { type: "image_url", image_url: { url: "data:image/png;base64,aW1hZ2U=" } } ] } } ] }, { publicBaseUrl: "http://localhost:3000", audioFormat: "mp3", exposeMediaUrls: true }); assert.match(normalized.choices[0].message.audio.url, /^http:\/\/localhost:3000\/v1\/media\//); assert.match(normalized.choices[0].message.content[0].image_url.proxy_url, /^http:\/\/localhost:3000\/v1\/media\//); assert.equal(normalized.proxy.media.length, 2); });