Files
OmniRoute/src/lib/translator/streamTransform.ts
diegosouzapw 01dd72cf1f feat(dashboard): add custom CLI builder and eval suite management
Introduce a custom CLI tools card that generates OpenAI-compatible
env vars and JSON config, and add a cost overview tab with pricing
source visibility.

Add persisted custom eval suites with authenticated CRUD routes and
validation, plus new translator stream transformation tooling and
richer live monitor routing details.

Improve localization coverage across dashboard flows and add unit
tests for custom CLI config, pricing sources, eval suites, and
stream transformation.
2026-04-23 16:57:43 -03:00

28 lines
794 B
TypeScript

import { createResponsesApiTransformStream } from "@omniroute/open-sse/transformer/responsesTransformer.ts";
export async function transformChatCompletionSseToResponses(rawSse: string): Promise<string> {
const encoder = new TextEncoder();
const decoder = new TextDecoder();
const inputStream = new ReadableStream<Uint8Array>({
start(controller) {
controller.enqueue(encoder.encode(rawSse));
controller.close();
},
});
const outputStream = inputStream.pipeThrough(createResponsesApiTransformStream());
const reader = outputStream.getReader();
let output = "";
while (true) {
const { value, done } = await reader.read();
if (done) break;
output += decoder.decode(value, { stream: true });
}
output += decoder.decode();
return output;
}