feat(api): make function call output call IDs optional - #140
Conversation
Castiron-Internal-PR: openai/openai-cli-internal#45 Castiron-Source-SHA: 05f70a6025ab31fe3e2d66f291594941869f94af Castiron-Public-Base-SHA: f529fc2
There was a problem hiding this comment.
Pull request overview
Updates the bundled OpenAPI schema used by the CLI’s api_reference/ module to reflect an API contract change: call_id is no longer required for function tool call output objects (stable + beta), and request-side “output item” inputs may explicitly send call_id: null.
Changes:
- Remove
call_idfrom therequiredlist for stableFunctionToolCallOutputand betaBetaFunctionToolCallOutput. - Update stable/beta
*FunctionCallOutputItemParamschemas socall_idis optional and acceptsstring | null. - Refresh Castiron generation metadata/hashes to match the updated transformed schema.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| api_reference/openapi.transformed.yml | Adjusts stable/beta function call output schemas to make call_id optional; input params also accept null. |
| .castiron.stats.yml | Updates generation IDs and spec/codegen hashes for the regenerated schema bundle. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Castiron custom code✅ No new custom-code files detected. 5 mixed files remain; 0 existing customizations changed. Compared 5 existing customizations unchanged
A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 33022497220 --repo openai/openai-cli \
--name castiron-custom-code-33022497220-1 --dir /tmp/castiron-custom-code-33022497220-1
git apply --stat /tmp/castiron-custom-code-33022497220-1/custom-code.patch
cat /tmp/castiron-custom-code-33022497220-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin f529fc24b5607967e645f42eb547a0fa94ca8ff7 a299c58901dea38e646557ec67a531a59b2268b7
python3 scripts/castiron/custom_code_report.py report \
--base f529fc24b5607967e645f42eb547a0fa94ca8ff7 \
--head a299c58901dea38e646557ec67a531a59b2268b7 --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-a299c58901de
cat /tmp/castiron-custom-code-a299c58901de/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Verified this change only updates the transformed stable/beta OpenAPI schemas and Castiron generation metadata; optional response IDs and optional/nullable input IDs match the canonical API contract, with no CLI command/runtime compatibility changes. Looks good.
Automated Release PR --- ## [1.10.0](openai/openai-cli@v1.9.0...v1.10.0) (2026-09-02) ### Features * **api:** add compute_units to Responses and Chat Completions usage ([openai#142](openai#142)) ([fe626c6](openai@fe626c6)) * **api:** make function call output call IDs optional ([openai#140](openai#140)) ([0cb94ba](openai@0cb94ba)) * **api:** update usage APIs and documentation ([openai#147](openai#147)) ([f0c1afd](openai@f0c1afd)) ### Chores * **deps:** bump the codeql group across 1 directory with 2 updates ([openai#145](openai#145)) ([5933dd5](openai@5933dd5)) * **deps:** update openai-go to v3.54.0 ([openai#139](openai#139)) ([23ade14](openai@23ade14)) ### Documentation * add canonical CLI security model ([openai#146](openai#146)) ([682a6e8](openai@682a6e8)) --- 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>
Summary
Update the bundled API schema so
call_idis optional in stable and beta function call output inputs and responses; input values also acceptnull.