mirror of
https://github.com/openai/codex.git
synced 2026-11-13 06:45:07 +00:00
Preserve raw response usage metadata (#41980)
## What changed - Include the complete upstream `response.usage` object in `ResponseUsageMetadata.metadata` while retaining the existing `amount` field. - Expose the metadata through `rawResponse/completed` notifications and update the generated JSON and TypeScript schemas. ## Testing - Cover SSE, WebSocket, turn, and compaction completion paths. GitOrigin-RevId: 6d79b1b4c92ac11abf43ec98f380b4868288a701
This commit is contained in:
1 parent
d038f3448f
commit
e017e93ace
14 files changed
+62
-13
No files matched your search
@@ -118,11 +118,13 @@ async fn responses_stream_parses_items_and_completed_end_to_end() -> Result<()>
|
||||
"input_tokens": 10,
|
||||
"output_tokens": 5,
|
||||
"total_tokens": 15,
|
||||
"extra": { "label": "example", "items": [0, null, true] },
|
||||
"codex_rollout_budget_units": 2.5
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
let expected_metadata = completed["response"]["usage"].clone();
|
||||
let body = build_responses_body(vec![item1, item2, completed]);
|
||||
let transport = FixtureSseTransport::new(body);
|
||||
let client = ResponsesClient::new(transport, provider("openai"), Arc::new(NoAuth));
|
||||
@@ -174,6 +176,7 @@ async fn responses_stream_parses_items_and_completed_end_to_end() -> Result<()>
|
||||
usage_metadata,
|
||||
&Some(codex_protocol::ResponseUsageMetadata {
|
||||
amount: Some("0.12345678901234567890".to_string()),
|
||||
metadata: Some(expected_metadata),
|
||||
})
|
||||
);
|
||||
assert_eq!(
|
||||
|
||||
Reference in new issue
Block a user