You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
use a supported OpenAI reasoning effort for openai/gpt-5.4 structured output calls
keep existing defaults for Codex and earlier GPT-5 variants
add a regression test that asserts the provider options passed to the AI SDK
Root cause
AISdkClient treated gpt-5.4 like older GPT-5 models and passed reasoningEffort: "minimal" to the OpenAI provider. gpt-5.4 rejects that value and only accepts none, low, medium, high, and xhigh, so structured output requests failed before the model call completed.
HUSKY=0 corepack pnpm exec vitest run --config vitest.esm.config.mjs dist/esm/tests/unit/aisdk-client-reasoning.test.js
Summary by cubic
Fix structured output failures on openai/gpt-5.4 by using a supported reasoning effort. Defaults to reasoningEffort: "low" for this model, keeping existing behavior for Codex and earlier GPT-5 variants.
Bug Fixes
Update model detection so openai/gpt-5.4 uses low reasoning effort (non-Codex), passing reasoningEffort: "low" and textVerbosity: "low" to OpenAI.
Add a regression test to assert provider options for openai/gpt-5.4 structured output calls.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
This PR is from an external contributor and must be approved by a stagehand team member with write access before CI can run.
Approving the latest commit mirrors it into an internal PR owned by the approver.
If new commits are pushed later, the internal PR stays open but is marked stale until someone approves the latest external commit and refreshes it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
openai/gpt-5.4structured output callsRoot cause
AISdkClienttreatedgpt-5.4like older GPT-5 models and passedreasoningEffort: "minimal"to the OpenAI provider.gpt-5.4rejects that value and only acceptsnone,low,medium,high, andxhigh, so structured output requests failed before the model call completed.Testing
HUSKY=0 corepack pnpm exec prettier --check lib/v3/llm/aisdk.ts tests/unit/aisdk-client-reasoning.test.tsHUSKY=0 corepack pnpm exec vitest run --config vitest.esm.config.mjs dist/esm/tests/unit/aisdk-client-reasoning.test.jsSummary by cubic
Fix structured output failures on
openai/gpt-5.4by using a supported reasoning effort. Defaults toreasoningEffort: "low"for this model, keeping existing behavior for Codex and earlier GPT-5 variants.openai/gpt-5.4uses low reasoning effort (non-Codex), passingreasoningEffort: "low"andtextVerbosity: "low"to OpenAI.openai/gpt-5.4structured output calls.Written for commit 5791761. Summary will update on new commits. Review in cubic