Skip to content

feat(api): add custom voices and agent session webhook events - #1135

Merged
markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-208
Oct 2, 2026
Merged

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

Conversation

@markstuart-oai

Copy link
Copy Markdown
Contributor

Summary

Adds voice creation to blocking and asynchronous clients, plus agent session webhook models. Removes ULTRAFAST from beta agent and session service tiers.

Changes

  • Add VoiceCreateParams with AudioSample and Prompt body builders
  • Add created, in_progress, idle, failed, and action_required agent session webhook models
  • Default the new UnwrapWebhookEvent visitor methods to the existing unknown handler
  • Expose inputCacheWrite12hTokens on organization usage results
  • Remove the ULTRAFAST constants from beta agent and session create and update parameters
  • Document image variations retirement, model deprecations, and the Live-only use of prompt-created voices

@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

Mixed files: 93 → 94

1 newly customized · 0 customizations removed · 0 existing customizations changed · 11 generated baselines changed

Compared ef6d7ec0aff7 → bda9db40e233. Generated baselines verified.

File Result Current custom patch
openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt Generated baseline changed +2 / −3
openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseStreamEvent.kt Generated baseline changed +2 / −0
openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesServerEvent.kt Generated baseline changed +2 / −0
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseStreamEvent.kt Generated baseline changed +2 / −0
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponsesServerEvent.kt Generated baseline changed +2 / −0
openai-java-core/src/main/kotlin/com/openai/models/webhooks/UnwrapWebhookEvent.kt Generated baseline changed +11 / −7
openai-java-core/src/main/kotlin/com/openai/services/async/ImageServiceAsyncImpl.kt Generated baseline changed +9 / −6
openai-java-core/src/main/kotlin/com/openai/services/async/audio/VoiceServiceAsyncImpl.kt Newly customized +3 / −2
openai-java-core/src/test/kotlin/com/openai/services/async/ImageServiceAsyncTest.kt Generated baseline changed +3 / −0
openai-java-core/src/test/kotlin/com/openai/services/async/WebhookServiceAsyncTest.kt Generated baseline changed +58 / −6
openai-java-core/src/test/kotlin/com/openai/services/blocking/ImageServiceTest.kt Generated baseline changed +3 / −0
openai-java-core/src/test/kotlin/com/openai/services/blocking/WebhookServiceTest.kt Generated baseline changed +69 / −6
82 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/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/Response.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/ResponseTextConfig.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.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/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/audio/TranslationServiceAsyncImpl.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
  • 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/audio/TranslationServiceImpl.kt

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

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

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

@markstuart-oai markstuart-oai changed the title feat(api)!: add custom voices and agent session webhook events feat(api): add custom voices and agent session webhook events Oct 2, 2026
@markstuart-oai
markstuart-oai force-pushed the castiron/promotions/pr-208 branch from 5019618 to f55126d Compare October 2, 2026 04:08
@markstuart-oai
markstuart-oai marked this pull request as ready for review October 2, 2026 04:27
@markstuart-oai
markstuart-oai requested a review from a team as a code owner October 2, 2026 04:27
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 2, 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-02T06:12:04.497856Z bda9db4 New commits
🔒 Security Review ✅ Completed 2026-10-02T06:12:28.102678Z bda9db4 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 Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

OkTest Summary

✅ 236/236 SDK tests passed in 15.555s for Java SDK PR #1135.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 337ms
tests/chat-completions-create.test.ts ✅ Passed 559ms
tests/chat-completions-stream.test.ts ✅ Passed 489ms
tests/files-content-binary.test.ts ✅ Passed 196ms
tests/files-create-multipart.test.ts ✅ Passed 270ms
tests/files-list-pagination.test.ts ✅ Passed 211ms
tests/initialize-config.test.ts ✅ Passed 157ms
tests/instance-isolation.test.ts ✅ Passed 126ms
tests/models-list.test.ts ✅ Passed 305ms
tests/responses-background-lifecycle.test.ts ✅ Passed 199ms
tests/responses-body-method-errors.test.ts ✅ Passed 542ms
tests/responses-cancel-timeout.test.ts ✅ Passed 200ms
tests/responses-cancel.test.ts ✅ Passed 207ms
tests/responses-compact-retries.test.ts ✅ Passed 340ms
tests/responses-compact.test.ts ✅ Passed 207ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 193ms
tests/responses-create-advanced.test.ts ✅ Passed 1.306s
tests/responses-create-disconnect.test.ts ✅ Passed 1.068s
tests/responses-create-errors.test.ts ✅ Passed 321ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 210ms
tests/responses-create-retries.test.ts ✅ Passed 232ms
tests/responses-create-stream-failures.test.ts ✅ Passed 1.302s
tests/responses-create-stream-timeout.test.ts ✅ Passed 214ms
tests/responses-create-stream-wire.test.ts ✅ Passed 6.034s
tests/responses-create-stream.test.ts ✅ Passed 252ms
tests/responses-create-terminal-states.test.ts ✅ Passed 485ms
tests/responses-create-timeout.test.ts ✅ Passed 253ms
tests/responses-create.test.ts ✅ Passed 354ms
tests/responses-delete.test.ts ✅ Passed 254ms
tests/responses-input-items-errors.test.ts ✅ Passed 275ms
tests/responses-input-items-list.test.ts ✅ Passed 343ms
tests/responses-input-items-options.test.ts ✅ Passed 146ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 225ms
tests/responses-input-tokens-count.test.ts ✅ Passed 242ms
tests/responses-malformed-inputs.test.ts ✅ Passed 4.981s
tests/responses-not-found-errors.test.ts ✅ Passed 390ms
tests/responses-parse.test.ts ✅ Passed 583ms
tests/responses-retrieve-retries.test.ts ✅ Passed 211ms
tests/responses-retrieve.test.ts ✅ Passed 274ms
tests/responses-stored-method-errors.test.ts ✅ Passed 906ms
tests/retry-behavior.test.ts ✅ Passed 3.268s
tests/sdk-error-shape.test.ts ✅ Passed 505ms

View OkTest run #36972150024

SDK merge (915ea08414ab) · head (bda9db40e233) · base (ef6d7ec0aff7) · OkTest (92ff272954a1)

@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 f55126d5 across the voice union and sync/async services, all five agent-session webhook models/dispatch, usage fields, visitor compatibility, beta tier cleanup, and deprecations. No blocking findings.

Focused offline compilation and 64 existing model/union tests passed with Jackson 2.14.0 and 2.18.9. Synthetic multipart and webhook wire probes passed; a mutated event discriminator was caught by the existing roundtrip test. Hosted Java build/tests/API compatibility/runtime matrices are green. Local focused compilation used cached unchanged core helpers, not a full Gradle build or live service calls.

@markstuart-oai
markstuart-oai added this pull request to the merge queue Oct 2, 2026
@markstuart-oai
markstuart-oai removed this pull request from the merge queue due to a manual request Oct 2, 2026
Castiron-Internal-PR: openai/openai-java-internal#208
Castiron-Source-SHA: 593348302828ebca4f85c39c13d16b870ab457e9
Castiron-Public-Base-SHA: ef6d7ec
@markstuart-oai
markstuart-oai force-pushed the castiron/promotions/pr-208 branch from f55126d to bda9db4 Compare October 2, 2026 06:08
@markstuart-oai
markstuart-oai added this pull request to the merge queue Oct 2, 2026
Merged via the queue into main with commit 6a92077 Oct 2, 2026
14 checks passed
@openai-sdks openai-sdks Bot mentioned this pull request Oct 2, 2026
sylvesterkaczmarek pushed a commit to sylvesterkaczmarek/openai-java that referenced this pull request Oct 5, 2026
Automated Release PR
---


##
[4.76.0](openai/openai-java@v4.75.1...v4.76.0)
(2026-10-04)


### Features

* **api:** add custom voices and agent session webhook events
([openai#1135](openai#1135))
([6a92077](openai@6a92077))

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