Skip to content

fix(api): type plaintext audio responses - #731

Open
markstuart-oai wants to merge 1 commit into
mainfrom
castiron/promotions/pr-127
Open

markstuart-oai wants to merge 1 commit into
mainfrom
castiron/promotions/pr-127

Conversation

@markstuart-oai

Copy link
Copy Markdown
Contributor

Summary

Corrects the return types for plaintext audio transcription and translation responses.

Changes

  • Includes StringIO alongside JSON response models for text, SRT and VTT output.
  • Updates the audio example to handle both plaintext and JSON responses.
  • Documents plaintext, subtitle and speech audio formats while preserving JSON, streaming and binary audio behavior.

Castiron-Internal-PR: openai/openai-ruby-internal#127
Castiron-Source-SHA: 458b35618df3dbfdd336eb35f623e1bbba95d052
Castiron-Public-Base-SHA: 3343547
@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

Mixed files: 70 → 76

6 newly customized · 0 customizations removed · 0 existing customizations changed · 2 generated baselines changed

Compared 33435479c2d9f12f0e1b34dc. Generated baselines verified.

File Result Current custom patch
lib/openai/resources/audio/transcriptions.rb Generated baseline changed +1 / −1
lib/openai/resources/audio/translations.rb Newly customized +1 / −1
rbi/openai/resources/audio/transcriptions.rbi Generated baseline changed +1 / −1
rbi/openai/resources/audio/translations.rbi Newly customized +1 / −1
sig/openai/resources/audio/transcriptions.rbs Newly customized +1 / −1
sig/openai/resources/audio/translations.rbs Newly customized +1 / −1
70 existing customizations unchanged
  • lib/openai.rb
  • lib/openai/client.rb
  • lib/openai/models/audio/transcription_create_response.rb
  • lib/openai/models/beta/agents/vault_status_filter.rb
  • lib/openai/models/chat/chat_completion_message.rb
  • lib/openai/models/chat/chat_completion_message_function_tool_call.rb
  • lib/openai/models/chat/completion_create_params.rb
  • lib/openai/models/image_edit_completed_event.rb
  • lib/openai/models/image_edit_partial_image_event.rb
  • lib/openai/models/image_gen_completed_event.rb
  • lib/openai/models/image_gen_partial_image_event.rb
  • lib/openai/models/images_response.rb
  • lib/openai/models/response_format_json_schema.rb
  • lib/openai/models/responses/function_tool.rb
  • lib/openai/models/responses/response.rb
  • lib/openai/models/responses/response_create_params.rb
  • lib/openai/models/responses/response_format_text_config.rb
  • lib/openai/models/responses/response_format_text_json_schema_config.rb
  • lib/openai/models/responses/response_function_tool_call.rb
  • lib/openai/models/responses/response_function_web_search.rb
  • lib/openai/models/responses/response_output_text.rb
  • lib/openai/models/responses/tool.rb
  • lib/openai/models/webhooks/webhook_endpoint_with_secret.rb
  • lib/openai/resources/beta/agents/sessions.rb
  • lib/openai/resources/beta/threads.rb
  • lib/openai/resources/chat/completions.rb
  • lib/openai/resources/containers/files.rb
  • lib/openai/resources/files.rb
  • lib/openai/resources/responses.rb
  • lib/openai/resources/vector_stores/file_batches.rb
  • lib/openai/resources/vector_stores/files.rb
  • lib/openai/resources/webhooks.rb
  • rbi/openai/client.rbi
  • rbi/openai/models/beta/agents/vault_status_filter.rbi
  • rbi/openai/models/chat/chat_completion_message.rbi
  • rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi
  • rbi/openai/models/chat/completion_create_params.rbi
  • rbi/openai/models/image_edit_completed_event.rbi
  • rbi/openai/models/image_edit_partial_image_event.rbi
  • rbi/openai/models/image_gen_completed_event.rbi

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

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

git fetch --no-tags origin 33435479c2d98603b93c810183d314bc55cd1ee7 f12f0e1b34dce54fc4caaae4bae308309a4d3e7f
python3 scripts/castiron/custom_code_report.py report \
  --base 33435479c2d98603b93c810183d314bc55cd1ee7 \
  --head f12f0e1b34dce54fc4caaae4bae308309a4d3e7f --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-f12f0e1b34dc
cat /tmp/castiron-custom-code-f12f0e1b34dc/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 marked this pull request as ready for review September 21, 2026 02:05
@markstuart-oai
markstuart-oai requested a review from a team as a code owner September 21, 2026 02:05
@markstuart-oai

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 21, 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-21T02:07:43.905236Z f12f0e1 Manual request
🔒 Security Review Completed 2026-09-21T02:08:09.317133Z f12f0e1 Manual request
ℹ️ 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 21, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

236/236 SDK tests passed in 9.814s for Ruby SDK PR #731.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 187ms
tests/chat-completions-create.test.ts ✅ Passed 269ms
tests/chat-completions-stream.test.ts ✅ Passed 149ms
tests/files-content-binary.test.ts ✅ Passed 150ms
tests/files-create-multipart.test.ts ✅ Passed 181ms
tests/files-list-pagination.test.ts ✅ Passed 190ms
tests/initialize-config.test.ts ✅ Passed 95ms
tests/instance-isolation.test.ts ✅ Passed 172ms
tests/models-list.test.ts ✅ Passed 191ms
tests/responses-background-lifecycle.test.ts ✅ Passed 121ms
tests/responses-body-method-errors.test.ts ✅ Passed 436ms
tests/responses-cancel-timeout.test.ts ✅ Passed 264ms
tests/responses-cancel.test.ts ✅ Passed 269ms
tests/responses-compact-retries.test.ts ✅ Passed 259ms
tests/responses-compact.test.ts ✅ Passed 282ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 217ms
tests/responses-create-advanced.test.ts ✅ Passed 192ms
tests/responses-create-disconnect.test.ts ✅ Passed 158ms
tests/responses-create-errors.test.ts ✅ Passed 428ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 192ms
tests/responses-create-retries.test.ts ✅ Passed 163ms
tests/responses-create-stream-failures.test.ts ✅ Passed 148ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 231ms
tests/responses-create-stream-wire.test.ts ✅ Passed 2.246s
tests/responses-create-stream.test.ts ✅ Passed 180ms
tests/responses-create-terminal-states.test.ts ✅ Passed 312ms
tests/responses-create-timeout.test.ts ✅ Passed 275ms
tests/responses-create.test.ts ✅ Passed 191ms
tests/responses-delete.test.ts ✅ Passed 202ms
tests/responses-input-items-errors.test.ts ✅ Passed 185ms
tests/responses-input-items-list.test.ts ✅ Passed 217ms
tests/responses-input-items-options.test.ts ✅ Passed 121ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 284ms
tests/responses-input-tokens-count.test.ts ✅ Passed 234ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.398s
tests/responses-not-found-errors.test.ts ✅ Passed 340ms
tests/responses-parse.test.ts ✅ Passed 218ms
tests/responses-retrieve-retries.test.ts ✅ Passed 252ms
tests/responses-retrieve.test.ts ✅ Passed 244ms
tests/responses-stored-method-errors.test.ts ✅ Passed 806ms
tests/retry-behavior.test.ts ✅ Passed 3.375s
tests/sdk-error-shape.test.ts ✅ Passed 498ms

View OkTest run #35552993908

SDK merge (179fb59a10a6) · head (f12f0e1b34dc) · base (33435479c2d9) · OkTest (a0be4375e02d)

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: f12f0e1b34

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

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: f12f0e1b34

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

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