Apply Codex fix: gateway done-payload uses _session_payload_with_full_messages too (sibling of streaming done/error sites) + test
This commit is contained in:
parent
3030babb10
commit
42c359abd6
2 changed files with 15 additions and 1 deletions
|
|
@ -508,7 +508,8 @@ def _run_gateway_chat_streaming(
|
|||
s.model = model
|
||||
s.model_provider = model_provider
|
||||
s.save()
|
||||
gateway_session_payload = s.compact() | {"messages": s.messages, "tool_calls": []}
|
||||
from api.streaming import _session_payload_with_full_messages
|
||||
gateway_session_payload = _session_payload_with_full_messages(s, tool_calls=[])
|
||||
put_gateway_event("done", {"session": redact_session_data(gateway_session_payload), "usage": usage})
|
||||
put_gateway_event("stream_end", {"session_id": session_id})
|
||||
except urllib.error.HTTPError as exc:
|
||||
|
|
|
|||
|
|
@ -51,3 +51,16 @@ def test_apperror_payload_uses_full_message_count_helper():
|
|||
|
||||
assert "_session_payload_with_full_messages(s, tool_calls=s.tool_calls)" in block
|
||||
assert "s.compact() | {'messages': s.messages" not in block
|
||||
|
||||
|
||||
def test_gateway_done_payload_uses_full_message_count_helper():
|
||||
"""The gateway-routed chat `done` SSE shares the settled-payload path and
|
||||
must also report a message_count matching the embedded transcript (sibling
|
||||
of the two streaming.py sites)."""
|
||||
gateway_source = Path("api/gateway_chat.py").read_text(encoding="utf-8")
|
||||
done_idx = gateway_source.index('put_gateway_event("done"')
|
||||
block_start = gateway_source.rfind("gateway_session_payload =", 0, done_idx)
|
||||
block = gateway_source[block_start:done_idx]
|
||||
|
||||
assert "_session_payload_with_full_messages(s, tool_calls=[])" in block
|
||||
assert 's.compact() | {"messages": s.messages' not in block
|
||||
|
|
|
|||
Loading…
Reference in a new issue