telnyx 5.160.0 → 5.161.0

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.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +8 -0
  5. data/lib/telnyx/models/artifact_completed_webhook_event.rb +152 -0
  6. data/lib/telnyx/models/artifact_failed_webhook_event.rb +103 -0
  7. data/lib/telnyx/models/call_dial_params.rb +7 -7
  8. data/lib/telnyx/models/calls/action_answer_params.rb +7 -6
  9. data/lib/telnyx/models/calls/action_transfer_params.rb +7 -6
  10. data/lib/telnyx/models/meeting_session.rb +380 -0
  11. data/lib/telnyx/models/meeting_session_create_params.rb +309 -0
  12. data/lib/telnyx/models/meeting_session_delete_params.rb +20 -0
  13. data/lib/telnyx/models/meeting_session_delete_recording_media_params.rb +20 -0
  14. data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +61 -0
  15. data/lib/telnyx/models/meeting_session_list_params.rb +39 -0
  16. data/lib/telnyx/models/meeting_session_list_response.rb +16 -0
  17. data/lib/telnyx/models/meeting_session_response.rb +22 -0
  18. data/lib/telnyx/models/meeting_session_retrieve_events_params.rb +37 -0
  19. data/lib/telnyx/models/meeting_session_retrieve_events_response.rb +45 -0
  20. data/lib/telnyx/models/meeting_session_retrieve_params.rb +20 -0
  21. data/lib/telnyx/models/meeting_session_retrieve_recordings_params.rb +20 -0
  22. data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +49 -0
  23. data/lib/telnyx/models/meeting_session_retrieve_transcript_params.rb +50 -0
  24. data/lib/telnyx/models/meeting_session_retrieve_transcript_response.rb +80 -0
  25. data/lib/telnyx/models/meeting_session_update_params.rb +37 -0
  26. data/lib/telnyx/models/meeting_sessions/action_accepted_response.rb +29 -0
  27. data/lib/telnyx/models/meeting_sessions/action_send_chat_params.rb +31 -0
  28. data/lib/telnyx/models/meeting_sessions/action_speak_params.rb +52 -0
  29. data/lib/telnyx/models/meeting_sessions/action_stop_speaking_params.rb +22 -0
  30. data/lib/telnyx/models/meeting_sessions/artifact_create_params.rb +42 -0
  31. data/lib/telnyx/models/meeting_sessions/artifact_list_params.rb +22 -0
  32. data/lib/telnyx/models/meeting_sessions/artifact_list_response.rb +18 -0
  33. data/lib/telnyx/models/meeting_sessions/artifact_retrieve_params.rb +28 -0
  34. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact.rb +120 -0
  35. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact_response.rb +20 -0
  36. data/lib/telnyx/models/phone_numbers/voicemail_pref_response.rb +64 -1
  37. data/lib/telnyx/models/phone_numbers/voicemail_request.rb +63 -1
  38. data/lib/telnyx/models/private_wireless_gateway_status.rb +2 -2
  39. data/lib/telnyx/models/recording_available_webhook_event.rb +82 -0
  40. data/lib/telnyx/models/session_status_changed_webhook_event.rb +102 -0
  41. data/lib/telnyx/models/sim_cards/action_bulk_enable_voice_params.rb +16 -1
  42. data/lib/telnyx/models/sim_cards/action_disable_voice_params.rb +22 -0
  43. data/lib/telnyx/models/sim_cards/action_disable_voice_response.rb +23 -0
  44. data/lib/telnyx/models/sim_cards/action_enable_voice_params.rb +37 -0
  45. data/lib/telnyx/models/sim_cards/action_enable_voice_response.rb +23 -0
  46. data/lib/telnyx/models/sim_cards/action_list_params.rb +2 -0
  47. data/lib/telnyx/models/sim_cards/wireless_sim_card_action.rb +6 -0
  48. data/lib/telnyx/models/storage/edge_compute_pagination_meta.rb +35 -0
  49. data/lib/telnyx/models/storage/sql_database.rb +75 -0
  50. data/lib/telnyx/models/storage/sql_database_response_wrapper.rb +18 -0
  51. data/lib/telnyx/models/storage/sqldb_create_params.rb +28 -0
  52. data/lib/telnyx/models/storage/sqldb_delete_params.rb +35 -0
  53. data/lib/telnyx/models/storage/sqldb_list_params.rb +85 -0
  54. data/lib/telnyx/models/storage/sqldb_retrieve_params.rb +22 -0
  55. data/lib/telnyx/models/storage/sqldbs/action_query_params.rb +66 -0
  56. data/lib/telnyx/models/storage/sqldbs/action_query_response.rb +109 -0
  57. data/lib/telnyx/models/transcript_completed_webhook_event.rb +98 -0
  58. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +11 -1
  59. data/lib/telnyx/models/unwrap_webhook_event.rb +11 -1
  60. data/lib/telnyx/models/web_search/research_citation.rb +34 -0
  61. data/lib/telnyx/models/web_search/research_create_params.rb +65 -0
  62. data/lib/telnyx/models/web_search/research_create_response.rb +93 -0
  63. data/lib/telnyx/models/web_search/research_retrieve_params.rb +22 -0
  64. data/lib/telnyx/models/web_search/research_retrieve_response.rb +77 -0
  65. data/lib/telnyx/models/web_search_contents_params.rb +63 -0
  66. data/lib/telnyx/models/web_search_contents_response.rb +97 -0
  67. data/lib/telnyx/models/web_search_create_params.rb +95 -0
  68. data/lib/telnyx/models/web_search_create_response.rb +47 -0
  69. data/lib/telnyx/models/web_search_result.rb +56 -0
  70. data/lib/telnyx/models.rb +42 -0
  71. data/lib/telnyx/resources/calls/actions.rb +2 -2
  72. data/lib/telnyx/resources/calls.rb +1 -1
  73. data/lib/telnyx/resources/meeting_sessions/actions.rb +92 -0
  74. data/lib/telnyx/resources/meeting_sessions/artifacts.rb +92 -0
  75. data/lib/telnyx/resources/meeting_sessions.rb +290 -0
  76. data/lib/telnyx/resources/phone_numbers/voicemail.rb +20 -4
  77. data/lib/telnyx/resources/sim_cards/actions.rb +66 -1
  78. data/lib/telnyx/resources/storage/sqldbs/actions.rb +50 -0
  79. data/lib/telnyx/resources/storage/sqldbs.rb +140 -0
  80. data/lib/telnyx/resources/storage.rb +5 -0
  81. data/lib/telnyx/resources/web_search/research.rb +86 -0
  82. data/lib/telnyx/resources/web_search.rb +96 -0
  83. data/lib/telnyx/resources/webhooks.rb +2 -2
  84. data/lib/telnyx/version.rb +1 -1
  85. data/lib/telnyx.rb +61 -0
  86. data/rbi/telnyx/client.rbi +6 -0
  87. data/rbi/telnyx/models/artifact_completed_webhook_event.rbi +283 -0
  88. data/rbi/telnyx/models/artifact_failed_webhook_event.rbi +185 -0
  89. data/rbi/telnyx/models/call_dial_params.rbi +12 -12
  90. data/rbi/telnyx/models/calls/action_answer_params.rbi +12 -10
  91. data/rbi/telnyx/models/calls/action_transfer_params.rbi +12 -10
  92. data/rbi/telnyx/models/meeting_session.rbi +544 -0
  93. data/rbi/telnyx/models/meeting_session_create_params.rbi +526 -0
  94. data/rbi/telnyx/models/meeting_session_delete_params.rbi +35 -0
  95. data/rbi/telnyx/models/meeting_session_delete_recording_media_params.rbi +38 -0
  96. data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +143 -0
  97. data/rbi/telnyx/models/meeting_session_list_params.rbi +101 -0
  98. data/rbi/telnyx/models/meeting_session_list_response.rbi +30 -0
  99. data/rbi/telnyx/models/meeting_session_response.rbi +36 -0
  100. data/rbi/telnyx/models/meeting_session_retrieve_events_params.rbi +66 -0
  101. data/rbi/telnyx/models/meeting_session_retrieve_events_response.rbi +92 -0
  102. data/rbi/telnyx/models/meeting_session_retrieve_params.rbi +35 -0
  103. data/rbi/telnyx/models/meeting_session_retrieve_recordings_params.rbi +38 -0
  104. data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +97 -0
  105. data/rbi/telnyx/models/meeting_session_retrieve_transcript_params.rbi +81 -0
  106. data/rbi/telnyx/models/meeting_session_retrieve_transcript_response.rbi +154 -0
  107. data/rbi/telnyx/models/meeting_session_update_params.rbi +63 -0
  108. data/rbi/telnyx/models/meeting_sessions/action_accepted_response.rbi +64 -0
  109. data/rbi/telnyx/models/meeting_sessions/action_send_chat_params.rbi +54 -0
  110. data/rbi/telnyx/models/meeting_sessions/action_speak_params.rbi +80 -0
  111. data/rbi/telnyx/models/meeting_sessions/action_stop_speaking_params.rbi +40 -0
  112. data/rbi/telnyx/models/meeting_sessions/artifact_create_params.rbi +89 -0
  113. data/rbi/telnyx/models/meeting_sessions/artifact_list_params.rbi +40 -0
  114. data/rbi/telnyx/models/meeting_sessions/artifact_list_response.rbi +39 -0
  115. data/rbi/telnyx/models/meeting_sessions/artifact_retrieve_params.rbi +48 -0
  116. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact.rbi +264 -0
  117. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbi +46 -0
  118. data/rbi/telnyx/models/phone_numbers/voicemail_pref_response.rbi +149 -2
  119. data/rbi/telnyx/models/phone_numbers/voicemail_request.rbi +145 -2
  120. data/rbi/telnyx/models/private_wireless_gateway_status.rbi +2 -2
  121. data/rbi/telnyx/models/recording_available_webhook_event.rbi +146 -0
  122. data/rbi/telnyx/models/session_status_changed_webhook_event.rbi +171 -0
  123. data/rbi/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbi +21 -1
  124. data/rbi/telnyx/models/sim_cards/action_disable_voice_params.rbi +40 -0
  125. data/rbi/telnyx/models/sim_cards/action_disable_voice_response.rbi +45 -0
  126. data/rbi/telnyx/models/sim_cards/action_enable_voice_params.rbi +63 -0
  127. data/rbi/telnyx/models/sim_cards/action_enable_voice_response.rbi +45 -0
  128. data/rbi/telnyx/models/sim_cards/action_list_params.rbi +10 -0
  129. data/rbi/telnyx/models/sim_cards/wireless_sim_card_action.rbi +16 -0
  130. data/rbi/telnyx/models/storage/edge_compute_pagination_meta.rbi +70 -0
  131. data/rbi/telnyx/models/storage/sql_database.rbi +131 -0
  132. data/rbi/telnyx/models/storage/sql_database_response_wrapper.rbi +35 -0
  133. data/rbi/telnyx/models/storage/sqldb_create_params.rbi +44 -0
  134. data/rbi/telnyx/models/storage/sqldb_delete_params.rbi +56 -0
  135. data/rbi/telnyx/models/storage/sqldb_list_params.rbi +198 -0
  136. data/rbi/telnyx/models/storage/sqldb_retrieve_params.rbi +40 -0
  137. data/rbi/telnyx/models/storage/sqldbs/action_query_params.rbi +125 -0
  138. data/rbi/telnyx/models/storage/sqldbs/action_query_response.rbi +226 -0
  139. data/rbi/telnyx/models/transcript_completed_webhook_event.rbi +166 -0
  140. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +5 -0
  141. data/rbi/telnyx/models/unwrap_webhook_event.rbi +5 -0
  142. data/rbi/telnyx/models/web_search/research_citation.rbi +53 -0
  143. data/rbi/telnyx/models/web_search/research_create_params.rbi +138 -0
  144. data/rbi/telnyx/models/web_search/research_create_response.rbi +235 -0
  145. data/rbi/telnyx/models/web_search/research_retrieve_params.rbi +40 -0
  146. data/rbi/telnyx/models/web_search/research_retrieve_response.rbi +179 -0
  147. data/rbi/telnyx/models/web_search_contents_params.rbi +119 -0
  148. data/rbi/telnyx/models/web_search_contents_response.rbi +232 -0
  149. data/rbi/telnyx/models/web_search_create_params.rbi +162 -0
  150. data/rbi/telnyx/models/web_search_create_response.rbi +127 -0
  151. data/rbi/telnyx/models/web_search_result.rbi +83 -0
  152. data/rbi/telnyx/models.rbi +49 -0
  153. data/rbi/telnyx/resources/calls/actions.rbi +10 -8
  154. data/rbi/telnyx/resources/calls.rbi +5 -5
  155. data/rbi/telnyx/resources/meeting_sessions/actions.rbi +71 -0
  156. data/rbi/telnyx/resources/meeting_sessions/artifacts.rbi +67 -0
  157. data/rbi/telnyx/resources/meeting_sessions.rbi +256 -0
  158. data/rbi/telnyx/resources/phone_numbers/voicemail.rbi +22 -2
  159. data/rbi/telnyx/resources/sim_cards/actions.rbi +56 -1
  160. data/rbi/telnyx/resources/storage/sqldbs/actions.rbi +50 -0
  161. data/rbi/telnyx/resources/storage/sqldbs.rbi +105 -0
  162. data/rbi/telnyx/resources/storage.rbi +4 -0
  163. data/rbi/telnyx/resources/web_search/research.rbi +71 -0
  164. data/rbi/telnyx/resources/web_search.rbi +86 -0
  165. data/rbi/telnyx/resources/webhooks.rbi +10 -0
  166. data/sig/telnyx/client.rbs +4 -0
  167. data/sig/telnyx/models/artifact_completed_webhook_event.rbs +120 -0
  168. data/sig/telnyx/models/artifact_failed_webhook_event.rbs +88 -0
  169. data/sig/telnyx/models/call_dial_params.rbs +7 -5
  170. data/sig/telnyx/models/calls/action_answer_params.rbs +7 -5
  171. data/sig/telnyx/models/calls/action_transfer_params.rbs +7 -5
  172. data/sig/telnyx/models/meeting_session.rbs +277 -0
  173. data/sig/telnyx/models/meeting_session_create_params.rbs +222 -0
  174. data/sig/telnyx/models/meeting_session_delete_params.rbs +20 -0
  175. data/sig/telnyx/models/meeting_session_delete_recording_media_params.rbs +20 -0
  176. data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +61 -0
  177. data/sig/telnyx/models/meeting_session_list_params.rbs +53 -0
  178. data/sig/telnyx/models/meeting_session_list_response.rbs +14 -0
  179. data/sig/telnyx/models/meeting_session_response.rbs +13 -0
  180. data/sig/telnyx/models/meeting_session_retrieve_events_params.rbs +36 -0
  181. data/sig/telnyx/models/meeting_session_retrieve_events_response.rbs +52 -0
  182. data/sig/telnyx/models/meeting_session_retrieve_params.rbs +20 -0
  183. data/sig/telnyx/models/meeting_session_retrieve_recordings_params.rbs +20 -0
  184. data/sig/telnyx/models/meeting_session_retrieve_recordings_response.rbs +34 -0
  185. data/sig/telnyx/models/meeting_session_retrieve_transcript_params.rbs +42 -0
  186. data/sig/telnyx/models/meeting_session_retrieve_transcript_response.rbs +77 -0
  187. data/sig/telnyx/models/meeting_session_update_params.rbs +36 -0
  188. data/sig/telnyx/models/meeting_sessions/action_accepted_response.rbs +30 -0
  189. data/sig/telnyx/models/meeting_sessions/action_send_chat_params.rbs +30 -0
  190. data/sig/telnyx/models/meeting_sessions/action_speak_params.rbs +42 -0
  191. data/sig/telnyx/models/meeting_sessions/action_stop_speaking_params.rbs +22 -0
  192. data/sig/telnyx/models/meeting_sessions/artifact_create_params.rbs +44 -0
  193. data/sig/telnyx/models/meeting_sessions/artifact_list_params.rbs +22 -0
  194. data/sig/telnyx/models/meeting_sessions/artifact_list_response.rbs +20 -0
  195. data/sig/telnyx/models/meeting_sessions/artifact_retrieve_params.rbs +30 -0
  196. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact.rbs +109 -0
  197. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbs +22 -0
  198. data/sig/telnyx/models/phone_numbers/voicemail_pref_response.rbs +59 -3
  199. data/sig/telnyx/models/phone_numbers/voicemail_request.rbs +59 -3
  200. data/sig/telnyx/models/recording_available_webhook_event.rbs +65 -0
  201. data/sig/telnyx/models/session_status_changed_webhook_event.rbs +82 -0
  202. data/sig/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbs +7 -1
  203. data/sig/telnyx/models/sim_cards/action_disable_voice_params.rbs +22 -0
  204. data/sig/telnyx/models/sim_cards/action_disable_voice_response.rbs +20 -0
  205. data/sig/telnyx/models/sim_cards/action_enable_voice_params.rbs +32 -0
  206. data/sig/telnyx/models/sim_cards/action_enable_voice_response.rbs +20 -0
  207. data/sig/telnyx/models/sim_cards/action_list_params.rbs +4 -0
  208. data/sig/telnyx/models/sim_cards/wireless_sim_card_action.rbs +8 -1
  209. data/sig/telnyx/models/storage/edge_compute_pagination_meta.rbs +45 -0
  210. data/sig/telnyx/models/storage/sql_database.rbs +80 -0
  211. data/sig/telnyx/models/storage/sql_database_response_wrapper.rbs +20 -0
  212. data/sig/telnyx/models/storage/sqldb_create_params.rbs +25 -0
  213. data/sig/telnyx/models/storage/sqldb_delete_params.rbs +31 -0
  214. data/sig/telnyx/models/storage/sqldb_list_params.rbs +97 -0
  215. data/sig/telnyx/models/storage/sqldb_retrieve_params.rbs +22 -0
  216. data/sig/telnyx/models/storage/sqldbs/action_query_params.rbs +52 -0
  217. data/sig/telnyx/models/storage/sqldbs/action_query_response.rbs +124 -0
  218. data/sig/telnyx/models/transcript_completed_webhook_event.rbs +82 -0
  219. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +5 -0
  220. data/sig/telnyx/models/unwrap_webhook_event.rbs +5 -0
  221. data/sig/telnyx/models/web_search/research_citation.rbs +21 -0
  222. data/sig/telnyx/models/web_search/research_create_params.rbs +63 -0
  223. data/sig/telnyx/models/web_search/research_create_response.rbs +95 -0
  224. data/sig/telnyx/models/web_search/research_retrieve_params.rbs +25 -0
  225. data/sig/telnyx/models/web_search/research_retrieve_response.rbs +80 -0
  226. data/sig/telnyx/models/web_search_contents_params.rbs +59 -0
  227. data/sig/telnyx/models/web_search_contents_response.rbs +104 -0
  228. data/sig/telnyx/models/web_search_create_params.rbs +89 -0
  229. data/sig/telnyx/models/web_search_create_response.rbs +65 -0
  230. data/sig/telnyx/models/web_search_result.rbs +49 -0
  231. data/sig/telnyx/models.rbs +42 -0
  232. data/sig/telnyx/resources/calls/actions.rbs +2 -2
  233. data/sig/telnyx/resources/calls.rbs +1 -1
  234. data/sig/telnyx/resources/meeting_sessions/actions.rbs +28 -0
  235. data/sig/telnyx/resources/meeting_sessions/artifacts.rbs +26 -0
  236. data/sig/telnyx/resources/meeting_sessions.rbs +75 -0
  237. data/sig/telnyx/resources/phone_numbers/voicemail.rbs +2 -0
  238. data/sig/telnyx/resources/sim_cards/actions.rbs +12 -0
  239. data/sig/telnyx/resources/storage/sqldbs/actions.rbs +18 -0
  240. data/sig/telnyx/resources/storage/sqldbs.rbs +36 -0
  241. data/sig/telnyx/resources/storage.rbs +2 -0
  242. data/sig/telnyx/resources/web_search/research.rbs +22 -0
  243. data/sig/telnyx/resources/web_search.rbs +29 -0
  244. data/sig/telnyx/resources/webhooks.rbs +10 -0
  245. metadata +185 -2
@@ -0,0 +1,235 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module WebSearch
6
+ class ResearchCreateResponse < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::Models::WebSearch::ResearchCreateResponse,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Synchronous research response (when `background` is false or unset).
16
+ sig do
17
+ returns(
18
+ T.nilable(
19
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::Variants
20
+ )
21
+ )
22
+ end
23
+ attr_reader :data
24
+
25
+ sig do
26
+ params(
27
+ data:
28
+ T.any(
29
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseSync::OrHash,
30
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::OrHash
31
+ )
32
+ ).void
33
+ end
34
+ attr_writer :data
35
+
36
+ sig do
37
+ params(
38
+ data:
39
+ T.any(
40
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseSync::OrHash,
41
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::OrHash
42
+ )
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Synchronous research response (when `background` is false or unset).
47
+ data: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ data:
55
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::Variants
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+
62
+ # Synchronous research response (when `background` is false or unset).
63
+ module Data
64
+ extend Telnyx::Internal::Type::Union
65
+
66
+ Variants =
67
+ T.type_alias do
68
+ T.any(
69
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseSync,
70
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync
71
+ )
72
+ end
73
+
74
+ class ResearchResponseSync < Telnyx::Internal::Type::BaseModel
75
+ OrHash =
76
+ T.type_alias do
77
+ T.any(
78
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseSync,
79
+ Telnyx::Internal::AnyHash
80
+ )
81
+ end
82
+
83
+ # The synthesized research answer.
84
+ sig { returns(String) }
85
+ attr_accessor :answer
86
+
87
+ # Sources cited in the answer.
88
+ sig do
89
+ returns(T.nilable(T::Array[Telnyx::WebSearch::ResearchCitation]))
90
+ end
91
+ attr_reader :citations
92
+
93
+ sig do
94
+ params(
95
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation::OrHash]
96
+ ).void
97
+ end
98
+ attr_writer :citations
99
+
100
+ # Synchronous research response (when `background` is false or unset).
101
+ sig do
102
+ params(
103
+ answer: String,
104
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation::OrHash]
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # The synthesized research answer.
109
+ answer:,
110
+ # Sources cited in the answer.
111
+ citations: nil
112
+ )
113
+ end
114
+
115
+ sig do
116
+ override.returns(
117
+ {
118
+ answer: String,
119
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation]
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+ end
126
+
127
+ class ResearchResponseAsync < Telnyx::Internal::Type::BaseModel
128
+ OrHash =
129
+ T.type_alias do
130
+ T.any(
131
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync,
132
+ Telnyx::Internal::AnyHash
133
+ )
134
+ end
135
+
136
+ # Current status of the research task.
137
+ sig do
138
+ returns(
139
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
140
+ )
141
+ end
142
+ attr_accessor :status
143
+
144
+ # Unique identifier for the research task. Use this to poll the status.
145
+ sig { returns(String) }
146
+ attr_accessor :task_id
147
+
148
+ # Asynchronous research response (when `background` is true).
149
+ sig do
150
+ params(
151
+ status:
152
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::OrSymbol,
153
+ task_id: String
154
+ ).returns(T.attached_class)
155
+ end
156
+ def self.new(
157
+ # Current status of the research task.
158
+ status:,
159
+ # Unique identifier for the research task. Use this to poll the status.
160
+ task_id:
161
+ )
162
+ end
163
+
164
+ sig do
165
+ override.returns(
166
+ {
167
+ status:
168
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol,
169
+ task_id: String
170
+ }
171
+ )
172
+ end
173
+ def to_hash
174
+ end
175
+
176
+ # Current status of the research task.
177
+ module Status
178
+ extend Telnyx::Internal::Type::Enum
179
+
180
+ TaggedSymbol =
181
+ T.type_alias do
182
+ T.all(
183
+ Symbol,
184
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status
185
+ )
186
+ end
187
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
188
+
189
+ PENDING =
190
+ T.let(
191
+ :pending,
192
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
193
+ )
194
+ RUNNING =
195
+ T.let(
196
+ :running,
197
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
198
+ )
199
+ COMPLETED =
200
+ T.let(
201
+ :completed,
202
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
203
+ )
204
+ FAILED =
205
+ T.let(
206
+ :failed,
207
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
208
+ )
209
+
210
+ sig do
211
+ override.returns(
212
+ T::Array[
213
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::ResearchResponseAsync::Status::TaggedSymbol
214
+ ]
215
+ )
216
+ end
217
+ def self.values
218
+ end
219
+ end
220
+ end
221
+
222
+ sig do
223
+ override.returns(
224
+ T::Array[
225
+ Telnyx::Models::WebSearch::ResearchCreateResponse::Data::Variants
226
+ ]
227
+ )
228
+ end
229
+ def self.variants
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module WebSearch
6
+ class ResearchRetrieveParams < Telnyx::Internal::Type::BaseModel
7
+ extend Telnyx::Internal::Type::RequestParameters::Converter
8
+ include Telnyx::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Telnyx::WebSearch::ResearchRetrieveParams,
14
+ Telnyx::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :task_id
20
+
21
+ sig do
22
+ params(
23
+ task_id: String,
24
+ request_options: Telnyx::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(task_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { task_id: String, request_options: Telnyx::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,179 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module WebSearch
6
+ class ResearchRetrieveResponse < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T.nilable(Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data)
18
+ )
19
+ end
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data:
25
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :data
29
+
30
+ sig do
31
+ params(
32
+ data:
33
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data: nil)
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ { data: Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ class Data < Telnyx::Internal::Type::BaseModel
48
+ OrHash =
49
+ T.type_alias do
50
+ T.any(
51
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data,
52
+ Telnyx::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ # Current status of the research task.
57
+ sig do
58
+ returns(
59
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
60
+ )
61
+ end
62
+ attr_accessor :status
63
+
64
+ # The research task identifier.
65
+ sig { returns(String) }
66
+ attr_accessor :task_id
67
+
68
+ # The synthesized research answer (present when status is `completed`).
69
+ sig { returns(T.nilable(String)) }
70
+ attr_reader :answer
71
+
72
+ sig { params(answer: String).void }
73
+ attr_writer :answer
74
+
75
+ # Sources cited in the answer (present when status is `completed`).
76
+ sig do
77
+ returns(T.nilable(T::Array[Telnyx::WebSearch::ResearchCitation]))
78
+ end
79
+ attr_reader :citations
80
+
81
+ sig do
82
+ params(
83
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation::OrHash]
84
+ ).void
85
+ end
86
+ attr_writer :citations
87
+
88
+ # Always present in poll responses; `null` unless the task failed.
89
+ sig { returns(T.nilable(String)) }
90
+ attr_accessor :error
91
+
92
+ sig do
93
+ params(
94
+ status:
95
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::OrSymbol,
96
+ task_id: String,
97
+ answer: String,
98
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation::OrHash],
99
+ error: T.nilable(String)
100
+ ).returns(T.attached_class)
101
+ end
102
+ def self.new(
103
+ # Current status of the research task.
104
+ status:,
105
+ # The research task identifier.
106
+ task_id:,
107
+ # The synthesized research answer (present when status is `completed`).
108
+ answer: nil,
109
+ # Sources cited in the answer (present when status is `completed`).
110
+ citations: nil,
111
+ # Always present in poll responses; `null` unless the task failed.
112
+ error: nil
113
+ )
114
+ end
115
+
116
+ sig do
117
+ override.returns(
118
+ {
119
+ status:
120
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol,
121
+ task_id: String,
122
+ answer: String,
123
+ citations: T::Array[Telnyx::WebSearch::ResearchCitation],
124
+ error: T.nilable(String)
125
+ }
126
+ )
127
+ end
128
+ def to_hash
129
+ end
130
+
131
+ # Current status of the research task.
132
+ module Status
133
+ extend Telnyx::Internal::Type::Enum
134
+
135
+ TaggedSymbol =
136
+ T.type_alias do
137
+ T.all(
138
+ Symbol,
139
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status
140
+ )
141
+ end
142
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
143
+
144
+ PENDING =
145
+ T.let(
146
+ :pending,
147
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
148
+ )
149
+ RUNNING =
150
+ T.let(
151
+ :running,
152
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
153
+ )
154
+ COMPLETED =
155
+ T.let(
156
+ :completed,
157
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
158
+ )
159
+ FAILED =
160
+ T.let(
161
+ :failed,
162
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
163
+ )
164
+
165
+ sig do
166
+ override.returns(
167
+ T::Array[
168
+ Telnyx::Models::WebSearch::ResearchRetrieveResponse::Data::Status::TaggedSymbol
169
+ ]
170
+ )
171
+ end
172
+ def self.values
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,119 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class WebSearchContentsParams < Telnyx::Internal::Type::BaseModel
6
+ extend Telnyx::Internal::Type::RequestParameters::Converter
7
+ include Telnyx::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Telnyx::WebSearchContentsParams, Telnyx::Internal::AnyHash)
12
+ end
13
+
14
+ # List of URLs to retrieve content from (max 20 for public API).
15
+ sig { returns(T::Array[String]) }
16
+ attr_accessor :urls
17
+
18
+ # Timeout for crawling each URL, in seconds (1-60).
19
+ sig { returns(T.nilable(Integer)) }
20
+ attr_reader :crawl_timeout
21
+
22
+ sig { params(crawl_timeout: Integer).void }
23
+ attr_writer :crawl_timeout
24
+
25
+ # Content formats to return. If omitted, `html` and `metadata` are returned by
26
+ # default. Retrieval is best-effort per URL: a format field appears only when that
27
+ # content could be produced, and a freshly crawled page may also include `html`
28
+ # even when not requested.
29
+ sig do
30
+ returns(
31
+ T.nilable(T::Array[Telnyx::WebSearchContentsParams::Format::OrSymbol])
32
+ )
33
+ end
34
+ attr_reader :formats
35
+
36
+ sig do
37
+ params(
38
+ formats: T::Array[Telnyx::WebSearchContentsParams::Format::OrSymbol]
39
+ ).void
40
+ end
41
+ attr_writer :formats
42
+
43
+ # Maximum age of cached content in seconds. `null` means no limit.
44
+ sig { returns(T.nilable(Integer)) }
45
+ attr_accessor :max_age
46
+
47
+ sig do
48
+ params(
49
+ urls: T::Array[String],
50
+ crawl_timeout: Integer,
51
+ formats: T::Array[Telnyx::WebSearchContentsParams::Format::OrSymbol],
52
+ max_age: T.nilable(Integer),
53
+ request_options: Telnyx::RequestOptions::OrHash
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # List of URLs to retrieve content from (max 20 for public API).
58
+ urls:,
59
+ # Timeout for crawling each URL, in seconds (1-60).
60
+ crawl_timeout: nil,
61
+ # Content formats to return. If omitted, `html` and `metadata` are returned by
62
+ # default. Retrieval is best-effort per URL: a format field appears only when that
63
+ # content could be produced, and a freshly crawled page may also include `html`
64
+ # even when not requested.
65
+ formats: nil,
66
+ # Maximum age of cached content in seconds. `null` means no limit.
67
+ max_age: nil,
68
+ request_options: {}
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ urls: T::Array[String],
76
+ crawl_timeout: Integer,
77
+ formats:
78
+ T::Array[Telnyx::WebSearchContentsParams::Format::OrSymbol],
79
+ max_age: T.nilable(Integer),
80
+ request_options: Telnyx::RequestOptions
81
+ }
82
+ )
83
+ end
84
+ def to_hash
85
+ end
86
+
87
+ module Format
88
+ extend Telnyx::Internal::Type::Enum
89
+
90
+ TaggedSymbol =
91
+ T.type_alias do
92
+ T.all(Symbol, Telnyx::WebSearchContentsParams::Format)
93
+ end
94
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
95
+
96
+ HTML =
97
+ T.let(:html, Telnyx::WebSearchContentsParams::Format::TaggedSymbol)
98
+ MARKDOWN =
99
+ T.let(
100
+ :markdown,
101
+ Telnyx::WebSearchContentsParams::Format::TaggedSymbol
102
+ )
103
+ METADATA =
104
+ T.let(
105
+ :metadata,
106
+ Telnyx::WebSearchContentsParams::Format::TaggedSymbol
107
+ )
108
+
109
+ sig do
110
+ override.returns(
111
+ T::Array[Telnyx::WebSearchContentsParams::Format::TaggedSymbol]
112
+ )
113
+ end
114
+ def self.values
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end