diff --git a/google/genai/_interactions/types/step_delta.py b/google/genai/_interactions/types/step_delta.py index f87e117d2..5d3f65cb0 100644 --- a/google/genai/_interactions/types/step_delta.py +++ b/google/genai/_interactions/types/step_delta.py @@ -57,6 +57,8 @@ "DeltaMCPServerToolResultResultFunctionResultSubcontentList", "DeltaFileSearchResult", "DeltaGoogleMapsResult", + "DeltaFunctionResult", + "DeltaFunctionResultResultFunctionResultSubcontentList", ] @@ -179,6 +181,8 @@ class DeltaTextAnnotationDelta(BaseModel): class DeltaArgumentsDelta(BaseModel): type: Literal["arguments_delta"] + arguments: Optional[str] = None + class DeltaCodeExecutionCall(BaseModel): arguments: CodeExecutionCallArguments @@ -310,6 +314,24 @@ class DeltaGoogleMapsResult(BaseModel): """A signature hash for backend validation.""" +DeltaFunctionResultResultFunctionResultSubcontentList: TypeAlias = Annotated[ + Union[TextContent, ImageContent], PropertyInfo(discriminator="type") +] + + +class DeltaFunctionResult(BaseModel): + call_id: str + """Required. ID to match the ID from the function call block.""" + + result: Union[List[DeltaFunctionResultResultFunctionResultSubcontentList], str, object] + + type: Literal["function_result"] + + is_error: Optional[bool] = None + + name: Optional[str] = None + + Delta: TypeAlias = Annotated[ Union[ DeltaText, @@ -333,6 +355,7 @@ class DeltaGoogleMapsResult(BaseModel): DeltaMCPServerToolResult, DeltaFileSearchResult, DeltaGoogleMapsResult, + DeltaFunctionResult, ], PropertyInfo(discriminator="type"), ]