fix: update ActionSearchSource type to support specialized API sources #2742
+14
−8
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
Fixes #2736
This PR updates the
ActionSearchSourcetype definition to match the actual API response structure when using specialized OpenAI APIs (weather, sports, finance).Problem
The current type definition only supports
type: Literal["url"]and requires bothtypeandurlfields, but the actual API returns responses like:This causes type checking failures and forces developers to use
# type: ignoreor create custom type definitions.Solution
Updated both
ActionSearchSourcedefinitions (BaseModel and TypedDict versions) to:typefromLiteral["url"]toLiteral["url", "api"]strtoOptional[str] = None(present only whentype='url')Optional[str]for specialized API identifiers (e.g.,'oai-weather','oai-sports','oai-finance')Files Changed
src/openai/types/responses/response_function_web_search.py(BaseModel version)src/openai/types/responses/response_function_web_search_param.py(TypedDict version)Testing
While I don't have access to test against the actual specialized APIs, the type changes are:
Additional Context
This aligns with the documentation mentioning specialized domains labeled as
oai-sports,oai-weather, oroai-finance.