Skip to content

chore(api): preserve upload helpers and Live connection defaults - #4152

Merged
jbeckwith-oai merged 1 commit into
mainfrom
castiron/promotions/pr-315
Oct 22, 2026
Merged

jbeckwith-oai merged 1 commit into
mainfrom
castiron/promotions/pr-315

Conversation

@jbeckwith-oai

@jbeckwith-oai jbeckwith-oai commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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.

@jbeckwith-oai
jbeckwith-oai requested a review from a team as a code owner October 22, 2026 03:11
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T05:08:01.910802Z 67dfbfe New commits
🔒 Security Review ✅ Completed 2026-10-22T05:08:41.583560Z 67dfbfe New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

Evaluated main: 49e6757e464ce03b6f47c89740feaa75870ba168.

Trusted main policy: 49e6757e464ce03b6f47c89740feaa75870ba168.

✅ No new custom-code files detected.

32 mixed files remain; 0 existing customizations changed; 16 customizations removed; 22 generated baselines changed.

Compared 49e6757e464c → 67dfbfe9ac2a. Generated baselines verified.

File Result Current custom patch
scripts/castiron/custom_code_budget.py Generated baseline changed None
scripts/castiron/custom_code_report.py Generated baseline changed None
scripts/castiron/fixtures/github_publisher.cjs Generated baseline changed None
scripts/castiron/test_custom_code_budget.py Generated baseline changed None
scripts/castiron/test_custom_code_github.py Generated baseline changed None
scripts/castiron/test_custom_code_publication.py Generated baseline changed None
scripts/castiron/test_custom_code_report.py Generated baseline changed None
src/openai/_client.py Generated baseline changed +759 / −60
src/openai/resources/beta/agents/environments/files.py Generated baseline changed None
src/openai/resources/beta/agents/sessions/artifacts.py Generated baseline changed None
src/openai/resources/beta/beta.py Generated baseline changed None
src/openai/resources/beta/responses/responses.py Generated baseline changed +55 / −55
src/openai/resources/live/forks.py Generated baseline changed None
src/openai/resources/live/live.py Generated baseline changed None
src/openai/resources/live/sideband.py Generated baseline changed None
src/openai/resources/realtime/realtime.py Generated baseline changed +9 / −3
src/openai/resources/realtime/translations/translations.py Generated baseline changed +34 / −18
src/openai/resources/responses/responses.py Generated baseline changed +920 / −74
src/openai/resources/uploads/uploads.py Generated baseline changed None
src/openai/types/init.py Generated baseline changed None
tests/api_resources/admin/organization/projects/test_api_keys.py Generated baseline changed None
tests/api_resources/test_videos.py Generated baseline changed +12 / −0
26 existing customizations unchanged
  • api.md
  • src/openai/init.py
  • src/openai/resources/audio/transcriptions.py
  • src/openai/resources/audio/translations.py
  • src/openai/resources/beta/agents/sessions/sessions.py
  • src/openai/resources/beta/threads/runs/runs.py
  • src/openai/resources/beta/threads/threads.py
  • src/openai/resources/chat/completions/completions.py
  • src/openai/resources/embeddings.py
  • src/openai/resources/files.py
  • src/openai/resources/realtime/api.md
  • src/openai/resources/vector_stores/file_batches.py
  • src/openai/resources/vector_stores/files.py
  • src/openai/resources/videos.py
  • src/openai/resources/webhooks/init.py
  • src/openai/resources/webhooks/webhooks.py
  • src/openai/types/decision_input_image_param.py
  • src/openai/types/decision_input_text_param.py
  • src/openai/types/fine_tuning/fine_tuning_job_integration.py
  • src/openai/types/realtime/conversation_item_input_audio_transcription_delta_event.py
  • src/openai/types/realtime/realtime_error_event.py
  • src/openai/types/responses/tool.py
  • src/openai/types/responses/tool_param.py
  • src/openai/types/webhooks/init.py
  • src/openai/types/webhooks/live_call_incoming_webhook_event.py
  • src/openai/types/webhooks/unwrap_webhook_event.py

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download 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.patch

Or 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.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

Comment thread scripts/castiron/test_custom_code_policy.py Fixed
Comment thread src/openai/resources/uploads/uploads.py
Castiron-Internal-PR: openai/openai-python-internal#315
Castiron-Source-SHA: 03c343c63f0a648d2572841727e5801741117521
Castiron-Public-Base-SHA: 49e6757
@jbeckwith-oai
jbeckwith-oai force-pushed the castiron/promotions/pr-315 branch from 749caf9 to 67dfbfe Compare October 22, 2026 05:04
@jbeckwith-oai
jbeckwith-oai requested a review from a team October 22, 2026 05:06
@jbeckwith-oai
jbeckwith-oai added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit a29dc39 Oct 22, 2026
36 checks passed
@jbeckwith-oai
jbeckwith-oai deleted the castiron/promotions/pr-315 branch October 22, 2026 05:17
@openai-sdks openai-sdks Bot mentioned this pull request Oct 22, 2026
github-merge-queue Bot pushed a commit that referenced this pull request Oct 22, 2026
## 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>
github-merge-queue Bot pushed a commit that referenced this pull request Oct 22, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants