Skip to content

chore(api): clarify Realtime modality array definitions - #1074

Merged
markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-146
Sep 24, 2026
Merged

markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-146

Conversation

@markstuart-oai

Copy link
Copy Markdown
Contributor

Summary

Clarifies retained Realtime modality arrays in the API reference without changing SDK types or method signatures.

Changes

  • Explicitly describe retained Realtime modality fields as arrays of text or audio values.
  • Preserve existing optionality and SDK behavior.

@markstuart-oai
markstuart-oai marked this pull request as ready for review September 23, 2026 23:35
@markstuart-oai
markstuart-oai requested a review from a team as a code owner September 23, 2026 23:35
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 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-09-24T02:00:44.424465Z 80f0332 New commits
🔒 Security Review ✅ Completed 2026-09-24T02:00:11.877898Z 80f0332 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.

@openai-sdks

openai-sdks Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

OkTest Summary

✅ 236/236 SDK tests passed in 17.198s for Java SDK PR #1074.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 349ms
tests/chat-completions-create.test.ts ✅ Passed 752ms
tests/chat-completions-stream.test.ts ✅ Passed 764ms
tests/files-content-binary.test.ts ✅ Passed 271ms
tests/files-create-multipart.test.ts ✅ Passed 406ms
tests/files-list-pagination.test.ts ✅ Passed 269ms
tests/initialize-config.test.ts ✅ Passed 195ms
tests/instance-isolation.test.ts ✅ Passed 292ms
tests/models-list.test.ts ✅ Passed 336ms
tests/responses-background-lifecycle.test.ts ✅ Passed 330ms
tests/responses-body-method-errors.test.ts ✅ Passed 512ms
tests/responses-cancel-timeout.test.ts ✅ Passed 249ms
tests/responses-cancel.test.ts ✅ Passed 327ms
tests/responses-compact-retries.test.ts ✅ Passed 492ms
tests/responses-compact.test.ts ✅ Passed 298ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 699ms
tests/responses-create-advanced.test.ts ✅ Passed 1.453s
tests/responses-create-disconnect.test.ts ✅ Passed 1.145s
tests/responses-create-errors.test.ts ✅ Passed 388ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 287ms
tests/responses-create-retries.test.ts ✅ Passed 343ms
tests/responses-create-stream-failures.test.ts ✅ Passed 348ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 219ms
tests/responses-create-stream-wire.test.ts ✅ Passed 6.284s
tests/responses-create-stream.test.ts ✅ Passed 95ms
tests/responses-create-terminal-states.test.ts ✅ Passed 406ms
tests/responses-create-timeout.test.ts ✅ Passed 223ms
tests/responses-create.test.ts ✅ Passed 1.055s
tests/responses-delete.test.ts ✅ Passed 277ms
tests/responses-input-items-errors.test.ts ✅ Passed 290ms
tests/responses-input-items-list.test.ts ✅ Passed 349ms
tests/responses-input-items-options.test.ts ✅ Passed 473ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 213ms
tests/responses-input-tokens-count.test.ts ✅ Passed 397ms
tests/responses-malformed-inputs.test.ts ✅ Passed 4.865s
tests/responses-not-found-errors.test.ts ✅ Passed 412ms
tests/responses-parse.test.ts ✅ Passed 669ms
tests/responses-retrieve-retries.test.ts ✅ Passed 299ms
tests/responses-retrieve.test.ts ✅ Passed 277ms
tests/responses-stored-method-errors.test.ts ✅ Passed 1.188s
tests/retry-behavior.test.ts ✅ Passed 3.494s
tests/sdk-error-shape.test.ts ✅ Passed 370ms

View OkTest run #35945197474

SDK merge (5e5b2c5878a4) · head (80f0332fef52) · base (132f0959016b) · OkTest (b85ab863eaa0)

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

87 mixed files remain; 0 existing customizations changed.

Compared 132f0959016b → 80f0332fef52. Generated baselines verified.

87 existing customizations unchanged
  • openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuth.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthCreateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthRotateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionMessageFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionToolMessageParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/Embedding.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/EmbeddingCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionWebSearch.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseTextConfig.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/UnwrapWebhookEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/WebhookEndpointWithSecret.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ImageServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/SkillServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/VideoServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/audio/TranscriptionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/beta/agents/SessionServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/beta/agents/SessionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/chat/ChatCompletionServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/finetuning/checkpoints/PermissionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/skills/VersionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseServiceImpl.kt

47 more in the full report.

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 35945223757 --repo openai/openai-java \
  --name castiron-custom-code-35945223757-1 --dir /tmp/castiron-custom-code-35945223757-1
git apply --stat /tmp/castiron-custom-code-35945223757-1/custom-code.patch
cat /tmp/castiron-custom-code-35945223757-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin 132f0959016b9c680abc273407dfe7d85ca27081 80f0332fef52ef171e4b78a950ffee4cf97e5746
python3 scripts/castiron/custom_code_report.py report \
  --base 132f0959016b9c680abc273407dfe7d85ca27081 \
  --head 80f0332fef52ef171e4b78a950ffee4cf97e5746 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-80f0332fef52
cat /tmp/castiron-custom-code-80f0332fef52/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

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete diff from 56ee772 to 9d87952. No blocking findings.

The only schema changes add type: array to RealtimeSession.modalities and RealtimeSessionCreateRequest.modalities. Existing item enums and optionality are preserved; no Java/Kotlin source, exported types, or method signatures changed.

Validation: parsed the full pinned base/head schemas and confirmed exactly those two key additions; the transformed-schema MD5 matches generation metadata; 20 independent positive/negative JSON Schema cases passed. The separate transcription-session schema is unchanged from the base. Exact-head hosted build/tests/lint, API and Jackson compatibility, Java 8/25 runtime compatibility, and Castiron baseline/budget checks passed. The separate OkTest run is still in progress at review time.

No live API calls or local Gradle suite were run.

@markstuart-oai
markstuart-oai added this pull request to the merge queue Sep 23, 2026
@markstuart-oai

Copy link
Copy Markdown
Contributor Author

Thanks @jbeckwith-oai for the independent Java review and schema checks. The reviewed head remains 9d87952edde4c2a54f38e373d49235ebd43e7446; no Java/Kotlin source or signature changes have been added. Your distinction between the passing compatibility matrix and the separately running OkTest is preserved; the latter is not being claimed as a completed result here.

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the additional approval. The reviewed head remains 9d87952edde4c2a54f38e373d49235ebd43e7446. The latest follow-through check still shows the separate compatibility run in progress (building its SDK test images), and GitHub now reports a merge conflict. Neither the earlier green checks nor the approvals are being treated as clearing those two remaining gates. No source or generated metadata has been changed in this reconciliation pass.

@markstuart-oai
markstuart-oai force-pushed the castiron/promotions/pr-146 branch from 9d87952 to a5ab1bb Compare September 24, 2026 01:27

markstuart-oai commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor Author

The merge conflict is repaired at a5ab1bbc0bbe2ec66c0ef975a6144a23db06923d, against actual main tip 697c9d0d47e1ff49ff73f087f786a1d4c9f205ef. The existing approvals are appreciated; they reviewed the previous public head.

The complete updated diff still contains only the two Realtime type: array annotations and generation metadata. No Java/Kotlin source, exported types, method signatures, tests, or build files differ from current main. The intervening web-search documentation and streaming-lifetime fix are preserved byte-for-byte. GitHub now reports the PR mergeable.

Validation: 112 public/transformed before-and-after schema checks pass. Local Gradle consumer/probe verification passes, including the existing concrete generic return types; compilation tasks were validated as up-to-date and the runtime fixture reran successfully for omission, empty/text/text+audio arrays, and stream options.

The new public CI run, new OkTest run, and automated reviews are still pending. The older 236/236 OkTest pass is not being counted as a pass for this new head. No merge or release was performed.

Castiron-Internal-PR: openai/openai-java-internal#146
Castiron-Source-SHA: 1a9678d8795890194d6c416277517e9477d15afd
Castiron-Public-Base-SHA: 132f095
@markstuart-oai
markstuart-oai force-pushed the castiron/promotions/pr-146 branch from a5ab1bb to 80f0332 Compare September 24, 2026 01:57

markstuart-oai commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor Author

Thanks @dpiet-oai for reviewing the updated head. The merge conflict is resolved at 80f0332; GitHub reports this PR mergeable against current main.

The diff remains limited to the two Realtime array annotations and generation metadata. No Java/Kotlin source, public types, or method signatures differ from main; the changes from #1072 are preserved.

All 112 schema checks and local Java consumer checks pass. The new CI run and compatibility run are still running.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 80f0332fef

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread api_reference/openapi.transformed.yml
@markstuart-oai
markstuart-oai added this pull request to the merge queue Sep 24, 2026
Merged via the queue into main with commit 66acb5d Sep 24, 2026
14 checks passed
@openai-sdks openai-sdks Bot mentioned this pull request Sep 24, 2026
dpiet-oai pushed a commit to sylvesterkaczmarek/openai-java that referenced this pull request Sep 24, 2026
Automated Release PR
---


##
[4.69.1](openai/openai-java@v4.69.0...v4.69.1)
(2026-09-24)


### Bug Fixes

* buffer streamed tool arguments per tool
([openai#1070](openai#1070))
([56ee772](openai@56ee772))
* **ci:** restrict legacy release guard to same-repository PRs
([openai#1058](openai#1058))
([55de0fe](openai@55de0fe))
* complete asynchronous pagers when first-page handling fails
([openai#1050](openai#1050))
([bd5e5d2](openai@bd5e5d2))
* disable compression for default WebSocket connections
([openai#1049](openai#1049))
([8f7972a](openai@8f7972a))
* match header hashing to case-insensitive equality
([openai#1052](openai#1052))
([82440c9](openai@82440c9))
* remove the unused asynchronous thread-owned lock helper
([openai#1072](openai#1072))
([132f095](openai@132f095))
* retain response ownership while consuming a stream
([openai#1073](openai#1073))
([697c9d0](openai@697c9d0))


### Chores

* **api:** clarify approximate web search location defaults
([openai#1071](openai#1071))
([39a920a](openai@39a920a))
* **api:** clarify Realtime modality array definitions
([openai#1074](openai#1074))
([66acb5d](openai@66acb5d))
* **api:** correct fine-tuning bounds and Realtime response reference
([openai#1068](openai#1068))
([aa75cc5](openai@aa75cc5))


### Documentation

* clarify collaborator-only pull request policy
([openai#1066](openai#1066))
([c9f222f](openai@c9f222f))

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

3 participants