import type { Api, Model, ProviderResponseMetadata, StreamOptions } from "../types"; export function normalizeProviderResponse( response: Response, requestId?: string | null, metadata?: Record, ): ProviderResponseMetadata { const headers: Record = {}; response.headers.forEach((value, key) => { headers[key.toLowerCase()] = value; }); const providerResponse: ProviderResponseMetadata = { status: response.status, headers, }; if (requestId !== undefined) providerResponse.requestId = requestId; if (metadata !== undefined) providerResponse.metadata = metadata; return providerResponse; } export async function notifyProviderResponse( options: Pick | undefined, response: Response, model?: Model, requestId?: string | null, metadata?: Record, ): Promise { if (!options?.onResponse) return; await options.onResponse(normalizeProviderResponse(response, requestId, metadata), model); }