Skip to content

feat(api): Add Live API - #991

Merged
apcha-oai merged 1 commit into
mainfrom
castiron/promotions/pr-69
Sep 10, 2026
Merged

feat(api): Add Live API#991
apcha-oai merged 1 commit into
mainfrom
castiron/promotions/pr-69

Conversation

@apcha-oai

Copy link
Copy Markdown
Contributor
  • Add Live API endpoints.

Castiron-Internal-PR: openai/openai-java-internal#69
Castiron-Source-SHA: 8e1f45598e7d6ee25dc49a97ac4dc6d5aeb250a3
Castiron-Public-Base-SHA: 46bf1c1
@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

Mixed files: 55 → 62

7 newly customized · 0 customizations removed · 1 existing customizations changed · 2 generated baselines changed

Compared 46bf1c16c398ee0c846b55f5. Generated baselines verified.

File Result Current custom patch
openai-java-core/src/main/kotlin/com/openai/models/embeddings/Embedding.kt Existing customization changed +53 / −17
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt Generated baseline changed +9 / −0
openai-java-core/src/test/kotlin/com/openai/models/live/ClientEventTest.kt Newly customized +8 / −2
openai-java-core/src/test/kotlin/com/openai/models/live/ServerEventTest.kt Newly customized +12 / −6
openai-java-core/src/test/kotlin/com/openai/models/live/SessionClosedEventTest.kt Newly customized +11 / −3
openai-java-core/src/test/kotlin/com/openai/models/live/SessionStartEventTest.kt Newly customized +15 / −3
openai-java-core/src/test/kotlin/com/openai/models/live/SessionStartedEventTest.kt Newly customized +11 / −3
openai-java-core/src/test/kotlin/com/openai/models/live/SessionUpdatedEventTest.kt Newly customized +11 / −3
openai-java-core/src/test/kotlin/com/openai/models/live/forks/ForkServerEventTest.kt Newly customized +13 / −6
scripts/castiron/test_custom_code_report.py Generated baseline changed +421 / −55
52 existing customizations unchanged
  • openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.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/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/ResponseTextConfig.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.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/ResponseServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsyncImpl.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/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/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
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/audio/TranscriptionServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/chat/ChatCompletionService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/finetuning/checkpoints/PermissionServiceImpl.kt
  • openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionWebSearchTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponsesServerEventTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionWebSearchTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/responses/ResponsesServerEventTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/CompletionServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/ImageServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/ResponseServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/WebhookServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/audio/TranscriptionServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/ResponseServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/ThreadServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/threads/RunServiceAsyncTest.kt

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

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

git fetch --no-tags origin 46bf1c16c3981504b1685bc3c266ec3423a83761 ee0c846b55f549920732abfbac568228874e0a26
python3 scripts/castiron/custom_code_report.py report \
  --base 46bf1c16c3981504b1685bc3c266ec3423a83761 \
  --head ee0c846b55f549920732abfbac568228874e0a26 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-ee0c846b55f5
cat /tmp/castiron-custom-code-ee0c846b55f5/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

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

chatgpt-codex-connector Bot commented Sep 10, 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-10T17:25:43.898673Z ee0c846 Draft marked ready
🔒 Security Review Completed 2026-09-10T17:24:05.538018Z ee0c846 Draft marked ready
ℹ️ 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 10, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

236/236 SDK tests passed in 11.619s for Java SDK PR #991.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 284ms
tests/chat-completions-create.test.ts ✅ Passed 606ms
tests/chat-completions-stream.test.ts ✅ Passed 243ms
tests/files-content-binary.test.ts ✅ Passed 216ms
tests/files-create-multipart.test.ts ✅ Passed 280ms
tests/files-list-pagination.test.ts ✅ Passed 216ms
tests/initialize-config.test.ts ✅ Passed 117ms
tests/instance-isolation.test.ts ✅ Passed 105ms
tests/models-list.test.ts ✅ Passed 197ms
tests/responses-background-lifecycle.test.ts ✅ Passed 116ms
tests/responses-body-method-errors.test.ts ✅ Passed 436ms
tests/responses-cancel-timeout.test.ts ✅ Passed 181ms
tests/responses-cancel.test.ts ✅ Passed 216ms
tests/responses-compact-retries.test.ts ✅ Passed 179ms
tests/responses-compact.test.ts ✅ Passed 217ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 448ms
tests/responses-create-advanced.test.ts ✅ Passed 646ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.055s
tests/responses-create-errors.test.ts ✅ Passed 286ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 313ms
tests/responses-create-retries.test.ts ✅ Passed 186ms
tests/responses-create-stream-failures.test.ts ✅ Passed 171ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 183ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.972s
tests/responses-create-stream.test.ts ✅ Passed 259ms
tests/responses-create-terminal-states.test.ts ✅ Passed 262ms
tests/responses-create-timeout.test.ts ✅ Passed 191ms
tests/responses-create.test.ts ✅ Passed 425ms
tests/responses-delete.test.ts ✅ Passed 224ms
tests/responses-input-items-errors.test.ts ✅ Passed 268ms
tests/responses-input-items-list.test.ts ✅ Passed 220ms
tests/responses-input-items-options.test.ts ✅ Passed 117ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 173ms
tests/responses-input-tokens-count.test.ts ✅ Passed 249ms
tests/responses-malformed-inputs.test.ts ✅ Passed 3.144s
tests/responses-not-found-errors.test.ts ✅ Passed 279ms
tests/responses-parse.test.ts ✅ Passed 426ms
tests/responses-retrieve-retries.test.ts ✅ Passed 230ms
tests/responses-retrieve.test.ts ✅ Passed 189ms
tests/responses-stored-method-errors.test.ts ✅ Passed 971ms
tests/retry-behavior.test.ts ✅ Passed 3.109s
tests/sdk-error-shape.test.ts ✅ Passed 373ms

View OkTest run #34507335589

SDK merge (eefe58efd24a) · head (ee0c846b55f5) · base (46bf1c16c398) · OkTest (08ec4299e769)

@apcha-oai apcha-oai changed the title feat(api) Add Live API feat(api): Add Live API Sep 10, 2026
@apcha-oai
apcha-oai merged commit b638bac into main Sep 10, 2026
17 checks passed
@openai-sdks openai-sdks Bot mentioned this pull request Sep 10, 2026
apcha-oai pushed a commit that referenced this pull request Sep 10, 2026
Automated Release PR
---


##
[4.62.0](v4.61.0...v4.62.0)
(2026-09-10)


### Features

* **api:** Add Live API
([#991](#991))
([b638bac](b638bac))


### Bug Fixes

* clamp negative Retry-After delays before sleeping
([#855](#855))
([0f9fe12](0f9fe12))


### Chores

* raise custom-code budget to 3,000 lines
([#989](#989))
([46bf1c1](46bf1c1))

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

@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: ee0c846b55

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

.method(HttpMethod.GET)
.baseUrl(clientOptions.baseUrl())
.addPathSegments("live", "sessions", params._pathParam(0), "content")
.putHeader("Accept", "application/binary")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Request the advertised WAV media type

When the recording endpoint performs standard content negotiation, this header says the client only accepts application/binary, while the added OpenAPI response advertises only audio/wav (api_reference/openapi.transformed.yml:22780-22785); a conforming server can therefore return 406 instead of the recording. The async implementation repeats the same header at SessionServiceAsyncImpl.kt:142, so update the authoritative binary-response generation mapping to emit Accept: audio/wav in both clients.

AGENTS.md reference: AGENTS.md:L5-L8

Useful? React with 👍 / 👎.

* @throws OpenAIInvalidDataException if the JSON field has an unexpected type or is
* unexpectedly missing or null (e.g. if the server responded with an unexpected value).
*/
fun event(): Event = event.getRequired("event")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reuse the typed Responses stream-event union

When a Responses-backed Live delegation emits events such as response.output_text.delta, this accessor returns an opaque ResponseEvent.Event whose only usable payload is _additionalProperties(), even though the SDK already exposes ResponseStreamEvent with typed discriminator dispatch and an unknown-event fallback. Callers otherwise have to reimplement JSON dispatch for every nested event, so define the authoritative event schema as the existing Responses stream-event union and regenerate this field and its tests.

AGENTS.md reference: AGENTS.md:L5-L8

Useful? React with 👍 / 👎.

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.

1 participant