Skip to content

feat(api): correct function argument completion event fields (openapi-545) - #3801

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

feat(api): correct function argument completion event fields (openapi-545)#3801
markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-82

Conversation

@markstuart-oai

Copy link
Copy Markdown
Contributor

Summary

Removes the name model field from response.function_call_arguments.done to match the API response.

Changes

  • Remove the name model field from stable and beta Responses function argument completion events.
  • Update code that accesses the removed field to read name from the function-call item matched by item_id.

Castiron-Internal-PR: openai/openai-python-internal#82
Castiron-Source-SHA: 0004bccd015a0c8c73534d7ac1cd74cf4801690b
Castiron-Public-Base-SHA: 88b4d43
@markstuart-oai
markstuart-oai marked this pull request as ready for review September 4, 2026 19:05
@markstuart-oai
markstuart-oai requested a review from a team as a code owner September 4, 2026 19:05
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 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-04T19:06:59.865104Z fae5fca Draft marked ready
🔒 Security Review Completed 2026-09-04T19:09:21.636317Z fae5fca 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.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

36 mixed files remain; 0 existing customizations changed.

Compared 88b4d4341af3fae5fca6e3cc. Generated baselines verified.

36 existing customizations unchanged
  • api.md
  • scripts/castiron/README.md
  • scripts/castiron/custom_code_report.py
  • scripts/castiron/test_custom_code_report.py
  • src/openai/init.py
  • src/openai/_client.py
  • src/openai/resources/audio/transcriptions.py
  • src/openai/resources/audio/translations.py
  • src/openai/resources/beta/beta.py
  • src/openai/resources/beta/responses/responses.py
  • src/openai/resources/beta/threads/runs/runs.py
  • src/openai/resources/beta/threads/threads.py
  • src/openai/resources/chat/completions/completions.py
  • src/openai/resources/embeddings.py
  • src/openai/resources/files.py
  • src/openai/resources/realtime/realtime.py
  • src/openai/resources/responses/responses.py
  • src/openai/resources/uploads/uploads.py
  • src/openai/resources/vector_stores/file_batches.py
  • src/openai/resources/vector_stores/files.py
  • src/openai/resources/videos.py
  • src/openai/resources/webhooks/init.py
  • src/openai/resources/webhooks/webhooks.py
  • src/openai/types/chat/init.py
  • src/openai/types/chat/chat_completion_message_tool_call.py
  • src/openai/types/fine_tuning/fine_tuning_job_integration.py
  • src/openai/types/responses/init.py
  • src/openai/types/responses/response.py
  • src/openai/types/responses/response_function_web_search.py
  • src/openai/types/responses/response_function_web_search_param.py
  • src/openai/types/responses/responses_client_event.py
  • src/openai/types/responses/responses_client_event_param.py
  • src/openai/types/responses/tool.py
  • src/openai/types/responses/tool_param.py
  • src/openai/types/webhooks/init.py
  • tests/api_resources/test_videos.py

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

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

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

@openai-sdks

openai-sdks Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

237/237 SDK tests passed in 9.476s for Python SDK PR #3801.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 183ms
tests/chat-completions-create.test.ts ✅ Passed 175ms
tests/chat-completions-stream.test.ts ✅ Passed 105ms
tests/files-content-binary.test.ts ✅ Passed 121ms
tests/files-create-multipart.test.ts ✅ Passed 248ms
tests/files-list-pagination.test.ts ✅ Passed 122ms
tests/initialize-config.test.ts ✅ Passed 148ms
tests/instance-isolation.test.ts ✅ Passed 122ms
tests/models-list.test.ts ✅ Passed 162ms
tests/responses-background-lifecycle.test.ts ✅ Passed 160ms
tests/responses-body-method-errors.test.ts ✅ Passed 286ms
tests/responses-cancel-timeout.test.ts ✅ Passed 193ms
tests/responses-cancel.test.ts ✅ Passed 189ms
tests/responses-compact-retries.test.ts ✅ Passed 251ms
tests/responses-compact.test.ts ✅ Passed 230ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 256ms
tests/responses-create-advanced.test.ts ✅ Passed 197ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.17s
tests/responses-create-errors.test.ts ✅ Passed 177ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 330ms
tests/responses-create-retries.test.ts ✅ Passed 243ms
tests/responses-create-stream-failures.test.ts ✅ Passed 104ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 219ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.109s
tests/responses-create-stream.test.ts ✅ Passed 64ms
tests/responses-create-terminal-states.test.ts ✅ Passed 180ms
tests/responses-create-timeout.test.ts ✅ Passed 211ms
tests/responses-create.test.ts ✅ Passed 260ms
tests/responses-delete.test.ts ✅ Passed 160ms
tests/responses-input-items-errors.test.ts ✅ Passed 235ms
tests/responses-input-items-list.test.ts ✅ Passed 314ms
tests/responses-input-items-options.test.ts ✅ Passed 260ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 217ms
tests/responses-input-tokens-count.test.ts ✅ Passed 167ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.156s
tests/responses-not-found-errors.test.ts ✅ Passed 225ms
tests/responses-parse.test.ts ✅ Passed 293ms
tests/responses-retrieve-retries.test.ts ✅ Passed 233ms
tests/responses-retrieve.test.ts ✅ Passed 159ms
tests/responses-stored-method-errors.test.ts ✅ Passed 466ms
tests/retry-behavior.test.ts ✅ Passed 3.198s
tests/sdk-error-shape.test.ts ✅ Passed 208ms

View OkTest run #33909353501

SDK merge (69e69464a9ff) · head (fae5fca6e3cc) · base (88b4d4341af3) · OkTest (2b1bdfd25e98)

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

This keeps the generated Python surface aligned with the actual wire contract: response.function_call_arguments.done no longer requires a name field the server does not promise, while item_id remains the stable correlation key for the owning function-call item. Applying the change to both stable and beta schemas avoids a subtle split where one parser would still reject a valid event. The scope looks correct and I don't see a blocker.

@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 exact head. The stable and beta Responses done-event models now match the corrected server contract, while function-call item names and Realtime models remain unchanged. The breaking-change check is the expected intentional field removal described in the PR; the remaining CI is green.

@markstuart-oai markstuart-oai changed the title feat(api): correct function argument completion event fields feat(api): correct function argument completion event fields (openapi-545) Sep 4, 2026
@markstuart-oai
markstuart-oai merged commit 2a98f6a into main Sep 4, 2026
29 of 30 checks passed
@markstuart-oai
markstuart-oai deleted the castiron/promotions/pr-82 branch September 4, 2026 21:05
@openai-sdks openai-sdks Bot mentioned this pull request Sep 4, 2026
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