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
Adds native structured-output recognition for the official GPT-5.6 API model family:
gpt-5.6 (Sol alias)
gpt-5.6-sol
gpt-5.6-terra
gpt-5.6-luna
Without these entries, StructuredModeResolver silently falls back to JSON mode, so Prism sends json_object instead of json_schema and ignores schema.strict.
OpenAI documents Structured Outputs support for each GPT-5.6 model:
For context from a downstream fork — Particle-Academy/prism already covers this, via prefix matching in StructuredModeResolver rather than an exact-match list. It matches on the gpt-5 family prefix, so gpt-5.6 and the -sol / -terra / -luna variants already resolve to structured mode (sending json_schema with strict) without per-model entries — that's effectively the broader #991 approach this PR intentionally avoids.
Sharing in case it helps the narrow-vs-broad trade-off discussion: the prefix approach is zero-maintenance for new gpt-5.x snapshots, at the cost of assuming every future gpt-5.* supports structured output (which holds for the GPT-5.6 family per OpenAI's docs). The explicit list here is the safer, more deliberate side of that trade-off.
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.
Description
Adds native structured-output recognition for the official GPT-5.6 API model family:
gpt-5.6(Sol alias)gpt-5.6-solgpt-5.6-terragpt-5.6-lunaWithout these entries,
StructuredModeResolversilently falls back to JSON mode, so Prism sendsjson_objectinstead ofjson_schemaand ignoresschema.strict.OpenAI documents Structured Outputs support for each GPT-5.6 model:
The regression test covers all four identifiers and asserts Prism sends
json_schemawithstrict: true.This is intentionally narrower than #991, which proposes broader prefix matching for versioned model names.
Breaking Changes
None.
Test plan
vendor/bin/pest tests/Providers/OpenAI/StructuredTest.phpvendor/bin/pest(1467 passed, 8 skipped)vendor/bin/phpstan analyse --memory-limit=512M