From 21d6b47b63e65ef476a2f4d32e71f2a23c81b77e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 21:44:44 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 ++-- src/retell/resources/call.py | 12 ++++++------ src/retell/resources/chat.py | 12 ++++++------ .../types/batch_call_create_batch_call_params.py | 2 +- .../types/call_create_phone_call_params.py | 2 +- src/retell/types/call_create_web_call_params.py | 2 +- src/retell/types/call_list_response.py | 8 ++++---- .../types/call_register_phone_call_params.py | 2 +- src/retell/types/chat_create_params.py | 2 +- src/retell/types/chat_create_sms_chat_params.py | 2 +- src/retell/types/chat_list_params.py | 3 +-- src/retell/types/chat_response.py | 4 ++-- .../conversation_flow_component_create_params.py | 4 ++-- .../conversation_flow_component_response.py | 4 ++-- .../conversation_flow_component_update_params.py | 4 ++-- .../types/conversation_flow_create_params.py | 8 ++++---- src/retell/types/conversation_flow_response.py | 8 ++++---- .../types/conversation_flow_update_params.py | 8 ++++---- src/retell/types/llm_create_params.py | 6 +++--- src/retell/types/llm_response.py | 6 +++--- src/retell/types/llm_update_params.py | 6 +++--- src/retell/types/mcp_tool_definition.py | 4 +--- src/retell/types/phone_call_response.py | 4 ++-- src/retell/types/playground_completion_params.py | 2 +- .../types/test_case_definition_response.py | 2 +- .../test_create_test_case_definition_params.py | 2 +- .../test_update_test_case_definition_params.py | 2 +- src/retell/types/web_call_response.py | 4 ++-- tests/api_resources/test_batch_call.py | 4 ++-- tests/api_resources/test_call.py | 12 ++++++------ tests/api_resources/test_chat.py | 12 ++++++------ tests/api_resources/test_conversation_flow.py | 16 ++++++++-------- .../test_conversation_flow_component.py | 8 ++++---- tests/api_resources/test_llm.py | 16 ++++++++-------- 34 files changed, 97 insertions(+), 100 deletions(-) diff --git a/.stats.yml b/.stats.yml index d3a82d8e..227fac5f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 76 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/retell/retell-05474670b76c31276c1956b211a508ef83a98460fdaf874ab8ff8adec07ca6f5.yml -openapi_spec_hash: f90a89b2cf56a4dc802dfa049e1dadd5 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/retell/retell-d2573b05221454951e2d3f6aa7e56afe1a1e81fac61608ddc4b67892a3b9527f.yml +openapi_spec_hash: 5fa3e4867d55623e7c51da628bb080bb config_hash: 563668cc30bc4847932ba265108c000c diff --git a/src/retell/resources/call.py b/src/retell/resources/call.py index ed7e01b9..4a5e9271 100644 --- a/src/retell/resources/call.py +++ b/src/retell/resources/call.py @@ -258,7 +258,7 @@ def create_phone_call( metadata: object | Omit = omit, override_agent_id: str | Omit = omit, override_agent_version: Union[int, str] | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -343,7 +343,7 @@ def create_web_call( current_node_id: Optional[str] | Omit = omit, current_state: Optional[str] | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -418,7 +418,7 @@ def register_phone_call( direction: Literal["inbound", "outbound"] | Omit = omit, from_number: str | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, to_number: str | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -741,7 +741,7 @@ async def create_phone_call( metadata: object | Omit = omit, override_agent_id: str | Omit = omit, override_agent_version: Union[int, str] | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -826,7 +826,7 @@ async def create_web_call( current_node_id: Optional[str] | Omit = omit, current_state: Optional[str] | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -901,7 +901,7 @@ async def register_phone_call( direction: Literal["inbound", "outbound"] | Omit = omit, from_number: str | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, to_number: str | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. diff --git a/src/retell/resources/chat.py b/src/retell/resources/chat.py index 80261ae3..97e8b9a6 100644 --- a/src/retell/resources/chat.py +++ b/src/retell/resources/chat.py @@ -59,7 +59,7 @@ def create( agent_id: str, agent_version: Union[int, str] | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -207,7 +207,7 @@ def update( def list( self, *, - filter_criteria: Dict[str, object] | Omit = omit, + filter_criteria: object | Omit = omit, limit: int | Omit = omit, pagination_key: str | Omit = omit, skip: int | Omit = omit, @@ -348,7 +348,7 @@ def create_sms_chat( metadata: object | Omit = omit, override_agent_id: str | Omit = omit, override_agent_version: Union[int, str] | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -470,7 +470,7 @@ async def create( agent_id: str, agent_version: Union[int, str] | Omit = omit, metadata: object | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -618,7 +618,7 @@ async def update( async def list( self, *, - filter_criteria: Dict[str, object] | Omit = omit, + filter_criteria: object | Omit = omit, limit: int | Omit = omit, pagination_key: str | Omit = omit, skip: int | Omit = omit, @@ -759,7 +759,7 @@ async def create_sms_chat( metadata: object | Omit = omit, override_agent_id: str | Omit = omit, override_agent_version: Union[int, str] | Omit = omit, - retell_llm_dynamic_variables: Dict[str, object] | Omit = omit, + retell_llm_dynamic_variables: Dict[str, str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, diff --git a/src/retell/types/batch_call_create_batch_call_params.py b/src/retell/types/batch_call_create_batch_call_params.py index db38a74a..e52418b3 100644 --- a/src/retell/types/batch_call_create_batch_call_params.py +++ b/src/retell/types/batch_call_create_batch_call_params.py @@ -1348,7 +1348,7 @@ class Task(TypedDict, total=False): This does not bind the agent to this number, this is for one time override. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/call_create_phone_call_params.py b/src/retell/types/call_create_phone_call_params.py index 5facfd07..8f5f684e 100644 --- a/src/retell/types/call_create_phone_call_params.py +++ b/src/retell/types/call_create_phone_call_params.py @@ -97,7 +97,7 @@ class CallCreatePhoneCallParams(TypedDict, total=False): override. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/call_create_web_call_params.py b/src/retell/types/call_create_web_call_params.py index 1bf8c08b..0e1acd78 100644 --- a/src/retell/types/call_create_web_call_params.py +++ b/src/retell/types/call_create_web_call_params.py @@ -84,7 +84,7 @@ class CallCreateWebCallParams(TypedDict, total=False): object. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/call_list_response.py b/src/retell/types/call_list_response.py index b7fb94e2..1dd600d9 100644 --- a/src/retell/types/call_list_response.py +++ b/src/retell/types/call_list_response.py @@ -421,7 +421,7 @@ class ItemV3WebCallResponse(BaseModel): call_cost: Optional[ItemV3WebCallResponseCallCost] = None """Cost of the call, including all the products and their costs and discount.""" - collected_dynamic_variables: Optional[Dict[str, object]] = None + collected_dynamic_variables: Optional[Dict[str, str]] = None """Dynamic variables collected from the call. Only available after the call ends.""" custom_sip_headers: Optional[Dict[str, str]] = None @@ -539,7 +539,7 @@ class ItemV3WebCallResponse(BaseModel): recording_url: Optional[str] = None """Recording of the call. Available after call ends.""" - retell_llm_dynamic_variables: Optional[Dict[str, object]] = None + retell_llm_dynamic_variables: Optional[Dict[str, str]] = None """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response @@ -973,7 +973,7 @@ class ItemV3PhoneCallResponse(BaseModel): call_cost: Optional[ItemV3PhoneCallResponseCallCost] = None """Cost of the call, including all the products and their costs and discount.""" - collected_dynamic_variables: Optional[Dict[str, object]] = None + collected_dynamic_variables: Optional[Dict[str, str]] = None """Dynamic variables collected from the call. Only available after the call ends.""" custom_sip_headers: Optional[Dict[str, str]] = None @@ -1091,7 +1091,7 @@ class ItemV3PhoneCallResponse(BaseModel): recording_url: Optional[str] = None """Recording of the call. Available after call ends.""" - retell_llm_dynamic_variables: Optional[Dict[str, object]] = None + retell_llm_dynamic_variables: Optional[Dict[str, str]] = None """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/call_register_phone_call_params.py b/src/retell/types/call_register_phone_call_params.py index 3ae5e0fe..8b85710b 100644 --- a/src/retell/types/call_register_phone_call_params.py +++ b/src/retell/types/call_register_phone_call_params.py @@ -72,7 +72,7 @@ class CallRegisterPhoneCallParams(TypedDict, total=False): object. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/chat_create_params.py b/src/retell/types/chat_create_params.py index d445c5c7..3c1d7869 100644 --- a/src/retell/types/chat_create_params.py +++ b/src/retell/types/chat_create_params.py @@ -26,7 +26,7 @@ class ChatCreateParams(TypedDict, total=False): object. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/chat_create_sms_chat_params.py b/src/retell/types/chat_create_sms_chat_params.py index 3f7abfc5..7d7d62e8 100644 --- a/src/retell/types/chat_create_sms_chat_params.py +++ b/src/retell/types/chat_create_sms_chat_params.py @@ -40,7 +40,7 @@ class ChatCreateSMSChatParams(TypedDict, total=False): override. """ - retell_llm_dynamic_variables: Dict[str, object] + retell_llm_dynamic_variables: Dict[str, str] """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/chat_list_params.py b/src/retell/types/chat_list_params.py index e1cc9657..ff227d6c 100644 --- a/src/retell/types/chat_list_params.py +++ b/src/retell/types/chat_list_params.py @@ -2,14 +2,13 @@ from __future__ import annotations -from typing import Dict from typing_extensions import Literal, TypedDict __all__ = ["ChatListParams"] class ChatListParams(TypedDict, total=False): - filter_criteria: Dict[str, object] + filter_criteria: object """Filter criteria for chats to retrieve.""" limit: int diff --git a/src/retell/types/chat_response.py b/src/retell/types/chat_response.py index 35bebbb2..a546c80e 100644 --- a/src/retell/types/chat_response.py +++ b/src/retell/types/chat_response.py @@ -211,7 +211,7 @@ class ChatResponse(BaseModel): chat_type: Optional[Literal["api_chat", "sms_chat"]] = None """Type of the chat""" - collected_dynamic_variables: Optional[Dict[str, object]] = None + collected_dynamic_variables: Optional[Dict[str, str]] = None """Dynamic variables collected from the chat. Only available after the chat ends.""" custom_attributes: Optional[Dict[str, Union[str, float, bool]]] = None @@ -234,7 +234,7 @@ class ChatResponse(BaseModel): object. """ - retell_llm_dynamic_variables: Optional[Dict[str, object]] = None + retell_llm_dynamic_variables: Optional[Dict[str, str]] = None """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/conversation_flow_component_create_params.py b/src/retell/types/conversation_flow_component_create_params.py index 9521f521..30cf961e 100644 --- a/src/retell/types/conversation_flow_component_create_params.py +++ b/src/retell/types/conversation_flow_component_create_params.py @@ -2172,7 +2172,7 @@ class NodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -7363,7 +7363,7 @@ class ToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/conversation_flow_component_response.py b/src/retell/types/conversation_flow_component_response.py index 502ab05e..4e0dce01 100644 --- a/src/retell/types/conversation_flow_component_response.py +++ b/src/retell/types/conversation_flow_component_response.py @@ -2139,7 +2139,7 @@ class NodeSubagentNodeToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -7248,7 +7248,7 @@ class ToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/conversation_flow_component_update_params.py b/src/retell/types/conversation_flow_component_update_params.py index f2edba79..f49544d0 100644 --- a/src/retell/types/conversation_flow_component_update_params.py +++ b/src/retell/types/conversation_flow_component_update_params.py @@ -2199,7 +2199,7 @@ class NodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -7363,7 +7363,7 @@ class ToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/conversation_flow_create_params.py b/src/retell/types/conversation_flow_create_params.py index cf7a97ca..167be9d1 100644 --- a/src/retell/types/conversation_flow_create_params.py +++ b/src/retell/types/conversation_flow_create_params.py @@ -2834,7 +2834,7 @@ class NodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -9557,7 +9557,7 @@ class ComponentNodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -14857,7 +14857,7 @@ class ComponentToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -15157,7 +15157,7 @@ class ToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/conversation_flow_response.py b/src/retell/types/conversation_flow_response.py index b54a3896..818ba7dd 100644 --- a/src/retell/types/conversation_flow_response.py +++ b/src/retell/types/conversation_flow_response.py @@ -2743,7 +2743,7 @@ class ComponentNodeSubagentNodeToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -7927,7 +7927,7 @@ class ComponentToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -9766,7 +9766,7 @@ class NodeSubagentNodeToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -14848,7 +14848,7 @@ class ToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/conversation_flow_update_params.py b/src/retell/types/conversation_flow_update_params.py index 503fc6a9..89927647 100644 --- a/src/retell/types/conversation_flow_update_params.py +++ b/src/retell/types/conversation_flow_update_params.py @@ -2845,7 +2845,7 @@ class ComponentNodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -8145,7 +8145,7 @@ class ComponentToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -9996,7 +9996,7 @@ class NodeSubagentNodeToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -15160,7 +15160,7 @@ class ToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/llm_create_params.py b/src/retell/types/llm_create_params.py index 00b798e0..014cac17 100644 --- a/src/retell/types/llm_create_params.py +++ b/src/retell/types/llm_create_params.py @@ -832,7 +832,7 @@ class GeneralToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1326,7 +1326,7 @@ class StateEdgeParameters(TypedDict, total=False): The parameters extracted here can be referenced in prompts & function descriptions of later states via dynamic variables. The parameters the functions accepts, described as a JSON Schema object. See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1975,7 +1975,7 @@ class StateToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/llm_response.py b/src/retell/types/llm_response.py index 75e5d89c..859afc9d 100644 --- a/src/retell/types/llm_response.py +++ b/src/retell/types/llm_response.py @@ -713,7 +713,7 @@ class GeneralToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1207,7 +1207,7 @@ class StateEdgeParameters(BaseModel): The parameters extracted here can be referenced in prompts & function descriptions of later states via dynamic variables. The parameters the functions accepts, described as a JSON Schema object. See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1858,7 +1858,7 @@ class StateToolCustomToolParameters(BaseModel): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Dict[str, object] + properties: object """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/llm_update_params.py b/src/retell/types/llm_update_params.py index 1e8ae4d9..9e86088b 100644 --- a/src/retell/types/llm_update_params.py +++ b/src/retell/types/llm_update_params.py @@ -836,7 +836,7 @@ class GeneralToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1330,7 +1330,7 @@ class StateEdgeParameters(TypedDict, total=False): The parameters extracted here can be referenced in prompts & function descriptions of later states via dynamic variables. The parameters the functions accepts, described as a JSON Schema object. See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. @@ -1979,7 +1979,7 @@ class StateToolCustomToolParameters(TypedDict, total=False): See [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting parameters defines a function with an empty parameter list. """ - properties: Required[Dict[str, object]] + properties: Required[object] """ The value of properties is an object, where each key is the name of a property and each value is a schema used to validate that property. diff --git a/src/retell/types/mcp_tool_definition.py b/src/retell/types/mcp_tool_definition.py index 4c7827d4..2ab64b02 100644 --- a/src/retell/types/mcp_tool_definition.py +++ b/src/retell/types/mcp_tool_definition.py @@ -1,7 +1,5 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import Dict - from pydantic import Field as FieldInfo from .._models import BaseModel @@ -13,7 +11,7 @@ class McpToolDefinition(BaseModel): description: str """Description of what the MCP tool does.""" - input_schema: Dict[str, object] = FieldInfo(alias="inputSchema") + input_schema: object = FieldInfo(alias="inputSchema") """JSON schema defining the input parameters for the tool.""" name: str diff --git a/src/retell/types/phone_call_response.py b/src/retell/types/phone_call_response.py index a61d913b..5769bc60 100644 --- a/src/retell/types/phone_call_response.py +++ b/src/retell/types/phone_call_response.py @@ -691,7 +691,7 @@ class PhoneCallResponse(BaseModel): call_cost: Optional[CallCost] = None """Cost of the call, including all the products and their costs and discount.""" - collected_dynamic_variables: Optional[Dict[str, object]] = None + collected_dynamic_variables: Optional[Dict[str, str]] = None """Dynamic variables collected from the call. Only available after the call ends.""" custom_sip_headers: Optional[Dict[str, str]] = None @@ -809,7 +809,7 @@ class PhoneCallResponse(BaseModel): recording_url: Optional[str] = None """Recording of the call. Available after call ends.""" - retell_llm_dynamic_variables: Optional[Dict[str, object]] = None + retell_llm_dynamic_variables: Optional[Dict[str, str]] = None """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/src/retell/types/playground_completion_params.py b/src/retell/types/playground_completion_params.py index 6778d395..8918817b 100644 --- a/src/retell/types/playground_completion_params.py +++ b/src/retell/types/playground_completion_params.py @@ -181,7 +181,7 @@ class ToolMockInputMatchRuleType(TypedDict, total=False): class ToolMockInputMatchRuleUnionMember1(TypedDict, total=False): - args: Required[Dict[str, object]] + args: Required[object] """Arguments to match. Only provided fields will be checked""" type: Required[Literal["partial_match"]] diff --git a/src/retell/types/test_case_definition_response.py b/src/retell/types/test_case_definition_response.py index c007beb2..3ef1de34 100644 --- a/src/retell/types/test_case_definition_response.py +++ b/src/retell/types/test_case_definition_response.py @@ -48,7 +48,7 @@ class ToolMockInputMatchRuleType(BaseModel): class ToolMockInputMatchRuleUnionMember1(BaseModel): - args: Dict[str, object] + args: object """Arguments to match. Only provided fields will be checked""" type: Literal["partial_match"] diff --git a/src/retell/types/test_create_test_case_definition_params.py b/src/retell/types/test_create_test_case_definition_params.py index 5972eb3e..5a8ca2fc 100644 --- a/src/retell/types/test_create_test_case_definition_params.py +++ b/src/retell/types/test_create_test_case_definition_params.py @@ -92,7 +92,7 @@ class ToolMockInputMatchRuleType(TypedDict, total=False): class ToolMockInputMatchRuleUnionMember1(TypedDict, total=False): - args: Required[Dict[str, object]] + args: Required[object] """Arguments to match. Only provided fields will be checked""" type: Required[Literal["partial_match"]] diff --git a/src/retell/types/test_update_test_case_definition_params.py b/src/retell/types/test_update_test_case_definition_params.py index 5812b314..66ac0b18 100644 --- a/src/retell/types/test_update_test_case_definition_params.py +++ b/src/retell/types/test_update_test_case_definition_params.py @@ -92,7 +92,7 @@ class ToolMockInputMatchRuleType(TypedDict, total=False): class ToolMockInputMatchRuleUnionMember1(TypedDict, total=False): - args: Required[Dict[str, object]] + args: Required[object] """Arguments to match. Only provided fields will be checked""" type: Required[Literal["partial_match"]] diff --git a/src/retell/types/web_call_response.py b/src/retell/types/web_call_response.py index 02b8c4f1..8fbccfe2 100644 --- a/src/retell/types/web_call_response.py +++ b/src/retell/types/web_call_response.py @@ -677,7 +677,7 @@ class WebCallResponse(BaseModel): call_cost: Optional[CallCost] = None """Cost of the call, including all the products and their costs and discount.""" - collected_dynamic_variables: Optional[Dict[str, object]] = None + collected_dynamic_variables: Optional[Dict[str, str]] = None """Dynamic variables collected from the call. Only available after the call ends.""" custom_sip_headers: Optional[Dict[str, str]] = None @@ -795,7 +795,7 @@ class WebCallResponse(BaseModel): recording_url: Optional[str] = None """Recording of the call. Available after call ends.""" - retell_llm_dynamic_variables: Optional[Dict[str, object]] = None + retell_llm_dynamic_variables: Optional[Dict[str, str]] = None """ Add optional dynamic variables in key value pairs of string that injects into your Response Engine prompt and tool description. Only applicable for Response diff --git a/tests/api_resources/test_batch_call.py b/tests/api_resources/test_batch_call.py index 4eafb500..179141b4 100644 --- a/tests/api_resources/test_batch_call.py +++ b/tests/api_resources/test_batch_call.py @@ -185,7 +185,7 @@ def test_method_create_batch_call_with_all_params(self, client: Retell) -> None: "metadata": {}, "override_agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", "override_agent_version": 1, - "retell_llm_dynamic_variables": {"customer_name": "bar"}, + "retell_llm_dynamic_variables": {"customer_name": "John Doe"}, } ], call_time_window={ @@ -406,7 +406,7 @@ async def test_method_create_batch_call_with_all_params(self, async_client: Asyn "metadata": {}, "override_agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", "override_agent_version": 1, - "retell_llm_dynamic_variables": {"customer_name": "bar"}, + "retell_llm_dynamic_variables": {"customer_name": "John Doe"}, } ], call_time_window={ diff --git a/tests/api_resources/test_call.py b/tests/api_resources/test_call.py index 61a698f3..0d2f4ac5 100644 --- a/tests/api_resources/test_call.py +++ b/tests/api_resources/test_call.py @@ -511,7 +511,7 @@ def test_method_create_phone_call_with_all_params(self, client: Retell) -> None: metadata={}, override_agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", override_agent_version=1, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(PhoneCallResponse, call, path=["response"]) @@ -706,7 +706,7 @@ def test_method_create_web_call_with_all_params(self, client: Retell) -> None: current_node_id="collect_info", current_state="information_collection", metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(WebCallResponse, call, path=["response"]) @@ -899,7 +899,7 @@ def test_method_register_phone_call_with_all_params(self, client: Retell) -> Non direction="inbound", from_number="+14157774444", metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, to_number="+12137774445", ) assert_matches_type(PhoneCallResponse, call, path=["response"]) @@ -1467,7 +1467,7 @@ async def test_method_create_phone_call_with_all_params(self, async_client: Asyn metadata={}, override_agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", override_agent_version=1, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(PhoneCallResponse, call, path=["response"]) @@ -1662,7 +1662,7 @@ async def test_method_create_web_call_with_all_params(self, async_client: AsyncR current_node_id="collect_info", current_state="information_collection", metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(WebCallResponse, call, path=["response"]) @@ -1855,7 +1855,7 @@ async def test_method_register_phone_call_with_all_params(self, async_client: As direction="inbound", from_number="+14157774444", metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, to_number="+12137774445", ) assert_matches_type(PhoneCallResponse, call, path=["response"]) diff --git a/tests/api_resources/test_chat.py b/tests/api_resources/test_chat.py index cb572683..32b4ed86 100644 --- a/tests/api_resources/test_chat.py +++ b/tests/api_resources/test_chat.py @@ -36,7 +36,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", agent_version=1, metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(ChatResponse, chat, path=["response"]) @@ -178,7 +178,7 @@ def test_method_list(self, client: Retell) -> None: @parametrize def test_method_list_with_all_params(self, client: Retell) -> None: chat = client.chat.list( - filter_criteria={"foo": "bar"}, + filter_criteria={}, limit=1000, pagination_key="pagination_key", skip=0, @@ -305,7 +305,7 @@ def test_method_create_sms_chat_with_all_params(self, client: Retell) -> None: metadata={}, override_agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", override_agent_version=1, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(ChatResponse, chat, path=["response"]) @@ -400,7 +400,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", agent_version=1, metadata={}, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(ChatResponse, chat, path=["response"]) @@ -542,7 +542,7 @@ async def test_method_list(self, async_client: AsyncRetell) -> None: @parametrize async def test_method_list_with_all_params(self, async_client: AsyncRetell) -> None: chat = await async_client.chat.list( - filter_criteria={"foo": "bar"}, + filter_criteria={}, limit=1000, pagination_key="pagination_key", skip=0, @@ -669,7 +669,7 @@ async def test_method_create_sms_chat_with_all_params(self, async_client: AsyncR metadata={}, override_agent_id="oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD", override_agent_version=1, - retell_llm_dynamic_variables={"customer_name": "bar"}, + retell_llm_dynamic_variables={"customer_name": "John Doe"}, ) assert_matches_type(ChatResponse, chat, path=["response"]) diff --git a/tests/api_resources/test_conversation_flow.py b/tests/api_resources/test_conversation_flow.py index 1589c37f..98279724 100644 --- a/tests/api_resources/test_conversation_flow.py +++ b/tests/api_resources/test_conversation_flow.py @@ -328,7 +328,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -398,7 +398,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -699,7 +699,7 @@ def test_method_update_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -887,7 +887,7 @@ def test_method_update_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -1333,7 +1333,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -1403,7 +1403,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -1704,7 +1704,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -1892,7 +1892,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, diff --git a/tests/api_resources/test_conversation_flow_component.py b/tests/api_resources/test_conversation_flow_component.py index b2ad6b34..5c1e440c 100644 --- a/tests/api_resources/test_conversation_flow_component.py +++ b/tests/api_resources/test_conversation_flow_component.py @@ -199,7 +199,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -477,7 +477,7 @@ def test_method_update_with_all_params(self, client: Retell) -> None: "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -798,7 +798,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -1076,7 +1076,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncRetell) -> "headers": {"Authorization": "Bearer 1234567890"}, "method": "GET", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, diff --git a/tests/api_resources/test_llm.py b/tests/api_resources/test_llm.py index 01426f50..0e4f2b32 100644 --- a/tests/api_resources/test_llm.py +++ b/tests/api_resources/test_llm.py @@ -75,7 +75,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: "description": "Transition to book an appointment.", "destination_state_name": "appointment_booking", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -113,7 +113,7 @@ def test_method_create_with_all_params(self, client: Retell) -> None: "description": "description", "destination_state_name": "destination_state_name", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -269,7 +269,7 @@ def test_method_update_with_all_params(self, client: Retell) -> None: "description": "Transition to book an appointment.", "destination_state_name": "appointment_booking", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -307,7 +307,7 @@ def test_method_update_with_all_params(self, client: Retell) -> None: "description": "description", "destination_state_name": "destination_state_name", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -506,7 +506,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> "description": "Transition to book an appointment.", "destination_state_name": "appointment_booking", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -544,7 +544,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRetell) -> "description": "description", "destination_state_name": "destination_state_name", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -700,7 +700,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncRetell) -> "description": "Transition to book an appointment.", "destination_state_name": "appointment_booking", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, @@ -738,7 +738,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncRetell) -> "description": "description", "destination_state_name": "destination_state_name", "parameters": { - "properties": {"foo": "bar"}, + "properties": {}, "type": "object", "required": ["string"], }, From 3e4d67a47d53d280947d21fa05cbf46b639d693f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 21:45:12 +0000 Subject: [PATCH 2/2] release: 5.39.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- src/retell/_version.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 45a51f57..b253955a 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "5.38.0" + ".": "5.39.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2383d6c0..55302be9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 5.39.0 (2026-05-12) + +Full Changelog: [v5.38.0...v5.39.0](https://github.com/RetellAI/retell-python-sdk/compare/v5.38.0...v5.39.0) + +### Features + +* **api:** api update ([21d6b47](https://github.com/RetellAI/retell-python-sdk/commit/21d6b47b63e65ef476a2f4d32e71f2a23c81b77e)) + ## 5.38.0 (2026-05-12) Full Changelog: [v5.37.0...v5.38.0](https://github.com/RetellAI/retell-python-sdk/compare/v5.37.0...v5.38.0) diff --git a/pyproject.toml b/pyproject.toml index eb19d484..e3ccdd02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "retell-sdk" -version = "5.38.0" +version = "5.39.0" description = "The official Python library for the retell API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/retell/_version.py b/src/retell/_version.py index bab6a829..d9d1c03e 100644 --- a/src/retell/_version.py +++ b/src/retell/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "retell" -__version__ = "5.38.0" # x-release-please-version +__version__ = "5.39.0" # x-release-please-version