test: preserve large HTTP response payloads - #928
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Castiron custom code✅ No new custom-code files detected. 53 mixed files remain; 0 existing customizations changed. Compared 53 existing customizations unchanged
13 more in the full report. A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 32603795941 --repo openai/openai-java \
--name castiron-custom-code-32603795941-1 --dir /tmp/castiron-custom-code-32603795941-1
git apply --stat /tmp/castiron-custom-code-32603795941-1/custom-code.patch
cat /tmp/castiron-custom-code-32603795941-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 5f499c32eb4357e2552d9f97697d63eddbc6069b e0cd58bd239d519e1608a3cb4f7a9bb03a1fd8ab
python3 scripts/castiron/custom_code_report.py report \
--base 5f499c32eb4357e2552d9f97697d63eddbc6069b \
--head e0cd58bd239d519e1608a3cb4f7a9bb03a1fd8ab --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-e0cd58bd239d
cat /tmp/castiron-custom-code-e0cd58bd239d/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
Summary
Protect historically supported large HTTP responses against new SDK-side body, event, or line caps, following the guidance in openai-node#2433.
Add three sequential, offline public-client cases with synthetic 16 MiB + 1 character payloads: Responses JSON
output_text, a final Responses SSE snapshot throughResponseAccumulator(including typed output parsing), and an asynchronous Chat Completions SSE delta throughChatCompletionAccumulator. Compare the complete content without printing large fixtures on failure; no live API requests or recordings are involved.The fixture deliberately stays below Jackson's longstanding 20,000,000-character string limit, inherited with the Jackson upgrade in #7. This preserves the existing contract while detecting new 8/16 MiB restrictions. Its high memory use is intentional, not a new API maximum. Add agent guidance to keep these probes and review any new rejection limits explicitly.
No production limits, dependencies, generated code, or custom-code budgets change.