@@ -135,7 +135,8 @@ async def request(
135
135
async with self ._make_request (
136
136
messages , False , cast (GeminiModelSettings , model_settings or {}), model_request_parameters
137
137
) as http_response :
138
- response = _gemini_response_ta .validate_json (await http_response .aread ())
138
+ data = await http_response .aread ()
139
+ response = _gemini_response_ta .validate_json (data )
139
140
return self ._process_response (response ), _metadata_as_usage (response )
140
141
141
142
@asynccontextmanager
@@ -640,10 +641,7 @@ class _GeminiFunction(TypedDict):
640
641
641
642
def _function_from_abstract_tool (tool : ToolDefinition ) -> _GeminiFunction :
642
643
json_schema = _GeminiJsonSchema (tool .parameters_json_schema ).simplify ()
643
- f = _GeminiFunction (
644
- name = tool .name ,
645
- description = tool .description ,
646
- )
644
+ f = _GeminiFunction (name = tool .name , description = tool .description )
647
645
if json_schema .get ('properties' ):
648
646
f ['parameters' ] = json_schema
649
647
return f
@@ -770,6 +768,7 @@ def simplify(self) -> dict[str, Any]:
770
768
def _simplify (self , schema : dict [str , Any ], refs_stack : tuple [str , ...]) -> None :
771
769
schema .pop ('title' , None )
772
770
schema .pop ('default' , None )
771
+ schema .pop ('$schema' , None )
773
772
schema .pop ('exclusiveMaximum' , None )
774
773
schema .pop ('exclusiveMinimum' , None )
775
774
if ref := schema .pop ('$ref' , None ):
0 commit comments