11from __future__ import annotations
22
33import json
4- from typing import TYPE_CHECKING , Any , List , Iterable , cast
4+ from typing import TYPE_CHECKING , List , Iterable , cast
55from typing_extensions import TypeVar , assert_never
66
77import pydantic
1212from ..._compat import PYDANTIC_V1 , model_parse_json
1313from ..._models import construct_type_unchecked
1414from .._pydantic import is_basemodel_type , is_dataclass_like_type
15- from ._completions import solve_response_format_t , type_to_response_format_param
15+ from ._completions import type_to_response_format_param
1616from ...types .responses import (
1717 Response ,
1818 ToolParam ,
@@ -56,7 +56,6 @@ def parse_response(
5656 input_tools : Iterable [ToolParam ] | Omit | None ,
5757 response : Response | ParsedResponse [object ],
5858) -> ParsedResponse [TextFormatT ]:
59- solved_t = solve_response_format_t (text_format )
6059 output_list : List [ParsedResponseOutputItem [TextFormatT ]] = []
6160
6261 for output in response .output :
@@ -69,7 +68,7 @@ def parse_response(
6968
7069 content_list .append (
7170 construct_type_unchecked (
72- type_ = cast ( Any , ParsedResponseOutputText )[ solved_t ],
71+ type_ = ParsedResponseOutputText [ TextFormatT ],
7372 value = {
7473 ** item .to_dict (),
7574 "parsed" : parse_text (item .text , text_format = text_format ),
@@ -79,7 +78,7 @@ def parse_response(
7978
8079 output_list .append (
8180 construct_type_unchecked (
82- type_ = cast ( Any , ParsedResponseOutputMessage )[ solved_t ],
81+ type_ = ParsedResponseOutputMessage [ TextFormatT ],
8382 value = {
8483 ** output .to_dict (),
8584 "content" : content_list ,
@@ -123,15 +122,12 @@ def parse_response(
123122 else :
124123 output_list .append (output )
125124
126- return cast (
127- ParsedResponse [TextFormatT ],
128- construct_type_unchecked (
129- type_ = cast (Any , ParsedResponse )[solved_t ],
130- value = {
131- ** response .to_dict (),
132- "output" : output_list ,
133- },
134- ),
125+ return construct_type_unchecked (
126+ type_ = ParsedResponse [TextFormatT ],
127+ value = {
128+ ** response .to_dict (),
129+ "output" : output_list ,
130+ },
135131 )
136132
137133
0 commit comments