fix(codex-transport): preserve request override headers for xai responses
This commit is contained in:
@@ -143,7 +143,18 @@ class ResponsesApiTransport(ProviderTransport):
|
|||||||
kwargs["max_output_tokens"] = max_tokens
|
kwargs["max_output_tokens"] = max_tokens
|
||||||
|
|
||||||
if is_xai_responses and session_id:
|
if is_xai_responses and session_id:
|
||||||
kwargs["extra_headers"] = {"x-grok-conv-id": session_id}
|
existing_extra_headers = kwargs.get("extra_headers")
|
||||||
|
merged_extra_headers: Dict[str, str] = {}
|
||||||
|
if isinstance(existing_extra_headers, dict):
|
||||||
|
merged_extra_headers.update(
|
||||||
|
{
|
||||||
|
str(key): str(value)
|
||||||
|
for key, value in existing_extra_headers.items()
|
||||||
|
if key and value is not None
|
||||||
|
}
|
||||||
|
)
|
||||||
|
merged_extra_headers["x-grok-conv-id"] = session_id
|
||||||
|
kwargs["extra_headers"] = merged_extra_headers
|
||||||
|
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
|||||||
@@ -621,6 +621,7 @@ AUTHOR_MAP = {
|
|||||||
"2114364329@qq.com": "cuyua9",
|
"2114364329@qq.com": "cuyua9",
|
||||||
"2557058999@qq.com": "Disaster-Terminator",
|
"2557058999@qq.com": "Disaster-Terminator",
|
||||||
"cine.dreamer.one@gmail.com": "LeonSGP43",
|
"cine.dreamer.one@gmail.com": "LeonSGP43",
|
||||||
|
"zyprothh@gmail.com": "Zyproth",
|
||||||
"leozeli@qq.com": "leozeli",
|
"leozeli@qq.com": "leozeli",
|
||||||
"linlehao@cuhk.edu.cn": "LehaoLin",
|
"linlehao@cuhk.edu.cn": "LehaoLin",
|
||||||
"liutong@isacas.ac.cn": "I3eg1nner",
|
"liutong@isacas.ac.cn": "I3eg1nner",
|
||||||
|
|||||||
@@ -126,6 +126,20 @@ class TestCodexBuildKwargs:
|
|||||||
)
|
)
|
||||||
assert kw.get("extra_headers", {}).get("x-grok-conv-id") == "conv-123"
|
assert kw.get("extra_headers", {}).get("x-grok-conv-id") == "conv-123"
|
||||||
|
|
||||||
|
def test_xai_headers_preserve_request_override_headers(self, transport):
|
||||||
|
messages = [{"role": "user", "content": "Hi"}]
|
||||||
|
kw = transport.build_kwargs(
|
||||||
|
model="grok-3", messages=messages, tools=[],
|
||||||
|
session_id="conv-123",
|
||||||
|
is_xai_responses=True,
|
||||||
|
request_overrides={"extra_headers": {"X-Test": "1", "X-Trace": "abc"}},
|
||||||
|
)
|
||||||
|
assert kw.get("extra_headers") == {
|
||||||
|
"X-Test": "1",
|
||||||
|
"X-Trace": "abc",
|
||||||
|
"x-grok-conv-id": "conv-123",
|
||||||
|
}
|
||||||
|
|
||||||
def test_minimal_effort_clamped(self, transport):
|
def test_minimal_effort_clamped(self, transport):
|
||||||
messages = [{"role": "user", "content": "Hi"}]
|
messages = [{"role": "user", "content": "Hi"}]
|
||||||
kw = transport.build_kwargs(
|
kw = transport.build_kwargs(
|
||||||
|
|||||||
Reference in New Issue
Block a user