mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-25 16:42:16 +03:00
Validado em lote combinado (batch-0824g) contra o tip de release/v3.8.50: typecheck:core limpo, gates estáticos OK, 62/62 testes focados passando (endpoint/parser/schema/static-model + catálogo). Canonicaliza metadados de endpoint legados (video/audio) para IDs específicos por operação, mantendo compatibilidade retroativa via `normalizeModelSupportedEndpoints` (valores antigos `audio`/`video` continuam válidos como entrada e são normalizados na escrita). Obrigado pela contribuição, primeira PR bem-vinda!
59 lines
1.8 KiB
TypeScript
59 lines
1.8 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
|
|
import {
|
|
classifyModelSupportedEndpoints,
|
|
MODEL_SUPPORTED_ENDPOINT_VALUES,
|
|
normalizeModelSupportedEndpoints,
|
|
} from "../../src/shared/constants/modelSupportedEndpoints.ts";
|
|
|
|
test("normalizes legacy video and audio metadata to operation-specific endpoint ids", () => {
|
|
assert.deepEqual(normalizeModelSupportedEndpoints(["chat", "video", "audio"]), [
|
|
"chat",
|
|
"videos",
|
|
"audio-speech",
|
|
"audio-transcriptions",
|
|
]);
|
|
});
|
|
|
|
test("deduplicates canonical endpoint ids while preserving order", () => {
|
|
assert.deepEqual(
|
|
normalizeModelSupportedEndpoints([
|
|
"videos",
|
|
"video",
|
|
"audio-speech",
|
|
"audio",
|
|
"audio-transcriptions",
|
|
]),
|
|
["videos", "audio-speech", "audio-transcriptions"]
|
|
);
|
|
});
|
|
|
|
test("exports operation-specific values accepted by model metadata", () => {
|
|
assert.ok(MODEL_SUPPORTED_ENDPOINT_VALUES.includes("videos"));
|
|
assert.ok(MODEL_SUPPORTED_ENDPOINT_VALUES.includes("audio-speech"));
|
|
assert.ok(MODEL_SUPPORTED_ENDPOINT_VALUES.includes("audio-transcriptions"));
|
|
});
|
|
|
|
test("preserves endpoint ids introduced by external discovery", () => {
|
|
assert.deepEqual(normalizeModelSupportedEndpoints(["responses", "video"]), [
|
|
"responses",
|
|
"videos",
|
|
]);
|
|
});
|
|
|
|
test("classifies operation-specific media endpoints for the model catalog", () => {
|
|
assert.deepEqual(classifyModelSupportedEndpoints(["videos"]), { type: "video" });
|
|
assert.deepEqual(classifyModelSupportedEndpoints(["audio-speech"]), {
|
|
type: "audio",
|
|
subtype: "speech",
|
|
});
|
|
assert.deepEqual(classifyModelSupportedEndpoints(["audio-transcriptions"]), {
|
|
type: "audio",
|
|
subtype: "transcription",
|
|
});
|
|
assert.deepEqual(classifyModelSupportedEndpoints(["audio-speech", "audio-transcriptions"]), {
|
|
type: "audio",
|
|
});
|
|
});
|