mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-05 14:52:09 +03:00
* 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>
48 lines
2.0 KiB
TypeScript
48 lines
2.0 KiB
TypeScript
/**
|
|
* tests/unit/claude-codex-identity-version-sync.test.ts
|
|
*
|
|
* Guards the pinned CLI identity versions against drift. The Claude Code version
|
|
* lives in FOUR places (claudeIdentity, anthropicHeaders, claudeCodeCompatible,
|
|
* ccBridgeTransforms) and MUST stay in lockstep — a partial bump produces an
|
|
* inconsistent wire fingerprint. The Codex client version lives in codexClient.
|
|
*
|
|
* When you capture a newer claude-cli / codex release, bump ALL constants and
|
|
* update the pinned values below in the same change.
|
|
*/
|
|
|
|
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const id = await import("../../open-sse/executors/claudeIdentity.ts");
|
|
const hdr = await import("../../open-sse/config/anthropicHeaders.ts");
|
|
const compat = await import("../../open-sse/services/claudeCodeCompatible.ts");
|
|
const bridge = await import("../../open-sse/services/ccBridgeTransforms.ts");
|
|
const codexCfg = await import("../../open-sse/config/codexClient.ts");
|
|
|
|
test("Claude CLI version constants are in lockstep across all 4 sources", () => {
|
|
const V = id.CLAUDE_CODE_VERSION;
|
|
assert.equal(hdr.CLAUDE_CLI_VERSION, V, "anthropicHeaders.CLAUDE_CLI_VERSION drift");
|
|
assert.equal(compat.CLAUDE_CODE_COMPATIBLE_VERSION, V, "claudeCodeCompatible version drift");
|
|
assert.equal(bridge.DEFAULT_CLAUDE_CODE_VERSION, V, "ccBridgeTransforms version drift");
|
|
assert.equal(
|
|
hdr.CLAUDE_CLI_USER_AGENT,
|
|
`claude-cli/${V} (external, cli)`,
|
|
"CLAUDE_CLI_USER_AGENT drift"
|
|
);
|
|
assert.equal(
|
|
compat.CLAUDE_CODE_COMPATIBLE_USER_AGENT,
|
|
`claude-cli/${V} (external, sdk-cli)`,
|
|
"CLAUDE_CODE_COMPATIBLE_USER_AGENT drift"
|
|
);
|
|
});
|
|
|
|
test("Claude CLI is pinned to the captured 2.1.207 release", () => {
|
|
assert.equal(id.CLAUDE_CODE_VERSION, "2.1.207");
|
|
});
|
|
|
|
test("Codex client is pinned to the captured 0.144.1 release", () => {
|
|
assert.equal(codexCfg.getCodexClientVersion(), "0.144.1");
|
|
assert.equal(codexCfg.getCodexUserAgent(), "codex-cli/0.144.1 (Windows 10.0.26200; x64)");
|
|
assert.equal(codexCfg.getCodexDefaultHeaders().Version, "0.144.1");
|
|
});
|