Files
OmniRoute/tests/unit/claude-codex-identity-version-sync.test.ts
Diego Rodrigues de Sa e Souza 7c23dab64d Release v3.8.40
v3.8.40 cycle integration → main. All test gates green (Unit/Integration/Coverage/Node-compat/Quality-Ratchet). The only red check, 'PR Test Policy', is the test-masking heuristic firing on the cumulative ~57-commit release diff (legitimate assert consolidations already reviewed per-PR — Gemini CLI removal #5246, retired GPT models #5280, provider catalog refreshes); overridden with --admin per the documented release-PR convention. CodeQL/SonarQube advisory scans non-blocking; #5278's code already passed CodeQL on main. Homologated on VPS 192.168.0.15 (v3.8.40 healthy).
2026-06-29 08:40:06 -03:00

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.195 release", () => {
assert.equal(id.CLAUDE_CODE_VERSION, "2.1.195");
});
test("Codex client is pinned to the captured 0.142.0 release", () => {
assert.equal(codexCfg.getCodexClientVersion(), "0.142.0");
assert.equal(codexCfg.getCodexUserAgent(), "codex-cli/0.142.0 (Windows 10.0.26200; x64)");
assert.equal(codexCfg.getCodexDefaultHeaders().Version, "0.142.0");
});