smallestai 3.1.0__py3-none-any.whl → 4.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of smallestai might be problematic. Click here for more details.

Files changed (135) hide show
  1. smallestai/__init__.py +35 -45
  2. smallestai/atoms/__init__.py +249 -123
  3. smallestai/atoms/api/__init__.py +0 -1
  4. smallestai/atoms/api/agent_templates_api.py +26 -26
  5. smallestai/atoms/api/agents_api.py +1316 -190
  6. smallestai/atoms/api/calls_api.py +29 -29
  7. smallestai/atoms/api/campaigns_api.py +165 -165
  8. smallestai/atoms/api/knowledge_base_api.py +290 -290
  9. smallestai/atoms/api/logs_api.py +13 -13
  10. smallestai/atoms/api/organization_api.py +13 -13
  11. smallestai/atoms/api/user_api.py +13 -13
  12. smallestai/atoms/atoms_client.py +77 -49
  13. smallestai/atoms/models/__init__.py +103 -43
  14. smallestai/atoms/models/agent_agent_id_webhook_subscriptions_delete200_response.py +89 -0
  15. smallestai/atoms/models/{get_agent_templates200_response.py → agent_agent_id_webhook_subscriptions_get200_response.py} +7 -7
  16. smallestai/atoms/models/agent_agent_id_webhook_subscriptions_get404_response.py +89 -0
  17. smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post201_response.py +89 -0
  18. smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post400_response.py +89 -0
  19. smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post_request.py +97 -0
  20. smallestai/atoms/models/agent_dto.py +8 -6
  21. smallestai/atoms/models/agent_dto_language.py +17 -3
  22. smallestai/atoms/models/agent_dto_language_switching.py +95 -0
  23. smallestai/atoms/models/agent_dto_synthesizer.py +1 -1
  24. smallestai/atoms/models/{create_agent_from_template200_response.py → agent_from_template_post200_response.py} +4 -4
  25. smallestai/atoms/models/{get_agents200_response.py → agent_get200_response.py} +7 -7
  26. smallestai/atoms/models/{get_agents200_response_data.py → agent_get200_response_data.py} +9 -13
  27. smallestai/atoms/models/{delete_agent200_response.py → agent_id_delete200_response.py} +4 -4
  28. smallestai/atoms/models/{get_agent_by_id200_response.py → agent_id_get200_response.py} +4 -4
  29. smallestai/atoms/models/{update_agent200_response.py → agent_id_patch200_response.py} +4 -4
  30. smallestai/atoms/models/{update_agent_request.py → agent_id_patch_request.py} +17 -15
  31. smallestai/atoms/models/{update_agent_request_language.py → agent_id_patch_request_language.py} +14 -10
  32. smallestai/atoms/models/agent_id_patch_request_language_switching.py +96 -0
  33. smallestai/atoms/models/{update_agent_request_synthesizer.py → agent_id_patch_request_synthesizer.py} +6 -6
  34. smallestai/atoms/models/{update_agent_request_synthesizer_voice_config.py → agent_id_patch_request_synthesizer_voice_config.py} +27 -27
  35. smallestai/atoms/models/{update_agent_request_synthesizer_voice_config_one_of.py → agent_id_patch_request_synthesizer_voice_config_one_of.py} +4 -4
  36. smallestai/atoms/models/{update_agent_request_synthesizer_voice_config_one_of1.py → agent_id_patch_request_synthesizer_voice_config_one_of1.py} +4 -4
  37. smallestai/atoms/models/{get_campaign_by_id200_response.py → agent_id_workflow_get200_response.py} +7 -7
  38. smallestai/atoms/models/agent_id_workflow_get200_response_data.py +105 -0
  39. smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner.py +127 -0
  40. smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner_data.py +91 -0
  41. smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner_marker_end.py +91 -0
  42. smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner.py +114 -0
  43. smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data.py +115 -0
  44. smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data_variables.py +97 -0
  45. smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data_variables_data_inner.py +91 -0
  46. smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_position.py +89 -0
  47. smallestai/atoms/models/agent_id_workflow_get404_response.py +89 -0
  48. smallestai/atoms/models/agent_template_get200_response.py +97 -0
  49. smallestai/atoms/models/{get_agent_templates200_response_data_inner.py → agent_template_get200_response_data_inner.py} +6 -6
  50. smallestai/atoms/models/{get_campaigns200_response.py → audience_get200_response.py} +7 -7
  51. smallestai/atoms/models/{create_campaign201_response_data.py → audience_get200_response_data_inner.py} +16 -18
  52. smallestai/atoms/models/audience_id_delete200_response.py +89 -0
  53. smallestai/atoms/models/audience_id_delete400_response.py +89 -0
  54. smallestai/atoms/models/{get_current_user200_response.py → audience_id_get200_response.py} +7 -7
  55. smallestai/atoms/models/audience_id_get400_response.py +89 -0
  56. smallestai/atoms/models/audience_id_get403_response.py +89 -0
  57. smallestai/atoms/models/audience_id_get404_response.py +89 -0
  58. smallestai/atoms/models/audience_id_members_delete200_response.py +93 -0
  59. smallestai/atoms/models/audience_id_members_delete200_response_data.py +87 -0
  60. smallestai/atoms/models/audience_id_members_delete_request.py +87 -0
  61. smallestai/atoms/models/audience_id_members_get200_response.py +93 -0
  62. smallestai/atoms/models/audience_id_members_get200_response_data.py +101 -0
  63. smallestai/atoms/models/{get_campaigns200_response_data_inner_audience.py → audience_id_members_get200_response_data_members_inner.py} +8 -8
  64. smallestai/atoms/models/audience_id_members_get400_response.py +89 -0
  65. smallestai/atoms/models/audience_id_members_get500_response.py +89 -0
  66. smallestai/atoms/models/audience_id_members_post200_response.py +97 -0
  67. smallestai/atoms/models/audience_id_members_post200_response_data_inner.py +93 -0
  68. smallestai/atoms/models/audience_id_members_post200_response_data_inner_data.py +89 -0
  69. smallestai/atoms/models/audience_id_members_post400_response.py +89 -0
  70. smallestai/atoms/models/audience_id_members_post403_response.py +89 -0
  71. smallestai/atoms/models/audience_id_members_post_request.py +87 -0
  72. smallestai/atoms/models/audience_id_members_search_get200_response.py +93 -0
  73. smallestai/atoms/models/audience_id_members_search_get200_response_data.py +101 -0
  74. smallestai/atoms/models/audience_id_members_search_get200_response_data_search_info.py +103 -0
  75. smallestai/atoms/models/audience_id_members_search_get400_response.py +89 -0
  76. smallestai/atoms/models/audience_id_members_search_get500_response.py +89 -0
  77. smallestai/atoms/models/{create_campaign201_response.py → audience_post200_response.py} +7 -7
  78. smallestai/atoms/models/audience_post200_response_data.py +104 -0
  79. smallestai/atoms/models/audience_post400_response.py +89 -0
  80. smallestai/atoms/models/campaign_get200_response.py +93 -0
  81. smallestai/atoms/models/campaign_get200_response_data.py +87 -0
  82. smallestai/atoms/models/{get_campaigns_request.py → campaign_get_request.py} +4 -4
  83. smallestai/atoms/models/campaign_id_get200_response.py +93 -0
  84. smallestai/atoms/models/{get_campaign_by_id200_response_data.py → campaign_id_get200_response_data.py} +4 -4
  85. smallestai/atoms/models/campaign_post201_response.py +89 -0
  86. smallestai/atoms/models/{create_campaign_request.py → campaign_post_request.py} +4 -4
  87. smallestai/atoms/models/{start_outbound_call200_response.py → conversation_id_get200_response.py} +7 -7
  88. smallestai/atoms/models/{get_conversation_logs200_response_data.py → conversation_id_get200_response_data.py} +4 -4
  89. smallestai/atoms/models/conversation_outbound_post200_response.py +93 -0
  90. smallestai/atoms/models/{start_outbound_call200_response_data.py → conversation_outbound_post200_response_data.py} +4 -4
  91. smallestai/atoms/models/{start_outbound_call_request.py → conversation_outbound_post_request.py} +4 -4
  92. smallestai/atoms/models/create_agent_request.py +10 -6
  93. smallestai/atoms/models/create_agent_request_language.py +11 -7
  94. smallestai/atoms/models/create_agent_request_language_synthesizer_voice_config.py +24 -24
  95. smallestai/atoms/models/{knowledge_base_dto.py → knowledge_base.py} +15 -8
  96. smallestai/atoms/models/{knowledge_base_item_dto.py → knowledge_base_item.py} +19 -17
  97. smallestai/atoms/models/{get_knowledge_bases200_response.py → knowledgebase_get200_response.py} +7 -7
  98. smallestai/atoms/models/{get_knowledge_base_by_id200_response.py → knowledgebase_id_get200_response.py} +7 -7
  99. smallestai/atoms/models/{get_knowledge_base_items200_response.py → knowledgebase_id_items_get200_response.py} +7 -7
  100. smallestai/atoms/models/{upload_text_to_knowledge_base_request.py → knowledgebase_id_items_upload_text_post_request.py} +4 -4
  101. smallestai/atoms/models/{create_knowledge_base201_response.py → knowledgebase_post201_response.py} +4 -4
  102. smallestai/atoms/models/{create_knowledge_base_request.py → knowledgebase_post_request.py} +4 -4
  103. smallestai/atoms/models/{get_organization200_response.py → organization_get200_response.py} +7 -7
  104. smallestai/atoms/models/{get_organization200_response_data.py → organization_get200_response_data.py} +10 -10
  105. smallestai/atoms/models/{get_organization200_response_data_members_inner.py → organization_get200_response_data_members_inner.py} +4 -4
  106. smallestai/atoms/models/{get_organization200_response_data_subscription.py → organization_get200_response_data_subscription.py} +4 -4
  107. smallestai/atoms/models/product_phone_numbers_get200_response.py +97 -0
  108. smallestai/atoms/models/product_phone_numbers_get200_response_data_inner.py +100 -0
  109. smallestai/atoms/models/product_phone_numbers_get200_response_data_inner_attributes.py +89 -0
  110. smallestai/atoms/models/user_get200_response.py +93 -0
  111. smallestai/atoms/models/{get_current_user200_response_data.py → user_get200_response_data.py} +4 -4
  112. smallestai/atoms/models/webhook.py +124 -0
  113. smallestai/atoms/models/{get_campaigns200_response_data_inner_agent.py → webhook_agent.py} +8 -6
  114. smallestai/atoms/models/webhook_event.py +98 -0
  115. smallestai/atoms/models/webhook_get200_response.py +93 -0
  116. smallestai/atoms/models/webhook_get200_response_data.py +140 -0
  117. smallestai/atoms/models/webhook_id_delete404_response.py +89 -0
  118. smallestai/atoms/models/webhook_post201_response.py +89 -0
  119. smallestai/atoms/models/webhook_post_request.py +99 -0
  120. smallestai/atoms/models/webhook_post_request_events_inner.py +99 -0
  121. smallestai/atoms/models/webhook_subscription.py +108 -0
  122. smallestai/atoms/models/webhook_subscription_populated.py +112 -0
  123. smallestai/waves/__init__.py +2 -2
  124. smallestai/waves/async_waves_client.py +42 -69
  125. smallestai/waves/stream_tts.py +189 -254
  126. smallestai/waves/utils.py +3 -49
  127. smallestai/waves/waves_client.py +41 -69
  128. {smallestai-3.1.0.dist-info → smallestai-4.0.1.dist-info}/METADATA +3 -2
  129. smallestai-4.0.1.dist-info/RECORD +147 -0
  130. {smallestai-3.1.0.dist-info → smallestai-4.0.1.dist-info}/WHEEL +1 -1
  131. smallestai/atoms/models/get_campaigns200_response_data_inner.py +0 -118
  132. smallestai/atoms/models/get_conversation_logs200_response.py +0 -93
  133. smallestai-3.1.0.dist-info/RECORD +0 -87
  134. {smallestai-3.1.0.dist-info → smallestai-4.0.1.dist-info}/licenses/LICENSE +0 -0
  135. {smallestai-3.1.0.dist-info → smallestai-4.0.1.dist-info}/top_level.txt +0 -0
@@ -19,16 +19,16 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictBool
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from smallestai.atoms.models.get_agents200_response_data import GetAgents200ResponseData
22
+ from smallestai.atoms.models.agent_get200_response_data import AgentGet200ResponseData
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class GetAgents200Response(BaseModel):
26
+ class AgentGet200Response(BaseModel):
27
27
  """
28
- GetAgents200Response
28
+ AgentGet200Response
29
29
  """ # noqa: E501
30
30
  status: Optional[StrictBool] = None
31
- data: Optional[GetAgents200ResponseData] = None
31
+ data: Optional[AgentGet200ResponseData] = None
32
32
  __properties: ClassVar[List[str]] = ["status", "data"]
33
33
 
34
34
  model_config = ConfigDict(
@@ -49,7 +49,7 @@ class GetAgents200Response(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of GetAgents200Response from a JSON string"""
52
+ """Create an instance of AgentGet200Response from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -77,7 +77,7 @@ class GetAgents200Response(BaseModel):
77
77
 
78
78
  @classmethod
79
79
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
- """Create an instance of GetAgents200Response from a dict"""
80
+ """Create an instance of AgentGet200Response from a dict"""
81
81
  if obj is None:
82
82
  return None
83
83
 
@@ -86,7 +86,7 @@ class GetAgents200Response(BaseModel):
86
86
 
87
87
  _obj = cls.model_validate({
88
88
  "status": obj.get("status"),
89
- "data": GetAgents200ResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None
89
+ "data": AgentGet200ResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None
90
90
  })
91
91
  return _obj
92
92
 
@@ -17,21 +17,19 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
21
- from typing import Any, ClassVar, Dict, List, Optional
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from smallestai.atoms.models.agent_dto import AgentDTO
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class GetAgents200ResponseData(BaseModel):
26
+ class AgentGet200ResponseData(BaseModel):
27
27
  """
28
- GetAgents200ResponseData
28
+ AgentGet200ResponseData
29
29
  """ # noqa: E501
30
30
  agents: Optional[List[AgentDTO]] = None
31
- total_count: Optional[StrictInt] = Field(default=None, description="Total number of agents", alias="totalCount")
32
- has_more: Optional[StrictBool] = Field(default=None, description="Whether there are more agents to fetch", alias="hasMore")
33
- is_search_results: Optional[StrictBool] = Field(default=None, description="Whether the results are from a search query", alias="isSearchResults")
34
- __properties: ClassVar[List[str]] = ["agents", "totalCount", "hasMore", "isSearchResults"]
31
+ total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total number of agents")
32
+ __properties: ClassVar[List[str]] = ["agents", "total"]
35
33
 
36
34
  model_config = ConfigDict(
37
35
  populate_by_name=True,
@@ -51,7 +49,7 @@ class GetAgents200ResponseData(BaseModel):
51
49
 
52
50
  @classmethod
53
51
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of GetAgents200ResponseData from a JSON string"""
52
+ """Create an instance of AgentGet200ResponseData from a JSON string"""
55
53
  return cls.from_dict(json.loads(json_str))
56
54
 
57
55
  def to_dict(self) -> Dict[str, Any]:
@@ -83,7 +81,7 @@ class GetAgents200ResponseData(BaseModel):
83
81
 
84
82
  @classmethod
85
83
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
- """Create an instance of GetAgents200ResponseData from a dict"""
84
+ """Create an instance of AgentGet200ResponseData from a dict"""
87
85
  if obj is None:
88
86
  return None
89
87
 
@@ -92,9 +90,7 @@ class GetAgents200ResponseData(BaseModel):
92
90
 
93
91
  _obj = cls.model_validate({
94
92
  "agents": [AgentDTO.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None,
95
- "totalCount": obj.get("totalCount"),
96
- "hasMore": obj.get("hasMore"),
97
- "isSearchResults": obj.get("isSearchResults")
93
+ "total": obj.get("total")
98
94
  })
99
95
  return _obj
100
96
 
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class DeleteAgent200Response(BaseModel):
25
+ class AgentIdDelete200Response(BaseModel):
26
26
  """
27
- DeleteAgent200Response
27
+ AgentIdDelete200Response
28
28
  """ # noqa: E501
29
29
  status: Optional[StrictBool] = None
30
30
  __properties: ClassVar[List[str]] = ["status"]
@@ -47,7 +47,7 @@ class DeleteAgent200Response(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of DeleteAgent200Response from a JSON string"""
50
+ """Create an instance of AgentIdDelete200Response from a JSON string"""
51
51
  return cls.from_dict(json.loads(json_str))
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +72,7 @@ class DeleteAgent200Response(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of DeleteAgent200Response from a dict"""
75
+ """Create an instance of AgentIdDelete200Response from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -23,9 +23,9 @@ from smallestai.atoms.models.agent_dto import AgentDTO
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class GetAgentById200Response(BaseModel):
26
+ class AgentIdGet200Response(BaseModel):
27
27
  """
28
- GetAgentById200Response
28
+ AgentIdGet200Response
29
29
  """ # noqa: E501
30
30
  status: Optional[StrictBool] = None
31
31
  data: Optional[AgentDTO] = None
@@ -49,7 +49,7 @@ class GetAgentById200Response(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of GetAgentById200Response from a JSON string"""
52
+ """Create an instance of AgentIdGet200Response from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -77,7 +77,7 @@ class GetAgentById200Response(BaseModel):
77
77
 
78
78
  @classmethod
79
79
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
- """Create an instance of GetAgentById200Response from a dict"""
80
+ """Create an instance of AgentIdGet200Response from a dict"""
81
81
  if obj is None:
82
82
  return None
83
83
 
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class UpdateAgent200Response(BaseModel):
25
+ class AgentIdPatch200Response(BaseModel):
26
26
  """
27
- UpdateAgent200Response
27
+ AgentIdPatch200Response
28
28
  """ # noqa: E501
29
29
  status: Optional[StrictBool] = None
30
30
  data: Optional[StrictStr] = Field(default=None, description="The ID of the updated agent")
@@ -48,7 +48,7 @@ class UpdateAgent200Response(BaseModel):
48
48
 
49
49
  @classmethod
50
50
  def from_json(cls, json_str: str) -> Optional[Self]:
51
- """Create an instance of UpdateAgent200Response from a JSON string"""
51
+ """Create an instance of AgentIdPatch200Response from a JSON string"""
52
52
  return cls.from_dict(json.loads(json_str))
53
53
 
54
54
  def to_dict(self) -> Dict[str, Any]:
@@ -73,7 +73,7 @@ class UpdateAgent200Response(BaseModel):
73
73
 
74
74
  @classmethod
75
75
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
- """Create an instance of UpdateAgent200Response from a dict"""
76
+ """Create an instance of AgentIdPatch200Response from a dict"""
77
77
  if obj is None:
78
78
  return None
79
79
 
@@ -19,24 +19,25 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from smallestai.atoms.models.update_agent_request_language import UpdateAgentRequestLanguage
23
- from smallestai.atoms.models.update_agent_request_synthesizer import UpdateAgentRequestSynthesizer
22
+ from smallestai.atoms.models.agent_id_patch_request_language import AgentIdPatchRequestLanguage
23
+ from smallestai.atoms.models.agent_id_patch_request_synthesizer import AgentIdPatchRequestSynthesizer
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
27
- class UpdateAgentRequest(BaseModel):
27
+ class AgentIdPatchRequest(BaseModel):
28
28
  """
29
- UpdateAgentRequest
29
+ AgentIdPatchRequest
30
30
  """ # noqa: E501
31
31
  name: Optional[StrictStr] = None
32
32
  description: Optional[StrictStr] = None
33
- language: Optional[UpdateAgentRequestLanguage] = None
34
- synthesizer: Optional[UpdateAgentRequestSynthesizer] = None
33
+ language: Optional[AgentIdPatchRequestLanguage] = None
34
+ synthesizer: Optional[AgentIdPatchRequestSynthesizer] = None
35
35
  global_knowledge_base_id: Optional[StrictStr] = Field(default=None, alias="globalKnowledgeBaseId")
36
- slm_model: Optional[StrictStr] = Field(default='electron-v1', alias="slmModel")
36
+ slm_model: Optional[StrictStr] = Field(default='electron', alias="slmModel")
37
37
  default_variables: Optional[Dict[str, Any]] = Field(default=None, description="The default variables to use for the agent. These variables will be used if no variables are provided when initiating a conversation with the agent.", alias="defaultVariables")
38
+ global_prompt: Optional[StrictStr] = Field(default=None, description="Set global instructions for your agent's personality, role, and behavior throughout conversations", alias="globalPrompt")
38
39
  telephony_product_id: Optional[StrictStr] = Field(default=None, description="The telephony product ID of the agent. This is the product ID of the telephony product that will be used to make the outbound call. You can buy telephone number and assign it to the agent.", alias="telephonyProductId")
39
- __properties: ClassVar[List[str]] = ["name", "description", "language", "synthesizer", "globalKnowledgeBaseId", "slmModel", "defaultVariables", "telephonyProductId"]
40
+ __properties: ClassVar[List[str]] = ["name", "description", "language", "synthesizer", "globalKnowledgeBaseId", "slmModel", "defaultVariables", "globalPrompt", "telephonyProductId"]
40
41
 
41
42
  @field_validator('slm_model')
42
43
  def slm_model_validate_enum(cls, value):
@@ -44,8 +45,8 @@ class UpdateAgentRequest(BaseModel):
44
45
  if value is None:
45
46
  return value
46
47
 
47
- if value not in set(['electron-v1', 'electron-v2', 'gpt-4o-mini']):
48
- raise ValueError("must be one of enum values ('electron-v1', 'electron-v2', 'gpt-4o-mini')")
48
+ if value not in set(['electron', 'gpt-4o']):
49
+ raise ValueError("must be one of enum values ('electron', 'gpt-4o')")
49
50
  return value
50
51
 
51
52
  model_config = ConfigDict(
@@ -66,7 +67,7 @@ class UpdateAgentRequest(BaseModel):
66
67
 
67
68
  @classmethod
68
69
  def from_json(cls, json_str: str) -> Optional[Self]:
69
- """Create an instance of UpdateAgentRequest from a JSON string"""
70
+ """Create an instance of AgentIdPatchRequest from a JSON string"""
70
71
  return cls.from_dict(json.loads(json_str))
71
72
 
72
73
  def to_dict(self) -> Dict[str, Any]:
@@ -97,7 +98,7 @@ class UpdateAgentRequest(BaseModel):
97
98
 
98
99
  @classmethod
99
100
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
100
- """Create an instance of UpdateAgentRequest from a dict"""
101
+ """Create an instance of AgentIdPatchRequest from a dict"""
101
102
  if obj is None:
102
103
  return None
103
104
 
@@ -107,11 +108,12 @@ class UpdateAgentRequest(BaseModel):
107
108
  _obj = cls.model_validate({
108
109
  "name": obj.get("name"),
109
110
  "description": obj.get("description"),
110
- "language": UpdateAgentRequestLanguage.from_dict(obj["language"]) if obj.get("language") is not None else None,
111
- "synthesizer": UpdateAgentRequestSynthesizer.from_dict(obj["synthesizer"]) if obj.get("synthesizer") is not None else None,
111
+ "language": AgentIdPatchRequestLanguage.from_dict(obj["language"]) if obj.get("language") is not None else None,
112
+ "synthesizer": AgentIdPatchRequestSynthesizer.from_dict(obj["synthesizer"]) if obj.get("synthesizer") is not None else None,
112
113
  "globalKnowledgeBaseId": obj.get("globalKnowledgeBaseId"),
113
- "slmModel": obj.get("slmModel") if obj.get("slmModel") is not None else 'electron-v1',
114
+ "slmModel": obj.get("slmModel") if obj.get("slmModel") is not None else 'electron',
114
115
  "defaultVariables": obj.get("defaultVariables"),
116
+ "globalPrompt": obj.get("globalPrompt"),
115
117
  "telephonyProductId": obj.get("telephonyProductId")
116
118
  })
117
119
  return _obj
@@ -17,17 +17,18 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from smallestai.atoms.models.agent_id_patch_request_language_switching import AgentIdPatchRequestLanguageSwitching
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
25
- class UpdateAgentRequestLanguage(BaseModel):
26
+ class AgentIdPatchRequestLanguage(BaseModel):
26
27
  """
27
28
  Language configuration for the agent. You can enable or disable language switching for the agent. This will be used to determine the language of the agent.
28
29
  """ # noqa: E501
29
- enabled: Optional[StrictStr] = Field(default=None, description="The language of the agent. You can choose from the list of supported languages.")
30
- switching: Optional[StrictBool] = Field(default=False, description="Whether to enable language switching for the agent. If enabled, the agent will be able to switch between languages based on the user's language.")
30
+ enabled: Optional[StrictStr] = Field(default='en', description="The language of the agent. You can choose from the list of supported languages.")
31
+ switching: Optional[AgentIdPatchRequestLanguageSwitching] = None
31
32
  __properties: ClassVar[List[str]] = ["enabled", "switching"]
32
33
 
33
34
  @field_validator('enabled')
@@ -36,8 +37,8 @@ class UpdateAgentRequestLanguage(BaseModel):
36
37
  if value is None:
37
38
  return value
38
39
 
39
- if value not in set(['en', 'hi']):
40
- raise ValueError("must be one of enum values ('en', 'hi')")
40
+ if value not in set(['en', 'hi', 'ta', 'kn']):
41
+ raise ValueError("must be one of enum values ('en', 'hi', 'ta', 'kn')")
41
42
  return value
42
43
 
43
44
  model_config = ConfigDict(
@@ -58,7 +59,7 @@ class UpdateAgentRequestLanguage(BaseModel):
58
59
 
59
60
  @classmethod
60
61
  def from_json(cls, json_str: str) -> Optional[Self]:
61
- """Create an instance of UpdateAgentRequestLanguage from a JSON string"""
62
+ """Create an instance of AgentIdPatchRequestLanguage from a JSON string"""
62
63
  return cls.from_dict(json.loads(json_str))
63
64
 
64
65
  def to_dict(self) -> Dict[str, Any]:
@@ -79,11 +80,14 @@ class UpdateAgentRequestLanguage(BaseModel):
79
80
  exclude=excluded_fields,
80
81
  exclude_none=True,
81
82
  )
83
+ # override the default output from pydantic by calling `to_dict()` of switching
84
+ if self.switching:
85
+ _dict['switching'] = self.switching.to_dict()
82
86
  return _dict
83
87
 
84
88
  @classmethod
85
89
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
- """Create an instance of UpdateAgentRequestLanguage from a dict"""
90
+ """Create an instance of AgentIdPatchRequestLanguage from a dict"""
87
91
  if obj is None:
88
92
  return None
89
93
 
@@ -91,8 +95,8 @@ class UpdateAgentRequestLanguage(BaseModel):
91
95
  return cls.model_validate(obj)
92
96
 
93
97
  _obj = cls.model_validate({
94
- "enabled": obj.get("enabled"),
95
- "switching": obj.get("switching") if obj.get("switching") is not None else False
98
+ "enabled": obj.get("enabled") if obj.get("enabled") is not None else 'en',
99
+ "switching": AgentIdPatchRequestLanguageSwitching.from_dict(obj["switching"]) if obj.get("switching") is not None else None
96
100
  })
97
101
  return _obj
98
102
 
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Agent Management API
5
+
6
+ API for managing agents, their templates, and call logs
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from typing_extensions import Annotated
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class AgentIdPatchRequestLanguageSwitching(BaseModel):
27
+ """
28
+ Language switching configuration for the agent. If enabled, the agent will be able to switch between languages based on the user's language.
29
+ """ # noqa: E501
30
+ is_enabled: Optional[StrictBool] = Field(default=False, description="Whether to enable language switching for the agent", alias="isEnabled")
31
+ min_words_for_detection: Optional[Union[Annotated[float, Field(le=10, strict=True, ge=1)], Annotated[int, Field(le=10, strict=True, ge=1)]]] = Field(default=2, description="Minimum number of words required for language detection", alias="minWordsForDetection")
32
+ strong_signal_threshold: Optional[Union[Annotated[float, Field(le=0.9, strict=True, ge=0.1)], Annotated[int, Field(le=0, strict=True, ge=1)]]] = Field(default=0.7, description="Threshold for strong language signal detection (0.1 to 0.9)", alias="strongSignalThreshold")
33
+ weak_signal_threshold: Optional[Union[Annotated[float, Field(le=0.9, strict=True, ge=0.1)], Annotated[int, Field(le=0, strict=True, ge=1)]]] = Field(default=0.3, description="Threshold for weak language signal detection (0.1 to 0.9)", alias="weakSignalThreshold")
34
+ min_consecutive_for_weak_threshold_switch: Optional[Union[Annotated[float, Field(le=5, strict=True, ge=1)], Annotated[int, Field(le=5, strict=True, ge=1)]]] = Field(default=2, description="Minimum consecutive detections required for weak threshold language switch", alias="minConsecutiveForWeakThresholdSwitch")
35
+ __properties: ClassVar[List[str]] = ["isEnabled", "minWordsForDetection", "strongSignalThreshold", "weakSignalThreshold", "minConsecutiveForWeakThresholdSwitch"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of AgentIdPatchRequestLanguageSwitching from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of AgentIdPatchRequestLanguageSwitching from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "isEnabled": obj.get("isEnabled") if obj.get("isEnabled") is not None else False,
89
+ "minWordsForDetection": obj.get("minWordsForDetection") if obj.get("minWordsForDetection") is not None else 2,
90
+ "strongSignalThreshold": obj.get("strongSignalThreshold") if obj.get("strongSignalThreshold") is not None else 0.7,
91
+ "weakSignalThreshold": obj.get("weakSignalThreshold") if obj.get("weakSignalThreshold") is not None else 0.3,
92
+ "minConsecutiveForWeakThresholdSwitch": obj.get("minConsecutiveForWeakThresholdSwitch") if obj.get("minConsecutiveForWeakThresholdSwitch") is not None else 2
93
+ })
94
+ return _obj
95
+
96
+
@@ -20,15 +20,15 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing_extensions import Annotated
23
- from smallestai.atoms.models.update_agent_request_synthesizer_voice_config import UpdateAgentRequestSynthesizerVoiceConfig
23
+ from smallestai.atoms.models.agent_id_patch_request_synthesizer_voice_config import AgentIdPatchRequestSynthesizerVoiceConfig
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
27
- class UpdateAgentRequestSynthesizer(BaseModel):
27
+ class AgentIdPatchRequestSynthesizer(BaseModel):
28
28
  """
29
29
  Synthesizer configuration for the agent. You can configure the synthesizer to use different voices and models. Currently we support 3 types of models for the synthesizer. Waves, Waves Lightning Large and Waves Lightning Large Voice Clone. You can clone your voice using waves platform https://waves.smallest.ai/voice-clone and use the voiceId for this field and select the model as waves_lightning_large_voice_clone to use your cloned voice. When updating the synthesizer configuration to voice clone model, you have to provide model and voiceId and gender all are required fields but when selecting the model as waves or waves and waves_lightning_large, you have to provide only model field and voiceId.
30
30
  """ # noqa: E501
31
- voice_config: Optional[UpdateAgentRequestSynthesizerVoiceConfig] = Field(default=None, alias="voiceConfig")
31
+ voice_config: Optional[AgentIdPatchRequestSynthesizerVoiceConfig] = Field(default=None, alias="voiceConfig")
32
32
  speed: Optional[Union[StrictFloat, StrictInt]] = 1.2
33
33
  consistency: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = 0.5
34
34
  similarity: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = 0
@@ -63,7 +63,7 @@ class UpdateAgentRequestSynthesizer(BaseModel):
63
63
 
64
64
  @classmethod
65
65
  def from_json(cls, json_str: str) -> Optional[Self]:
66
- """Create an instance of UpdateAgentRequestSynthesizer from a JSON string"""
66
+ """Create an instance of AgentIdPatchRequestSynthesizer from a JSON string"""
67
67
  return cls.from_dict(json.loads(json_str))
68
68
 
69
69
  def to_dict(self) -> Dict[str, Any]:
@@ -91,7 +91,7 @@ class UpdateAgentRequestSynthesizer(BaseModel):
91
91
 
92
92
  @classmethod
93
93
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
94
- """Create an instance of UpdateAgentRequestSynthesizer from a dict"""
94
+ """Create an instance of AgentIdPatchRequestSynthesizer from a dict"""
95
95
  if obj is None:
96
96
  return None
97
97
 
@@ -99,7 +99,7 @@ class UpdateAgentRequestSynthesizer(BaseModel):
99
99
  return cls.model_validate(obj)
100
100
 
101
101
  _obj = cls.model_validate({
102
- "voiceConfig": UpdateAgentRequestSynthesizerVoiceConfig.from_dict(obj["voiceConfig"]) if obj.get("voiceConfig") is not None else None,
102
+ "voiceConfig": AgentIdPatchRequestSynthesizerVoiceConfig.from_dict(obj["voiceConfig"]) if obj.get("voiceConfig") is not None else None,
103
103
  "speed": obj.get("speed") if obj.get("speed") is not None else 1.2,
104
104
  "consistency": obj.get("consistency") if obj.get("consistency") is not None else 0.5,
105
105
  "similarity": obj.get("similarity") if obj.get("similarity") is not None else 0,
@@ -17,24 +17,24 @@ import json
17
17
  import pprint
18
18
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
19
  from typing import Any, List, Optional
20
- from smallestai.atoms.models.update_agent_request_synthesizer_voice_config_one_of import UpdateAgentRequestSynthesizerVoiceConfigOneOf
21
- from smallestai.atoms.models.update_agent_request_synthesizer_voice_config_one_of1 import UpdateAgentRequestSynthesizerVoiceConfigOneOf1
20
+ from smallestai.atoms.models.agent_id_patch_request_synthesizer_voice_config_one_of import AgentIdPatchRequestSynthesizerVoiceConfigOneOf
21
+ from smallestai.atoms.models.agent_id_patch_request_synthesizer_voice_config_one_of1 import AgentIdPatchRequestSynthesizerVoiceConfigOneOf1
22
22
  from pydantic import StrictStr, Field
23
23
  from typing import Union, List, Set, Optional, Dict
24
24
  from typing_extensions import Literal, Self
25
25
 
26
- UPDATEAGENTREQUESTSYNTHESIZERVOICECONFIG_ONE_OF_SCHEMAS = ["UpdateAgentRequestSynthesizerVoiceConfigOneOf", "UpdateAgentRequestSynthesizerVoiceConfigOneOf1"]
26
+ AGENTIDPATCHREQUESTSYNTHESIZERVOICECONFIG_ONE_OF_SCHEMAS = ["AgentIdPatchRequestSynthesizerVoiceConfigOneOf", "AgentIdPatchRequestSynthesizerVoiceConfigOneOf1"]
27
27
 
28
- class UpdateAgentRequestSynthesizerVoiceConfig(BaseModel):
28
+ class AgentIdPatchRequestSynthesizerVoiceConfig(BaseModel):
29
29
  """
30
- UpdateAgentRequestSynthesizerVoiceConfig
30
+ AgentIdPatchRequestSynthesizerVoiceConfig
31
31
  """
32
- # data type: UpdateAgentRequestSynthesizerVoiceConfigOneOf
33
- oneof_schema_1_validator: Optional[UpdateAgentRequestSynthesizerVoiceConfigOneOf] = None
34
- # data type: UpdateAgentRequestSynthesizerVoiceConfigOneOf1
35
- oneof_schema_2_validator: Optional[UpdateAgentRequestSynthesizerVoiceConfigOneOf1] = None
36
- actual_instance: Optional[Union[UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1]] = None
37
- one_of_schemas: Set[str] = { "UpdateAgentRequestSynthesizerVoiceConfigOneOf", "UpdateAgentRequestSynthesizerVoiceConfigOneOf1" }
32
+ # data type: AgentIdPatchRequestSynthesizerVoiceConfigOneOf
33
+ oneof_schema_1_validator: Optional[AgentIdPatchRequestSynthesizerVoiceConfigOneOf] = None
34
+ # data type: AgentIdPatchRequestSynthesizerVoiceConfigOneOf1
35
+ oneof_schema_2_validator: Optional[AgentIdPatchRequestSynthesizerVoiceConfigOneOf1] = None
36
+ actual_instance: Optional[Union[AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1]] = None
37
+ one_of_schemas: Set[str] = { "AgentIdPatchRequestSynthesizerVoiceConfigOneOf", "AgentIdPatchRequestSynthesizerVoiceConfigOneOf1" }
38
38
 
39
39
  model_config = ConfigDict(
40
40
  validate_assignment=True,
@@ -54,25 +54,25 @@ class UpdateAgentRequestSynthesizerVoiceConfig(BaseModel):
54
54
 
55
55
  @field_validator('actual_instance')
56
56
  def actual_instance_must_validate_oneof(cls, v):
57
- instance = UpdateAgentRequestSynthesizerVoiceConfig.model_construct()
57
+ instance = AgentIdPatchRequestSynthesizerVoiceConfig.model_construct()
58
58
  error_messages = []
59
59
  match = 0
60
- # validate data type: UpdateAgentRequestSynthesizerVoiceConfigOneOf
61
- if not isinstance(v, UpdateAgentRequestSynthesizerVoiceConfigOneOf):
62
- error_messages.append(f"Error! Input type `{type(v)}` is not `UpdateAgentRequestSynthesizerVoiceConfigOneOf`")
60
+ # validate data type: AgentIdPatchRequestSynthesizerVoiceConfigOneOf
61
+ if not isinstance(v, AgentIdPatchRequestSynthesizerVoiceConfigOneOf):
62
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AgentIdPatchRequestSynthesizerVoiceConfigOneOf`")
63
63
  else:
64
64
  match += 1
65
- # validate data type: UpdateAgentRequestSynthesizerVoiceConfigOneOf1
66
- if not isinstance(v, UpdateAgentRequestSynthesizerVoiceConfigOneOf1):
67
- error_messages.append(f"Error! Input type `{type(v)}` is not `UpdateAgentRequestSynthesizerVoiceConfigOneOf1`")
65
+ # validate data type: AgentIdPatchRequestSynthesizerVoiceConfigOneOf1
66
+ if not isinstance(v, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1):
67
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AgentIdPatchRequestSynthesizerVoiceConfigOneOf1`")
68
68
  else:
69
69
  match += 1
70
70
  if match > 1:
71
71
  # more than 1 match
72
- raise ValueError("Multiple matches found when setting `actual_instance` in UpdateAgentRequestSynthesizerVoiceConfig with oneOf schemas: UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
72
+ raise ValueError("Multiple matches found when setting `actual_instance` in AgentIdPatchRequestSynthesizerVoiceConfig with oneOf schemas: AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
73
73
  elif match == 0:
74
74
  # no match
75
- raise ValueError("No match found when setting `actual_instance` in UpdateAgentRequestSynthesizerVoiceConfig with oneOf schemas: UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
75
+ raise ValueError("No match found when setting `actual_instance` in AgentIdPatchRequestSynthesizerVoiceConfig with oneOf schemas: AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
76
76
  else:
77
77
  return v
78
78
 
@@ -87,25 +87,25 @@ class UpdateAgentRequestSynthesizerVoiceConfig(BaseModel):
87
87
  error_messages = []
88
88
  match = 0
89
89
 
90
- # deserialize data into UpdateAgentRequestSynthesizerVoiceConfigOneOf
90
+ # deserialize data into AgentIdPatchRequestSynthesizerVoiceConfigOneOf
91
91
  try:
92
- instance.actual_instance = UpdateAgentRequestSynthesizerVoiceConfigOneOf.from_json(json_str)
92
+ instance.actual_instance = AgentIdPatchRequestSynthesizerVoiceConfigOneOf.from_json(json_str)
93
93
  match += 1
94
94
  except (ValidationError, ValueError) as e:
95
95
  error_messages.append(str(e))
96
- # deserialize data into UpdateAgentRequestSynthesizerVoiceConfigOneOf1
96
+ # deserialize data into AgentIdPatchRequestSynthesizerVoiceConfigOneOf1
97
97
  try:
98
- instance.actual_instance = UpdateAgentRequestSynthesizerVoiceConfigOneOf1.from_json(json_str)
98
+ instance.actual_instance = AgentIdPatchRequestSynthesizerVoiceConfigOneOf1.from_json(json_str)
99
99
  match += 1
100
100
  except (ValidationError, ValueError) as e:
101
101
  error_messages.append(str(e))
102
102
 
103
103
  if match > 1:
104
104
  # more than 1 match
105
- raise ValueError("Multiple matches found when deserializing the JSON string into UpdateAgentRequestSynthesizerVoiceConfig with oneOf schemas: UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
105
+ raise ValueError("Multiple matches found when deserializing the JSON string into AgentIdPatchRequestSynthesizerVoiceConfig with oneOf schemas: AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
106
106
  elif match == 0:
107
107
  # no match
108
- raise ValueError("No match found when deserializing the JSON string into UpdateAgentRequestSynthesizerVoiceConfig with oneOf schemas: UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
108
+ raise ValueError("No match found when deserializing the JSON string into AgentIdPatchRequestSynthesizerVoiceConfig with oneOf schemas: AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1. Details: " + ", ".join(error_messages))
109
109
  else:
110
110
  return instance
111
111
 
@@ -119,7 +119,7 @@ class UpdateAgentRequestSynthesizerVoiceConfig(BaseModel):
119
119
  else:
120
120
  return json.dumps(self.actual_instance)
121
121
 
122
- def to_dict(self) -> Optional[Union[Dict[str, Any], UpdateAgentRequestSynthesizerVoiceConfigOneOf, UpdateAgentRequestSynthesizerVoiceConfigOneOf1]]:
122
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AgentIdPatchRequestSynthesizerVoiceConfigOneOf, AgentIdPatchRequestSynthesizerVoiceConfigOneOf1]]:
123
123
  """Returns the dict representation of the actual instance"""
124
124
  if self.actual_instance is None:
125
125
  return None
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class UpdateAgentRequestSynthesizerVoiceConfigOneOf(BaseModel):
25
+ class AgentIdPatchRequestSynthesizerVoiceConfigOneOf(BaseModel):
26
26
  """
27
- UpdateAgentRequestSynthesizerVoiceConfigOneOf
27
+ AgentIdPatchRequestSynthesizerVoiceConfigOneOf
28
28
  """ # noqa: E501
29
29
  model: Optional[StrictStr] = Field(default=None, description="We currently support 3 types of models for the synthesizer. Waves, Waves Lightning Large and Waves Lightning Large Voice Clone. You can clone your voice using waves platform and use the voiceId for this field and select the model as waves_lightning_large_voice_clone to use your cloned voice.")
30
30
  voice_id: Optional[StrictStr] = Field(default=None, alias="voiceId")
@@ -69,7 +69,7 @@ class UpdateAgentRequestSynthesizerVoiceConfigOneOf(BaseModel):
69
69
 
70
70
  @classmethod
71
71
  def from_json(cls, json_str: str) -> Optional[Self]:
72
- """Create an instance of UpdateAgentRequestSynthesizerVoiceConfigOneOf from a JSON string"""
72
+ """Create an instance of AgentIdPatchRequestSynthesizerVoiceConfigOneOf from a JSON string"""
73
73
  return cls.from_dict(json.loads(json_str))
74
74
 
75
75
  def to_dict(self) -> Dict[str, Any]:
@@ -94,7 +94,7 @@ class UpdateAgentRequestSynthesizerVoiceConfigOneOf(BaseModel):
94
94
 
95
95
  @classmethod
96
96
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
97
- """Create an instance of UpdateAgentRequestSynthesizerVoiceConfigOneOf from a dict"""
97
+ """Create an instance of AgentIdPatchRequestSynthesizerVoiceConfigOneOf from a dict"""
98
98
  if obj is None:
99
99
  return None
100
100