Repository navigation
feat(api): add Agents credential and session options - #3967
Conversation
Castiron custom codeMixed files: 47 → 48 1 newly customized · 0 customizations removed · 0 existing customizations changed · 2 generated baselines changed Compared
46 existing customizations unchanged
6 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 36340271400 --repo openai/openai-python \
--name castiron-custom-code-36340271400-1 --dir /tmp/castiron-custom-code-36340271400-1
git apply --stat /tmp/castiron-custom-code-36340271400-1/custom-code.patch
cat /tmp/castiron-custom-code-36340271400-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 43443d14c5ab8b9bc9d7aaf31263351f071afca2 9670aa55879eccebc1981f8cc2ec74824ac3542a
python3 scripts/castiron/custom_code_report.py report \
--base 43443d14c5ab8b9bc9d7aaf31263351f071afca2 \
--head 9670aa55879eccebc1981f8cc2ec74824ac3542a --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-9670aa55879e
cat /tmp/castiron-custom-code-9670aa55879e/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Requesting changes on f896f93d6e337050dfe6d9439562efd7bf38b2bd for one credential-update schema/test contract regression.
Making auth optional is necessary for metadata-only updates, but the generated schema now also accepts an empty update. The new sync/async minimum-parameter, raw-response and streaming-response tests all exercise that invalid empty case as a success. Please restore the at-least-one-field constraint in the authoritative generation input and regenerate valid fixtures, preserving metadata={} as the clear operation. This is a schema/mock-test fidelity issue, not a request to add ad hoc client-side validation.
Validation: reviewed all 21 changed files and the complete parsed schema delta; compiled all 19 changed Python files in memory; verified the transformed-spec hash and all 4,647 local schema references. Twelve positive/negative schema cases pass with an outer minProperties: 1 constraint, including auth-only, metadata-only and metadata clearing. Current-head hosted Python 3.10/3.14, HTTPX2, lint, build, baseline and budget checks are passing. I did not run the full local SDK suite or make live API requests. No additional actionable findings.
f896f93 to
af8f653
Compare
Castiron-Internal-PR: openai/openai-python-internal#163 Castiron-Source-SHA: ac9b80498b71e8e72070ac7ca59f3cf4300f0f7a Castiron-Public-Base-SHA: 43443d1
af8f653 to
9670aa5
Compare
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Re-reviewed at 9670aa5. The credential-update blocker from my earlier review is fixed: the bundled schema requires a request body and at least one outer property, while metadata: {} remains valid for clearing metadata. The sync/async normal, raw-response, and streaming-response success fixtures now send that valid body.
I also checked the remaining generated metadata/enums/voice/documentation changes and the shared schema corrections. Thirteen in-memory positive/negative JSON Schema cases passed, all 4,647 local schema references resolve, and all 20 changed Python files compile in memory. Exact-head Python 3.10/3.14, HTTPX2, lint/build, and Castiron checks are green. I did not run the full SDK suite locally or call a live API.
No remaining blocking findings; this approval supersedes my earlier changes-requested review.
Automated Release PR --- ## [3.20.0](openai/openai-python@v3.19.2...v3.20.0) (2026-09-28) ### Features * **api:** add Agents credential and session options ([openai#3967](openai#3967)) ([bb68198](openai@bb68198)) * **api:** add Cyber access programs to Responses ([openai#3956](openai#3956)) ([09c5b6f](openai@09c5b6f)) * **responses:** opt in to incremental WebSocket text and tool snapshots ([openai#3973](openai#3973)) ([d0207b4](openai@d0207b4)) * **responses:** preserve detailed WebSocket accumulator snapshots ([openai#3981](openai#3981)) ([a380cf2](openai@a380cf2)) ### Bug Fixes * **client:** retry unmapped TLS transport errors ([openai#3982](openai#3982)) ([0d35a26](openai@0d35a26)) * **live:** avoid hangs at fractional transcript grouping deadlines ([openai#3970](openai#3970)) ([4ef4129](openai@4ef4129)) * **live:** keep query parameters out of WebSocket endpoint paths ([openai#3972](openai#3972)) ([f9c458b](openai@f9c458b)) * **live:** preserve caller queues and prevent uncertain WebSocket replay ([openai#3980](openai#3980)) ([80e9686](openai@80e9686)) * **realtime:** preserve base URL queries in WebSocket upgrades ([openai#3971](openai#3971)) ([f7bd4a7](openai@f7bd4a7)) * **realtime:** retain configured queues without replaying attempted sends ([openai#3978](openai#3978)) ([a52805c](openai@a52805c)) ### Chores * **api:** clarify documented API error responses ([openai#3965](openai#3965)) ([384fee3](openai@384fee3)) * **api:** document batch error responses ([openai#3961](openai#3961)) ([6e4a79c](openai@6e4a79c)) * **api:** document files and uploads error responses ([openai#3960](openai#3960)) ([a9d727f](openai@a9d727f)) * **api:** document fine-tuning and model errors ([openai#3964](openai#3964)) ([5d4003c](openai@5d4003c)) * **api:** document Responses not-found errors ([openai#3959](openai#3959)) ([63099e7](openai@63099e7)) * **api:** document stored chat completion errors ([openai#3963](openai#3963)) ([a73fe0c](openai@a73fe0c)) --- 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>
Summary
Adds credential metadata, session options and speech voices, and corrects the file download response description.
Changes
Compatibility
When constructing beta Agents Credential models yourself, supply
metadata(for example,{}). Exhaustive handlers should account for the new service tier and error code.