Files
OmniRoute/tests/unit/request-defaults-store-session.test.ts
backryun 67a0b99240 feat(providers): add GPT-5.6 model family (#6862)
* feat(providers): add GPT-5.6 model family

* fix(chatgpt-web): resume temporary chat handoffs

* fix(codex): auto-merge discovery, filter denylist, revalidate on lifecycle

Restore live/GitHub auto-merge for Codex catalogs, drop models via
explicit denylist (GPT-5.4 family), and run scrub+live re-sync once on
first-start, app upgrade, or setup completion. Success log:
kill deprecated models complete.

* fix(codex): preserve live catalog reconciliation

Expose remote-only Codex models without dropping user custom entries, and complete lifecycle revalidation only after a successful internal sync. Keep credentialed self-fetches pinned to the active dashboard listener.

---------

Co-authored-by: backryun <backryun@daonlab.local>
2026-07-12 03:30:47 -03:00

138 lines
4.2 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
const {
buildOpenAIStoreSessionId,
ensureOpenAIStoreSessionFallback,
getClaudeCodeCompatibleRequestDefaults,
normalizeCodexReasoningEffort,
normalizeProviderSpecificData,
sanitizeProviderSpecificDataForResponse,
} = await import("../../src/lib/providers/requestDefaults.ts");
test("Codex request defaults accept max but leave ultra to the Codex client", () => {
assert.equal(normalizeCodexReasoningEffort("max"), "max");
assert.equal(normalizeCodexReasoningEffort("ultra"), undefined);
});
test("buildOpenAIStoreSessionId normalizes external and generated session ids", () => {
assert.equal(
buildOpenAIStoreSessionId("ext:client session/abc"),
"omniroute-session-client-session-abc"
);
assert.equal(
buildOpenAIStoreSessionId(" internal:session "),
"omniroute-session-internal:session"
);
assert.equal(buildOpenAIStoreSessionId(""), undefined);
});
test("ensureOpenAIStoreSessionFallback injects session_id only when no stable cache key exists", () => {
const injected = ensureOpenAIStoreSessionFallback({ model: "gpt-5.3-codex" }, "ext:session-1");
assert.equal(injected.session_id, "omniroute-session-session-1");
const withPromptCacheKey = ensureOpenAIStoreSessionFallback(
{ model: "gpt-5.3-codex", prompt_cache_key: "cache-123" },
"ext:session-2"
);
assert.equal(withPromptCacheKey.session_id, undefined);
const withConversation = ensureOpenAIStoreSessionFallback(
{ model: "gpt-5.3-codex", conversation_id: "conv-1" },
"ext:session-3"
);
assert.equal(withConversation.session_id, undefined);
const withExplicitSession = ensureOpenAIStoreSessionFallback(
{ model: "gpt-5.3-codex", session_id: "existing-session" },
"ext:session-4"
);
assert.equal(withExplicitSession.session_id, "existing-session");
});
test("normalizeProviderSpecificData keeps only boolean CC-compatible request defaults", () => {
const normalized = normalizeProviderSpecificData("anthropic-compatible-cc-demo", {
baseUrl: "https://proxy.example.com/v1/messages?beta=true",
requestDefaults: {
context1m: true,
redactThinking: true,
summarizeThinking: true,
customFlag: "keep-me",
},
});
assert.deepEqual(getClaudeCodeCompatibleRequestDefaults(normalized), {
context1m: true,
redactThinking: true,
summarizeThinking: true,
});
assert.deepEqual(normalized?.requestDefaults, {
context1m: true,
redactThinking: true,
summarizeThinking: true,
customFlag: "keep-me",
});
const stripped = normalizeProviderSpecificData("anthropic-compatible-cc-demo", {
requestDefaults: {
context1m: "yes",
redactThinking: "yes",
summarizeThinking: "yes",
customFlag: "keep-me",
},
});
assert.deepEqual(stripped?.requestDefaults, {
customFlag: "keep-me",
});
});
test("normalizeProviderSpecificData trims OpenRouter preset and clears empty values", () => {
const normalized = normalizeProviderSpecificData("openrouter", {
preset: " email-copywriter ",
tag: "primary",
});
assert.equal(normalized?.preset, "email-copywriter");
assert.equal(normalized?.tag, "primary");
const stripped = normalizeProviderSpecificData("openrouter", {
preset: " ",
tag: "primary",
});
assert.equal(stripped?.preset, undefined);
assert.equal(stripped?.tag, "primary");
const oversized = normalizeProviderSpecificData("openrouter", {
preset: "x".repeat(201),
tag: "primary",
});
assert.equal(oversized?.preset, undefined);
assert.equal(oversized?.tag, "primary");
const ignored = normalizeProviderSpecificData("openai", {
preset: "email-copywriter",
tag: "primary",
});
assert.equal(ignored?.preset, undefined);
assert.equal(ignored?.tag, "primary");
});
test("sanitizeProviderSpecificDataForResponse removes quota scraping cookies", () => {
const sanitized = sanitizeProviderSpecificDataForResponse({
opencodeGoWorkspaceId: "workspace-123",
opencodeGoAuthCookie: "auth-cookie",
ollamaCloudUsageCookie: "ollama-cookie",
usageCookie: "fallback-cookie",
consoleApiKey: "console-key",
tag: "primary",
});
assert.deepEqual(sanitized, {
opencodeGoWorkspaceId: "workspace-123",
tag: "primary",
});
});