fix: sync codex field (#6018)
This commit is contained in:
@@ -27,12 +27,39 @@ const buildPassHeadersTemplate = (headers) => ({
|
||||
],
|
||||
});
|
||||
|
||||
const buildCodexPassHeadersTemplate = () => ({
|
||||
operations: [
|
||||
{
|
||||
mode: 'pass_headers',
|
||||
value: [...CODEX_CLI_HEADER_PASSTHROUGH_HEADERS],
|
||||
keep_origin: true,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// Keep in sync with upstream Codex request headers:
|
||||
// https://github.com/openai/codex/commit/7c7b4861d88960f7e3bd5b7f30f8351be666dd84
|
||||
// https://github.com/openai/codex/commit/14df0e8833aad0d6d78287954b61ffac67af936c
|
||||
// https://github.com/openai/codex/commit/ebdd8795e924a8149b616e46ca2ed7848c207a4b
|
||||
export const CODEX_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
'Originator',
|
||||
'Session_id',
|
||||
'Thread_id',
|
||||
'Session-Id',
|
||||
'Thread-Id',
|
||||
'X-Client-Request-Id',
|
||||
'User-Agent',
|
||||
'X-Codex-Beta-Features',
|
||||
'X-Codex-Turn-State',
|
||||
'X-Codex-Turn-Metadata',
|
||||
'X-Codex-Window-Id',
|
||||
'X-Codex-Parent-Thread-Id',
|
||||
// 'X-Codex-Installation-Id',
|
||||
'X-OpenAI-Subagent',
|
||||
'X-OpenAI-Memgen-Request',
|
||||
// 'X-OAI-Attestation',
|
||||
'X-ResponsesAPI-Include-Timing-Metrics',
|
||||
'X-OpenAI-Internal-Codex-Responses-Lite',
|
||||
];
|
||||
|
||||
export const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
@@ -51,9 +78,8 @@ export const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
'Anthropic-Version',
|
||||
];
|
||||
|
||||
export const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
|
||||
CODEX_CLI_HEADER_PASSTHROUGH_HEADERS,
|
||||
);
|
||||
export const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE =
|
||||
buildCodexPassHeadersTemplate();
|
||||
|
||||
export const CLAUDE_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
|
||||
CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS,
|
||||
@@ -65,7 +91,7 @@ export const CHANNEL_AFFINITY_RULE_TEMPLATES = {
|
||||
model_regex: ['^gpt-.*$'],
|
||||
path_regex: ['/v1/responses'],
|
||||
key_sources: [{ type: 'gjson', path: 'prompt_cache_key' }],
|
||||
param_override_template: CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE,
|
||||
param_override_template: buildCodexPassHeadersTemplate(),
|
||||
value_regex: '',
|
||||
ttl_seconds: 0,
|
||||
skip_retry_on_failure: true,
|
||||
|
||||
+27
-3
@@ -291,12 +291,29 @@ const GEMINI_IMAGE_4K_TEMPLATE = {
|
||||
],
|
||||
}
|
||||
|
||||
// Keep in sync with upstream Codex request headers:
|
||||
// https://github.com/openai/codex/commit/7c7b4861d88960f7e3bd5b7f30f8351be666dd84
|
||||
// https://github.com/openai/codex/commit/14df0e8833aad0d6d78287954b61ffac67af936c
|
||||
// https://github.com/openai/codex/commit/ebdd8795e924a8149b616e46ca2ed7848c207a4b
|
||||
const CODEX_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
'Originator',
|
||||
'Session_id',
|
||||
'Thread_id',
|
||||
'Session-Id',
|
||||
'Thread-Id',
|
||||
'X-Client-Request-Id',
|
||||
'User-Agent',
|
||||
'X-Codex-Beta-Features',
|
||||
'X-Codex-Turn-State',
|
||||
'X-Codex-Turn-Metadata',
|
||||
'X-Codex-Window-Id',
|
||||
'X-Codex-Parent-Thread-Id',
|
||||
// 'X-Codex-Installation-Id',
|
||||
'X-OpenAI-Subagent',
|
||||
'X-OpenAI-Memgen-Request',
|
||||
// 'X-OAI-Attestation',
|
||||
'X-ResponsesAPI-Include-Timing-Metrics',
|
||||
'X-OpenAI-Internal-Codex-Responses-Lite',
|
||||
]
|
||||
|
||||
const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
@@ -321,9 +338,15 @@ const buildPassHeadersTemplate = (headers: string[]) => ({
|
||||
],
|
||||
})
|
||||
|
||||
const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
|
||||
CODEX_CLI_HEADER_PASSTHROUGH_HEADERS
|
||||
)
|
||||
const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE = {
|
||||
operations: [
|
||||
{
|
||||
mode: 'pass_headers',
|
||||
value: [...CODEX_CLI_HEADER_PASSTHROUGH_HEADERS],
|
||||
keep_origin: true,
|
||||
},
|
||||
],
|
||||
}
|
||||
const CLAUDE_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
|
||||
CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS
|
||||
)
|
||||
@@ -941,6 +964,7 @@ const validateOperations = (
|
||||
if (headers.length === 0)
|
||||
return t('Rule {{line}} pass_headers format is invalid', { line })
|
||||
}
|
||||
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
+30
-3
@@ -18,12 +18,29 @@ For commercial licensing, please contact support@quantumnous.com
|
||||
*/
|
||||
import type { AffinityRule } from './types'
|
||||
|
||||
// Keep in sync with upstream Codex request headers:
|
||||
// https://github.com/openai/codex/commit/7c7b4861d88960f7e3bd5b7f30f8351be666dd84
|
||||
// https://github.com/openai/codex/commit/14df0e8833aad0d6d78287954b61ffac67af936c
|
||||
// https://github.com/openai/codex/commit/ebdd8795e924a8149b616e46ca2ed7848c207a4b
|
||||
const CODEX_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
'Originator',
|
||||
'Session_id',
|
||||
'Thread_id',
|
||||
'Session-Id',
|
||||
'Thread-Id',
|
||||
'X-Client-Request-Id',
|
||||
'User-Agent',
|
||||
'X-Codex-Beta-Features',
|
||||
'X-Codex-Turn-State',
|
||||
'X-Codex-Turn-Metadata',
|
||||
'X-Codex-Window-Id',
|
||||
'X-Codex-Parent-Thread-Id',
|
||||
// 'X-Codex-Installation-Id',
|
||||
'X-OpenAI-Subagent',
|
||||
'X-OpenAI-Memgen-Request',
|
||||
// 'X-OAI-Attestation',
|
||||
'X-ResponsesAPI-Include-Timing-Metrics',
|
||||
'X-OpenAI-Internal-Codex-Responses-Lite',
|
||||
]
|
||||
|
||||
const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
|
||||
@@ -54,6 +71,18 @@ function buildPassHeadersTemplate(headers: string[]) {
|
||||
}
|
||||
}
|
||||
|
||||
function buildCodexPassHeadersTemplate() {
|
||||
return {
|
||||
operations: [
|
||||
{
|
||||
mode: 'pass_headers',
|
||||
value: [...CODEX_CLI_HEADER_PASSTHROUGH_HEADERS],
|
||||
keep_origin: true,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
export type RuleTemplate = Omit<AffinityRule, 'id'>
|
||||
|
||||
export const RULE_TEMPLATES: Record<string, RuleTemplate> = {
|
||||
@@ -62,9 +91,7 @@ export const RULE_TEMPLATES: Record<string, RuleTemplate> = {
|
||||
model_regex: ['^gpt-.*$'],
|
||||
path_regex: ['/v1/responses'],
|
||||
key_sources: [{ type: 'gjson', path: 'prompt_cache_key' }],
|
||||
param_override_template: buildPassHeadersTemplate(
|
||||
CODEX_CLI_HEADER_PASSTHROUGH_HEADERS
|
||||
),
|
||||
param_override_template: buildCodexPassHeadersTemplate(),
|
||||
value_regex: '',
|
||||
ttl_seconds: 0,
|
||||
skip_retry_on_failure: true,
|
||||
|
||||
Reference in New Issue
Block a user