Repository navigation
chore(api): preserve upload helpers and Live connection defaults - #4152
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 codeEvaluated main: Trusted main policy: ✅ No new custom-code files detected. 32 mixed files remain; 0 existing customizations changed; 16 customizations removed; 22 generated baselines changed. Compared
26 existing customizations unchanged
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 39726164688 --repo openai/openai-python \
--name castiron-custom-code-39726164688-1 --dir /tmp/castiron-custom-code-39726164688-1
git apply --stat /tmp/castiron-custom-code-39726164688-1/custom-code.patch
cat /tmp/castiron-custom-code-39726164688-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 49e6757e464ce03b6f47c89740feaa75870ba168 67dfbfe9ac2a55f146c07ffbed7b2e203b7fb657
python3 scripts/castiron/custom_code_report.py report \
--base 49e6757e464ce03b6f47c89740feaa75870ba168 \
--head 67dfbfe9ac2a55f146c07ffbed7b2e203b7fb657 --target-branch main --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-67dfbfe9ac2a
cat /tmp/castiron-custom-code-67dfbfe9ac2a/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
Castiron-Internal-PR: openai/openai-python-internal#315 Castiron-Source-SHA: 03c343c63f0a648d2572841727e5801741117521 Castiron-Public-Base-SHA: 49e6757
749caf9 to
67dfbfe
Compare
## Summary Preserves existing file, vector store, and video polling behavior. ## Changes - Retain polling helper signatures, timeouts, and request options. - Retain synchronous and asynchronous upload and polling behavior. ## Transition audit Five polling files now match the generated checkpoint exactly, reducing mixed files from 32 to 27 and custom patch lines from 6,845 to 6,186. The repository plan records the completed predecessor #4152 and keeps this candidate's measurements separate from delivered results. The API specification, public signatures/defaults/decorators, dependencies, handwritten runtimes, generation ownership and budget are unchanged. The configuration adds only seven existing polling-helper declarations while retaining all earlier settings. ## Validation - 303 synchronous, asynchronous and Trio compatibility tests pass. - Ruff, Pyright (zero errors), Mypy (2,047 files) and import checks pass. - All 112 public facade contracts and 16 runtime exports are retained. - Independent review verified delegate behavior, checkpoint hashes, all 27 remaining per-file rows and the five cleared files. Current hosted checks and SDK CODEOWNER review are required. Co-authored-by: jbeckwith-oai <269036200+jbeckwith-oai@users.noreply.github.com>
Automated Release PR --- ## [3.37.0](v3.36.1...v3.37.0) (2026-10-22) ### ⚠ BREAKING CHANGES * **api:** This minor release includes a breaking change to Decisions types. In Live response models, question `instructions` can now be a string or a list of structured text, image, or JSON parts; check `isinstance(question.instructions, str)` before using string operations and handle the structured form. Decisions request input types also include additional message roles and tool-history items, so update exhaustive type checks accordingly. Existing string instructions and `DecisionInputMessageParam` user-message inputs remain supported. ### Features * **api:** expand Decisions input and question types ([#4158](#4158)) ([1e45ad1](1e45ad1)) ### Chores * **api:** preserve file and video polling helpers ([#4155](#4155)) ([7db9d88](7db9d88)) * **api:** preserve upload helpers and Live connection defaults ([#4152](#4152)) ([a29dc39](a29dc39)) * **deps:** bump astral-sh/setup-uv from 10.2.0 to 10.3.0 ([#4109](#4109)) ([fa9a161](fa9a161)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com> Co-authored-by: Daniel Piet <dp@openai.com>
Preserves the existing upload and agent helper interfaces, Beta resource aliases, and Live connection defaults while making their resource wiring fully generated. The transition document records the remaining files, per-file line counts, and compiler work needed to remove custom patches without changing developer-facing behavior.
The verified released baseline has 46 mixed files and 8,063 custom patch lines. This candidate has 32 mixed files and 6,845 patch lines; 14 files now match generation byte for byte. API definitions, dependencies, exclusions and budgets are unchanged. Released polling runtime additions are preserved; polling facade generation remains a separate follow-up.
The client uses the released WebSocket query helper and subclass overrides, with a distinct fallback for older runtimes. Formatting preserves the dynamic lookup. Prepared translation queries retain their existing path, and queue bootstrap isolation checks every authenticated constituent.
Validation: complete normal lint passes (Ruff, Pyright with zero errors, Mypy across 2,047 files, import check); 1,606 runtime/client/security tests pass with 16 skips; the reporting suite passes 158 tests with one optional skip. Existing signatures, defaults, decorators, class bases and explicit exports are unchanged. Independent review verified all 1,971 generated-manifest hashes/modes, all per-file measurements and the eight scoped configuration changes.