diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 69d7d12c09..b35fc8b3b4 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -10,7 +10,7 @@ on: - main env: - SPEAKEASY_VERSION: v2.952.4 + SPEAKEASY_VERSION: v2.955.0 jobs: mypy: diff --git a/google/genai/_gaos/credentials.py b/google/genai/_gaos/credentials.py index f132a9d5dd..e40a638aec 100644 --- a/google/genai/_gaos/credentials.py +++ b/google/genai/_gaos/credentials.py @@ -237,7 +237,7 @@ def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -268,7 +268,7 @@ def create( Accepts either a single location (e.g. \"header\") or an array of locations. :param trusted_domains: Optional. List of domains allowed to receive this environment variable value in HTTP requests. - :param type: + :param type_: :param value: Required. Input only. Secret value of the environment variable. Write-only; never returned in responses. :param extra_headers: Additional headers to set or replace on requests. @@ -301,7 +301,7 @@ def create( :param prefix: Optional. Prefix to prepend to the token. Defaults to 'Bearer'. Set to '' for no prefix. :param token: Required. Input only. The static bearer token. Write-only; never returned in responses. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -331,7 +331,7 @@ def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Required. Locations where the environment variable can be injected in outgoing HTTP requests. Must contain at least one location. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -372,7 +372,7 @@ def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Required. Locations where the environment variable can be injected in outgoing HTTP requests. Must contain at least one location. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -991,7 +991,7 @@ def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -1023,7 +1023,7 @@ def update( Accepts either a single location (e.g. \"header\") or an array of locations. :param trusted_domains: Optional. List of domains allowed to receive this environment variable value in HTTP requests. - :param type: + :param type_: :param value: Optional. Input only. Secret value of the environment variable. Write-only; never returned in responses. :param extra_headers: Additional headers to set or replace on requests. @@ -1057,7 +1057,7 @@ def update( :param prefix: Optional. Prefix to prepend to the token. Defaults to 'Bearer'. Set to '' for no prefix. :param token: Optional. Input only. The static bearer token. Write-only; never returned in responses. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -1089,7 +1089,7 @@ def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Optional. Locations where the environment variable can be injected in outgoing HTTP requests. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -1132,7 +1132,7 @@ def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Optional. Locations where the environment variable can be injected in outgoing HTTP requests. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -1650,7 +1650,7 @@ async def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -1681,7 +1681,7 @@ async def create( Accepts either a single location (e.g. \"header\") or an array of locations. :param trusted_domains: Optional. List of domains allowed to receive this environment variable value in HTTP requests. - :param type: + :param type_: :param value: Required. Input only. Secret value of the environment variable. Write-only; never returned in responses. :param extra_headers: Additional headers to set or replace on requests. @@ -1714,7 +1714,7 @@ async def create( :param prefix: Optional. Prefix to prepend to the token. Defaults to 'Bearer'. Set to '' for no prefix. :param token: Required. Input only. The static bearer token. Write-only; never returned in responses. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -1744,7 +1744,7 @@ async def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Required. Locations where the environment variable can be injected in outgoing HTTP requests. Must contain at least one location. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -1785,7 +1785,7 @@ async def create( :param refresh_token: Required. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Required. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Required. Locations where the environment variable can be injected in outgoing HTTP requests. Must contain at least one location. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -2413,7 +2413,7 @@ async def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -2445,7 +2445,7 @@ async def update( Accepts either a single location (e.g. \"header\") or an array of locations. :param trusted_domains: Optional. List of domains allowed to receive this environment variable value in HTTP requests. - :param type: + :param type_: :param value: Optional. Input only. Secret value of the environment variable. Write-only; never returned in responses. :param extra_headers: Additional headers to set or replace on requests. @@ -2479,7 +2479,7 @@ async def update( :param prefix: Optional. Prefix to prepend to the token. Defaults to 'Bearer'. Set to '' for no prefix. :param token: Optional. Input only. The static bearer token. Write-only; never returned in responses. - :param type: + :param type_: :param extra_headers: Additional headers to set or replace on requests. :param extra_query: Additional query parameters to append to requests. :param extra_body: Additional JSON object fields to merge into request bodies. @@ -2511,7 +2511,7 @@ async def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Optional. Locations where the environment variable can be injected in outgoing HTTP requests. Accepts either a single location (e.g. \"header\") or an array of locations. @@ -2554,7 +2554,7 @@ async def update( :param refresh_token: Optional. Input only. OAuth2 refresh token. Write-only; never returned in responses. :param scopes: Optional. List of OAuth2 scopes. :param token_url: Optional. OAuth2 token endpoint URL for refreshing access tokens. - :param type: + :param type_: :param injection_location: Optional. Locations where the environment variable can be injected in outgoing HTTP requests. Accepts either a single location (e.g. \"header\") or an array of locations. diff --git a/google/genai/_gaos/models/cancelinteractionbyid.py b/google/genai/_gaos/models/cancelinteractionbyid.py index bb27fa9b32..46ca3243f9 100644 --- a/google/genai/_gaos/models/cancelinteractionbyid.py +++ b/google/genai/_gaos/models/cancelinteractionbyid.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class CancelInteractionByIDGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -77,13 +85,20 @@ class CancelInteractionByIDRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createagent.py b/google/genai/_gaos/models/createagent.py index bb99d3bd71..8048ceb514 100644 --- a/google/genai/_gaos/models/createagent.py +++ b/google/genai/_gaos/models/createagent.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ..types.agents import agent as agents_agent +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -39,13 +40,20 @@ class CreateAgentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -76,13 +84,20 @@ class CreateAgentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createcredential.py b/google/genai/_gaos/models/createcredential.py index 91950ea86d..59dce7946f 100644 --- a/google/genai/_gaos/models/createcredential.py +++ b/google/genai/_gaos/models/createcredential.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.credentials import ( credentialcreateparams as credentials_credentialcreateparams, ) @@ -41,13 +42,20 @@ class CreateCredentialGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class CreateCredentialRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createenvironment.py b/google/genai/_gaos/models/createenvironment.py index 570f56ed53..c385c24990 100644 --- a/google/genai/_gaos/models/createenvironment.py +++ b/google/genai/_gaos/models/createenvironment.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.environments import ( createenvironmentrequest as environments_createenvironmentrequest, ) @@ -41,13 +42,20 @@ class CreateEnvironmentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class CreateEnvironmentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createinteraction.py b/google/genai/_gaos/models/createinteraction.py index 63c3522904..55d8680f58 100644 --- a/google/genai/_gaos/models/createinteraction.py +++ b/google/genai/_gaos/models/createinteraction.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.interactions import ( createagentinteraction as interactions_createagentinteraction, createmodelinteraction as interactions_createmodelinteraction, @@ -45,13 +46,20 @@ class CreateInteractionGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -102,13 +110,20 @@ class CreateInteractionRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createtrigger.py b/google/genai/_gaos/models/createtrigger.py index 4113d5febc..35c0c88cbe 100644 --- a/google/genai/_gaos/models/createtrigger.py +++ b/google/genai/_gaos/models/createtrigger.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.triggers import triggercreateparams as triggers_triggercreateparams from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer @@ -39,13 +40,20 @@ class CreateTriggerGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -76,13 +84,20 @@ class CreateTriggerRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createvoice.py b/google/genai/_gaos/models/createvoice.py index 9eb620455f..4f4e76ba62 100644 --- a/google/genai/_gaos/models/createvoice.py +++ b/google/genai/_gaos/models/createvoice.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.voices import createvoicerequest as voices_createvoicerequest from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer @@ -39,13 +40,20 @@ class CreateVoiceGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -76,13 +84,20 @@ class CreateVoiceRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/createwebhook.py b/google/genai/_gaos/models/createwebhook.py index 5ca65db468..63da37aa31 100644 --- a/google/genai/_gaos/models/createwebhook.py +++ b/google/genai/_gaos/models/createwebhook.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.webhooks import webhook as webhooks_webhook from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer @@ -39,13 +40,20 @@ class CreateWebhookGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -76,13 +84,20 @@ class CreateWebhookRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deleteagent.py b/google/genai/_gaos/models/deleteagent.py index adb9761fec..576a597602 100644 --- a/google/genai/_gaos/models/deleteagent.py +++ b/google/genai/_gaos/models/deleteagent.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class DeleteAgentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -77,13 +85,20 @@ class DeleteAgentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deletecredential.py b/google/genai/_gaos/models/deletecredential.py index 58b725b8cf..acd5a77fe7 100644 --- a/google/genai/_gaos/models/deletecredential.py +++ b/google/genai/_gaos/models/deletecredential.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class DeleteCredentialGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class DeleteCredentialRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deleteenvironment.py b/google/genai/_gaos/models/deleteenvironment.py index dcd26b9a2f..24d83994df 100644 --- a/google/genai/_gaos/models/deleteenvironment.py +++ b/google/genai/_gaos/models/deleteenvironment.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class DeleteEnvironmentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class DeleteEnvironmentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deleteinteraction.py b/google/genai/_gaos/models/deleteinteraction.py index 3a7dee4f00..2f6be393af 100644 --- a/google/genai/_gaos/models/deleteinteraction.py +++ b/google/genai/_gaos/models/deleteinteraction.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class DeleteInteractionGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -77,13 +85,20 @@ class DeleteInteractionRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deletetrigger.py b/google/genai/_gaos/models/deletetrigger.py index d1575ea0ce..19c448bf5c 100644 --- a/google/genai/_gaos/models/deletetrigger.py +++ b/google/genai/_gaos/models/deletetrigger.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class DeleteTriggerGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -74,13 +82,20 @@ class DeleteTriggerRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deletevoice.py b/google/genai/_gaos/models/deletevoice.py index cdbd9b80b4..2bfccd8230 100644 --- a/google/genai/_gaos/models/deletevoice.py +++ b/google/genai/_gaos/models/deletevoice.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class DeleteVoiceGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -81,13 +89,20 @@ class DeleteVoiceRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/deletewebhook.py b/google/genai/_gaos/models/deletewebhook.py index 590f76d20b..5a8d15aaa1 100644 --- a/google/genai/_gaos/models/deletewebhook.py +++ b/google/genai/_gaos/models/deletewebhook.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class DeleteWebhookGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -74,13 +82,20 @@ class DeleteWebhookRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getagent.py b/google/genai/_gaos/models/getagent.py index 8c576574a6..f86d354db9 100644 --- a/google/genai/_gaos/models/getagent.py +++ b/google/genai/_gaos/models/getagent.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class GetAgentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -77,13 +85,20 @@ class GetAgentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getcredential.py b/google/genai/_gaos/models/getcredential.py index 9d67929621..07f8cd4f67 100644 --- a/google/genai/_gaos/models/getcredential.py +++ b/google/genai/_gaos/models/getcredential.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class GetCredentialGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class GetCredentialRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getenvironment.py b/google/genai/_gaos/models/getenvironment.py index e30efdfef1..7b3228589a 100644 --- a/google/genai/_gaos/models/getenvironment.py +++ b/google/genai/_gaos/models/getenvironment.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class GetEnvironmentGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -78,13 +86,20 @@ class GetEnvironmentRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getenvironmentfiles.py b/google/genai/_gaos/models/getenvironmentfiles.py index c72d9081c2..4f8313b7a2 100644 --- a/google/genai/_gaos/models/getenvironmentfiles.py +++ b/google/genai/_gaos/models/getenvironmentfiles.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class GetEnvironmentFilesGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -105,13 +113,20 @@ class GetEnvironmentFilesRequest(BaseModel): r"""Optional. If true and the path is a directory, recursively lists all files.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token", "recursive"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getinteractionbyid.py b/google/genai/_gaos/models/getinteractionbyid.py index 62189cb124..43b6a64341 100644 --- a/google/genai/_gaos/models/getinteractionbyid.py +++ b/google/genai/_gaos/models/getinteractionbyid.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.interactions import ( interaction as interactions_interaction, interactionsseevent as interactions_interactionsseevent, @@ -44,13 +45,20 @@ class GetInteractionByIDGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -110,15 +118,22 @@ class GetInteractionByIDRequest(BaseModel): r"""If true, streams the interaction events as Server-Sent Events.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["api_version", "include_input", "last_event_id", "stream"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/gettrigger.py b/google/genai/_gaos/models/gettrigger.py index 22a1a80d6c..5a643d5947 100644 --- a/google/genai/_gaos/models/gettrigger.py +++ b/google/genai/_gaos/models/gettrigger.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class GetTriggerGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -74,13 +82,20 @@ class GetTriggerRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getvoice.py b/google/genai/_gaos/models/getvoice.py index 33bfb46023..b1c0d12df4 100644 --- a/google/genai/_gaos/models/getvoice.py +++ b/google/genai/_gaos/models/getvoice.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class GetVoiceGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -81,13 +89,20 @@ class GetVoiceRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/getwebhook.py b/google/genai/_gaos/models/getwebhook.py index c5447888f8..a658621ca9 100644 --- a/google/genai/_gaos/models/getwebhook.py +++ b/google/genai/_gaos/models/getwebhook.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class GetWebhookGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -74,13 +82,20 @@ class GetWebhookRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/internal/globals.py b/google/genai/_gaos/models/internal/globals.py index e3b59dcefc..6d0b93818b 100644 --- a/google/genai/_gaos/models/internal/globals.py +++ b/google/genai/_gaos/models/internal/globals.py @@ -18,7 +18,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ...types import BaseModel, UNSET_SENTINEL +from ...types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from ...types.basemodel import current_filtered_dump from ...utils import FieldMetadata, HeaderMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -48,13 +54,20 @@ class Globals(BaseModel): r"""Quota project header to send with Google GenAI API requests.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "user_project"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listagents.py b/google/genai/_gaos/models/listagents.py index 8e89986c68..916cddf12d 100644 --- a/google/genai/_gaos/models/listagents.py +++ b/google/genai/_gaos/models/listagents.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class ListAgentsGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -91,13 +99,20 @@ class ListAgentsRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token", "parent"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listcredentials.py b/google/genai/_gaos/models/listcredentials.py index ecc0115837..3981fa13e5 100644 --- a/google/genai/_gaos/models/listcredentials.py +++ b/google/genai/_gaos/models/listcredentials.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class ListCredentialsGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -83,13 +91,20 @@ class ListCredentialsRequest(BaseModel): r"""Optional. Pagination token.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listenvironments.py b/google/genai/_gaos/models/listenvironments.py index 881fa6787b..051ddc6c22 100644 --- a/google/genai/_gaos/models/listenvironments.py +++ b/google/genai/_gaos/models/listenvironments.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class ListEnvironmentsGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -87,13 +95,20 @@ class ListEnvironmentsRequest(BaseModel): r"""Optional. Pagination token.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listtriggerexecutions.py b/google/genai/_gaos/models/listtriggerexecutions.py index bc02bedb8d..2c07ec761d 100644 --- a/google/genai/_gaos/models/listtriggerexecutions.py +++ b/google/genai/_gaos/models/listtriggerexecutions.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class ListTriggerExecutionsGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -93,13 +101,20 @@ class ListTriggerExecutionsRequest(BaseModel): r"""A page token from a previous ListTriggerExecutions call.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listtriggers.py b/google/genai/_gaos/models/listtriggers.py index 5c688dff1b..a6ce427aff 100644 --- a/google/genai/_gaos/models/listtriggers.py +++ b/google/genai/_gaos/models/listtriggers.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class ListTriggersGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -93,13 +101,20 @@ class ListTriggersRequest(BaseModel): r"""Optional. A page token from a previous ListTriggers call.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "filter", "page_size", "page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listvoices.py b/google/genai/_gaos/models/listvoices.py index 57b2930dba..dc20869588 100644 --- a/google/genai/_gaos/models/listvoices.py +++ b/google/genai/_gaos/models/listvoices.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class ListVoicesGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -235,6 +243,9 @@ class ListVoicesRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -252,11 +263,15 @@ def serialize_model(self, handler): "type", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/listwebhooks.py b/google/genai/_gaos/models/listwebhooks.py index 8195c78439..cee55a8ff9 100644 --- a/google/genai/_gaos/models/listwebhooks.py +++ b/google/genai/_gaos/models/listwebhooks.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -38,13 +39,20 @@ class ListWebhooksGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -93,13 +101,20 @@ class ListWebhooksRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "page_size", "page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/pingwebhook.py b/google/genai/_gaos/models/pingwebhook.py index b51d8203de..c2aba040c3 100644 --- a/google/genai/_gaos/models/pingwebhook.py +++ b/google/genai/_gaos/models/pingwebhook.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.webhooks import pingwebhookrequest as webhooks_pingwebhookrequest from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer @@ -39,13 +40,20 @@ class PingWebhookGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -83,13 +91,20 @@ class PingWebhookRequest(BaseModel): r"""The request body.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "body"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/rotatesigningsecret.py b/google/genai/_gaos/models/rotatesigningsecret.py index d82629b951..ddccac7397 100644 --- a/google/genai/_gaos/models/rotatesigningsecret.py +++ b/google/genai/_gaos/models/rotatesigningsecret.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.webhooks import ( rotatesigningsecretrequest as webhooks_rotatesigningsecretrequest, ) @@ -41,13 +42,20 @@ class RotateSigningSecretGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -85,13 +93,20 @@ class RotateSigningSecretRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/runtrigger.py b/google/genai/_gaos/models/runtrigger.py index 4e3d0fc473..a58975d6cd 100644 --- a/google/genai/_gaos/models/runtrigger.py +++ b/google/genai/_gaos/models/runtrigger.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import FieldMetadata, PathParamMetadata import pydantic from pydantic import model_serializer @@ -39,13 +40,20 @@ class RunTriggerGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -77,13 +85,20 @@ class RunTriggerRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/startenvironmentfileupload.py b/google/genai/_gaos/models/startenvironmentfileupload.py index 539a0ca044..2f318213ef 100644 --- a/google/genai/_gaos/models/startenvironmentfileupload.py +++ b/google/genai/_gaos/models/startenvironmentfileupload.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..utils import ( FieldMetadata, HeaderMetadata, @@ -46,13 +47,20 @@ class StartEnvironmentFileUploadGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -141,13 +149,20 @@ class StartEnvironmentFileUploadRequest(BaseModel): r"""Resumable upload protocol selector.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "extract", "overwrite"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/updatecredential.py b/google/genai/_gaos/models/updatecredential.py index 3dd675a673..ed4ca05fa4 100644 --- a/google/genai/_gaos/models/updatecredential.py +++ b/google/genai/_gaos/models/updatecredential.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.credentials import credentialupdate as credentials_credentialupdate from ..utils import ( FieldMetadata, @@ -44,13 +45,20 @@ class UpdateCredentialGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -100,13 +108,20 @@ class UpdateCredentialRequest(BaseModel): r"""Optional. The list of fields to update.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "update_mask"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/updatetrigger.py b/google/genai/_gaos/models/updatetrigger.py index 2a99af618b..4313de2818 100644 --- a/google/genai/_gaos/models/updatetrigger.py +++ b/google/genai/_gaos/models/updatetrigger.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.triggers import triggerupdate as triggers_triggerupdate from ..utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer @@ -39,13 +40,20 @@ class UpdateTriggerGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -83,13 +91,20 @@ class UpdateTriggerRequest(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/models/updatewebhook.py b/google/genai/_gaos/models/updatewebhook.py index c80b710ee6..b09e605cb5 100644 --- a/google/genai/_gaos/models/updatewebhook.py +++ b/google/genai/_gaos/models/updatewebhook.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from ..types import BaseModel, UNSET_SENTINEL +from ..types import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..types.basemodel import current_filtered_dump from ..types.webhooks import webhookupdate as webhooks_webhookupdate from ..utils import ( FieldMetadata, @@ -44,13 +45,20 @@ class UpdateWebhookGlobals(BaseModel): r"""API version for request routing.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -96,13 +104,20 @@ class UpdateWebhookRequest(BaseModel): r"""Optional list of fields to update.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_version", "update_mask"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/__init__.py b/google/genai/_gaos/types/__init__.py index 9e7116f832..aa1c66c27e 100644 --- a/google/genai/_gaos/types/__init__.py +++ b/google/genai/_gaos/types/__init__.py @@ -19,12 +19,14 @@ from .basemodel import ( BaseModel, + current_exclude_none, Nullable, OptionalNullable, UnrecognizedInt, UnrecognizedStr, UNSET, UNSET_SENTINEL, + serialize_with_info, ) from .base64fileinput import Base64EncodedString, Base64FileInput from typing import Any, TYPE_CHECKING @@ -55,6 +57,8 @@ "UNSET_SENTINEL", "UnrecognizedInt", "UnrecognizedStr", + "current_exclude_none", + "serialize_with_info", ] _dynamic_imports: dict[str, str] = { diff --git a/google/genai/_gaos/types/agents/agent.py b/google/genai/_gaos/types/agents/agent.py index b9b1ce10ea..e6310073ca 100644 --- a/google/genai/_gaos/types/agents/agent.py +++ b/google/genai/_gaos/types/agents/agent.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from ..interactions import ( antigravityagentconfig as interactions_antigravityagentconfig, environment as interactions_environment, @@ -113,6 +114,9 @@ class Agent(BaseModel): r"""The tools available to the agent.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -125,11 +129,15 @@ def serialize_model(self, handler): "tools", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/agents/agentlistresponse.py b/google/genai/_gaos/types/agents/agentlistresponse.py index 27e91f7e04..c4367df2c7 100644 --- a/google/genai/_gaos/types/agents/agentlistresponse.py +++ b/google/genai/_gaos/types/agents/agentlistresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .agent import Agent, AgentParam from pydantic import model_serializer from typing import List, Optional @@ -40,13 +41,20 @@ class AgentListResponse(BaseModel): r"""A token to retrieve the next page of results.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["agents", "next_page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/basemodel.py b/google/genai/_gaos/types/basemodel.py index e67d643bab..a00b1c643e 100644 --- a/google/genai/_gaos/types/basemodel.py +++ b/google/genai/_gaos/types/basemodel.py @@ -18,11 +18,11 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" import json - +from contextvars import ContextVar from pydantic import ConfigDict, model_serializer from pydantic import BaseModel as PydanticBaseModel -from pydantic_core import core_schema, to_jsonable_python -from typing import TYPE_CHECKING, Any, Callable, Literal, Optional, TypeVar, Union +from pydantic_core import PydanticSerializationUnexpectedValue, core_schema, to_jsonable_python +from typing import TYPE_CHECKING, Any, Callable, Literal, Optional, Type, TypeVar, Union from typing_extensions import TypeAliasType, TypeAlias @@ -171,6 +171,49 @@ def __bool__(self) -> Literal[False]: ) +_exclude_none: ContextVar[Optional[bool]] = ContextVar("exclude_none", default=None) +_filtered_dump: ContextVar[bool] = ContextVar("filtered_dump", default=False) + + +def serialize_with_info( + serialize: Callable[[Any], Any], handler: Any, info: core_schema.SerializationInfo +) -> Any: + token = _exclude_none.set(info.exclude_none) + filtered_dump_token = _filtered_dump.set( + info.include is not None + or bool(info.exclude) + or info.exclude_unset + or info.exclude_defaults + ) + try: + return serialize(handler) + finally: + _filtered_dump.reset(filtered_dump_token) + _exclude_none.reset(token) + + +def current_exclude_none() -> Optional[bool]: + """Return the exclude_none option of the enclosing serialize_with_info call, or None outside of one.""" + return _exclude_none.get() + + +def current_filtered_dump() -> bool: + """Return whether the enclosing serialize_with_info call applies include, exclude, exclude_unset or exclude_defaults.""" + return _filtered_dump.get() + + +def _unrecognized_serialization(cls: Type[Union[str, int]]) -> core_schema.PlainSerializerFunctionSerSchema: + def serialize(value: Any, info: core_schema.SerializationInfo) -> Any: + # Decline other values so union serialization tries the remaining members + if not isinstance(value, cls): + raise PydanticSerializationUnexpectedValue(f"Expected {cls.__name__}") + if not info.mode_is_json(): + return value + return str(value) if isinstance(value, str) else int(value) + + return core_schema.plain_serializer_function_ser_schema(serialize, info_arg=True) + + class UnrecognizedStr(str): @classmethod def __get_pydantic_core_schema__(cls, _source_type: Any, _handler: Any) -> core_schema.CoreSchema: @@ -190,9 +233,7 @@ def validate_lax(v: Any) -> 'UnrecognizedStr': core_schema.no_info_plain_validator_function(validate_lax) ]), strict_schema=core_schema.none_schema(), # Always fails in strict mode - serialization=core_schema.plain_serializer_function_ser_schema( - str - ), + serialization=_unrecognized_serialization(cls), ) @@ -211,7 +252,5 @@ def validate_lax(v: Any) -> 'UnrecognizedInt': core_schema.no_info_plain_validator_function(validate_lax) ]), strict_schema=core_schema.none_schema(), # Always fails in strict mode - serialization=core_schema.plain_serializer_function_ser_schema( - int - ), + serialization=_unrecognized_serialization(cls), ) diff --git a/google/genai/_gaos/types/credentials/credential.py b/google/genai/_gaos/types/credentials/credential.py index d9bd924ad5..cff7c300ac 100644 --- a/google/genai/_gaos/types/credentials/credential.py +++ b/google/genai/_gaos/types/credentials/credential.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from datetime import datetime from pydantic import model_serializer from typing import Literal, Optional, Union @@ -80,13 +87,20 @@ class Credential(BaseModel): r"""Output only. The timestamp when the credential was last updated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["create_time", "status", "type", "update_time"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/credentiallistresponse.py b/google/genai/_gaos/types/credentials/credentiallistresponse.py index 1ab56bbee2..4049c3b673 100644 --- a/google/genai/_gaos/types/credentials/credentiallistresponse.py +++ b/google/genai/_gaos/types/credentials/credentiallistresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .credential import Credential, CredentialTypedDict from pydantic import model_serializer from typing import List, Optional @@ -36,13 +37,20 @@ class CredentialListResponse(BaseModel): next_page_token: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["credentials", "next_page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/environmentvariableconfig.py b/google/genai/_gaos/types/credentials/environmentvariableconfig.py index 5917c42646..86868d7f81 100644 --- a/google/genai/_gaos/types/credentials/environmentvariableconfig.py +++ b/google/genai/_gaos/types/credentials/environmentvariableconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .injectionlocation_enum import InjectionLocationEnum import pydantic from pydantic import model_serializer @@ -98,13 +99,20 @@ class EnvironmentVariableConfig(BaseModel): ] = "environment_variable" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["trusted_domains"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/environmentvariableupdateconfig.py b/google/genai/_gaos/types/credentials/environmentvariableupdateconfig.py index 7623b0ef17..2468402fcf 100644 --- a/google/genai/_gaos/types/credentials/environmentvariableupdateconfig.py +++ b/google/genai/_gaos/types/credentials/environmentvariableupdateconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .injectionlocation_enum import InjectionLocationEnum import pydantic from pydantic import model_serializer @@ -99,13 +100,20 @@ class EnvironmentVariableUpdateConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["injection_location", "trusted_domains", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/httpbearerconfig.py b/google/genai/_gaos/types/credentials/httpbearerconfig.py index c334f31f02..6c02177d01 100644 --- a/google/genai/_gaos/types/credentials/httpbearerconfig.py +++ b/google/genai/_gaos/types/credentials/httpbearerconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -70,13 +71,20 @@ class HTTPBearerConfig(BaseModel): ] = "bearer_token" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["header_name", "prefix"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/httpbearerupdateconfig.py b/google/genai/_gaos/types/credentials/httpbearerupdateconfig.py index 34e94f8802..cbe83e67a9 100644 --- a/google/genai/_gaos/types/credentials/httpbearerupdateconfig.py +++ b/google/genai/_gaos/types/credentials/httpbearerupdateconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -67,13 +68,20 @@ class HTTPBearerUpdateConfig(BaseModel): ] = "bearer_token" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["header_name", "prefix", "token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/oauth2config.py b/google/genai/_gaos/types/credentials/oauth2config.py index 45e40ad6ae..65c281be2f 100644 --- a/google/genai/_gaos/types/credentials/oauth2config.py +++ b/google/genai/_gaos/types/credentials/oauth2config.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -70,13 +71,20 @@ class OAuth2Config(BaseModel): ] = "oauth2" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["scopes"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/credentials/oauth2updateconfig.py b/google/genai/_gaos/types/credentials/oauth2updateconfig.py index a7fb9d60a8..1ad9665732 100644 --- a/google/genai/_gaos/types/credentials/oauth2updateconfig.py +++ b/google/genai/_gaos/types/credentials/oauth2updateconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -67,15 +68,22 @@ class OAuth2UpdateConfig(BaseModel): ] = "oauth2" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["client_id", "client_secret", "refresh_token", "scopes", "token_url"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/environments/createenvironmentrequest.py b/google/genai/_gaos/types/environments/createenvironmentrequest.py index 7b91432048..bc7a5a7567 100644 --- a/google/genai/_gaos/types/environments/createenvironmentrequest.py +++ b/google/genai/_gaos/types/environments/createenvironmentrequest.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from ..interactions import ( environmentnetworkegressallowlist as interactions_environmentnetworkegressallowlist, source as interactions_source, @@ -81,13 +82,20 @@ class CreateEnvironmentRequest(BaseModel): r"""Sources to be mounted into the environment.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["from_environment", "network", "sources"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/environments/environment.py b/google/genai/_gaos/types/environments/environment.py index 49f611598c..9aeb7234e5 100644 --- a/google/genai/_gaos/types/environments/environment.py +++ b/google/genai/_gaos/types/environments/environment.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import serialize_int, validate_int +from ..basemodel import current_filtered_dump from ..interactions import ( environmentnetworkegressallowlist as interactions_environmentnetworkegressallowlist, source as interactions_source, @@ -138,6 +145,9 @@ class Environment(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -151,11 +161,15 @@ def serialize_model(self, handler): "updated", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/environments/environmentfile.py b/google/genai/_gaos/types/environments/environmentfile.py index 4897d9c244..ed13b07f8f 100644 --- a/google/genai/_gaos/types/environments/environmentfile.py +++ b/google/genai/_gaos/types/environments/environmentfile.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import serialize_int, validate_int +from ..basemodel import current_filtered_dump from datetime import datetime from pydantic import model_serializer from pydantic.functional_serializers import PlainSerializer @@ -100,15 +107,22 @@ class EnvironmentFile(BaseModel): r"""Output only. The type of the entry.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["created", "mime_type", "modified", "name", "path", "size_bytes", "type"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/environments/getenvironmentfilesresponse.py b/google/genai/_gaos/types/environments/getenvironmentfilesresponse.py index acbcbb2751..134270aeb4 100644 --- a/google/genai/_gaos/types/environments/getenvironmentfilesresponse.py +++ b/google/genai/_gaos/types/environments/getenvironmentfilesresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .environmentfile import EnvironmentFile, EnvironmentFileTypedDict from pydantic import model_serializer from typing import List, Optional @@ -56,13 +57,20 @@ class GetEnvironmentFilesResponse(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["files", "next_page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/environments/listenvironmentsresponse.py b/google/genai/_gaos/types/environments/listenvironmentsresponse.py index 4eb4a1da10..f1c2e48a74 100644 --- a/google/genai/_gaos/types/environments/listenvironmentsresponse.py +++ b/google/genai/_gaos/types/environments/listenvironmentsresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .environment import Environment, EnvironmentTypedDict from pydantic import model_serializer from typing import List, Optional @@ -44,13 +45,20 @@ class ListEnvironmentsResponse(BaseModel): r"""Pagination token.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["environments", "next_page_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/allowedtools.py b/google/genai/_gaos/types/interactions/allowedtools.py index 1ec5733d13..77fa2e11c7 100644 --- a/google/genai/_gaos/types/interactions/allowedtools.py +++ b/google/genai/_gaos/types/interactions/allowedtools.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .toolchoicetype import ToolChoiceType from pydantic import model_serializer from typing import List, Optional @@ -42,13 +43,20 @@ class AllowedTools(BaseModel): r"""The names of the allowed tools.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["mode", "tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/allowlistentry.py b/google/genai/_gaos/types/interactions/allowlistentry.py index 324c8b4ecd..b368a05d42 100644 --- a/google/genai/_gaos/types/interactions/allowlistentry.py +++ b/google/genai/_gaos/types/interactions/allowlistentry.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, List, Optional, Union from typing_extensions import NotRequired, TypeAliasType, TypedDict @@ -62,13 +63,20 @@ class AllowlistEntry(BaseModel): r"""Headers to inject on all outbound requests matching this domain. Accepts a single dict or a list of dicts. The egress proxy injects these automatically.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["credential", "transform"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/antigravityagentconfig.py b/google/genai/_gaos/types/interactions/antigravityagentconfig.py index b6fcab9982..5448b5c5ec 100644 --- a/google/genai/_gaos/types/interactions/antigravityagentconfig.py +++ b/google/genai/_gaos/types/interactions/antigravityagentconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import serialize_int, validate_const, validate_int +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_serializers import PlainSerializer @@ -65,13 +66,20 @@ class AntigravityAgentConfig(BaseModel): ] = "antigravity" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["max_total_tokens", "model"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/argumentsdelta.py b/google/genai/_gaos/types/interactions/argumentsdelta.py index 391ccb9d20..ddf03a91a8 100644 --- a/google/genai/_gaos/types/interactions/argumentsdelta.py +++ b/google/genai/_gaos/types/interactions/argumentsdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -44,13 +45,20 @@ class ArgumentsDelta(BaseModel): ] = "arguments_delta" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["arguments"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/audiocontent.py b/google/genai/_gaos/types/interactions/audiocontent.py index 6270ce303b..27da0022f4 100644 --- a/google/genai/_gaos/types/interactions/audiocontent.py +++ b/google/genai/_gaos/types/interactions/audiocontent.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -94,13 +97,20 @@ class AudioContent(BaseModel): r"""The URI of the audio.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["channels", "data", "mime_type", "sample_rate", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/audiodelta.py b/google/genai/_gaos/types/interactions/audiodelta.py index d6495a5427..cbd821f3bd 100644 --- a/google/genai/_gaos/types/interactions/audiodelta.py +++ b/google/genai/_gaos/types/interactions/audiodelta.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -87,15 +94,22 @@ class AudioDelta(BaseModel): uri: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["channels", "data", "mime_type", "rate", "sample_rate", "uri"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/audioresponseformat.py b/google/genai/_gaos/types/interactions/audioresponseformat.py index 972b9e3ff8..d06b407cbc 100644 --- a/google/genai/_gaos/types/interactions/audioresponseformat.py +++ b/google/genai/_gaos/types/interactions/audioresponseformat.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -90,13 +97,20 @@ class AudioResponseFormat(BaseModel): ] = "audio" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["bit_rate", "delivery", "mime_type", "sample_rate"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codeexecutioncallarguments.py b/google/genai/_gaos/types/interactions/codeexecutioncallarguments.py index 32022ebfb4..c59d0a93eb 100644 --- a/google/genai/_gaos/types/interactions/codeexecutioncallarguments.py +++ b/google/genai/_gaos/types/interactions/codeexecutioncallarguments.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -53,13 +60,20 @@ class CodeExecutionCallArguments(BaseModel): r"""Programming language of the `code`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["code", "language"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codeexecutioncalldelta.py b/google/genai/_gaos/types/interactions/codeexecutioncalldelta.py index 9d6c95f624..cdd52917c8 100644 --- a/google/genai/_gaos/types/interactions/codeexecutioncalldelta.py +++ b/google/genai/_gaos/types/interactions/codeexecutioncalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .codeexecutioncallarguments import ( CodeExecutionCallArguments, CodeExecutionCallArgumentsParam, @@ -55,13 +56,20 @@ class CodeExecutionCallDelta(BaseModel): ] = "code_execution_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codeexecutioncallstep.py b/google/genai/_gaos/types/interactions/codeexecutioncallstep.py index 0d31938a8b..dfbf497ba9 100644 --- a/google/genai/_gaos/types/interactions/codeexecutioncallstep.py +++ b/google/genai/_gaos/types/interactions/codeexecutioncallstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .codeexecutioncallarguments import ( CodeExecutionCallArguments, CodeExecutionCallArgumentsParam, @@ -64,13 +72,20 @@ class CodeExecutionCallStep(BaseModel): ] = "code_execution_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codeexecutionresultdelta.py b/google/genai/_gaos/types/interactions/codeexecutionresultdelta.py index d014d83678..c5f747eafb 100644 --- a/google/genai/_gaos/types/interactions/codeexecutionresultdelta.py +++ b/google/genai/_gaos/types/interactions/codeexecutionresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -52,13 +53,20 @@ class CodeExecutionResultDelta(BaseModel): ] = "code_execution_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codeexecutionresultstep.py b/google/genai/_gaos/types/interactions/codeexecutionresultstep.py index c506a2a818..acbf65fd01 100644 --- a/google/genai/_gaos/types/interactions/codeexecutionresultstep.py +++ b/google/genai/_gaos/types/interactions/codeexecutionresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -65,13 +73,20 @@ class CodeExecutionResultStep(BaseModel): ] = "code_execution_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/codemenderagentconfig.py b/google/genai/_gaos/types/interactions/codemenderagentconfig.py index cccaebd791..671d0e269a 100644 --- a/google/genai/_gaos/types/interactions/codemenderagentconfig.py +++ b/google/genai/_gaos/types/interactions/codemenderagentconfig.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .findrequest import FindRequest, FindRequestParam from .fixrequest import FixRequest, FixRequestParam from .sessionconfig import SessionConfig, SessionConfigParam @@ -88,15 +89,22 @@ class CodeMenderAgentConfig(BaseModel): ] = "code-mender" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["find_request", "fix_request", "model", "session_config", "session_id"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/computeruse.py b/google/genai/_gaos/types/interactions/computeruse.py index fcee49797f..199065ef61 100644 --- a/google/genai/_gaos/types/interactions/computeruse.py +++ b/google/genai/_gaos/types/interactions/computeruse.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -93,6 +100,9 @@ class ComputerUse(BaseModel): ] = "computer_use" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -102,11 +112,15 @@ def serialize_model(self, handler): "excluded_predefined_functions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/createagentinteraction.py b/google/genai/_gaos/types/interactions/createagentinteraction.py index 1a8907717c..24f48a6415 100644 --- a/google/genai/_gaos/types/interactions/createagentinteraction.py +++ b/google/genai/_gaos/types/interactions/createagentinteraction.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .agentoption import AgentOption from .antigravityagentconfig import AntigravityAgentConfig, AntigravityAgentConfigParam from .codemenderagentconfig import CodeMenderAgentConfig, CodeMenderAgentConfigParam @@ -235,6 +236,9 @@ class CreateAgentInteraction(BaseModel): r"""Message for configuring webhook events for a request.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -257,11 +261,15 @@ def serialize_model(self, handler): "webhook_config", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/createmodelinteraction.py b/google/genai/_gaos/types/interactions/createmodelinteraction.py index 8964a0c2b1..0a04cf2dd3 100644 --- a/google/genai/_gaos/types/interactions/createmodelinteraction.py +++ b/google/genai/_gaos/types/interactions/createmodelinteraction.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .environment import Environment, EnvironmentParam from .generationconfig import GenerationConfig, GenerationConfigParam from .interactionsinput import InteractionsInput, InteractionsInputParam @@ -215,6 +216,9 @@ class CreateModelInteraction(BaseModel): r"""Message for configuring webhook events for a request.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self._serialize_model, handler, info) + def _serialize_model(self, handler): optional_fields = set( [ @@ -238,11 +242,15 @@ def _serialize_model(self, handler): "webhook_config", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/deepresearchagentconfig.py b/google/genai/_gaos/types/interactions/deepresearchagentconfig.py index 4eec35d913..88bcb3e776 100644 --- a/google/genai/_gaos/types/interactions/deepresearchagentconfig.py +++ b/google/genai/_gaos/types/interactions/deepresearchagentconfig.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .thinkingsummaries import ThinkingSummaries import pydantic from pydantic import model_serializer @@ -81,6 +88,9 @@ class DeepResearchAgentConfig(BaseModel): r"""Whether to include visualizations in the response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -90,11 +100,15 @@ def serialize_model(self, handler): "visualization", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/documentcontent.py b/google/genai/_gaos/types/interactions/documentcontent.py index 565caf3097..9283b0e182 100644 --- a/google/genai/_gaos/types/interactions/documentcontent.py +++ b/google/genai/_gaos/types/interactions/documentcontent.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -73,13 +76,20 @@ class DocumentContent(BaseModel): r"""The URI of the document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["data", "mime_type", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/documentdelta.py b/google/genai/_gaos/types/interactions/documentdelta.py index b2b957479f..6ceed8f9ad 100644 --- a/google/genai/_gaos/types/interactions/documentdelta.py +++ b/google/genai/_gaos/types/interactions/documentdelta.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -56,13 +63,20 @@ class DocumentDelta(BaseModel): uri: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["data", "mime_type", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/environment.py b/google/genai/_gaos/types/interactions/environment.py index 544fbf51c3..8c98e514f4 100644 --- a/google/genai/_gaos/types/interactions/environment.py +++ b/google/genai/_gaos/types/interactions/environment.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .environmentnetworkegressallowlist import ( EnvironmentNetworkEgressAllowlist, EnvironmentNetworkEgressAllowlistParam, @@ -91,13 +98,20 @@ class Environment(BaseModel): ] = "remote" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["env", "environment_id", "network", "sources"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/environmentnetworkegressallowlist.py b/google/genai/_gaos/types/interactions/environmentnetworkegressallowlist.py index d374d534d9..82693e82c0 100644 --- a/google/genai/_gaos/types/interactions/environmentnetworkegressallowlist.py +++ b/google/genai/_gaos/types/interactions/environmentnetworkegressallowlist.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .allowlistentry import AllowlistEntry, AllowlistEntryParam from pydantic import model_serializer from typing import List, Literal, Optional, Union @@ -60,13 +67,20 @@ class EnvironmentNetworkEgressAllowlist(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["allowlist"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/envvar.py b/google/genai/_gaos/types/interactions/envvar.py index 6605130c89..2d72394b59 100644 --- a/google/genai/_gaos/types/interactions/envvar.py +++ b/google/genai/_gaos/types/interactions/envvar.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class EnvVar(BaseModel): r"""Direct string value for plain environment variables.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["credential", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/error.py b/google/genai/_gaos/types/interactions/error.py index 0653db1b58..90a148d69c 100644 --- a/google/genai/_gaos/types/interactions/error.py +++ b/google/genai/_gaos/types/interactions/error.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class Error(BaseModel): r"""A human-readable error message.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["code", "message"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/errorevent.py b/google/genai/_gaos/types/interactions/errorevent.py index a4b4e76001..2d3d51d424 100644 --- a/google/genai/_gaos/types/interactions/errorevent.py +++ b/google/genai/_gaos/types/interactions/errorevent.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .error import Error, ErrorTypedDict import pydantic from pydantic import model_serializer @@ -53,13 +54,20 @@ class ErrorEvent(BaseModel): ] = "error" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["error", "event_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/exaaisearchconfig.py b/google/genai/_gaos/types/interactions/exaaisearchconfig.py index 214638d60d..1e38ef5bba 100644 --- a/google/genai/_gaos/types/interactions/exaaisearchconfig.py +++ b/google/genai/_gaos/types/interactions/exaaisearchconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class ExaAISearchConfig(BaseModel): r"""Optional. This field can be used to pass any parameter from the Exa.ai Search API.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["custom_config"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filecitation.py b/google/genai/_gaos/types/interactions/filecitation.py index 14436c5de4..aa149f084b 100644 --- a/google/genai/_gaos/types/interactions/filecitation.py +++ b/google/genai/_gaos/types/interactions/filecitation.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -90,6 +91,9 @@ class FileCitation(BaseModel): ] = "file_citation" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -103,11 +107,15 @@ def serialize_model(self, handler): "start_index", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filecontent.py b/google/genai/_gaos/types/interactions/filecontent.py index f4f4e72f52..140f2bb988 100644 --- a/google/genai/_gaos/types/interactions/filecontent.py +++ b/google/genai/_gaos/types/interactions/filecontent.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class FileContent(BaseModel): r"""The relative path of the file from the project root.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["content", "path"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filesearch.py b/google/genai/_gaos/types/interactions/filesearch.py index 11e80c2913..94106cc604 100644 --- a/google/genai/_gaos/types/interactions/filesearch.py +++ b/google/genai/_gaos/types/interactions/filesearch.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -59,13 +60,20 @@ class FileSearch(BaseModel): ] = "file_search" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["file_search_store_names", "metadata_filter", "top_k"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filesearchcalldelta.py b/google/genai/_gaos/types/interactions/filesearchcalldelta.py index 259b72cd2b..4fc9a51e1c 100644 --- a/google/genai/_gaos/types/interactions/filesearchcalldelta.py +++ b/google/genai/_gaos/types/interactions/filesearchcalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -46,13 +47,20 @@ class FileSearchCallDelta(BaseModel): ] = "file_search_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filesearchcallstep.py b/google/genai/_gaos/types/interactions/filesearchcallstep.py index 5d13a301c8..565596e7b3 100644 --- a/google/genai/_gaos/types/interactions/filesearchcallstep.py +++ b/google/genai/_gaos/types/interactions/filesearchcallstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -55,13 +63,20 @@ class FileSearchCallStep(BaseModel): ] = "file_search_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filesearchresultdelta.py b/google/genai/_gaos/types/interactions/filesearchresultdelta.py index cf32e6bfbc..04df0d5988 100644 --- a/google/genai/_gaos/types/interactions/filesearchresultdelta.py +++ b/google/genai/_gaos/types/interactions/filesearchresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .filesearchresult import FileSearchResult, FileSearchResultTypedDict import pydantic from pydantic import model_serializer @@ -50,13 +51,20 @@ class FileSearchResultDelta(BaseModel): ] = "file_search_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filesearchresultstep.py b/google/genai/_gaos/types/interactions/filesearchresultstep.py index d8496ddad8..3b0449c2b9 100644 --- a/google/genai/_gaos/types/interactions/filesearchresultstep.py +++ b/google/genai/_gaos/types/interactions/filesearchresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -55,13 +63,20 @@ class FileSearchResultStep(BaseModel): ] = "file_search_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/filter_.py b/google/genai/_gaos/types/interactions/filter_.py index a782b8a9fe..0e8e2547eb 100644 --- a/google/genai/_gaos/types/interactions/filter_.py +++ b/google/genai/_gaos/types/interactions/filter_.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -56,6 +57,9 @@ class Filter(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -64,11 +68,15 @@ def serialize_model(self, handler): "vector_similarity_threshold", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/findrequest.py b/google/genai/_gaos/types/interactions/findrequest.py index 0952b05a3b..5d5b8532ed 100644 --- a/google/genai/_gaos/types/interactions/findrequest.py +++ b/google/genai/_gaos/types/interactions/findrequest.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .filecontent import FileContent, FileContentParam from pydantic import model_serializer from typing import List, Literal, Optional, Union @@ -78,13 +85,20 @@ class FindRequest(BaseModel): r"""A list of source files to provide as context for the scan.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "finding_id", "mode", "source_files"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/fixrequest.py b/google/genai/_gaos/types/interactions/fixrequest.py index 310b4fe4a4..b3dca28199 100644 --- a/google/genai/_gaos/types/interactions/fixrequest.py +++ b/google/genai/_gaos/types/interactions/fixrequest.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .filecontent import FileContent, FileContentParam from pydantic import model_serializer from typing import List, Optional @@ -65,13 +66,20 @@ class FixRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "finding_id", "source_files"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/function.py b/google/genai/_gaos/types/interactions/function.py index 58e95ddfed..0daf5f61df 100644 --- a/google/genai/_gaos/types/interactions/function.py +++ b/google/genai/_gaos/types/interactions/function.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -67,13 +68,20 @@ class Function(BaseModel): ] = "function" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "name", "parameters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/functionresultdelta.py b/google/genai/_gaos/types/interactions/functionresultdelta.py index 48a900658a..aa89fa7cd0 100644 --- a/google/genai/_gaos/types/interactions/functionresultdelta.py +++ b/google/genai/_gaos/types/interactions/functionresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .functionresultsubcontent import ( FunctionResultSubcontent, FunctionResultSubcontentParam, @@ -74,13 +75,20 @@ class FunctionResultDelta(BaseModel): ] = "function_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/functionresultstep.py b/google/genai/_gaos/types/interactions/functionresultstep.py index 615919c011..f95db58652 100644 --- a/google/genai/_gaos/types/interactions/functionresultstep.py +++ b/google/genai/_gaos/types/interactions/functionresultstep.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .functionresultsubcontent import ( FunctionResultSubcontent, FunctionResultSubcontentParam, @@ -91,13 +92,20 @@ class FunctionResultStep(BaseModel): ] = "function_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/generationconfig.py b/google/genai/_gaos/types/interactions/generationconfig.py index e09a5bbd59..06a89b0114 100644 --- a/google/genai/_gaos/types/interactions/generationconfig.py +++ b/google/genai/_gaos/types/interactions/generationconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .imageconfig import ImageConfig, ImageConfigParam from .speakerconfig import SpeakerConfig, SpeakerConfigParam from .speechconfig import SpeechConfig, SpeechConfigParam @@ -136,6 +137,9 @@ class GenerationConfig(BaseModel): r"""Configuration options for video generation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -153,11 +157,15 @@ def serialize_model(self, handler): "video_config", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemaps.py b/google/genai/_gaos/types/interactions/googlemaps.py index c209d0fd8c..d86be19c33 100644 --- a/google/genai/_gaos/types/interactions/googlemaps.py +++ b/google/genai/_gaos/types/interactions/googlemaps.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -63,13 +64,20 @@ class GoogleMaps(BaseModel): ] = "google_maps" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["enable_widget", "latitude", "longitude"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapscallarguments.py b/google/genai/_gaos/types/interactions/googlemapscallarguments.py index 38c22b2b6c..c26efef0a0 100644 --- a/google/genai/_gaos/types/interactions/googlemapscallarguments.py +++ b/google/genai/_gaos/types/interactions/googlemapscallarguments.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class GoogleMapsCallArguments(BaseModel): r"""The queries to be executed.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["queries"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapscalldelta.py b/google/genai/_gaos/types/interactions/googlemapscalldelta.py index e7889eb12c..de996f544f 100644 --- a/google/genai/_gaos/types/interactions/googlemapscalldelta.py +++ b/google/genai/_gaos/types/interactions/googlemapscalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlemapscallarguments import ( GoogleMapsCallArguments, GoogleMapsCallArgumentsParam, @@ -55,13 +56,20 @@ class GoogleMapsCallDelta(BaseModel): ] = "google_maps_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["arguments", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapscallstep.py b/google/genai/_gaos/types/interactions/googlemapscallstep.py index c3196e5a12..c927deb1fb 100644 --- a/google/genai/_gaos/types/interactions/googlemapscallstep.py +++ b/google/genai/_gaos/types/interactions/googlemapscallstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlemapscallarguments import ( GoogleMapsCallArguments, GoogleMapsCallArgumentsParam, @@ -64,13 +72,20 @@ class GoogleMapsCallStep(BaseModel): ] = "google_maps_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["arguments", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapsresult.py b/google/genai/_gaos/types/interactions/googlemapsresult.py index 5bf4a538d7..39bcf0ed71 100644 --- a/google/genai/_gaos/types/interactions/googlemapsresult.py +++ b/google/genai/_gaos/types/interactions/googlemapsresult.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .googlemapsresultplaces import GoogleMapsResultPlaces, GoogleMapsResultPlacesParam from pydantic import model_serializer from typing import List, Optional @@ -40,13 +41,20 @@ class GoogleMapsResult(BaseModel): widget_context_token: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["places", "widget_context_token"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapsresultdelta.py b/google/genai/_gaos/types/interactions/googlemapsresultdelta.py index e5386db09d..4be030003a 100644 --- a/google/genai/_gaos/types/interactions/googlemapsresultdelta.py +++ b/google/genai/_gaos/types/interactions/googlemapsresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlemapsresult import GoogleMapsResult, GoogleMapsResultParam import pydantic from pydantic import model_serializer @@ -52,13 +53,20 @@ class GoogleMapsResultDelta(BaseModel): ] = "google_maps_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["result", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapsresultplaces.py b/google/genai/_gaos/types/interactions/googlemapsresultplaces.py index 8eef7b1a0c..5551412ede 100644 --- a/google/genai/_gaos/types/interactions/googlemapsresultplaces.py +++ b/google/genai/_gaos/types/interactions/googlemapsresultplaces.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .reviewsnippet import ReviewSnippet, ReviewSnippetParam from pydantic import model_serializer from typing import List, Optional @@ -42,13 +43,20 @@ class GoogleMapsResultPlaces(BaseModel): url: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "place_id", "review_snippets", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlemapsresultstep.py b/google/genai/_gaos/types/interactions/googlemapsresultstep.py index 950a02d64d..a011c1a23f 100644 --- a/google/genai/_gaos/types/interactions/googlemapsresultstep.py +++ b/google/genai/_gaos/types/interactions/googlemapsresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlemapsresult import GoogleMapsResult, GoogleMapsResultParam import pydantic from pydantic import model_serializer @@ -59,13 +67,20 @@ class GoogleMapsResultStep(BaseModel): ] = "google_maps_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearch.py b/google/genai/_gaos/types/interactions/googlesearch.py index b6779e6f3b..531d1e1490 100644 --- a/google/genai/_gaos/types/interactions/googlesearch.py +++ b/google/genai/_gaos/types/interactions/googlesearch.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -59,13 +66,20 @@ class GoogleSearch(BaseModel): ] = "google_search" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["search_types"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchcallarguments.py b/google/genai/_gaos/types/interactions/googlesearchcallarguments.py index 872c0194a9..fe7eded3be 100644 --- a/google/genai/_gaos/types/interactions/googlesearchcallarguments.py +++ b/google/genai/_gaos/types/interactions/googlesearchcallarguments.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class GoogleSearchCallArguments(BaseModel): r"""Web search queries for the following-up web search.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["queries"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchcalldelta.py b/google/genai/_gaos/types/interactions/googlesearchcalldelta.py index d18fda78de..bc64e7be60 100644 --- a/google/genai/_gaos/types/interactions/googlesearchcalldelta.py +++ b/google/genai/_gaos/types/interactions/googlesearchcalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlesearchcallarguments import ( GoogleSearchCallArguments, GoogleSearchCallArgumentsParam, @@ -55,13 +56,20 @@ class GoogleSearchCallDelta(BaseModel): ] = "google_search_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchcallstep.py b/google/genai/_gaos/types/interactions/googlesearchcallstep.py index edbd7e02c1..f7d118c5dd 100644 --- a/google/genai/_gaos/types/interactions/googlesearchcallstep.py +++ b/google/genai/_gaos/types/interactions/googlesearchcallstep.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlesearchcallarguments import ( GoogleSearchCallArguments, GoogleSearchCallArgumentsParam, @@ -86,13 +89,20 @@ class GoogleSearchCallStep(BaseModel): ] = "google_search_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["search_type", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchresult.py b/google/genai/_gaos/types/interactions/googlesearchresult.py index e11a1c3194..9d959d53a0 100644 --- a/google/genai/_gaos/types/interactions/googlesearchresult.py +++ b/google/genai/_gaos/types/interactions/googlesearchresult.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class GoogleSearchResult(BaseModel): r"""Web content snippet that can be embedded in a web page or an app webview.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["search_suggestions"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchresultdelta.py b/google/genai/_gaos/types/interactions/googlesearchresultdelta.py index 92fb88bfc9..7267639928 100644 --- a/google/genai/_gaos/types/interactions/googlesearchresultdelta.py +++ b/google/genai/_gaos/types/interactions/googlesearchresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlesearchresult import GoogleSearchResult, GoogleSearchResultParam import pydantic from pydantic import model_serializer @@ -53,13 +54,20 @@ class GoogleSearchResultDelta(BaseModel): ] = "google_search_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/googlesearchresultstep.py b/google/genai/_gaos/types/interactions/googlesearchresultstep.py index 1b6ebba0d5..a1d2798831 100644 --- a/google/genai/_gaos/types/interactions/googlesearchresultstep.py +++ b/google/genai/_gaos/types/interactions/googlesearchresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .googlesearchresult import GoogleSearchResult, GoogleSearchResultParam import pydantic from pydantic import model_serializer @@ -66,13 +74,20 @@ class GoogleSearchResultStep(BaseModel): ] = "google_search_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/groundingtoolcount.py b/google/genai/_gaos/types/interactions/groundingtoolcount.py index 6bcd509f9c..7726f2f8b1 100644 --- a/google/genai/_gaos/types/interactions/groundingtoolcount.py +++ b/google/genai/_gaos/types/interactions/groundingtoolcount.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -54,13 +61,20 @@ class GroundingToolCount(BaseModel): r"""The grounding tool type associated with the count.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["count", "type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/hybridsearch.py b/google/genai/_gaos/types/interactions/hybridsearch.py index 5c7f35094f..fd477bdb1f 100644 --- a/google/genai/_gaos/types/interactions/hybridsearch.py +++ b/google/genai/_gaos/types/interactions/hybridsearch.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -42,13 +43,20 @@ class HybridSearch(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["alpha"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/imageconfig.py b/google/genai/_gaos/types/interactions/imageconfig.py index c5693c4193..81a2a38819 100644 --- a/google/genai/_gaos/types/interactions/imageconfig.py +++ b/google/genai/_gaos/types/interactions/imageconfig.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict, deprecated @@ -104,13 +111,20 @@ class ImageConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["aspect_ratio", "image_size"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/imagecontent.py b/google/genai/_gaos/types/interactions/imagecontent.py index 7429f286c7..8c3ae2164a 100644 --- a/google/genai/_gaos/types/interactions/imagecontent.py +++ b/google/genai/_gaos/types/interactions/imagecontent.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .mediaresolution import MediaResolution import pydantic from pydantic import model_serializer @@ -83,13 +86,20 @@ class ImageContent(BaseModel): r"""The URI of the image.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["data", "mime_type", "resolution", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/imagedelta.py b/google/genai/_gaos/types/interactions/imagedelta.py index 976a0787f2..4d605f55c8 100644 --- a/google/genai/_gaos/types/interactions/imagedelta.py +++ b/google/genai/_gaos/types/interactions/imagedelta.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .mediaresolution import MediaResolution import pydantic from pydantic import model_serializer @@ -66,13 +73,20 @@ class ImageDelta(BaseModel): uri: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["data", "mime_type", "resolution", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/imageresponseformat.py b/google/genai/_gaos/types/interactions/imageresponseformat.py index 83be4f0456..5b7fcaf217 100644 --- a/google/genai/_gaos/types/interactions/imageresponseformat.py +++ b/google/genai/_gaos/types/interactions/imageresponseformat.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -110,13 +117,20 @@ class ImageResponseFormat(BaseModel): ] = "image" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["aspect_ratio", "delivery", "image_size", "mime_type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/interaction.py b/google/genai/_gaos/types/interactions/interaction.py index 9cc6294963..71dc356356 100644 --- a/google/genai/_gaos/types/interactions/interaction.py +++ b/google/genai/_gaos/types/interactions/interaction.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils.unions import parse_open_union +from ..basemodel import current_filtered_dump from .agentoption import AgentOption from .antigravityagentconfig import AntigravityAgentConfig, AntigravityAgentConfigParam from .audiocontent import AudioContent, AudioContentParam @@ -385,6 +392,9 @@ class Interaction(BaseModel): r"""Message for configuring webhook events for a request.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self._serialize_model, handler, info) + def _serialize_model(self, handler): optional_fields = set( [ @@ -420,11 +430,15 @@ def _serialize_model(self, handler): "webhook_config", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/interactioncompletedevent.py b/google/genai/_gaos/types/interactions/interactioncompletedevent.py index 5e3b8fd34a..636ac8070c 100644 --- a/google/genai/_gaos/types/interactions/interactioncompletedevent.py +++ b/google/genai/_gaos/types/interactions/interactioncompletedevent.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .interactionsseeventinteraction import ( InteractionSseEventInteraction, InteractionSseEventInteractionTypedDict, @@ -77,13 +78,20 @@ class InteractionCompletedEvent(BaseModel): ] = "interaction.completed" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/interactioncreatedevent.py b/google/genai/_gaos/types/interactions/interactioncreatedevent.py index 0d94d4ae23..1398300908 100644 --- a/google/genai/_gaos/types/interactions/interactioncreatedevent.py +++ b/google/genai/_gaos/types/interactions/interactioncreatedevent.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .interactionsseeventinteraction import ( InteractionSseEventInteraction, InteractionSseEventInteractionTypedDict, @@ -71,13 +72,20 @@ class InteractionCreatedEvent(BaseModel): ] = "interaction.created" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/interactionsinput.py b/google/genai/_gaos/types/interactions/interactionsinput.py index 880afbd7c5..8b41d0d046 100644 --- a/google/genai/_gaos/types/interactions/interactionsinput.py +++ b/google/genai/_gaos/types/interactions/interactionsinput.py @@ -18,10 +18,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from ...utils.unions import dispatch_open_union_members from .content import Content, ContentParam from .step import Step, StepParam +from functools import partial +import pydantic from typing import List, Union -from typing_extensions import TypeAliasType +from typing_extensions import Annotated, TypeAliasType InteractionsInputParam = TypeAliasType( @@ -32,6 +35,15 @@ InteractionsInput = TypeAliasType( - "InteractionsInput", Union[Content, List[Step], List[Content], str] + "InteractionsInput", + Annotated[ + Union[Content, List[Step], List[Content], str], + pydantic.WrapValidator( + partial( + dispatch_open_union_members, + members=(Content, List[Step], List[Content]), + ) + ), + ], ) r"""The input for the interaction.""" diff --git a/google/genai/_gaos/types/interactions/interactionsseeventinteraction.py b/google/genai/_gaos/types/interactions/interactionsseeventinteraction.py index 255434c057..f0f856928c 100644 --- a/google/genai/_gaos/types/interactions/interactionsseeventinteraction.py +++ b/google/genai/_gaos/types/interactions/interactionsseeventinteraction.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .servicetier import ServiceTier from .step import Step, StepParam from .usage import Usage, UsageTypedDict @@ -114,6 +121,9 @@ class InteractionSseEventInteraction(BaseModel): r"""Statistics on the interaction request's token usage.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -128,11 +138,15 @@ def serialize_model(self, handler): "usage", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/interactionstatusupdate.py b/google/genai/_gaos/types/interactions/interactionstatusupdate.py index c898170893..df3fb895ff 100644 --- a/google/genai/_gaos/types/interactions/interactionstatusupdate.py +++ b/google/genai/_gaos/types/interactions/interactionstatusupdate.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .usage import Usage, UsageTypedDict import pydantic from pydantic import model_serializer @@ -87,13 +94,20 @@ class InteractionStatusUpdate(BaseModel): r"""Statistics on the interaction request's token usage.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["continuation_token", "event_id", "usage"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/mcpserver.py b/google/genai/_gaos/types/interactions/mcpserver.py index 58ed06628f..e7ae5b5161 100644 --- a/google/genai/_gaos/types/interactions/mcpserver.py +++ b/google/genai/_gaos/types/interactions/mcpserver.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .allowedtools import AllowedTools, AllowedToolsParam import pydantic from pydantic import model_serializer @@ -67,13 +68,20 @@ class MCPServer(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["allowed_tools", "headers", "name", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/mcpservertoolresultdelta.py b/google/genai/_gaos/types/interactions/mcpservertoolresultdelta.py index 36ad15957b..a227c059b2 100644 --- a/google/genai/_gaos/types/interactions/mcpservertoolresultdelta.py +++ b/google/genai/_gaos/types/interactions/mcpservertoolresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .functionresultsubcontent import ( FunctionResultSubcontent, FunctionResultSubcontentParam, @@ -78,13 +79,20 @@ class MCPServerToolResultDelta(BaseModel): ] = "mcp_server_tool_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "server_name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/mcpservertoolresultstep.py b/google/genai/_gaos/types/interactions/mcpservertoolresultstep.py index e13bd89e78..bf8fceb570 100644 --- a/google/genai/_gaos/types/interactions/mcpservertoolresultstep.py +++ b/google/genai/_gaos/types/interactions/mcpservertoolresultstep.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .functionresultsubcontent import ( FunctionResultSubcontent, FunctionResultSubcontentParam, @@ -91,13 +92,20 @@ class MCPServerToolResultStep(BaseModel): ] = "mcp_server_tool_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "server_name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/modalitytokens.py b/google/genai/_gaos/types/interactions/modalitytokens.py index b986c54c55..cbc63418ec 100644 --- a/google/genai/_gaos/types/interactions/modalitytokens.py +++ b/google/genai/_gaos/types/interactions/modalitytokens.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .responsemodality import ResponseModality from pydantic import model_serializer from typing import Optional @@ -42,13 +43,20 @@ class ModalityTokens(BaseModel): r"""Number of tokens for the modality.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["modality", "tokens"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/modeloutputstep.py b/google/genai/_gaos/types/interactions/modeloutputstep.py index f3e2b8f2b8..0294cefc80 100644 --- a/google/genai/_gaos/types/interactions/modeloutputstep.py +++ b/google/genai/_gaos/types/interactions/modeloutputstep.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .content import Content, ContentParam from .status import Status, StatusParam import pydantic @@ -68,13 +69,20 @@ class ModelOutputStep(BaseModel): ] = "model_output" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["content", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/parallelaisearchconfig.py b/google/genai/_gaos/types/interactions/parallelaisearchconfig.py index 6ddf716be9..174f26607f 100644 --- a/google/genai/_gaos/types/interactions/parallelaisearchconfig.py +++ b/google/genai/_gaos/types/interactions/parallelaisearchconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class ParallelAISearchConfig(BaseModel): r"""Optional. Custom configs for ParallelAiSearch.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["api_key", "custom_config"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/placecitation.py b/google/genai/_gaos/types/interactions/placecitation.py index e60cfa594a..5196b2966a 100644 --- a/google/genai/_gaos/types/interactions/placecitation.py +++ b/google/genai/_gaos/types/interactions/placecitation.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .reviewsnippet import ReviewSnippet, ReviewSnippetParam import pydantic from pydantic import model_serializer @@ -85,15 +86,22 @@ class PlaceCitation(BaseModel): r"""URI reference of the place.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["end_index", "name", "place_id", "review_snippets", "start_index", "url"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/processingcalldelta.py b/google/genai/_gaos/types/interactions/processingcalldelta.py index 8c82116ff7..886030779c 100644 --- a/google/genai/_gaos/types/interactions/processingcalldelta.py +++ b/google/genai/_gaos/types/interactions/processingcalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -50,13 +51,20 @@ class ProcessingCallDelta(BaseModel): ] = "processing_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/processingcallstep.py b/google/genai/_gaos/types/interactions/processingcallstep.py index 2d17ec6a9a..161b6a0ffe 100644 --- a/google/genai/_gaos/types/interactions/processingcallstep.py +++ b/google/genai/_gaos/types/interactions/processingcallstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -59,13 +67,20 @@ class ProcessingCallStep(BaseModel): ] = "processing_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/processingresultdelta.py b/google/genai/_gaos/types/interactions/processingresultdelta.py index e65c6869ef..f75d02a421 100644 --- a/google/genai/_gaos/types/interactions/processingresultdelta.py +++ b/google/genai/_gaos/types/interactions/processingresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -50,13 +51,20 @@ class ProcessingResultDelta(BaseModel): ] = "processing_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/processingresultstep.py b/google/genai/_gaos/types/interactions/processingresultstep.py index 77796e0cfe..65fb53dada 100644 --- a/google/genai/_gaos/types/interactions/processingresultstep.py +++ b/google/genai/_gaos/types/interactions/processingresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -55,13 +63,20 @@ class ProcessingResultStep(BaseModel): ] = "processing_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/ragresource.py b/google/genai/_gaos/types/interactions/ragresource.py index f793e548ed..074c1314c5 100644 --- a/google/genai/_gaos/types/interactions/ragresource.py +++ b/google/genai/_gaos/types/interactions/ragresource.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -47,13 +48,20 @@ class RagResource(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["rag_corpus", "rag_file_ids"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/ragretrievalconfig.py b/google/genai/_gaos/types/interactions/ragretrievalconfig.py index b254601538..5f231839c4 100644 --- a/google/genai/_gaos/types/interactions/ragretrievalconfig.py +++ b/google/genai/_gaos/types/interactions/ragretrievalconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .filter_ import Filter, FilterParam from .hybridsearch import HybridSearch, HybridSearchParam from .ranking import Ranking, RankingParam @@ -57,13 +58,20 @@ class RagRetrievalConfig(BaseModel): r"""Optional. The number of contexts to retrieve.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["filter", "hybrid_search", "ranking", "top_k"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/ragstoreconfig.py b/google/genai/_gaos/types/interactions/ragstoreconfig.py index ec46283df6..c8b4d98070 100644 --- a/google/genai/_gaos/types/interactions/ragstoreconfig.py +++ b/google/genai/_gaos/types/interactions/ragstoreconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .ragresource import RagResource, RagResourceParam from .ragretrievalconfig import RagRetrievalConfig, RagRetrievalConfigParam import pydantic @@ -66,6 +67,9 @@ class RagStoreConfig(BaseModel): r"""Optional. Only return results with vector distance smaller than the threshold.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -75,11 +79,15 @@ def serialize_model(self, handler): "vector_distance_threshold", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/ranking.py b/google/genai/_gaos/types/interactions/ranking.py index da27eb8491..1fc1162d5b 100644 --- a/google/genai/_gaos/types/interactions/ranking.py +++ b/google/genai/_gaos/types/interactions/ranking.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .rankservice import RankService, RankServiceParam import pydantic from pydantic import model_serializer @@ -55,13 +56,20 @@ class Ranking(BaseModel): ] = "rank_service" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["model_name", "rank_service"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/rankservice.py b/google/genai/_gaos/types/interactions/rankservice.py index 61043a8b30..328d0cf8d3 100644 --- a/google/genai/_gaos/types/interactions/rankservice.py +++ b/google/genai/_gaos/types/interactions/rankservice.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class RankService(BaseModel): r"""Optional. The model name of the rank service.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["model_name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrieval.py b/google/genai/_gaos/types/interactions/retrieval.py index f89fbb6af7..fe08496de4 100644 --- a/google/genai/_gaos/types/interactions/retrieval.py +++ b/google/genai/_gaos/types/interactions/retrieval.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .exaaisearchconfig import ExaAISearchConfig, ExaAISearchConfigParam from .parallelaisearchconfig import ParallelAISearchConfig, ParallelAISearchConfigParam from .ragstoreconfig import RagStoreConfig, RagStoreConfigParam @@ -82,6 +89,9 @@ class Retrieval(BaseModel): r"""Used to specify configuration for VertexAISearch.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -92,11 +102,15 @@ def serialize_model(self, handler): "vertex_ai_search_config", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrievalcallarguments.py b/google/genai/_gaos/types/interactions/retrievalcallarguments.py index f73c5ad1c2..e1b390a39c 100644 --- a/google/genai/_gaos/types/interactions/retrievalcallarguments.py +++ b/google/genai/_gaos/types/interactions/retrievalcallarguments.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class RetrievalCallArguments(BaseModel): r"""Queries for Retrieval information.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["queries"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrievalcalldelta.py b/google/genai/_gaos/types/interactions/retrievalcalldelta.py index 484f8fe3a3..37e2e0a6da 100644 --- a/google/genai/_gaos/types/interactions/retrievalcalldelta.py +++ b/google/genai/_gaos/types/interactions/retrievalcalldelta.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .retrievalcallarguments import RetrievalCallArguments, RetrievalCallArgumentsParam import pydantic from pydantic import model_serializer @@ -76,13 +83,20 @@ class RetrievalCallDelta(BaseModel): ] = "retrieval_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["retrieval_type", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrievalcallstep.py b/google/genai/_gaos/types/interactions/retrievalcallstep.py index fc8ce47d3b..b159ff280c 100644 --- a/google/genai/_gaos/types/interactions/retrievalcallstep.py +++ b/google/genai/_gaos/types/interactions/retrievalcallstep.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .retrievalcallarguments import RetrievalCallArguments, RetrievalCallArgumentsParam import pydantic from pydantic import model_serializer @@ -89,13 +92,20 @@ class RetrievalCallStep(BaseModel): ] = "retrieval_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["retrieval_type", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrievalresultdelta.py b/google/genai/_gaos/types/interactions/retrievalresultdelta.py index b770b92923..1d936704bb 100644 --- a/google/genai/_gaos/types/interactions/retrievalresultdelta.py +++ b/google/genai/_gaos/types/interactions/retrievalresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -61,13 +62,20 @@ class RetrievalResultDelta(BaseModel): ] = "retrieval_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/retrievalresultstep.py b/google/genai/_gaos/types/interactions/retrievalresultstep.py index 4420d21a3b..a58cb49896 100644 --- a/google/genai/_gaos/types/interactions/retrievalresultstep.py +++ b/google/genai/_gaos/types/interactions/retrievalresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -66,13 +74,20 @@ class RetrievalResultStep(BaseModel): ] = "retrieval_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/reviewsnippet.py b/google/genai/_gaos/types/interactions/reviewsnippet.py index 566556a901..901e94d138 100644 --- a/google/genai/_gaos/types/interactions/reviewsnippet.py +++ b/google/genai/_gaos/types/interactions/reviewsnippet.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -52,13 +53,20 @@ class ReviewSnippet(BaseModel): r"""A link that corresponds to the user review on Google Maps.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["review_id", "title", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/safetysetting.py b/google/genai/_gaos/types/interactions/safetysetting.py index d92385fc66..486ffcbaeb 100644 --- a/google/genai/_gaos/types/interactions/safetysetting.py +++ b/google/genai/_gaos/types/interactions/safetysetting.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .harmcategory import HarmCategory from pydantic import model_serializer from typing import Literal, Optional, Union @@ -94,13 +101,20 @@ class SafetySetting(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["method"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/sessionconfig.py b/google/genai/_gaos/types/interactions/sessionconfig.py index 0c651366c2..a98fc0aadf 100644 --- a/google/genai/_gaos/types/interactions/sessionconfig.py +++ b/google/genai/_gaos/types/interactions/sessionconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -42,13 +43,20 @@ class SessionConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["max_rounds"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/source.py b/google/genai/_gaos/types/interactions/source.py index 844f15bf4c..60d0135b6b 100644 --- a/google/genai/_gaos/types/interactions/source.py +++ b/google/genai/_gaos/types/interactions/source.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -73,13 +80,20 @@ class Source(BaseModel): type: Optional[SourceType] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["content", "encoding", "source", "target", "type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/speakerconfig.py b/google/genai/_gaos/types/interactions/speakerconfig.py index 2affff3818..bbcbf3b5a6 100644 --- a/google/genai/_gaos/types/interactions/speakerconfig.py +++ b/google/genai/_gaos/types/interactions/speakerconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .speechconfig import SpeechConfig, SpeechConfigParam from pydantic import model_serializer from typing import List, Optional @@ -39,13 +40,20 @@ class SpeakerConfig(BaseModel): r"""Individual speaker configurations.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["speakers"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/speechannotation.py b/google/genai/_gaos/types/interactions/speechannotation.py index 69080ddc62..9ac55ae4b2 100644 --- a/google/genai/_gaos/types/interactions/speechannotation.py +++ b/google/genai/_gaos/types/interactions/speechannotation.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -71,13 +72,20 @@ class SpeechAnnotation(BaseModel): ] = "speech_metadata" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["end_index", "speaker", "start_index", "style"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/speechconfig.py b/google/genai/_gaos/types/interactions/speechconfig.py index fd31a15051..c5d3ecef31 100644 --- a/google/genai/_gaos/types/interactions/speechconfig.py +++ b/google/genai/_gaos/types/interactions/speechconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -48,13 +49,20 @@ class SpeechConfig(BaseModel): r"""The voice of the speaker.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["language", "speaker", "voice"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/staticmediaprocessing.py b/google/genai/_gaos/types/interactions/staticmediaprocessing.py index 249abb2054..87020157f3 100644 --- a/google/genai/_gaos/types/interactions/staticmediaprocessing.py +++ b/google/genai/_gaos/types/interactions/staticmediaprocessing.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -63,13 +64,20 @@ class StaticMediaProcessing(BaseModel): ] = "static" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["end_offset", "fps", "start_offset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/status.py b/google/genai/_gaos/types/interactions/status.py index d3bbeaad02..76422d3e28 100644 --- a/google/genai/_gaos/types/interactions/status.py +++ b/google/genai/_gaos/types/interactions/status.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -72,13 +73,20 @@ class Status(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["code", "details", "message"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/stepdelta.py b/google/genai/_gaos/types/interactions/stepdelta.py index 3cce322476..c8fd888b76 100644 --- a/google/genai/_gaos/types/interactions/stepdelta.py +++ b/google/genai/_gaos/types/interactions/stepdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .stepdeltadata import StepDeltaData, StepDeltaDataTypedDict from .stepdeltametadata import StepDeltaMetadata, StepDeltaMetadataTypedDict import pydantic @@ -60,13 +61,20 @@ class StepDelta(BaseModel): r"""Optional metadata accompanying ANY streamed event.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_id", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/stepdeltametadata.py b/google/genai/_gaos/types/interactions/stepdeltametadata.py index c420a1e190..4603184546 100644 --- a/google/genai/_gaos/types/interactions/stepdeltametadata.py +++ b/google/genai/_gaos/types/interactions/stepdeltametadata.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .usage import Usage, UsageTypedDict from pydantic import model_serializer from typing import Optional @@ -39,13 +40,20 @@ class StepDeltaMetadata(BaseModel): r"""Statistics on the interaction request's token usage.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["total_usage"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/stepstart.py b/google/genai/_gaos/types/interactions/stepstart.py index 9d0476e432..8f46de74bb 100644 --- a/google/genai/_gaos/types/interactions/stepstart.py +++ b/google/genai/_gaos/types/interactions/stepstart.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .step import Step, StepParam import pydantic from pydantic import model_serializer @@ -56,13 +57,20 @@ class StepStart(BaseModel): ] = "step.start" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/stepstop.py b/google/genai/_gaos/types/interactions/stepstop.py index 7f8191f0f6..2dccd41e42 100644 --- a/google/genai/_gaos/types/interactions/stepstop.py +++ b/google/genai/_gaos/types/interactions/stepstop.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .usage import Usage, UsageTypedDict import pydantic from pydantic import model_serializer @@ -61,13 +62,20 @@ class StepStop(BaseModel): r"""Statistics on the interaction request's token usage.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_id", "step_usage", "usage"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/textannotationdelta.py b/google/genai/_gaos/types/interactions/textannotationdelta.py index 94a1aaca35..1445c31193 100644 --- a/google/genai/_gaos/types/interactions/textannotationdelta.py +++ b/google/genai/_gaos/types/interactions/textannotationdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .annotation import Annotation, AnnotationParam import pydantic from pydantic import model_serializer @@ -47,13 +48,20 @@ class TextAnnotationDelta(BaseModel): ] = "text_annotation_delta" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["annotations"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/textcontent.py b/google/genai/_gaos/types/interactions/textcontent.py index 533d06fd90..5a4e4f642f 100644 --- a/google/genai/_gaos/types/interactions/textcontent.py +++ b/google/genai/_gaos/types/interactions/textcontent.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .annotation import Annotation, AnnotationParam import pydantic from pydantic import model_serializer @@ -53,13 +54,20 @@ class TextContent(BaseModel): ] = "text" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["annotations"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/textresponseformat.py b/google/genai/_gaos/types/interactions/textresponseformat.py index c4160fad8a..e731484c45 100644 --- a/google/genai/_gaos/types/interactions/textresponseformat.py +++ b/google/genai/_gaos/types/interactions/textresponseformat.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -80,13 +87,20 @@ class TextResponseFormat(BaseModel): ] = "text" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["mime_type", "schema"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/thoughtsignaturedelta.py b/google/genai/_gaos/types/interactions/thoughtsignaturedelta.py index 58733ab876..f870dc80c3 100644 --- a/google/genai/_gaos/types/interactions/thoughtsignaturedelta.py +++ b/google/genai/_gaos/types/interactions/thoughtsignaturedelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -46,13 +47,20 @@ class ThoughtSignatureDelta(BaseModel): ] = "thought_signature" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/thoughtstep.py b/google/genai/_gaos/types/interactions/thoughtstep.py index f611c1320f..aff7d2276e 100644 --- a/google/genai/_gaos/types/interactions/thoughtstep.py +++ b/google/genai/_gaos/types/interactions/thoughtstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .thoughtsummarycontent import ThoughtSummaryContent, ThoughtSummaryContentParam import pydantic from pydantic import model_serializer @@ -53,13 +61,20 @@ class ThoughtStep(BaseModel): ] = "thought" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature", "summary"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/thoughtsummarydelta.py b/google/genai/_gaos/types/interactions/thoughtsummarydelta.py index 824e56f2e1..142f003506 100644 --- a/google/genai/_gaos/types/interactions/thoughtsummarydelta.py +++ b/google/genai/_gaos/types/interactions/thoughtsummarydelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .content import Content, ContentParam import pydantic from pydantic import model_serializer @@ -47,13 +48,20 @@ class ThoughtSummaryDelta(BaseModel): ] = "thought_summary" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["content"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/toolchoiceconfig.py b/google/genai/_gaos/types/interactions/toolchoiceconfig.py index 4f3832a0af..1705121427 100644 --- a/google/genai/_gaos/types/interactions/toolchoiceconfig.py +++ b/google/genai/_gaos/types/interactions/toolchoiceconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .allowedtools import AllowedTools, AllowedToolsParam from pydantic import model_serializer from typing import Optional @@ -39,13 +40,20 @@ class ToolChoiceConfig(BaseModel): r"""The configuration for allowed tools.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["allowed_tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/transcriptionconfig.py b/google/genai/_gaos/types/interactions/transcriptionconfig.py index 0043810880..ae1e22e754 100644 --- a/google/genai/_gaos/types/interactions/transcriptionconfig.py +++ b/google/genai/_gaos/types/interactions/transcriptionconfig.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .transcriptionmode import TranscriptionMode, TranscriptionModeParam import pydantic from pydantic import model_serializer @@ -124,6 +131,9 @@ class TranscriptionConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -136,11 +146,15 @@ def serialize_model(self, handler): "timestamp_granularities", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcitation.py b/google/genai/_gaos/types/interactions/urlcitation.py index 76f5e5f1ab..4e93f23253 100644 --- a/google/genai/_gaos/types/interactions/urlcitation.py +++ b/google/genai/_gaos/types/interactions/urlcitation.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -70,13 +71,20 @@ class URLCitation(BaseModel): r"""The URL.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["end_index", "start_index", "title", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextcallarguments.py b/google/genai/_gaos/types/interactions/urlcontextcallarguments.py index 3963189089..44bddd8969 100644 --- a/google/genai/_gaos/types/interactions/urlcontextcallarguments.py +++ b/google/genai/_gaos/types/interactions/urlcontextcallarguments.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class URLContextCallArguments(BaseModel): r"""The URLs to fetch.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["urls"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextcalldelta.py b/google/genai/_gaos/types/interactions/urlcontextcalldelta.py index 62a8278b7c..42532a48dd 100644 --- a/google/genai/_gaos/types/interactions/urlcontextcalldelta.py +++ b/google/genai/_gaos/types/interactions/urlcontextcalldelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .urlcontextcallarguments import ( URLContextCallArguments, URLContextCallArgumentsParam, @@ -55,13 +56,20 @@ class URLContextCallDelta(BaseModel): ] = "url_context_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextcallstep.py b/google/genai/_gaos/types/interactions/urlcontextcallstep.py index 73e1793cb9..95b8378ab0 100644 --- a/google/genai/_gaos/types/interactions/urlcontextcallstep.py +++ b/google/genai/_gaos/types/interactions/urlcontextcallstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .urlcontextcallarguments import ( URLContextCallArguments, URLContextCallArgumentsParam, @@ -64,13 +72,20 @@ class URLContextCallStep(BaseModel): ] = "url_context_call" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextresult.py b/google/genai/_gaos/types/interactions/urlcontextresult.py index fa18042e4a..4170624e4d 100644 --- a/google/genai/_gaos/types/interactions/urlcontextresult.py +++ b/google/genai/_gaos/types/interactions/urlcontextresult.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -55,13 +62,20 @@ class URLContextResult(BaseModel): r"""The URL that was fetched.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["status", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextresultdelta.py b/google/genai/_gaos/types/interactions/urlcontextresultdelta.py index 0e7d78b06f..a967b44550 100644 --- a/google/genai/_gaos/types/interactions/urlcontextresultdelta.py +++ b/google/genai/_gaos/types/interactions/urlcontextresultdelta.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .urlcontextresult import URLContextResult, URLContextResultParam import pydantic from pydantic import model_serializer @@ -53,13 +54,20 @@ class URLContextResultDelta(BaseModel): ] = "url_context_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/urlcontextresultstep.py b/google/genai/_gaos/types/interactions/urlcontextresultstep.py index 37cbc916b9..c9eb751c1e 100644 --- a/google/genai/_gaos/types/interactions/urlcontextresultstep.py +++ b/google/genai/_gaos/types/interactions/urlcontextresultstep.py @@ -18,8 +18,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import Base64EncodedString, Base64FileInput, BaseModel, UNSET_SENTINEL +from .. import ( + Base64EncodedString, + Base64FileInput, + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .urlcontextresult import URLContextResult, URLContextResultParam import pydantic from pydantic import model_serializer @@ -66,13 +74,20 @@ class URLContextResultStep(BaseModel): ] = "url_context_result" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["is_error", "signature"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/usage.py b/google/genai/_gaos/types/interactions/usage.py index 40bf0c1abc..ba03ea6c22 100644 --- a/google/genai/_gaos/types/interactions/usage.py +++ b/google/genai/_gaos/types/interactions/usage.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .groundingtoolcount import GroundingToolCount, GroundingToolCountTypedDict from .modalitytokens import ModalityTokens, ModalityTokensTypedDict from pydantic import model_serializer @@ -99,6 +100,9 @@ class Usage(BaseModel): r"""Number of tokens present in tool-use prompt(s).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -116,11 +120,15 @@ def serialize_model(self, handler): "total_tool_use_tokens", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/userinputstep.py b/google/genai/_gaos/types/interactions/userinputstep.py index 931d7c1c73..95bea42337 100644 --- a/google/genai/_gaos/types/interactions/userinputstep.py +++ b/google/genai/_gaos/types/interactions/userinputstep.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump from .content import Content, ContentParam import pydantic from pydantic import model_serializer @@ -46,13 +47,20 @@ class UserInputStep(BaseModel): ] = "user_input" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["content"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/verbatimtranscriptionmode.py b/google/genai/_gaos/types/interactions/verbatimtranscriptionmode.py index aa0c070ba7..85ef0c544f 100644 --- a/google/genai/_gaos/types/interactions/verbatimtranscriptionmode.py +++ b/google/genai/_gaos/types/interactions/verbatimtranscriptionmode.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -56,13 +57,20 @@ class VerbatimTranscriptionMode(BaseModel): ] = "verbatim" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["diarization_mode", "timestamp_granularities"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/vertexaisearchconfig.py b/google/genai/_gaos/types/interactions/vertexaisearchconfig.py index ef57896db2..c2685e9bd2 100644 --- a/google/genai/_gaos/types/interactions/vertexaisearchconfig.py +++ b/google/genai/_gaos/types/interactions/vertexaisearchconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +44,20 @@ class VertexAISearchConfig(BaseModel): r"""Optional. Used to specify Vertex AI Search engine.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datastores", "engine"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/videoconfig.py b/google/genai/_gaos/types/interactions/videoconfig.py index f53bf24cf9..6bab93c63a 100644 --- a/google/genai/_gaos/types/interactions/videoconfig.py +++ b/google/genai/_gaos/types/interactions/videoconfig.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -61,13 +68,20 @@ class VideoConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["task"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/videocontent.py b/google/genai/_gaos/types/interactions/videocontent.py index 78820a860c..15c70405f0 100644 --- a/google/genai/_gaos/types/interactions/videocontent.py +++ b/google/genai/_gaos/types/interactions/videocontent.py @@ -24,8 +24,11 @@ BaseModel, UNSET_SENTINEL, UnrecognizedStr, + current_exclude_none, + serialize_with_info, ) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .mediaprocessing import MediaProcessing, MediaProcessingParam from .mediaresolution import MediaResolution import pydantic @@ -118,15 +121,22 @@ class VideoContent(BaseModel): r"""The URI of the video.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["data", "mime_type", "name", "processing", "resolution", "uri"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/videodelta.py b/google/genai/_gaos/types/interactions/videodelta.py index a568d811d0..3ea7b09288 100644 --- a/google/genai/_gaos/types/interactions/videodelta.py +++ b/google/genai/_gaos/types/interactions/videodelta.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump from .mediaresolution import MediaResolution import pydantic from pydantic import model_serializer @@ -68,13 +75,20 @@ class VideoDelta(BaseModel): uri: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["data", "mime_type", "resolution", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/videoresponseformat.py b/google/genai/_gaos/types/interactions/videoresponseformat.py index 9b579424d6..4a45a28d89 100644 --- a/google/genai/_gaos/types/interactions/videoresponseformat.py +++ b/google/genai/_gaos/types/interactions/videoresponseformat.py @@ -18,8 +18,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -103,15 +110,22 @@ class VideoResponseFormat(BaseModel): ] = "video" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["aspect_ratio", "delivery", "duration", "gcs_uri", "resolution"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/webhookconfig.py b/google/genai/_gaos/types/interactions/webhookconfig.py index 61051f0e0b..d0480701e1 100644 --- a/google/genai/_gaos/types/interactions/webhookconfig.py +++ b/google/genai/_gaos/types/interactions/webhookconfig.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -51,13 +52,20 @@ class WebhookConfig(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["uris", "user_metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/interactions/wordinfo.py b/google/genai/_gaos/types/interactions/wordinfo.py index 55d1008547..d8a11842fa 100644 --- a/google/genai/_gaos/types/interactions/wordinfo.py +++ b/google/genai/_gaos/types/interactions/wordinfo.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ...utils import validate_const +from ..basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator @@ -94,6 +95,9 @@ class WordInfo(BaseModel): ] = "word_info" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -105,11 +109,15 @@ def serialize_model(self, handler): "text", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/security.py b/google/genai/_gaos/types/security.py index a3bff49b46..e15e387495 100644 --- a/google/genai/_gaos/types/security.py +++ b/google/genai/_gaos/types/security.py @@ -18,8 +18,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from . import BaseModel, UNSET_SENTINEL +from . import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info from ..utils import FieldMetadata, SecurityMetadata +from .basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, Optional @@ -76,13 +77,20 @@ class Security(BaseModel): r"""Additional default headers to apply before request-specific headers and auth.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["accessToken", "apiKey", "defaultHeaders"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/listtriggerexecutionsresponse.py b/google/genai/_gaos/types/triggers/listtriggerexecutionsresponse.py index 2c6ecff808..a14dcb7e35 100644 --- a/google/genai/_gaos/types/triggers/listtriggerexecutionsresponse.py +++ b/google/genai/_gaos/types/triggers/listtriggerexecutionsresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .triggerexecution import TriggerExecution, TriggerExecutionTypedDict from pydantic import model_serializer from typing import List, Optional @@ -48,13 +49,20 @@ class ListTriggerExecutionsResponse(BaseModel): r"""The list of trigger executions.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_page_token", "trigger_executions"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/listtriggersresponse.py b/google/genai/_gaos/types/triggers/listtriggersresponse.py index a87ad4111b..bc524be876 100644 --- a/google/genai/_gaos/types/triggers/listtriggersresponse.py +++ b/google/genai/_gaos/types/triggers/listtriggersresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .trigger import Trigger, TriggerTypedDict from pydantic import model_serializer from typing import List, Optional @@ -48,13 +49,20 @@ class ListTriggersResponse(BaseModel): r"""The list of triggers.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_page_token", "triggers"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/trigger.py b/google/genai/_gaos/types/triggers/trigger.py index 9e9757d4da..91afe96fde 100644 --- a/google/genai/_gaos/types/triggers/trigger.py +++ b/google/genai/_gaos/types/triggers/trigger.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from ..interactions import createagentinteraction as interactions_createagentinteraction from datetime import datetime from pydantic import model_serializer @@ -143,6 +150,9 @@ class Trigger(BaseModel): r"""Output only. The time when the trigger was last updated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -161,11 +171,15 @@ def serialize_model(self, handler): "update_time", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/triggercreateparams.py b/google/genai/_gaos/types/triggers/triggercreateparams.py index 2f20a92931..17a6dbd386 100644 --- a/google/genai/_gaos/types/triggers/triggercreateparams.py +++ b/google/genai/_gaos/types/triggers/triggercreateparams.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from ..interactions import createagentinteraction as interactions_createagentinteraction from pydantic import model_serializer from typing import Optional @@ -77,6 +78,9 @@ class TriggerCreateParams(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -86,11 +90,15 @@ def serialize_model(self, handler): "max_consecutive_failures", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/triggerexecution.py b/google/genai/_gaos/types/triggers/triggerexecution.py index b5c45d0ae7..70d010c299 100644 --- a/google/genai/_gaos/types/triggers/triggerexecution.py +++ b/google/genai/_gaos/types/triggers/triggerexecution.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from datetime import datetime from pydantic import model_serializer from typing import Literal, Optional, Union @@ -92,6 +99,9 @@ class TriggerExecution(BaseModel): r"""Output only. The status of the execution.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -104,11 +114,15 @@ def serialize_model(self, handler): "status", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/triggers/triggerupdate.py b/google/genai/_gaos/types/triggers/triggerupdate.py index 4892d9e563..b0f6bf5e9d 100644 --- a/google/genai/_gaos/types/triggers/triggerupdate.py +++ b/google/genai/_gaos/types/triggers/triggerupdate.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional from typing_extensions import NotRequired, TypedDict @@ -51,13 +52,20 @@ class TriggerUpdate(BaseModel): r"""Optional. The status of the trigger.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["display_name", "status"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/voices/createvoicerequest.py b/google/genai/_gaos/types/voices/createvoicerequest.py index f2711b5c62..29e4bdcbdd 100644 --- a/google/genai/_gaos/types/voices/createvoicerequest.py +++ b/google/genai/_gaos/types/voices/createvoicerequest.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .voice_input import VoiceInput, VoiceInputParam from pydantic import model_serializer from typing import Optional @@ -78,13 +79,20 @@ class CreateVoiceRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["store"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/voices/listvoicesresponse.py b/google/genai/_gaos/types/voices/listvoicesresponse.py index 91c1c6f142..fa98f3ae34 100644 --- a/google/genai/_gaos/types/voices/listvoicesresponse.py +++ b/google/genai/_gaos/types/voices/listvoicesresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .voice_output import VoiceOutput, VoiceOutputTypedDict from pydantic import model_serializer from typing import List, Optional @@ -48,13 +49,20 @@ class ListVoicesResponse(BaseModel): r"""The voices from the specified collection.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_page_token", "voices"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/voices/promptedvoice.py b/google/genai/_gaos/types/voices/promptedvoice.py index e32281fcc2..26dbc84445 100644 --- a/google/genai/_gaos/types/voices/promptedvoice.py +++ b/google/genai/_gaos/types/voices/promptedvoice.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -65,13 +66,20 @@ class PromptedVoice(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["base_voice"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/voices/voice_input.py b/google/genai/_gaos/types/voices/voice_input.py index 724b9111da..8f7b2928f9 100644 --- a/google/genai/_gaos/types/voices/voice_input.py +++ b/google/genai/_gaos/types/voices/voice_input.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .audiodata import AudioData, AudioDataParam from .pitch import Pitch from .promptedvoice import PromptedVoice, PromptedVoiceParam @@ -152,6 +153,9 @@ class VoiceInput(BaseModel): r"""Audio payload used for voice creation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -170,11 +174,15 @@ def serialize_model(self, handler): "sample_audio", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/voices/voice_output.py b/google/genai/_gaos/types/voices/voice_output.py index a20f6936f5..458bee91b5 100644 --- a/google/genai/_gaos/types/voices/voice_output.py +++ b/google/genai/_gaos/types/voices/voice_output.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from ..interactions import usage as interactions_usage from .audiodata import AudioData, AudioDataParam from .pitch import Pitch @@ -200,6 +201,9 @@ class VoiceOutput(BaseModel): r"""Statistics on the interaction request's token usage.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -221,11 +225,15 @@ def serialize_model(self, handler): "usage", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/rotatesigningsecretrequest.py b/google/genai/_gaos/types/webhooks/rotatesigningsecretrequest.py index 0d33bb2c32..c9fd42e4c9 100644 --- a/google/genai/_gaos/types/webhooks/rotatesigningsecretrequest.py +++ b/google/genai/_gaos/types/webhooks/rotatesigningsecretrequest.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Literal, Optional from typing_extensions import NotRequired, TypedDict @@ -45,13 +46,20 @@ class RotateSigningSecretRequest(BaseModel): r"""Optional. The revocation behavior for previous signing secrets.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["revocation_behavior"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/signingsecret.py b/google/genai/_gaos/types/webhooks/signingsecret.py index 4531a4fe57..c305441885 100644 --- a/google/genai/_gaos/types/webhooks/signingsecret.py +++ b/google/genai/_gaos/types/webhooks/signingsecret.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from datetime import datetime from pydantic import model_serializer from typing import Optional @@ -44,13 +45,20 @@ class SigningSecret(BaseModel): r"""Output only. The truncated version of the signing secret.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["expire_time", "truncated_secret"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/webhook.py b/google/genai/_gaos/types/webhooks/webhook.py index 6c82c8b595..431a596c88 100644 --- a/google/genai/_gaos/types/webhooks/webhook.py +++ b/google/genai/_gaos/types/webhooks/webhook.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from .signingsecret import SigningSecret, SigningSecretTypedDict from datetime import datetime from pydantic import model_serializer @@ -130,6 +137,9 @@ class Webhook(BaseModel): r"""Output only. The timestamp when the webhook was last updated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -142,11 +152,15 @@ def serialize_model(self, handler): "update_time", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -198,13 +212,20 @@ class WebhookInput(BaseModel): r"""Optional. The user-provided name of the webhook.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/webhooklistresponse.py b/google/genai/_gaos/types/webhooks/webhooklistresponse.py index 881ac184fa..09cd71d23d 100644 --- a/google/genai/_gaos/types/webhooks/webhooklistresponse.py +++ b/google/genai/_gaos/types/webhooks/webhooklistresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from .webhook import Webhook, WebhookTypedDict from pydantic import model_serializer from typing import List, Optional @@ -48,13 +49,20 @@ class WebhookListResponse(BaseModel): r"""The webhooks.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_page_token", "webhooks"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/webhookrotatesigningsecretresponse.py b/google/genai/_gaos/types/webhooks/webhookrotatesigningsecretresponse.py index b1ed073a3a..666de7c849 100644 --- a/google/genai/_gaos/types/webhooks/webhookrotatesigningsecretresponse.py +++ b/google/genai/_gaos/types/webhooks/webhookrotatesigningsecretresponse.py @@ -18,7 +18,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL +from .. import BaseModel, UNSET_SENTINEL, current_exclude_none, serialize_with_info +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -38,13 +39,20 @@ class WebhookRotateSigningSecretResponse(BaseModel): r"""Output only. The newly generated signing secret.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["secret"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/types/webhooks/webhookupdate.py b/google/genai/_gaos/types/webhooks/webhookupdate.py index 078d0b9889..307cdcdd8f 100644 --- a/google/genai/_gaos/types/webhooks/webhookupdate.py +++ b/google/genai/_gaos/types/webhooks/webhookupdate.py @@ -18,7 +18,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .. import BaseModel, UNSET_SENTINEL, UnrecognizedStr +from .. import ( + BaseModel, + UNSET_SENTINEL, + UnrecognizedStr, + current_exclude_none, + serialize_with_info, +) +from ..basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Literal, Optional, Union from typing_extensions import NotRequired, TypedDict @@ -96,13 +103,20 @@ class WebhookUpdate(BaseModel): r"""Optional. The URI to which webhook events will be sent.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "state", "subscribed_events", "uri"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/google/genai/_gaos/utils/__init__.py b/google/genai/_gaos/utils/__init__.py index 89349a94d6..00b9a35657 100644 --- a/google/genai/_gaos/utils/__init__.py +++ b/google/genai/_gaos/utils/__init__.py @@ -35,6 +35,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: from .datetimes import parse_datetime, parse_duration from .enums import OpenEnumMeta from .unions import parse_open_union + from .unions import dispatch_open_union_members from .headers import get_headers, get_response_headers from .metadata import ( FieldMetadata, @@ -82,6 +83,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: __all__ = [ "BackoffStrategy", + "dispatch_open_union_members", "FieldMetadata", "find_metadata", "FormMetadata", @@ -138,6 +140,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: _dynamic_imports: dict[str, str] = { "BackoffStrategy": ".retries", + "dispatch_open_union_members": ".unions", "FieldMetadata": ".metadata", "find_metadata": ".metadata", "FormMetadata": ".metadata", diff --git a/google/genai/_gaos/utils/unions.py b/google/genai/_gaos/utils/unions.py index a205b82d54..683f01c975 100644 --- a/google/genai/_gaos/utils/unions.py +++ b/google/genai/_gaos/utils/unions.py @@ -17,9 +17,17 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from typing import Any, Mapping +from functools import partial +from typing import Any, Mapping, Optional -from pydantic import BaseModel, TypeAdapter, ValidationError, ValidationInfo +from pydantic import ( + BaseModel, + TypeAdapter, + ValidationError, + ValidationInfo, + ValidatorFunctionWrapHandler, +) +from typing_extensions import Annotated, get_args, get_origin def parse_open_union( @@ -79,3 +87,133 @@ def parse_open_union( return construct_unvalidated(v, variant_cls) return unknown_cls(raw=v) + + +_DispatchMember = tuple[int, Optional[type], str, Mapping[str, Any]] + +_DISPATCH_MEMBERS: dict[int, tuple[tuple[Any, ...], list[_DispatchMember]]] = {} +_DISPATCH_ADAPTERS: dict[int, tuple[Any, TypeAdapter]] = {} + + +def _open_union_keywords(tp: Any) -> Optional[Mapping[str, Any]]: + if get_origin(tp) is not Annotated: + return None + for metadata in get_args(tp)[1:]: + func = getattr(metadata, "func", None) + if isinstance(func, partial) and func.func is parse_open_union: + return func.keywords + return None + + +def _dispatch_members(members: tuple[Any, ...]) -> list[_DispatchMember]: + cached = _DISPATCH_MEMBERS.get(id(members)) + if cached is not None: + return cached[1] + described: list[_DispatchMember] = [] + for index, member in enumerate(members): + container = get_origin(member) + if container in (list, dict): + item = get_args(member)[-1] + else: + container, item = None, member + keywords = _open_union_keywords(item) + if keywords is not None: + described.append( + (index, container, keywords["disc_key"], keywords["variants"]) + ) + _DISPATCH_MEMBERS[id(members)] = (members, described) + return described + + +def _recognizes(item: Any, disc_key: str, variants: Mapping[str, Any]) -> bool: + if not isinstance(item, dict): + return False + disc = item.get(disc_key) + return isinstance(disc, str) and disc in variants + + +def _container_owners( + container: type, items: list[Any], described: list[_DispatchMember] +) -> list[int]: + candidates = [ + member + for member in described + if member[1] is container + and all(isinstance(item, dict) and member[2] in item for item in items) + ] + recognized = [ + { + index + for index, _, disc_key, variants in candidates + if _recognizes(item, disc_key, variants) + } + for item in items + ] + return [ + index + for index, _, _, _ in candidates + if any(index in owners for owners in recognized) + and all(index in owners for owners in recognized if owners) + ] + + +def _owning_member(value: Any, described: list[_DispatchMember]) -> Optional[int]: + if isinstance(value, dict): + owners = [ + index + for index, container, disc_key, variants in described + if container is None and _recognizes(value, disc_key, variants) + ] + owners += _container_owners(dict, list(value.values()), described) + elif isinstance(value, list): + owners = _container_owners(list, value, described) + else: + return None + return owners[0] if len(owners) == 1 else None + + +def _dispatch_adapter(member: Any) -> TypeAdapter: + cached = _DISPATCH_ADAPTERS.get(id(member)) + if cached is None: + cached = (member, TypeAdapter(member)) + _DISPATCH_ADAPTERS[id(member)] = cached + return cached[1] + + +def dispatch_open_union_members( + value: Any, + handler: ValidatorFunctionWrapHandler, + info: ValidationInfo, + *, + members: tuple[Any, ...], +) -> Any: + """Validate a union value against the open discriminated union that owns it. + + members lists the union's open discriminated unions, directly or as list or + dict items. An object belongs to the members whose discriminator mapping + contains its discriminator value. A list or dict belongs to a container + member when every item is an object with that member's discriminator field, + and that member recognizes at least one item and every recognized item. + With exactly one owner, the value is validated against that member first, + so another member's Unknown fallback cannot claim it. Otherwise, or when + the owner rejects the value, the enclosing union validates the value as + usual; if that also fails, the owner's error is raised. + """ + owner = _owning_member(value, _dispatch_members(members)) + if owner is None: + return handler(value) + adapter = _dispatch_adapter(members[owner]) + try: + return adapter.validate_python(value, context=info.context) + except ValidationError: + pass + try: + return handler(value) + except ValidationError: + pass + # Validate against the owner again so that its error propagates as a fresh + # exception. Re-raising the ValidationError caught above from this wrap + # validator, after the handler has failed, makes CPython debug builds abort + # in the garbage collector ("refcount is too small") with pydantic-core + # 2.41. + return adapter.validate_python(value, context=info.context) diff --git a/google/genai/_gaos/voices.py b/google/genai/_gaos/voices.py index 454f466f56..1684c55f36 100644 --- a/google/genai/_gaos/voices.py +++ b/google/genai/_gaos/voices.py @@ -96,7 +96,7 @@ def list( voices with any of the specified region codes (OR). :param search: Optional. Free-text substring search query matched case-insensitively against both `display_name` and `description`. Maximum 2048 bytes. - :param type: Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, + :param type_: Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, `\"prompted\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified types (OR). :param extra_headers: Additional headers to set or replace on requests. @@ -832,7 +832,7 @@ async def list( voices with any of the specified region codes (OR). :param search: Optional. Free-text substring search query matched case-insensitively against both `display_name` and `description`. Maximum 2048 bytes. - :param type: Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, + :param type_: Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, `\"prompted\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified types (OR). :param extra_headers: Additional headers to set or replace on requests.