44 lines
1.9 KiB
TypeScript
44 lines
1.9 KiB
TypeScript
import { test } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import { resolveBareModelToConnectionDefault } from "@omniroute/open-sse/services/model.ts";
|
|
|
|
// #474 — When a bare model name (no "/") reaches the upstream call and the
|
|
// selected connection declares a defaultModel, the bare name must resolve to
|
|
// that real model ID. A "/"-qualified model name is an explicit provider/model
|
|
// choice and must always be left untouched.
|
|
|
|
test("bare model name resolves to the connection defaultModel", () => {
|
|
// "auto" came from an alias; the connection's defaultModel is the concrete ID.
|
|
const effective = resolveBareModelToConnectionDefault("auto", "auto", "gpt-4o-mini");
|
|
assert.equal(effective, "gpt-4o-mini");
|
|
});
|
|
|
|
test('"/"-qualified model name is left untouched even when a defaultModel exists', () => {
|
|
const effective = resolveBareModelToConnectionDefault(
|
|
"openai/gpt-4o",
|
|
"gpt-4o",
|
|
"gpt-4o-mini"
|
|
);
|
|
assert.equal(effective, "gpt-4o");
|
|
});
|
|
|
|
test("bare model name without a connection defaultModel falls back to the resolved model", () => {
|
|
assert.equal(resolveBareModelToConnectionDefault("auto", "auto", null), "auto");
|
|
assert.equal(resolveBareModelToConnectionDefault("auto", "auto", undefined), "auto");
|
|
assert.equal(resolveBareModelToConnectionDefault("auto", "auto", ""), "auto");
|
|
});
|
|
|
|
test("empty defaultModel string does not override the resolved model", () => {
|
|
assert.equal(resolveBareModelToConnectionDefault("auto", "resolved-auto", ""), "resolved-auto");
|
|
});
|
|
|
|
test("null/undefined requested model strings are treated as non-bare (no override)", () => {
|
|
assert.equal(resolveBareModelToConnectionDefault(null, "resolved", "default"), "resolved");
|
|
assert.equal(resolveBareModelToConnectionDefault(undefined, "resolved", "default"), "resolved");
|
|
});
|
|
|
|
test("null resolved model with no defaultModel returns null", () => {
|
|
assert.equal(resolveBareModelToConnectionDefault("auto", null, null), null);
|
|
});
|