telnyx 3.5.0a0__py3-none-any.whl → 3.6.0__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 telnyx might be problematic. Click here for more details.

Files changed (224) hide show
  1. telnyx/_client.py +56 -756
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/__init__.py +70 -0
  4. telnyx/resources/advanced_orders.py +63 -63
  5. telnyx/resources/ai/assistants/assistants.py +15 -17
  6. telnyx/resources/ai/assistants/versions.py +13 -15
  7. telnyx/resources/ai/conversations/conversations.py +137 -3
  8. telnyx/resources/ai/conversations/messages.py +1 -134
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +154 -150
  11. telnyx/resources/calls/calls.py +18 -10
  12. telnyx/resources/conferences/actions.py +8 -24
  13. telnyx/resources/conferences/conferences.py +2 -6
  14. telnyx/resources/documents.py +242 -37
  15. telnyx/resources/legacy/__init__.py +33 -0
  16. telnyx/resources/legacy/legacy.py +102 -0
  17. telnyx/resources/legacy/reporting/__init__.py +47 -0
  18. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  19. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  20. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  21. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  22. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  23. telnyx/resources/legacy/reporting/reporting.py +134 -0
  24. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  25. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  26. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  27. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  28. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  29. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  30. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  31. telnyx/resources/oauth.py +855 -0
  32. telnyx/resources/oauth_clients.py +711 -0
  33. telnyx/resources/oauth_grants.py +349 -0
  34. telnyx/resources/outbound_voice_profiles.py +24 -4
  35. telnyx/resources/phone_numbers/jobs.py +12 -0
  36. telnyx/resources/porting_orders/porting_orders.py +20 -8
  37. telnyx/resources/sim_cards/actions.py +12 -12
  38. telnyx/resources/sim_cards/sim_cards.py +3 -2
  39. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  40. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  41. telnyx/resources/verifications/verifications.py +10 -0
  42. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  43. telnyx/resources/verify_profiles.py +182 -1
  44. telnyx/resources/well_known.py +198 -0
  45. telnyx/types/__init__.py +51 -9
  46. telnyx/types/access_ip_address_list_response.py +3 -12
  47. telnyx/types/access_ip_range_list_response.py +3 -12
  48. telnyx/types/addresses/action_validate_response.py +8 -3
  49. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  50. telnyx/types/ai/__init__.py +2 -3
  51. telnyx/types/ai/assistant_import_params.py +1 -1
  52. telnyx/types/ai/assistants/__init__.py +0 -3
  53. telnyx/types/ai/assistants_list.py +4 -88
  54. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +4 -4
  55. telnyx/types/ai/conversations/__init__.py +0 -1
  56. telnyx/types/ai/import_metadata.py +1 -1
  57. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  58. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  59. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  60. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  61. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +2 -0
  62. telnyx/types/ai/voice_settings.py +49 -2
  63. telnyx/types/ai/voice_settings_param.py +49 -2
  64. telnyx/types/brand_create_params.py +2 -1
  65. telnyx/types/brand_update_params.py +2 -1
  66. telnyx/types/call_dial_params.py +11 -3
  67. telnyx/types/calls/__init__.py +1 -0
  68. telnyx/types/calls/action_answer_params.py +1 -2
  69. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  70. telnyx/types/calls/action_start_streaming_params.py +5 -2
  71. telnyx/types/calls/action_start_transcription_params.py +160 -6
  72. telnyx/types/calls/action_transfer_params.py +50 -0
  73. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  74. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  75. telnyx/types/calls/transcription_start_request_param.py +161 -6
  76. telnyx/types/campaign_submit_appeal_response.py +0 -3
  77. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  78. telnyx/types/country_coverage_retrieve_response.py +7 -0
  79. telnyx/types/document_upload_json_params.py +39 -0
  80. telnyx/types/document_upload_json_response.py +12 -0
  81. telnyx/types/legacy/__init__.py +3 -0
  82. telnyx/types/legacy/reporting/__init__.py +12 -0
  83. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +24 -0
  84. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  85. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  86. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  87. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  88. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  89. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  90. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +15 -0
  91. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  92. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  93. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  94. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  95. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  96. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  97. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  98. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  99. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  100. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  101. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +15 -0
  102. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  103. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  104. telnyx/types/legacy/reporting/filter.py +31 -0
  105. telnyx/types/legacy/reporting/filter_param.py +30 -0
  106. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  107. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  108. telnyx/types/legacy/reporting/usage_reports/__init__.py +21 -0
  109. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  110. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  111. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  112. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  113. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  114. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  115. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +15 -0
  116. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  117. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  118. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  119. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  120. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  121. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  122. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  123. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  124. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +15 -0
  125. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  126. telnyx/types/message_template.py +12 -0
  127. telnyx/types/messaging_profile.py +3 -0
  128. telnyx/types/messaging_profile_create_params.py +3 -0
  129. telnyx/types/messaging_profile_update_params.py +3 -0
  130. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  131. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  132. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  133. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  134. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  135. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  136. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  137. telnyx/types/oauth_client.py +59 -0
  138. telnyx/types/oauth_client_create_params.py +39 -0
  139. telnyx/types/oauth_client_create_response.py +12 -0
  140. telnyx/types/oauth_client_list_params.py +38 -0
  141. telnyx/types/oauth_client_list_response.py +15 -0
  142. telnyx/types/oauth_client_retrieve_response.py +12 -0
  143. telnyx/types/oauth_client_update_params.py +36 -0
  144. telnyx/types/oauth_client_update_response.py +12 -0
  145. telnyx/types/oauth_grant.py +29 -0
  146. telnyx/types/oauth_grant_delete_response.py +12 -0
  147. telnyx/types/oauth_grant_list_params.py +17 -0
  148. telnyx/types/oauth_grant_list_response.py +15 -0
  149. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  150. telnyx/types/oauth_grants_params.py +15 -0
  151. telnyx/types/oauth_grants_response.py +10 -0
  152. telnyx/types/oauth_introspect_params.py +12 -0
  153. telnyx/types/oauth_introspect_response.py +30 -0
  154. telnyx/types/oauth_register_params.py +39 -0
  155. telnyx/types/oauth_register_response.py +45 -0
  156. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  157. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  158. telnyx/types/oauth_retrieve_response.py +47 -0
  159. telnyx/types/oauth_token_params.py +33 -0
  160. telnyx/types/oauth_token_response.py +25 -0
  161. telnyx/types/outbound_voice_profile.py +27 -1
  162. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  163. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  164. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  165. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  166. telnyx/types/pagination_meta_oauth.py +21 -0
  167. telnyx/types/phone_number_blocks/__init__.py +1 -0
  168. telnyx/types/phone_number_blocks/job.py +3 -34
  169. telnyx/types/phone_number_blocks/job_error.py +32 -0
  170. telnyx/types/phone_number_delete_response.py +7 -0
  171. telnyx/types/phone_number_detailed.py +7 -0
  172. telnyx/types/phone_number_list_params.py +6 -0
  173. telnyx/types/phone_numbers/job_update_batch_params.py +7 -0
  174. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  175. telnyx/types/porting_order.py +3 -0
  176. telnyx/types/porting_order_create_params.py +3 -0
  177. telnyx/types/porting_order_list_params.py +52 -31
  178. telnyx/types/porting_order_update_params.py +2 -0
  179. telnyx/types/porting_orders/phone_number_configuration_list_params.py +19 -19
  180. telnyx/types/report_list_mdrs_response.py +3 -12
  181. telnyx/types/reports/__init__.py +1 -0
  182. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  183. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  184. telnyx/types/requirement_group.py +2 -2
  185. telnyx/types/requirement_group_list_params.py +1 -1
  186. telnyx/types/shared/__init__.py +1 -0
  187. telnyx/types/{error.py → shared/api_error.py} +3 -3
  188. telnyx/types/shared/simple_sim_card.py +15 -0
  189. telnyx/types/sim_card.py +12 -0
  190. telnyx/types/sim_card_update_params.py +2 -1
  191. telnyx/types/stream_bidirectional_codec.py +1 -1
  192. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  193. telnyx/types/stream_codec.py +1 -1
  194. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  195. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  196. telnyx/types/verification_trigger_call_params.py +7 -0
  197. telnyx/types/verifications/__init__.py +1 -0
  198. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  199. telnyx/types/verifications/verify_meta.py +17 -0
  200. telnyx/types/verified_number_create_params.py +10 -0
  201. telnyx/types/verify_profile.py +18 -3
  202. telnyx/types/verify_profile_create_template_params.py +12 -0
  203. telnyx/types/verify_profile_list_response.py +4 -13
  204. telnyx/types/verify_profile_message_template_response.py +13 -0
  205. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  206. telnyx/types/verify_profile_update_template_params.py +12 -0
  207. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  208. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  209. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/METADATA +4 -4
  210. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/RECORD +212 -121
  211. telnyx/types/ai/assistant_create_response.py +0 -92
  212. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  213. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  214. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  215. telnyx/types/ai/assistants/version_update_response.py +0 -92
  216. telnyx/types/client_create_bucket_params.py +0 -13
  217. telnyx/types/client_delete_objects_params.py +0 -20
  218. telnyx/types/client_get_object_params.py +0 -15
  219. telnyx/types/client_list_objects_params.py +0 -13
  220. telnyx/types/client_put_object_params.py +0 -20
  221. telnyx/types/list_buckets_response.py +0 -20
  222. telnyx/types/list_objects_response.py +0 -24
  223. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/WHEEL +0 -0
  224. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict
5
+ from typing import Dict, Union, Iterable
6
+ from datetime import datetime
6
7
 
7
8
  import httpx
8
9
 
@@ -22,10 +23,15 @@ from .messages import (
22
23
  MessagesResourceWithStreamingResponse,
23
24
  AsyncMessagesResourceWithStreamingResponse,
24
25
  )
25
- from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
26
+ from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
26
27
  from ...._utils import maybe_transform, async_maybe_transform
27
28
  from ...._compat import cached_property
28
- from ....types.ai import conversation_list_params, conversation_create_params, conversation_update_params
29
+ from ....types.ai import (
30
+ conversation_list_params,
31
+ conversation_create_params,
32
+ conversation_update_params,
33
+ conversation_add_message_params,
34
+ )
29
35
  from ...._resource import SyncAPIResource, AsyncAPIResource
30
36
  from ...._response import (
31
37
  to_raw_response_wrapper,
@@ -326,6 +332,64 @@ class ConversationsResource(SyncAPIResource):
326
332
  cast_to=NoneType,
327
333
  )
328
334
 
335
+ def add_message(
336
+ self,
337
+ conversation_id: str,
338
+ *,
339
+ role: str,
340
+ content: str | Omit = omit,
341
+ metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
342
+ name: str | Omit = omit,
343
+ sent_at: Union[str, datetime] | Omit = omit,
344
+ tool_call_id: str | Omit = omit,
345
+ tool_calls: Iterable[Dict[str, object]] | Omit = omit,
346
+ tool_choice: Union[str, object] | Omit = omit,
347
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
348
+ # The extra values given here take precedence over values defined on the client or passed to this method.
349
+ extra_headers: Headers | None = None,
350
+ extra_query: Query | None = None,
351
+ extra_body: Body | None = None,
352
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
353
+ ) -> object:
354
+ """Add a new message to the conversation.
355
+
356
+ Used to insert a new messages to a
357
+ conversation manually ( without using chat endpoint )
358
+
359
+ Args:
360
+ conversation_id: The ID of the conversation
361
+
362
+ extra_headers: Send extra headers
363
+
364
+ extra_query: Add additional query parameters to the request
365
+
366
+ extra_body: Add additional JSON properties to the request
367
+
368
+ timeout: Override the client-level default timeout for this request, in seconds
369
+ """
370
+ if not conversation_id:
371
+ raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
372
+ return self._post(
373
+ f"/ai/conversations/{conversation_id}/message",
374
+ body=maybe_transform(
375
+ {
376
+ "role": role,
377
+ "content": content,
378
+ "metadata": metadata,
379
+ "name": name,
380
+ "sent_at": sent_at,
381
+ "tool_call_id": tool_call_id,
382
+ "tool_calls": tool_calls,
383
+ "tool_choice": tool_choice,
384
+ },
385
+ conversation_add_message_params.ConversationAddMessageParams,
386
+ ),
387
+ options=make_request_options(
388
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
389
+ ),
390
+ cast_to=object,
391
+ )
392
+
329
393
  def retrieve_conversations_insights(
330
394
  self,
331
395
  conversation_id: str,
@@ -635,6 +699,64 @@ class AsyncConversationsResource(AsyncAPIResource):
635
699
  cast_to=NoneType,
636
700
  )
637
701
 
702
+ async def add_message(
703
+ self,
704
+ conversation_id: str,
705
+ *,
706
+ role: str,
707
+ content: str | Omit = omit,
708
+ metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
709
+ name: str | Omit = omit,
710
+ sent_at: Union[str, datetime] | Omit = omit,
711
+ tool_call_id: str | Omit = omit,
712
+ tool_calls: Iterable[Dict[str, object]] | Omit = omit,
713
+ tool_choice: Union[str, object] | Omit = omit,
714
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
715
+ # The extra values given here take precedence over values defined on the client or passed to this method.
716
+ extra_headers: Headers | None = None,
717
+ extra_query: Query | None = None,
718
+ extra_body: Body | None = None,
719
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
720
+ ) -> object:
721
+ """Add a new message to the conversation.
722
+
723
+ Used to insert a new messages to a
724
+ conversation manually ( without using chat endpoint )
725
+
726
+ Args:
727
+ conversation_id: The ID of the conversation
728
+
729
+ extra_headers: Send extra headers
730
+
731
+ extra_query: Add additional query parameters to the request
732
+
733
+ extra_body: Add additional JSON properties to the request
734
+
735
+ timeout: Override the client-level default timeout for this request, in seconds
736
+ """
737
+ if not conversation_id:
738
+ raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
739
+ return await self._post(
740
+ f"/ai/conversations/{conversation_id}/message",
741
+ body=await async_maybe_transform(
742
+ {
743
+ "role": role,
744
+ "content": content,
745
+ "metadata": metadata,
746
+ "name": name,
747
+ "sent_at": sent_at,
748
+ "tool_call_id": tool_call_id,
749
+ "tool_calls": tool_calls,
750
+ "tool_choice": tool_choice,
751
+ },
752
+ conversation_add_message_params.ConversationAddMessageParams,
753
+ ),
754
+ options=make_request_options(
755
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
756
+ ),
757
+ cast_to=object,
758
+ )
759
+
638
760
  async def retrieve_conversations_insights(
639
761
  self,
640
762
  conversation_id: str,
@@ -688,6 +810,9 @@ class ConversationsResourceWithRawResponse:
688
810
  self.delete = to_raw_response_wrapper(
689
811
  conversations.delete,
690
812
  )
813
+ self.add_message = to_raw_response_wrapper(
814
+ conversations.add_message,
815
+ )
691
816
  self.retrieve_conversations_insights = to_raw_response_wrapper(
692
817
  conversations.retrieve_conversations_insights,
693
818
  )
@@ -724,6 +849,9 @@ class AsyncConversationsResourceWithRawResponse:
724
849
  self.delete = async_to_raw_response_wrapper(
725
850
  conversations.delete,
726
851
  )
852
+ self.add_message = async_to_raw_response_wrapper(
853
+ conversations.add_message,
854
+ )
727
855
  self.retrieve_conversations_insights = async_to_raw_response_wrapper(
728
856
  conversations.retrieve_conversations_insights,
729
857
  )
@@ -760,6 +888,9 @@ class ConversationsResourceWithStreamingResponse:
760
888
  self.delete = to_streamed_response_wrapper(
761
889
  conversations.delete,
762
890
  )
891
+ self.add_message = to_streamed_response_wrapper(
892
+ conversations.add_message,
893
+ )
763
894
  self.retrieve_conversations_insights = to_streamed_response_wrapper(
764
895
  conversations.retrieve_conversations_insights,
765
896
  )
@@ -796,6 +927,9 @@ class AsyncConversationsResourceWithStreamingResponse:
796
927
  self.delete = async_to_streamed_response_wrapper(
797
928
  conversations.delete,
798
929
  )
930
+ self.add_message = async_to_streamed_response_wrapper(
931
+ conversations.add_message,
932
+ )
799
933
  self.retrieve_conversations_insights = async_to_streamed_response_wrapper(
800
934
  conversations.retrieve_conversations_insights,
801
935
  )
@@ -2,13 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, Union, Iterable
6
- from datetime import datetime
7
-
8
5
  import httpx
9
6
 
10
- from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
11
- from ...._utils import maybe_transform, async_maybe_transform
7
+ from ...._types import Body, Query, Headers, NotGiven, not_given
12
8
  from ...._compat import cached_property
13
9
  from ...._resource import SyncAPIResource, AsyncAPIResource
14
10
  from ...._response import (
@@ -18,7 +14,6 @@ from ...._response import (
18
14
  async_to_streamed_response_wrapper,
19
15
  )
20
16
  from ...._base_client import make_request_options
21
- from ....types.ai.conversations import message_create_params
22
17
  from ....types.ai.conversations.message_list_response import MessageListResponse
23
18
 
24
19
  __all__ = ["MessagesResource", "AsyncMessagesResource"]
@@ -44,64 +39,6 @@ class MessagesResource(SyncAPIResource):
44
39
  """
45
40
  return MessagesResourceWithStreamingResponse(self)
46
41
 
47
- def create(
48
- self,
49
- conversation_id: str,
50
- *,
51
- role: str,
52
- content: str | Omit = omit,
53
- metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
54
- name: str | Omit = omit,
55
- sent_at: Union[str, datetime] | Omit = omit,
56
- tool_call_id: str | Omit = omit,
57
- tool_calls: Iterable[Dict[str, object]] | Omit = omit,
58
- tool_choice: Union[str, object] | Omit = omit,
59
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
60
- # The extra values given here take precedence over values defined on the client or passed to this method.
61
- extra_headers: Headers | None = None,
62
- extra_query: Query | None = None,
63
- extra_body: Body | None = None,
64
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
65
- ) -> object:
66
- """Add a new message to the conversation.
67
-
68
- Used to insert a new messages to a
69
- conversation manually ( without using chat endpoint )
70
-
71
- Args:
72
- conversation_id: The ID of the conversation
73
-
74
- extra_headers: Send extra headers
75
-
76
- extra_query: Add additional query parameters to the request
77
-
78
- extra_body: Add additional JSON properties to the request
79
-
80
- timeout: Override the client-level default timeout for this request, in seconds
81
- """
82
- if not conversation_id:
83
- raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
84
- return self._post(
85
- f"/ai/conversations/{conversation_id}/messages",
86
- body=maybe_transform(
87
- {
88
- "role": role,
89
- "content": content,
90
- "metadata": metadata,
91
- "name": name,
92
- "sent_at": sent_at,
93
- "tool_call_id": tool_call_id,
94
- "tool_calls": tool_calls,
95
- "tool_choice": tool_choice,
96
- },
97
- message_create_params.MessageCreateParams,
98
- ),
99
- options=make_request_options(
100
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
101
- ),
102
- cast_to=object,
103
- )
104
-
105
42
  def list(
106
43
  self,
107
44
  conversation_id: str,
@@ -157,64 +94,6 @@ class AsyncMessagesResource(AsyncAPIResource):
157
94
  """
158
95
  return AsyncMessagesResourceWithStreamingResponse(self)
159
96
 
160
- async def create(
161
- self,
162
- conversation_id: str,
163
- *,
164
- role: str,
165
- content: str | Omit = omit,
166
- metadata: Dict[str, Union[str, int, bool, SequenceNotStr[Union[str, int, bool]]]] | Omit = omit,
167
- name: str | Omit = omit,
168
- sent_at: Union[str, datetime] | Omit = omit,
169
- tool_call_id: str | Omit = omit,
170
- tool_calls: Iterable[Dict[str, object]] | Omit = omit,
171
- tool_choice: Union[str, object] | Omit = omit,
172
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
173
- # The extra values given here take precedence over values defined on the client or passed to this method.
174
- extra_headers: Headers | None = None,
175
- extra_query: Query | None = None,
176
- extra_body: Body | None = None,
177
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
178
- ) -> object:
179
- """Add a new message to the conversation.
180
-
181
- Used to insert a new messages to a
182
- conversation manually ( without using chat endpoint )
183
-
184
- Args:
185
- conversation_id: The ID of the conversation
186
-
187
- extra_headers: Send extra headers
188
-
189
- extra_query: Add additional query parameters to the request
190
-
191
- extra_body: Add additional JSON properties to the request
192
-
193
- timeout: Override the client-level default timeout for this request, in seconds
194
- """
195
- if not conversation_id:
196
- raise ValueError(f"Expected a non-empty value for `conversation_id` but received {conversation_id!r}")
197
- return await self._post(
198
- f"/ai/conversations/{conversation_id}/messages",
199
- body=await async_maybe_transform(
200
- {
201
- "role": role,
202
- "content": content,
203
- "metadata": metadata,
204
- "name": name,
205
- "sent_at": sent_at,
206
- "tool_call_id": tool_call_id,
207
- "tool_calls": tool_calls,
208
- "tool_choice": tool_choice,
209
- },
210
- message_create_params.MessageCreateParams,
211
- ),
212
- options=make_request_options(
213
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
214
- ),
215
- cast_to=object,
216
- )
217
-
218
97
  async def list(
219
98
  self,
220
99
  conversation_id: str,
@@ -254,9 +133,6 @@ class MessagesResourceWithRawResponse:
254
133
  def __init__(self, messages: MessagesResource) -> None:
255
134
  self._messages = messages
256
135
 
257
- self.create = to_raw_response_wrapper(
258
- messages.create,
259
- )
260
136
  self.list = to_raw_response_wrapper(
261
137
  messages.list,
262
138
  )
@@ -266,9 +142,6 @@ class AsyncMessagesResourceWithRawResponse:
266
142
  def __init__(self, messages: AsyncMessagesResource) -> None:
267
143
  self._messages = messages
268
144
 
269
- self.create = async_to_raw_response_wrapper(
270
- messages.create,
271
- )
272
145
  self.list = async_to_raw_response_wrapper(
273
146
  messages.list,
274
147
  )
@@ -278,9 +151,6 @@ class MessagesResourceWithStreamingResponse:
278
151
  def __init__(self, messages: MessagesResource) -> None:
279
152
  self._messages = messages
280
153
 
281
- self.create = to_streamed_response_wrapper(
282
- messages.create,
283
- )
284
154
  self.list = to_streamed_response_wrapper(
285
155
  messages.list,
286
156
  )
@@ -290,9 +160,6 @@ class AsyncMessagesResourceWithStreamingResponse:
290
160
  def __init__(self, messages: AsyncMessagesResource) -> None:
291
161
  self._messages = messages
292
162
 
293
- self.create = async_to_streamed_response_wrapper(
294
- messages.create,
295
- )
296
163
  self.list = async_to_streamed_response_wrapper(
297
164
  messages.list,
298
165
  )
@@ -126,7 +126,8 @@ class BrandResource(SyncAPIResource):
126
126
 
127
127
  business_contact_email: Business contact email.
128
128
 
129
- Required if `entityType` is `PUBLIC_PROFIT`.
129
+ Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to
130
+ either omit this field or set it to `null`.
130
131
 
131
132
  city: City name
132
133
 
@@ -297,7 +298,8 @@ class BrandResource(SyncAPIResource):
297
298
 
298
299
  business_contact_email: Business contact email.
299
300
 
300
- Required if `entityType` will be changed to `PUBLIC_PROFIT`.
301
+ Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is
302
+ recommended to either omit this field or set it to `null`.
301
303
 
302
304
  city: City name
303
305
 
@@ -692,7 +694,8 @@ class AsyncBrandResource(AsyncAPIResource):
692
694
 
693
695
  business_contact_email: Business contact email.
694
696
 
695
- Required if `entityType` is `PUBLIC_PROFIT`.
697
+ Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to
698
+ either omit this field or set it to `null`.
696
699
 
697
700
  city: City name
698
701
 
@@ -863,7 +866,8 @@ class AsyncBrandResource(AsyncAPIResource):
863
866
 
864
867
  business_contact_email: Business contact email.
865
868
 
866
- Required if `entityType` will be changed to `PUBLIC_PROFIT`.
869
+ Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is
870
+ recommended to either omit this field or set it to `null`.
867
871
 
868
872
  city: City name
869
873