mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-26 00:52:18 +03:00
Retargetado para release/v3.8.51 (release/v3.8.50 está congelada — freeze issue #11439). Resolvido um conflito de merge não-relacionado em src/shared/utils/wsPath.ts (originado de um refactor já mergeado nessa branch depois do fork deste PR; o diff real deste PR — scripts/dev/sync-env.mjs + tests/unit/sync-env.test.ts — ficou intacto) e revalidado: typecheck:core limpo, 13/13 testes focados passando. Segue o precedente correto do #1622 (STORAGE_ENCRYPTION_KEY) para os dois secrets restantes que a postinstall preenchia por engano, defeituando o mecanismo de ensureSecrets(). Obrigado pela contribuição!
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",
|
|
});
|
|
});
|