mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-02 05:12:11 +03:00
OmniRoute v3.8.26 — see CHANGELOG.md [3.8.26] for the full notes. Highlights: Vertex AI media generation (#3929), GLM-5.2 effort-tier routing (#3885), sticky round-robin combos (#3846), OpenRouter connection presets (#3878), compression prompt-cache fix (#3936/#3890), and a security pass (form-data/vite + workflow hardening, #3949). Co-authored-by: artickc <artickc@users.noreply.github.com> Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: Jack Smith <16862258+YunyunZhai@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: adivekar-utexas <adivekar-utexas@users.noreply.github.com> Co-authored-by: megamen32 <megamen32@users.noreply.github.com> Co-authored-by: zhiru <zhiru@users.noreply.github.com> Co-authored-by: insoln <insoln@users.noreply.github.com> Co-authored-by: diego-anselmo <diego-anselmo@users.noreply.github.com>
178 lines
4.7 KiB
TypeScript
178 lines
4.7 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const { createProviderSchema, updateProviderConnectionSchema } =
|
|
await import("../../src/shared/validation/schemas.ts");
|
|
|
|
test("provider schemas accept boolean openaiStoreEnabled in providerSpecificData", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "codex",
|
|
apiKey: "token",
|
|
name: "Codex",
|
|
providerSpecificData: {
|
|
openaiStoreEnabled: true,
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
openaiStoreEnabled: false,
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, true);
|
|
assert.equal(updated.success, true);
|
|
});
|
|
|
|
test("provider schemas reject non-boolean openaiStoreEnabled values", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "codex",
|
|
apiKey: "token",
|
|
name: "Codex",
|
|
providerSpecificData: {
|
|
openaiStoreEnabled: "yes",
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
openaiStoreEnabled: "no",
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, false);
|
|
assert.equal(updated.success, false);
|
|
});
|
|
|
|
test("provider schemas accept boolean CC-compatible request defaults", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "anthropic-compatible-cc-demo",
|
|
apiKey: "token",
|
|
name: "CC Compatible",
|
|
providerSpecificData: {
|
|
requestDefaults: {
|
|
context1m: true,
|
|
redactThinking: true,
|
|
},
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
requestDefaults: {
|
|
context1m: false,
|
|
redactThinking: false,
|
|
},
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, true);
|
|
assert.equal(updated.success, true);
|
|
});
|
|
|
|
test("provider schemas reject non-boolean CC-compatible request defaults", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "anthropic-compatible-cc-demo",
|
|
apiKey: "token",
|
|
name: "CC Compatible",
|
|
providerSpecificData: {
|
|
requestDefaults: {
|
|
context1m: "yes",
|
|
redactThinking: "yes",
|
|
},
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
requestDefaults: {
|
|
context1m: 1,
|
|
redactThinking: 1,
|
|
},
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, false);
|
|
assert.equal(updated.success, false);
|
|
});
|
|
|
|
test("provider schemas accept Codex default priority and flex service tiers", () => {
|
|
for (const serviceTier of ["default", "priority", "fast", "flex"]) {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "codex",
|
|
apiKey: "token",
|
|
name: "Codex",
|
|
providerSpecificData: {
|
|
requestDefaults: { serviceTier },
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
requestDefaults: { serviceTier },
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, true, serviceTier);
|
|
assert.equal(updated.success, true, serviceTier);
|
|
}
|
|
});
|
|
|
|
test("provider schemas reject unknown Codex service tiers", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "codex",
|
|
apiKey: "token",
|
|
name: "Codex",
|
|
providerSpecificData: {
|
|
requestDefaults: { serviceTier: "turbo" },
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
requestDefaults: { serviceTier: "turbo" },
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, false);
|
|
assert.equal(updated.success, false);
|
|
});
|
|
|
|
test("provider schemas accept OpenRouter preset in providerSpecificData", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "openrouter",
|
|
apiKey: "token",
|
|
name: "OpenRouter",
|
|
providerSpecificData: {
|
|
preset: "email-copywriter",
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
preset: "code-reviewer",
|
|
},
|
|
});
|
|
const padded = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
preset: `${" ".repeat(120)}prefer${" ".repeat(120)}`,
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, true);
|
|
assert.equal(updated.success, true);
|
|
assert.equal(padded.success, true);
|
|
});
|
|
|
|
test("provider schemas reject oversized OpenRouter preset values", () => {
|
|
const created = createProviderSchema.safeParse({
|
|
provider: "openrouter",
|
|
apiKey: "token",
|
|
name: "OpenRouter",
|
|
providerSpecificData: {
|
|
preset: "x".repeat(201),
|
|
},
|
|
});
|
|
const updated = updateProviderConnectionSchema.safeParse({
|
|
providerSpecificData: {
|
|
preset: 123,
|
|
},
|
|
});
|
|
|
|
assert.equal(created.success, false);
|
|
assert.equal(updated.success, false);
|
|
});
|