Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/agents/models/openai_responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,12 @@ async def _fetch_response(
if response_format is not omit:
response_format["verbosity"] = model_settings.verbosity # type: ignore [index]
else:
response_format = {"verbosity": model_settings.verbosity}
# When no output_schema is present, `text` needs an explicit format object.
# Use the plain text format object with verbosity to produce a valid `text` payload.
response_format = {
"format": {"type": "text"},
"verbosity": model_settings.verbosity,
}

stream_param: Literal[True] | Omit = True if stream else omit

Expand Down Expand Up @@ -501,7 +506,7 @@ def _convert_tool(cls, tool: Tool) -> tuple[ToolParam, ResponseIncludable | None
}
includes = None
else:
raise UserError(f"Unknown tool type: {type(tool)}, tool")
raise UserError(f"Unknown tool type: {type(tool)} for tool {tool!r}")

return converted_tool, includes

Expand Down