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
@@ -1,13 +1,12 @@
1
1
  import os
2
2
  import json
3
- import wave
4
3
  import copy
5
4
  import requests
6
- from typing import Optional, Union, List, Iterator
5
+ from typing import Optional, Union, List
7
6
 
8
7
  from smallestai.waves.exceptions import TTSError, APIError
9
- from smallestai.waves.utils import (TTSOptions, validate_input, preprocess_text, add_wav_header, chunk_text,
10
- get_smallest_languages, get_smallest_models, ALLOWED_AUDIO_EXTENSIONS, API_BASE_URL)
8
+ from smallestai.waves.utils import (TTSOptions, validate_input,
9
+ get_smallest_languages, get_smallest_models, ALLOWED_AUDIO_EXTENSIONS, API_BASE_URL)
11
10
 
12
11
  class WavesClient:
13
12
  def __init__(
@@ -20,7 +19,8 @@ class WavesClient:
20
19
  consistency: Optional[float] = 0.5,
21
20
  similarity: Optional[float] = 0.0,
22
21
  enhancement: Optional[int] = 1,
23
- add_wav_header: Optional[bool] = True
22
+ language: Optional[str] = "en",
23
+ output_format: Optional[str] = "wav"
24
24
  ) -> None:
25
25
  """
26
26
  Smallest Instance for text-to-speech synthesis.
@@ -37,7 +37,8 @@ class WavesClient:
37
37
  - consistency (float): This parameter controls word repetition and skipping. Decrease it to prevent skipped words, and increase it to prevent repetition. Only supported in `lightning-large` model. Range - [0, 1]
38
38
  - similarity (float): This parameter controls the similarity between the synthesized audio and the reference audio. Increase it to make the speech more similar to the reference audio. Only supported in `lightning-large` model. Range - [0, 1]
39
39
  - enhancement (int): Enhances speech quality at the cost of increased latency. Only supported in `lightning-large` model. Range - [0, 2].
40
- - add_wav_header (bool): Whether to add a WAV header to the output audio.
40
+ - language (str): The language for synthesis. Default is "en".
41
+ - output_format (str): The output audio format. Options: "pcm", "mp3", "wav", "mulaw". Default is "pcm".
41
42
 
42
43
  Methods:
43
44
  - get_languages: Returns a list of available languages for synthesis.
@@ -58,11 +59,12 @@ class WavesClient:
58
59
  sample_rate=sample_rate,
59
60
  voice_id=voice_id,
60
61
  api_key=self.api_key,
61
- add_wav_header=add_wav_header,
62
62
  speed=speed,
63
63
  consistency=consistency,
64
64
  similarity=similarity,
65
- enhancement=enhancement
65
+ enhancement=enhancement,
66
+ language=language,
67
+ output_format=output_format
66
68
  )
67
69
 
68
70
 
@@ -107,17 +109,13 @@ class WavesClient:
107
109
  def synthesize(
108
110
  self,
109
111
  text: str,
110
- stream: Optional[bool] = False,
111
- save_as: Optional[str] = None,
112
112
  **kwargs
113
- ) -> Union[bytes, None, Iterator[bytes]]:
113
+ ) -> Union[bytes]:
114
114
  """
115
115
  Synthesize speech from the provided text.
116
116
 
117
117
  - text (str): The text to be converted to speech.
118
118
  - stream (Optional[bool]): If True, returns an iterator yielding audio chunks instead of a full byte array.
119
- - save_as (Optional[str]): If provided, the synthesized audio will be saved to this file path.
120
- The file must have a .wav extension.
121
119
  - kwargs: Additional optional parameters to override `__init__` options for this call.
122
120
 
123
121
  Returns:
@@ -127,7 +125,7 @@ class WavesClient:
127
125
  - Otherwise, returns the synthesized audio content as bytes.
128
126
 
129
127
  Raises:
130
- - TTSError: If the provided file name does not have a .wav extension when `save_as` is specified.
128
+ - TTSError: If the provided file name does not have a .wav or .mp3 extension when `save_as` is specified.
131
129
  - APIError: If the API request fails or returns an error.
132
130
  """
133
131
  opts = copy.deepcopy(self.opts)
@@ -140,64 +138,38 @@ class WavesClient:
140
138
  for key, value in kwargs.items():
141
139
  setattr(opts, key, value)
142
140
 
143
- text = preprocess_text(text)
144
141
  validate_input(text, opts.model, opts.sample_rate, opts.speed, opts.consistency, opts.similarity, opts.enhancement)
145
142
 
146
- self.chunk_size = 250
147
- if opts.model == "lightning-large" or opts.model == "lightning-v2":
148
- self.chunk_size = 140
149
-
150
- chunks = chunk_text(text, self.chunk_size)
151
-
152
- def audio_stream():
153
- for chunk in chunks:
154
- payload = {
155
- "text": chunk,
156
- "sample_rate": opts.sample_rate,
157
- "voice_id": opts.voice_id,
158
- "add_wav_header": False,
159
- "speed": opts.speed,
160
- }
161
-
162
- if opts.model == "lightning-large" or opts.model == "lightning-v2":
163
- if opts.consistency is not None:
164
- payload["consistency"] = opts.consistency
165
- if opts.similarity is not None:
166
- payload["similarity"] = opts.similarity
167
- if opts.enhancement is not None:
168
- payload["enhancement"] = opts.enhancement
169
-
170
- headers = {
171
- "Authorization": f"Bearer {self.api_key}",
172
- "Content-Type": "application/json",
173
- }
174
-
175
- res = requests.post(f"{API_BASE_URL}/{opts.model}/get_speech", json=payload, headers=headers)
176
- if res.status_code != 200:
177
- raise APIError(f"Failed to synthesize speech: {res.text}. Please check if you have set the correct API key. For more information, visit https://waves.smallest.ai/")
143
+ payload = {
144
+ "text": text,
145
+ "voice_id": opts.voice_id,
146
+ "sample_rate": opts.sample_rate,
147
+ "speed": opts.speed,
148
+ "consistency": opts.consistency,
149
+ "similarity": opts.similarity,
150
+ "enhancement": opts.enhancement,
151
+ "language": opts.language,
152
+ "output_format": opts.output_format
153
+ }
178
154
 
179
- yield res.content
180
-
181
- if stream:
182
- return audio_stream()
183
-
184
- audio_content = b"".join(audio_stream())
155
+ if opts.model == "lightning-large" or opts.model == "lightning-v2":
156
+ if opts.consistency is not None:
157
+ payload["consistency"] = opts.consistency
158
+ if opts.similarity is not None:
159
+ payload["similarity"] = opts.similarity
160
+ if opts.enhancement is not None:
161
+ payload["enhancement"] = opts.enhancement
162
+
163
+ headers = {
164
+ "Authorization": f"Bearer {self.api_key}",
165
+ "Content-Type": "application/json",
166
+ }
185
167
 
186
- if save_as:
187
- if not save_as.endswith(".wav"):
188
- raise TTSError("Invalid file name. Extension must be .wav")
189
-
190
- with wave.open(save_as, "wb") as wf:
191
- wf.setnchannels(1)
192
- wf.setsampwidth(2)
193
- wf.setframerate(opts.sample_rate)
194
- wf.writeframes(audio_content)
195
- return None
196
-
197
- if opts.add_wav_header:
198
- return add_wav_header(audio_content, opts.sample_rate)
199
-
200
- return audio_content
168
+ res = requests.post(f"{API_BASE_URL}/{opts.model}/get_speech", json=payload, headers=headers)
169
+ if res.status_code != 200:
170
+ raise APIError(f"Failed to synthesize speech: {res.text}. Please check if you have set the correct API key. For more information, visit https://waves.smallest.ai/")
171
+
172
+ return res.content
201
173
 
202
174
 
203
175
  def add_voice(self, display_name: str, file_path: str) -> str:
@@ -262,4 +234,4 @@ class WavesClient:
262
234
  if response.status_code != 200:
263
235
  raise APIError(f"Failed to delete voice: {response.text}. For more information, visit https://waves.smallest.ai/")
264
236
 
265
- return json.dumps(response.json(), indent=4, ensure_ascii=False)
237
+ return json.dumps(response.json(), indent=4, ensure_ascii=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smallestai
3
- Version: 3.1.0
3
+ Version: 4.0.1
4
4
  Summary: Official Python client for the Smallest AI API
5
5
  Author-email: Smallest <support@smallest.ai>
6
6
  License: MIT
@@ -16,6 +16,7 @@ Requires-Dist: aiohttp
16
16
  Requires-Dist: aiofiles
17
17
  Requires-Dist: requests
18
18
  Requires-Dist: pydub
19
+ Requires-Dist: websocket-client
19
20
  Requires-Dist: urllib3<3.0.0,>=1.25.3
20
21
  Requires-Dist: python-dateutil>=2.8.2
21
22
  Requires-Dist: pydantic>=2
@@ -141,7 +142,7 @@ def main():
141
142
  "similarity": 0,
142
143
  "enhancement": 1
143
144
  },
144
- "slmModel": "electron-v1",
145
+ "slmModel": "electron",
145
146
  }
146
147
  ).data
147
148
 
@@ -0,0 +1,147 @@
1
+ smallestai/__init__.py,sha256=wqPRfzh1IZbVvM2J6V9TeGo1lXrjVZKPWbMtIyQywns,2276
2
+ smallestai/atoms/__init__.py,sha256=6ih5ttrUFDL9E1UzaGQVmJe_cdiKlmC3ovOJimMxqzU,18150
3
+ smallestai/atoms/api_client.py,sha256=EcyN6nFp9U4u8TPJx3a9ZvbM2T4a9xrHGopQGLZuJpw,27448
4
+ smallestai/atoms/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
5
+ smallestai/atoms/atoms_client.py,sha256=88AW3IdoLecdY0HWv1LJYntBF1dYbCpOkZDw5mRSLSw,24508
6
+ smallestai/atoms/configuration.py,sha256=Q9p86XIcH5dMXJmIus7ncra3DgAGlSejdBMUqq4ALuE,18340
7
+ smallestai/atoms/exceptions.py,sha256=bQu7s-V5DH5g-Vi1N7uSYPuO_-JYXlW2TfHFOL04KAo,6433
8
+ smallestai/atoms/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ smallestai/atoms/rest.py,sha256=rT86MlRRO9lPXDH6VuEaUwMyeNl5caRd00LubxM7N6s,9432
10
+ smallestai/atoms/api/__init__.py,sha256=MVrUxJaS9klPt7ye-2WVkw2VN41ZHte31K74b77BDtQ,519
11
+ smallestai/atoms/api/agent_templates_api.py,sha256=7Rcz7Whjd_Tg7Q3d6ZymIcKvCWn3hFahP3-z41oZ4g4,23323
12
+ smallestai/atoms/api/agents_api.py,sha256=C2uL0QvDrl3QM5jIqHpKVWBTY399DtJ4UoGeOTJO_RU,103664
13
+ smallestai/atoms/api/calls_api.py,sha256=vhl119BAbQbzmSz_dCNi1rGRYjj-juY9B0gAwP0u5ew,12791
14
+ smallestai/atoms/api/campaigns_api.py,sha256=yG_8v0avDXeStncG9KSZEWM-0VAomLXT1_HRPSZOrqg,64732
15
+ smallestai/atoms/api/knowledge_base_api.py,sha256=8g0spKHjS3l0eDKDNYsxo7YaxkJLhV817hkUIA4gQDU,90328
16
+ smallestai/atoms/api/logs_api.py,sha256=2ofazxGiceXJhSKHcZROwD_5wZO6Cmw09Aj8nHuJVoA,11802
17
+ smallestai/atoms/api/organization_api.py,sha256=DVfbwmYlV7ROhAVRGvumTd82T9Di4KbdMwI7oLJ6AgA,10608
18
+ smallestai/atoms/api/user_api.py,sha256=dCyABAlFNpYZ9ZfBmsXargjbPL3yve_IGPZf1Vh2Pkk,10456
19
+ smallestai/atoms/models/__init__.py,sha256=_-pnG9qONhCsb5QbbuepZ1H1QX_sKWijR02supbx3-w,12390
20
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_delete200_response.py,sha256=ZVAvukfBeu-9afnpRO9I0NkxmUTkwUMW8Z0woP2x1OU,2757
21
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_get200_response.py,sha256=fnaG_Ohl41kxHGdpc261Hsd5MOUcDd6YVC5ON1S8Zqg,3171
22
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_get404_response.py,sha256=PoUcPVyFfwSIn7aUtboSeY-hBeMAzlwTYiKd-oJvE3k,2706
23
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post201_response.py,sha256=zElIYVXG09mEdiBhvi158W7jkmsBP4_kVMLfuq0KCwc,2749
24
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post400_response.py,sha256=PY1CXPbtLuInPMIvs01mkTQ6JuyX6vm3yRdTO2FWWJw,2710
25
+ smallestai/atoms/models/agent_agent_id_webhook_subscriptions_post_request.py,sha256=Jt7uVHRyZmIsFZCwXKaznfwZecQCdCLeEInze-tVcQY,3193
26
+ smallestai/atoms/models/agent_dto.py,sha256=xg3UquWn18Pg9ezoyXseKR1AlMvr-A2bEBvXtcpmhXo,6126
27
+ smallestai/atoms/models/agent_dto_language.py,sha256=B7WtEgpNrzbq7HmKUSoiZstoO_1jqwplKA7z5WZHy24,3541
28
+ smallestai/atoms/models/agent_dto_language_switching.py,sha256=0kQ1B6Xjadej7eFpNnjA5AJJdfkUMhVqxGm3OlS-NV4,3907
29
+ smallestai/atoms/models/agent_dto_synthesizer.py,sha256=oUevLG1qYDVPwx2coOBka54xKDIB91gVFSbxzZs_Wzs,3909
30
+ smallestai/atoms/models/agent_dto_synthesizer_voice_config.py,sha256=zebSoOTv_u11POqKHM3WreKYWqr7QxGcMzLeINerkRo,3786
31
+ smallestai/atoms/models/agent_from_template_post200_response.py,sha256=DhR9Il5-3yBkBfT5F9TyYqRAJ3Bjp3zCL52aipfKucs,2701
32
+ smallestai/atoms/models/agent_get200_response.py,sha256=Tl22mbohBZpkUPYpJ-ICbvjxj7jqo-Ke4LkMrTd3Rn8,2899
33
+ smallestai/atoms/models/agent_get200_response_data.py,sha256=o6HM80nadwg9zgUtqeNtrb0lX6ip2z-d8WIGg4TEGy0,3153
34
+ smallestai/atoms/models/agent_id_delete200_response.py,sha256=Ilt0EOhcg8NAbQ8qe6s4K-34QCI-Qf-PvR277_GCP3Y,2511
35
+ smallestai/atoms/models/agent_id_get200_response.py,sha256=SQjPwWbR5Rei0jLj6OfdaJG6lMahwKqU73uefSchylI,2845
36
+ smallestai/atoms/models/agent_id_patch200_response.py,sha256=JAd98HfuhqICht8AgohwQLc1wQACQ7DaA6Bv4V7-4eQ,2665
37
+ smallestai/atoms/models/agent_id_patch_request.py,sha256=ZzjzJsCYtmQHQr1ITsWDsG7jytr8alflqhU4UlI-lCA,5278
38
+ smallestai/atoms/models/agent_id_patch_request_language.py,sha256=PUJaChTSH2y_FaGiSq-CkJd22IqWU1f8Ex3EXUPJzEM,3659
39
+ smallestai/atoms/models/agent_id_patch_request_language_switching.py,sha256=PPNNmFUbhGllZTujX2LPh5sbYEr-tsGuZwttGsTUWj8,4657
40
+ smallestai/atoms/models/agent_id_patch_request_synthesizer.py,sha256=XxXFniiDGGn0boJMlPQZNLTYc300qljbjsgEzIHEioM,4895
41
+ smallestai/atoms/models/agent_id_patch_request_synthesizer_voice_config.py,sha256=I_aaI0t9srHgwbW_FxaO5_25aKSnBiygoPKuvndSEGk,6616
42
+ smallestai/atoms/models/agent_id_patch_request_synthesizer_voice_config_one_of.py,sha256=VI0S1EwV2dExXX6sW8PFcLzkUwmCYw3xUNtw7WZCcD8,3959
43
+ smallestai/atoms/models/agent_id_patch_request_synthesizer_voice_config_one_of1.py,sha256=tRLJ6vjcsYEnXOD2R5Cc5PeyhvNBMrM_Gt5veMkz2js,3491
44
+ smallestai/atoms/models/agent_id_workflow_get200_response.py,sha256=CfnNeiDrNB_B8atRzJLdZsVRsKejtVnZ_T8eZZg8fNs,2981
45
+ smallestai/atoms/models/agent_id_workflow_get200_response_data.py,sha256=_J_cOuRRsofWQJqVcKgW5atDNJQ066DYZxCQnf9hFL8,3960
46
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner.py,sha256=VG18v5BnqPiHfwefb8Fm4f40IeM9NOvUoz-vntRKMUQ,5544
47
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner_data.py,sha256=jopQQOmr1COLokVHqvvy5XRmcv4gKWEG8Ae9JaSu9uo,2833
48
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_edges_inner_marker_end.py,sha256=jnoMqXTKyA-0wPa95n2bE7jxHWnSJHBoHznWp5WqiPI,2834
49
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner.py,sha256=hh2fY67qzUwvU3h1kYYGLX7GlNd0ZC0DCb2qvFgYMQE,4868
50
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data.py,sha256=jTDeHuIVsCoAqgEYcLYw9nkqm4MwcBnPWkDfOkjy82M,5340
51
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data_variables.py,sha256=WEUvpziV5qaZ_CXm0Zz686xtiCLoPk77DFpXTb7dNvQ,3426
52
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_data_variables_data_inner.py,sha256=5Czgx5M2bMPLkL1ZUmkhKNHqojM-l70Ogv5mi9XrOyo,2857
53
+ smallestai/atoms/models/agent_id_workflow_get200_response_data_nodes_inner_position.py,sha256=M2-p3CF5WFaB7kkTBWoiP-RufVKfzZYhDHz3DEV_3uE,2727
54
+ smallestai/atoms/models/agent_id_workflow_get404_response.py,sha256=m7LmE85xcdYJ-qHvoNHrXJzLZdB_op1uO8j_F2OwciQ,2638
55
+ smallestai/atoms/models/agent_template_get200_response.py,sha256=FIONBFtTE9SNKBaI0WpiyUyhNibS5EkSX6pRW2RwC9M,3167
56
+ smallestai/atoms/models/agent_template_get200_response_data_inner.py,sha256=FjIzbmAOHrrd6c4xNgpnjwtmohhx0JI7BlvdhfBw_eM,3482
57
+ smallestai/atoms/models/api_response.py,sha256=2eCfbeDCg695blD8QKVacK1mwPIQC_0qXxJWE2kY3OI,2546
58
+ smallestai/atoms/models/audience_get200_response.py,sha256=O3hq-qBRHs5VLkhYYLfWrZBEWlkAtwueTGhi5coN1o8,3126
59
+ smallestai/atoms/models/audience_get200_response_data_inner.py,sha256=llmHP8r9MeAF8YsGGr1fwLPf52Eb919DESenAaPQqYY,3984
60
+ smallestai/atoms/models/audience_id_delete200_response.py,sha256=zPz3IK-VqBCq1CCrz9w5Hhn7e_9401PxBQx_PdHBxGE,2622
61
+ smallestai/atoms/models/audience_id_delete400_response.py,sha256=2CbE_1D8wxRLNYiH2QBTW4IrTrk_dBC6u2H2INNSarY,2630
62
+ smallestai/atoms/models/audience_id_get200_response.py,sha256=YJfVcRRqK1eOnIuYN5aUD0gPsUxmFu3GK-p8Z-oVsuQ,2952
63
+ smallestai/atoms/models/audience_id_get400_response.py,sha256=SyoRmYI9D9ULnTLaVsLhr_VI_kexZqvS6P75Nrjd8go,2618
64
+ smallestai/atoms/models/audience_id_get403_response.py,sha256=672B21wQNoVO7fvNVMTIb7kUTxJQu_Cx4TGhX0ye_eo,2618
65
+ smallestai/atoms/models/audience_id_get404_response.py,sha256=F_g-7Lgi5KiJwXjSnGeO2PzsTtSKXoWdrx2y6sb5xzI,2618
66
+ smallestai/atoms/models/audience_id_members_delete200_response.py,sha256=QSSTu8-Yiipt8qiuv54cnumk07wo8eHJBR8nky4uIBA,3021
67
+ smallestai/atoms/models/audience_id_members_delete200_response_data.py,sha256=Q839d5OyDcK4YBZmdwhVRNY9WVQNE45G7l8Tyzqeupk,2688
68
+ smallestai/atoms/models/audience_id_members_delete_request.py,sha256=WPhiTD3_gyivYYKEXPDlTopsc9Rg05kDtiIAqMk87T8,2604
69
+ smallestai/atoms/models/audience_id_members_get200_response.py,sha256=5-caUViJUF-Ljl7uyGblqMiMZrN0sLgAiQKJcHQKf9s,2997
70
+ smallestai/atoms/models/audience_id_members_get200_response_data.py,sha256=qT8om1s0Ok9wFpXLJ69lUw9hBlalnEp5wJxZBU-cTwY,3776
71
+ smallestai/atoms/models/audience_id_members_get200_response_data_members_inner.py,sha256=CJydmrsTmTqCgSJvB1E9-lrD74Tx5juj2Kn42cAtdoc,2859
72
+ smallestai/atoms/models/audience_id_members_get400_response.py,sha256=Qma65MFFJfCM8vldnc2IlJ3CmIEJATs5dqJaT16WVW4,2633
73
+ smallestai/atoms/models/audience_id_members_get500_response.py,sha256=XZ_UxDF8hdIaSHOhK73QygAV-QtS0jls2XR3z4qIbO0,2646
74
+ smallestai/atoms/models/audience_id_members_post200_response.py,sha256=lGDw0EhNcE2z9Cke3WItOnZM79daSnUpkm_ZGeaUH4g,3208
75
+ smallestai/atoms/models/audience_id_members_post200_response_data_inner.py,sha256=S210bggZDBwyoHfTLyXReR4pJzLn4lVw_HhhKJuVBko,3081
76
+ smallestai/atoms/models/audience_id_members_post200_response_data_inner_data.py,sha256=w5xp-X3Nf8TfSFdMlfXrBIctbRkp4ncbevpOERj9Cg4,2832
77
+ smallestai/atoms/models/audience_id_members_post400_response.py,sha256=5k12Z7VCiI2n9Z09sMFrZSF-RUBhbYKeW7FpIXRiTIg,2650
78
+ smallestai/atoms/models/audience_id_members_post403_response.py,sha256=8Z9ifjeS5rYWScF_BIkZcONcV7S9uLzRWuWI_EoRgN0,2650
79
+ smallestai/atoms/models/audience_id_members_post_request.py,sha256=dwJOkKwjyQa91VXNVS1_dcn_RlM4uH97w9KcOV9CcPc,2611
80
+ smallestai/atoms/models/audience_id_members_search_get200_response.py,sha256=AZIHNTg9MS4ILJM1GzM-XYoyhZ65BJI_9AHMDElhSg0,3046
81
+ smallestai/atoms/models/audience_id_members_search_get200_response_data.py,sha256=-WxBRQbVqtU7Y3Hbh6Wl40SXT4GV9p9mtEiS6xcCdl8,3827
82
+ smallestai/atoms/models/audience_id_members_search_get200_response_data_search_info.py,sha256=nE1S0YrDUP_HweNOmSfQ2at63Mm1Vz_L5b6A7rKo8sM,3667
83
+ smallestai/atoms/models/audience_id_members_search_get400_response.py,sha256=qDwfTMyXDUwuqeoyQJ8gky1X2qaqbIkHDBcae1mOhxg,2670
84
+ smallestai/atoms/models/audience_id_members_search_get500_response.py,sha256=68YWOADOrzs0Ecs5bn7IYVfPRTRh6keA76eOn7IF1Jc,2670
85
+ smallestai/atoms/models/audience_post200_response.py,sha256=eO73FkPHjXjVH96O0S7FegayCSBUWXiQQ3dn7hYKTdY,2931
86
+ smallestai/atoms/models/audience_post200_response_data.py,sha256=XwTjONMoj3YrgsBmXPTe5DPzkDRdBe4uAbGsq1gBkZY,4236
87
+ smallestai/atoms/models/audience_post400_response.py,sha256=t0ra-HU1RaXbRpjII75PUndlaXOwjHl2uCBS66C5gJw,2614
88
+ smallestai/atoms/models/bad_request_error_response.py,sha256=zkgU6NeDxddUzhAV0FunTRWrYsh6ex5HF_AuN_UuQhA,2614
89
+ smallestai/atoms/models/campaign_get200_response.py,sha256=DP7-mQSUWDVfdCbGQh8h_BzCI_LxsuYfkJIOHTQp15c,2923
90
+ smallestai/atoms/models/campaign_get200_response_data.py,sha256=UAmx4rAl5zK4n5AwQ6AgNdvRTWRV1EfqF1NxtmoEIfg,2529
91
+ smallestai/atoms/models/campaign_get_request.py,sha256=_Rrpio1ZtHDn_Vu1IyzL50u4OmQFScpofWDr16TxHkM,2808
92
+ smallestai/atoms/models/campaign_id_get200_response.py,sha256=Kux0wWwdR3xrj_XY0gGVru6hAFr61Bl4fQLkzvPYhbU,2940
93
+ smallestai/atoms/models/campaign_id_get200_response_data.py,sha256=Emm7zU4OL56oKyKszCubzfkpYBT_PaedJSDYZ8KE00E,4794
94
+ smallestai/atoms/models/campaign_post201_response.py,sha256=ARthLT1CDYmUkGOsywzFHDsjO6Nmcn8uppSg4SBjatc,2594
95
+ smallestai/atoms/models/campaign_post_request.py,sha256=6CWAPwXkARRrBNrV6DyMzYvZx1TvncMp2-jiickjVTA,2985
96
+ smallestai/atoms/models/conversation_id_get200_response.py,sha256=26EdLEl3Ehg7pV6ZVaMn4de2bqN9SCP4NaLIM2anT8w,2972
97
+ smallestai/atoms/models/conversation_id_get200_response_data.py,sha256=nCsV_w1CKQTUo8FPBXZrLGMawgMfNTv25scmE7unrjw,5546
98
+ smallestai/atoms/models/conversation_outbound_post200_response.py,sha256=t_NoGO3BEtS9rNTSkAPrNvK8buHh0A08V44VhUoyn7Q,3028
99
+ smallestai/atoms/models/conversation_outbound_post200_response_data.py,sha256=-lE-aSULxUYRRDgSD7CiA0dnbh41ci2m-hx-QNPxHds,2692
100
+ smallestai/atoms/models/conversation_outbound_post_request.py,sha256=H8kG7-i1xtyrHz2GbmfZusMzhizRjRPL1XLcsTjib2o,2773
101
+ smallestai/atoms/models/create_agent_from_template_request.py,sha256=P-UOKqf-otmUoIhscdCKo1oSFFEsRQ21Ar1hy_BFt04,3067
102
+ smallestai/atoms/models/create_agent_request.py,sha256=VUzmFseZvKwVXVnDHTVAnIgd9mszHhs0lW1tirxYE1A,5516
103
+ smallestai/atoms/models/create_agent_request_language.py,sha256=1rDemerp7HwPYjdW_ymF3CADTb1wz4cM5_CT1eaE3hI,5363
104
+ smallestai/atoms/models/create_agent_request_language_synthesizer.py,sha256=vupUNUwECH4CUql5yLEY4KdD6Ebcm6wqjg_xpEKClXs,4944
105
+ smallestai/atoms/models/create_agent_request_language_synthesizer_voice_config.py,sha256=tWu0lkPXwazPqbKJNTI-DIpnDGTXKpYAIqennUPWtog,6672
106
+ smallestai/atoms/models/internal_server_error_response.py,sha256=NOGEBUknHF1zOMhFTsMICk7YO0I0HXzsD4F7ir0LUFs,2630
107
+ smallestai/atoms/models/knowledge_base.py,sha256=SAL9YzafwxDmx1zP-3ETh_Nc602dkdn2f4m-HeD_Rao,3576
108
+ smallestai/atoms/models/knowledge_base_item.py,sha256=r_s6VwmJ204H6iCZlZUh7c6qZjFeXTScFof0joorlyY,5282
109
+ smallestai/atoms/models/knowledgebase_get200_response.py,sha256=CYvZB_fVHRO-gKZC3moXyNHJT_IfVj_-jLWWZLKyd68,3071
110
+ smallestai/atoms/models/knowledgebase_id_get200_response.py,sha256=QMiN1Lz55HVcq6_whzwjjTpT2SZnUUVsDliQFFMp-Zo,2897
111
+ smallestai/atoms/models/knowledgebase_id_items_get200_response.py,sha256=xKiyMlgJh8bNJ_L8DDjN1zRBtMk-6EGuy01NPfJjty4,3116
112
+ smallestai/atoms/models/knowledgebase_id_items_upload_text_post_request.py,sha256=gsed8uAfRb5s3kgiJiTdEc3Pq_avohyTq1DVGDacf10,2623
113
+ smallestai/atoms/models/knowledgebase_post201_response.py,sha256=akRyQvcBJNiwnJcYN8q0uRb3ORbibxweL04McbuXvIU,2620
114
+ smallestai/atoms/models/knowledgebase_post_request.py,sha256=mwBR6m8f2HT0zkv4tvvlc_CF0YPhCKi2jV69Fl-Fbcs,2594
115
+ smallestai/atoms/models/organization_get200_response.py,sha256=5w6aORfmEqztoHgrQFHdFjXirOnncrGGEZH8Q-NA5y0,2955
116
+ smallestai/atoms/models/organization_get200_response_data.py,sha256=b6HqEDttALnp2x8Rj8RgGVVR4us-M21-O4oPzOr3ECc,3898
117
+ smallestai/atoms/models/organization_get200_response_data_members_inner.py,sha256=oNIFN17DeQHBmvr9ftwLZLBFGZfARfWHIa67fAqQwzQ,2740
118
+ smallestai/atoms/models/organization_get200_response_data_subscription.py,sha256=ryGRf2MJsV4xB26lbxztMZyOBk5zv9mcUvotCcqskSs,2620
119
+ smallestai/atoms/models/product_phone_numbers_get200_response.py,sha256=ahRsp5miWy-ltgqXuzP_uf0dsxRJALn8_sDPB-jzxIs,3216
120
+ smallestai/atoms/models/product_phone_numbers_get200_response_data_inner.py,sha256=rN36dq-FDTgz-ZSvyIvO8jPTTOrKoYt5umMlpFApDXA,3879
121
+ smallestai/atoms/models/product_phone_numbers_get200_response_data_inner_attributes.py,sha256=g6EUy6nlTRJAxx-Mgy2QM2d883JDXuY9PO5CBqOGhR4,2864
122
+ smallestai/atoms/models/unauthorized_error_reponse.py,sha256=TVV4SKcvCelKOsbKXTa3rL-pSHbMfKk3QZN6bSu1tgE,2618
123
+ smallestai/atoms/models/user_get200_response.py,sha256=up1-Rax8DMWFDvtoPeCOA675cTj_7YKyi_tA4_0b3OM,2891
124
+ smallestai/atoms/models/user_get200_response_data.py,sha256=7O36Z0z975BzTbB6XeZB9cpWFrmtJ00H-8bYPB5dlZc,3685
125
+ smallestai/atoms/models/webhook.py,sha256=PYVDLVM0HZOiCFOB01NcNLnXZMi68fsIYsloAc0SZa4,5237
126
+ smallestai/atoms/models/webhook_agent.py,sha256=dTuQmyxOWd3SBaN5NulhMI1BL3nllcNiivHCdronp3o,2821
127
+ smallestai/atoms/models/webhook_event.py,sha256=nuFFogDYEzrXXuaIyvp1CEVJ1N0IRlXF7KumaYbv7sM,3395
128
+ smallestai/atoms/models/webhook_get200_response.py,sha256=Krw10No8FpN73_bxlKhkLpNEaoFWcAoPz1nInb3bbIQ,2915
129
+ smallestai/atoms/models/webhook_get200_response_data.py,sha256=9UDhH2EMAfVwvN1nxcup79jbhJCp_ZUJ3H9uq1IbJm8,5313
130
+ smallestai/atoms/models/webhook_id_delete404_response.py,sha256=DTE3J996FVMYqERsnz6DNgX3W8408et7WJEkE6VnAHA,2626
131
+ smallestai/atoms/models/webhook_post201_response.py,sha256=P5PtnKoe9gPePzcboKd6yDV8HcjmCLtyKQDs6aZDwvg,2663
132
+ smallestai/atoms/models/webhook_post_request.py,sha256=XQWc6Mg2YpiCw3ZnCKrwL01J8NjyLiBcA7Rp2KkKsM8,3345
133
+ smallestai/atoms/models/webhook_post_request_events_inner.py,sha256=xrJ41CgtZMEXtGJ8jZZwG2PdIkozjPUWcS8cMr44N0c,3172
134
+ smallestai/atoms/models/webhook_subscription.py,sha256=tU_IthL9wOlEqL0WlhUTaLjNheHV0SORiJxBNcqPsUs,3908
135
+ smallestai/atoms/models/webhook_subscription_populated.py,sha256=3mfU3cvtpOnWWsSqUv7m2NFP7lAjNUrXRmeLKrelAlc,4207
136
+ smallestai/waves/__init__.py,sha256=hxyqisgFiKiroxupuZeNXpXFIbnivmdgPrid3CnLhh0,268
137
+ smallestai/waves/async_waves_client.py,sha256=BgiSqd2UjwECCPwuh2dyhLSBP0inIsbPUEbduWTJrmI,11704
138
+ smallestai/waves/exceptions.py,sha256=nY6I8fCXe2By54CytQ0-i3hFiYtt8TYAKj0g6OYsCjc,585
139
+ smallestai/waves/models.py,sha256=FaMVkOFyNCVpWvyMCmqkv3t1wmnfCs1HIULxLr1L8XE,283
140
+ smallestai/waves/stream_tts.py,sha256=c9r8mZuuFjbyWsUrlZ1jb0WNX7-lR39EXDUqyF-5g14,6792
141
+ smallestai/waves/utils.py,sha256=sqDpfa5SC60C_kJZo4MKxlDfkX7RRzO6aJ2hKpNMemE,2273
142
+ smallestai/waves/waves_client.py,sha256=U6aqClYL49cTtYisvpUVhas2miGZiCfqwTU0eDUY548,9770
143
+ smallestai-4.0.1.dist-info/licenses/LICENSE,sha256=kK3HNKhN7luQhkjkNWIvy9_gizbEDUM4mSv_HWq9uuM,1068
144
+ smallestai-4.0.1.dist-info/METADATA,sha256=c9DX-VrtU8V0Lh4CWp7FfSY-pQT6CbQLFg9O3dmSAYY,20421
145
+ smallestai-4.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
146
+ smallestai-4.0.1.dist-info/top_level.txt,sha256=pdJzm1VC2J6RxoobATz45L9U3cki4AFLigsfvETz7Io,11
147
+ smallestai-4.0.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,118 +0,0 @@
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 datetime import datetime
21
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
22
- from typing import Any, ClassVar, Dict, List, Optional
23
- from smallestai.atoms.models.get_campaigns200_response_data_inner_agent import GetCampaigns200ResponseDataInnerAgent
24
- from smallestai.atoms.models.get_campaigns200_response_data_inner_audience import GetCampaigns200ResponseDataInnerAudience
25
- from typing import Optional, Set
26
- from typing_extensions import Self
27
-
28
- class GetCampaigns200ResponseDataInner(BaseModel):
29
- """
30
- GetCampaigns200ResponseDataInner
31
- """ # noqa: E501
32
- id: StrictStr = Field(description="The unique identifier for the campaign", alias="_id")
33
- name: StrictStr = Field(description="The name of the campaign")
34
- description: Optional[StrictStr] = Field(default=None, description="The description of the campaign")
35
- organization: Optional[StrictStr] = Field(default=None, description="The ID of the organization")
36
- agent: Optional[GetCampaigns200ResponseDataInnerAgent] = None
37
- created_by: Optional[StrictStr] = Field(default=None, description="The ID of the user who created the campaign", alias="createdBy")
38
- audience: Optional[GetCampaigns200ResponseDataInnerAudience] = None
39
- participants_count: Optional[StrictInt] = Field(default=None, description="The number of participants in the campaign", alias="participantsCount")
40
- created_at: Optional[datetime] = Field(default=None, description="The date and time when the campaign was created", alias="createdAt")
41
- updated_at: Optional[datetime] = Field(default=None, description="The date and time when the campaign was last updated", alias="updatedAt")
42
- is_campaign_in_progress: Optional[StrictBool] = Field(default=None, description="Whether the campaign is in progress", alias="isCampaignInProgress")
43
- is_campaign_completed: Optional[StrictBool] = Field(default=None, description="Whether the campaign is completed", alias="isCampaignCompleted")
44
- __properties: ClassVar[List[str]] = ["_id", "name", "description", "organization", "agent", "createdBy", "audience", "participantsCount", "createdAt", "updatedAt", "isCampaignInProgress", "isCampaignCompleted"]
45
-
46
- model_config = ConfigDict(
47
- populate_by_name=True,
48
- validate_assignment=True,
49
- protected_namespaces=(),
50
- )
51
-
52
-
53
- def to_str(self) -> str:
54
- """Returns the string representation of the model using alias"""
55
- return pprint.pformat(self.model_dump(by_alias=True))
56
-
57
- def to_json(self) -> str:
58
- """Returns the JSON representation of the model using alias"""
59
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
- return json.dumps(self.to_dict())
61
-
62
- @classmethod
63
- def from_json(cls, json_str: str) -> Optional[Self]:
64
- """Create an instance of GetCampaigns200ResponseDataInner from a JSON string"""
65
- return cls.from_dict(json.loads(json_str))
66
-
67
- def to_dict(self) -> Dict[str, Any]:
68
- """Return the dictionary representation of the model using alias.
69
-
70
- This has the following differences from calling pydantic's
71
- `self.model_dump(by_alias=True)`:
72
-
73
- * `None` is only added to the output dict for nullable fields that
74
- were set at model initialization. Other fields with value `None`
75
- are ignored.
76
- """
77
- excluded_fields: Set[str] = set([
78
- ])
79
-
80
- _dict = self.model_dump(
81
- by_alias=True,
82
- exclude=excluded_fields,
83
- exclude_none=True,
84
- )
85
- # override the default output from pydantic by calling `to_dict()` of agent
86
- if self.agent:
87
- _dict['agent'] = self.agent.to_dict()
88
- # override the default output from pydantic by calling `to_dict()` of audience
89
- if self.audience:
90
- _dict['audience'] = self.audience.to_dict()
91
- return _dict
92
-
93
- @classmethod
94
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
95
- """Create an instance of GetCampaigns200ResponseDataInner from a dict"""
96
- if obj is None:
97
- return None
98
-
99
- if not isinstance(obj, dict):
100
- return cls.model_validate(obj)
101
-
102
- _obj = cls.model_validate({
103
- "_id": obj.get("_id"),
104
- "name": obj.get("name"),
105
- "description": obj.get("description"),
106
- "organization": obj.get("organization"),
107
- "agent": GetCampaigns200ResponseDataInnerAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None,
108
- "createdBy": obj.get("createdBy"),
109
- "audience": GetCampaigns200ResponseDataInnerAudience.from_dict(obj["audience"]) if obj.get("audience") is not None else None,
110
- "participantsCount": obj.get("participantsCount"),
111
- "createdAt": obj.get("createdAt"),
112
- "updatedAt": obj.get("updatedAt"),
113
- "isCampaignInProgress": obj.get("isCampaignInProgress"),
114
- "isCampaignCompleted": obj.get("isCampaignCompleted")
115
- })
116
- return _obj
117
-
118
-
@@ -1,93 +0,0 @@
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, StrictBool
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from smallestai.atoms.models.get_conversation_logs200_response_data import GetConversationLogs200ResponseData
23
- from typing import Optional, Set
24
- from typing_extensions import Self
25
-
26
- class GetConversationLogs200Response(BaseModel):
27
- """
28
- GetConversationLogs200Response
29
- """ # noqa: E501
30
- status: Optional[StrictBool] = None
31
- data: Optional[GetConversationLogs200ResponseData] = None
32
- __properties: ClassVar[List[str]] = ["status", "data"]
33
-
34
- model_config = ConfigDict(
35
- populate_by_name=True,
36
- validate_assignment=True,
37
- protected_namespaces=(),
38
- )
39
-
40
-
41
- def to_str(self) -> str:
42
- """Returns the string representation of the model using alias"""
43
- return pprint.pformat(self.model_dump(by_alias=True))
44
-
45
- def to_json(self) -> str:
46
- """Returns the JSON representation of the model using alias"""
47
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
- return json.dumps(self.to_dict())
49
-
50
- @classmethod
51
- def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of GetConversationLogs200Response from a JSON string"""
53
- return cls.from_dict(json.loads(json_str))
54
-
55
- def to_dict(self) -> Dict[str, Any]:
56
- """Return the dictionary representation of the model using alias.
57
-
58
- This has the following differences from calling pydantic's
59
- `self.model_dump(by_alias=True)`:
60
-
61
- * `None` is only added to the output dict for nullable fields that
62
- were set at model initialization. Other fields with value `None`
63
- are ignored.
64
- """
65
- excluded_fields: Set[str] = set([
66
- ])
67
-
68
- _dict = self.model_dump(
69
- by_alias=True,
70
- exclude=excluded_fields,
71
- exclude_none=True,
72
- )
73
- # override the default output from pydantic by calling `to_dict()` of data
74
- if self.data:
75
- _dict['data'] = self.data.to_dict()
76
- return _dict
77
-
78
- @classmethod
79
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
- """Create an instance of GetConversationLogs200Response 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
- "status": obj.get("status"),
89
- "data": GetConversationLogs200ResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None
90
- })
91
- return _obj
92
-
93
-