chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import {
|
||||
getConnectionExcludedModels,
|
||||
hasEligibleConnectionForModel,
|
||||
isModelExcludedByConnection,
|
||||
normalizeExcludedModelPatterns,
|
||||
} from "../../src/domain/connectionModelRules.ts";
|
||||
|
||||
test("normalizeExcludedModelPatterns accepts arrays and CSV strings, trims values, and removes duplicates", () => {
|
||||
assert.deepEqual(normalizeExcludedModelPatterns([" gpt-4o* ", "gpt-4o*", "", "**"]), ["gpt-4o*"]);
|
||||
assert.deepEqual(normalizeExcludedModelPatterns("gpt-4.1*, gpt-4o*, gpt-4.1*"), [
|
||||
"gpt-4.1*",
|
||||
"gpt-4o*",
|
||||
]);
|
||||
});
|
||||
|
||||
test("isModelExcludedByConnection matches both provider-scoped and raw model ids", () => {
|
||||
const providerSpecificData = {
|
||||
excludedModels: ["gpt-4o*", "claude-opus-*"],
|
||||
};
|
||||
|
||||
assert.equal(isModelExcludedByConnection("openai/gpt-4o-mini", providerSpecificData), true);
|
||||
assert.equal(isModelExcludedByConnection("gpt-4o-mini", providerSpecificData), true);
|
||||
assert.equal(isModelExcludedByConnection("claude-sonnet-4-5", providerSpecificData), false);
|
||||
});
|
||||
|
||||
test("hasEligibleConnectionForModel only returns true when at least one connection can serve the model", () => {
|
||||
const connections = [
|
||||
{ providerSpecificData: { excludedModels: ["gpt-4o*"] } },
|
||||
{ providerSpecificData: { excludedModels: ["gpt-4.1*"] } },
|
||||
];
|
||||
|
||||
assert.equal(hasEligibleConnectionForModel(connections, "gpt-4o-mini"), true);
|
||||
assert.equal(
|
||||
hasEligibleConnectionForModel(
|
||||
[
|
||||
{ providerSpecificData: { excludedModels: ["gpt-4o*"] } },
|
||||
{ providerSpecificData: { excludedModels: ["gpt-4o-mini"] } },
|
||||
],
|
||||
"gpt-4o-mini"
|
||||
),
|
||||
false
|
||||
);
|
||||
assert.deepEqual(getConnectionExcludedModels({ excluded_models: ["gpt-4o*"] }), ["gpt-4o*"]);
|
||||
});
|
||||
Reference in New Issue
Block a user