telnyx 4.2.0 → 4.4.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +7 -0
  5. data/lib/telnyx/internal/transport/pooled_net_requester.rb +30 -24
  6. data/lib/telnyx/internal/type/union.rb +6 -6
  7. data/lib/telnyx/internal/util.rb +5 -5
  8. data/lib/telnyx/models/access_ip_address_list_response.rb +3 -32
  9. data/lib/telnyx/models/access_ip_range_list_response.rb +3 -32
  10. data/lib/telnyx/models/advanced_order.rb +93 -0
  11. data/lib/telnyx/models/advanced_order_create_params.rb +2 -87
  12. data/lib/telnyx/models/advanced_order_update_requirement_group_params.rb +2 -88
  13. data/lib/telnyx/models/ai/assistant_import_params.rb +1 -0
  14. data/lib/telnyx/models/ai/assistants_list.rb +3 -162
  15. data/lib/telnyx/models/ai/import_metadata.rb +1 -0
  16. data/lib/telnyx/models/ai/{assistant_create_response.rb → inference_embedding.rb} +2 -2
  17. data/lib/telnyx/models/call_dial_params.rb +3 -18
  18. data/lib/telnyx/models/calls/action_start_streaming_params.rb +3 -18
  19. data/lib/telnyx/models/calls/telnyx_transcription_language.rb +116 -0
  20. data/lib/telnyx/models/calls/transcription_engine_b_config.rb +3 -114
  21. data/lib/telnyx/models/calls/transcription_start_request.rb +3 -115
  22. data/lib/telnyx/models/document_upload_json_params.rb +50 -0
  23. data/lib/telnyx/models/document_upload_json_response.rb +16 -0
  24. data/lib/telnyx/models/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.rb +39 -0
  25. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rb +3 -32
  26. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rb +3 -32
  27. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rb +3 -32
  28. data/lib/telnyx/models/legacy/reporting/usage_reports/standard_pagination_meta.rb +39 -0
  29. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rb +3 -32
  30. data/lib/telnyx/models/{verify_profile_create_template_response.rb → message_template.rb} +1 -1
  31. data/lib/telnyx/models/messaging_tollfree/verification/tf_verification_request.rb +98 -1
  32. data/lib/telnyx/models/messaging_tollfree/verification/toll_free_verification_entity_type.rb +23 -0
  33. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_egress.rb +81 -1
  34. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_status.rb +81 -1
  35. data/lib/telnyx/models/network_coverage_list_response.rb +1 -2
  36. data/lib/telnyx/models/oauth_client_list_response.rb +3 -39
  37. data/lib/telnyx/models/oauth_grant_list_response.rb +3 -39
  38. data/lib/telnyx/models/outbound_voice_profile.rb +47 -1
  39. data/lib/telnyx/models/outbound_voice_profile_create_params.rb +47 -1
  40. data/lib/telnyx/models/outbound_voice_profile_list_params.rb +5 -5
  41. data/lib/telnyx/models/outbound_voice_profile_update_params.rb +47 -1
  42. data/lib/telnyx/models/pagination_meta_cloudflare_ip_list_sync.rb +33 -0
  43. data/lib/telnyx/models/pagination_meta_oauth.rb +40 -0
  44. data/lib/telnyx/models/phone_number_blocks/job.rb +3 -70
  45. data/lib/telnyx/models/phone_number_blocks/job_error.rb +73 -0
  46. data/lib/telnyx/models/phone_numbers/phone_numbers_job.rb +3 -70
  47. data/lib/telnyx/models/report_list_mdrs_response.rb +3 -32
  48. data/lib/telnyx/models/reports/mdr_usage_report_list_response.rb +3 -32
  49. data/lib/telnyx/models/reports/pagination_meta_reporting.rb +35 -0
  50. data/lib/telnyx/models/requirement_group.rb +2 -0
  51. data/lib/telnyx/models/requirement_group_list_params.rb +1 -0
  52. data/lib/telnyx/models/stream_bidirectional_sampling_rate.rb +19 -0
  53. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +140 -0
  54. data/lib/telnyx/models/verifications/by_phone_number_list_response.rb +3 -32
  55. data/lib/telnyx/models/verifications/verify_meta.rb +35 -0
  56. data/lib/telnyx/models/verify_profile_list_response.rb +3 -32
  57. data/lib/telnyx/models/webhook_unsafe_unwrap_params.rb +14 -0
  58. data/lib/telnyx/models.rb +16 -0
  59. data/lib/telnyx/resources/advanced_orders.rb +4 -4
  60. data/lib/telnyx/resources/ai/assistants/versions.rb +6 -6
  61. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  62. data/lib/telnyx/resources/calls/actions.rb +1 -1
  63. data/lib/telnyx/resources/calls.rb +1 -1
  64. data/lib/telnyx/resources/documents.rb +33 -1
  65. data/lib/telnyx/resources/messaging_tollfree/verification/requests.rb +46 -2
  66. data/lib/telnyx/resources/outbound_voice_profiles.rb +7 -3
  67. data/lib/telnyx/resources/sim_cards/actions.rb +6 -6
  68. data/lib/telnyx/resources/verify_profiles.rb +4 -4
  69. data/lib/telnyx/resources/webhooks.rb +8 -0
  70. data/lib/telnyx/version.rb +1 -1
  71. data/lib/telnyx.rb +81 -8
  72. data/rbi/telnyx/client.rbi +6 -0
  73. data/rbi/telnyx/models/access_ip_address_list_response.rbi +4 -52
  74. data/rbi/telnyx/models/access_ip_range_list_response.rbi +4 -52
  75. data/rbi/telnyx/models/advanced_order.rbi +171 -0
  76. data/rbi/telnyx/models/advanced_order_create_params.rbi +5 -199
  77. data/rbi/telnyx/models/advanced_order_update_requirement_group_params.rbi +5 -224
  78. data/rbi/telnyx/models/ai/assistant_import_params.rbi +5 -0
  79. data/rbi/telnyx/models/ai/assistants_list.rbi +3 -278
  80. data/rbi/telnyx/models/ai/import_metadata.rbi +5 -0
  81. data/rbi/telnyx/models/ai/{assistant_clone_response.rbi → inference_embedding.rbi} +2 -5
  82. data/rbi/telnyx/models/call_dial_params.rbi +4 -58
  83. data/rbi/telnyx/models/calls/action_start_streaming_params.rbi +4 -58
  84. data/rbi/telnyx/models/calls/telnyx_transcription_language.rbi +230 -0
  85. data/rbi/telnyx/models/calls/transcription_engine_b_config.rbi +4 -531
  86. data/rbi/telnyx/models/calls/transcription_start_request.rbi +4 -530
  87. data/rbi/telnyx/models/document_upload_json_params.rbi +75 -0
  88. data/rbi/telnyx/models/document_upload_json_response.rbi +33 -0
  89. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.rbi +74 -0
  90. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbi +4 -67
  91. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbi +4 -67
  92. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbi +4 -67
  93. data/rbi/telnyx/models/legacy/reporting/usage_reports/standard_pagination_meta.rbi +74 -0
  94. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbi +4 -67
  95. data/rbi/telnyx/models/{verify_profile_create_template_response.rbi → message_template.rbi} +2 -5
  96. data/rbi/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbi +115 -0
  97. data/rbi/telnyx/models/messaging_tollfree/verification/toll_free_verification_entity_type.rbi +59 -0
  98. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbi +114 -0
  99. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_status.rbi +114 -0
  100. data/rbi/telnyx/models/network_coverage_list_response.rbi +4 -8
  101. data/rbi/telnyx/models/oauth_client_list_response.rbi +4 -77
  102. data/rbi/telnyx/models/oauth_grant_list_response.rbi +4 -77
  103. data/rbi/telnyx/models/outbound_voice_profile.rbi +81 -0
  104. data/rbi/telnyx/models/outbound_voice_profile_create_params.rbi +88 -0
  105. data/rbi/telnyx/models/outbound_voice_profile_list_params.rbi +6 -6
  106. data/rbi/telnyx/models/outbound_voice_profile_update_params.rbi +88 -0
  107. data/rbi/telnyx/models/pagination_meta_cloudflare_ip_list_sync.rbi +51 -0
  108. data/rbi/telnyx/models/pagination_meta_oauth.rbi +73 -0
  109. data/rbi/telnyx/models/phone_number_blocks/job.rbi +4 -172
  110. data/rbi/telnyx/models/phone_number_blocks/job_error.rbi +140 -0
  111. data/rbi/telnyx/models/phone_numbers/phone_numbers_job.rbi +4 -174
  112. data/rbi/telnyx/models/report_list_mdrs_response.rbi +4 -67
  113. data/rbi/telnyx/models/reports/mdr_usage_report_list_response.rbi +4 -75
  114. data/rbi/telnyx/models/reports/pagination_meta_reporting.rbi +70 -0
  115. data/rbi/telnyx/models/requirement_group.rbi +7 -0
  116. data/rbi/telnyx/models/requirement_group_list_params.rbi +5 -0
  117. data/rbi/telnyx/models/stream_bidirectional_sampling_rate.rbi +33 -0
  118. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +85 -0
  119. data/rbi/telnyx/models/verifications/by_phone_number_list_response.rbi +4 -78
  120. data/rbi/telnyx/models/verifications/verify_meta.rbi +67 -0
  121. data/rbi/telnyx/models/verify_profile_list_response.rbi +4 -71
  122. data/rbi/telnyx/models/webhook_unsafe_unwrap_params.rbi +27 -0
  123. data/rbi/telnyx/models.rbi +18 -0
  124. data/rbi/telnyx/resources/advanced_orders.rbi +4 -10
  125. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -3
  126. data/rbi/telnyx/resources/ai/assistants.rbi +3 -3
  127. data/rbi/telnyx/resources/calls/actions.rbi +1 -1
  128. data/rbi/telnyx/resources/calls.rbi +1 -1
  129. data/rbi/telnyx/resources/documents.rbi +25 -0
  130. data/rbi/telnyx/resources/messaging_tollfree/verification/requests.rbi +84 -0
  131. data/rbi/telnyx/resources/outbound_voice_profiles.rbi +12 -2
  132. data/rbi/telnyx/resources/sim_cards/actions.rbi +6 -6
  133. data/rbi/telnyx/resources/verify_profiles.rbi +2 -2
  134. data/rbi/telnyx/resources/webhooks.rbi +76 -0
  135. data/sig/telnyx/client.rbs +3 -0
  136. data/sig/telnyx/models/access_ip_address_list_response.rbs +4 -36
  137. data/sig/telnyx/models/access_ip_range_list_response.rbs +4 -36
  138. data/sig/telnyx/models/advanced_order.rbs +105 -0
  139. data/sig/telnyx/models/advanced_order_create_params.rbs +4 -100
  140. data/sig/telnyx/models/advanced_order_update_requirement_group_params.rbs +4 -100
  141. data/sig/telnyx/models/ai/assistant_import_params.rbs +2 -1
  142. data/sig/telnyx/models/ai/assistants_list.rbs +4 -159
  143. data/sig/telnyx/models/ai/import_metadata.rbs +2 -1
  144. data/sig/telnyx/models/ai/{assistant_clone_response.rbs → inference_embedding.rbs} +2 -2
  145. data/sig/telnyx/models/call_dial_params.rbs +6 -21
  146. data/sig/telnyx/models/calls/action_start_streaming_params.rbs +6 -21
  147. data/sig/telnyx/models/calls/telnyx_transcription_language.rbs +214 -0
  148. data/sig/telnyx/models/calls/transcription_engine_b_config.rbs +6 -215
  149. data/sig/telnyx/models/calls/transcription_start_request.rbs +6 -215
  150. data/sig/telnyx/models/document_upload_json_params.rbs +45 -0
  151. data/sig/telnyx/models/document_upload_json_response.rbs +15 -0
  152. data/sig/telnyx/models/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.rbs +49 -0
  153. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbs +6 -46
  154. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbs +6 -46
  155. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbs +6 -46
  156. data/sig/telnyx/models/legacy/reporting/usage_reports/standard_pagination_meta.rbs +49 -0
  157. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbs +6 -46
  158. data/sig/telnyx/models/{verify_profile_create_template_response.rbs → message_template.rbs} +2 -2
  159. data/sig/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbs +57 -0
  160. data/sig/telnyx/models/messaging_tollfree/verification/toll_free_verification_entity_type.rbs +26 -0
  161. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbs +79 -0
  162. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_status.rbs +79 -0
  163. data/sig/telnyx/models/oauth_client_list_response.rbs +5 -50
  164. data/sig/telnyx/models/oauth_grant_list_response.rbs +5 -50
  165. data/sig/telnyx/models/outbound_voice_profile.rbs +38 -0
  166. data/sig/telnyx/models/outbound_voice_profile_create_params.rbs +38 -0
  167. data/sig/telnyx/models/outbound_voice_profile_update_params.rbs +38 -0
  168. data/sig/telnyx/models/pagination_meta_cloudflare_ip_list_sync.rbs +35 -0
  169. data/sig/telnyx/models/pagination_meta_oauth.rbs +43 -0
  170. data/sig/telnyx/models/phone_number_blocks/job.rbs +6 -81
  171. data/sig/telnyx/models/phone_number_blocks/job_error.rbs +80 -0
  172. data/sig/telnyx/models/phone_numbers/phone_numbers_job.rbs +6 -81
  173. data/sig/telnyx/models/report_list_mdrs_response.rbs +6 -46
  174. data/sig/telnyx/models/reports/mdr_usage_report_list_response.rbs +6 -46
  175. data/sig/telnyx/models/reports/pagination_meta_reporting.rbs +45 -0
  176. data/sig/telnyx/models/requirement_group.rbs +6 -2
  177. data/sig/telnyx/models/requirement_group_list_params.rbs +3 -1
  178. data/sig/telnyx/models/stream_bidirectional_sampling_rate.rbs +18 -0
  179. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +75 -0
  180. data/sig/telnyx/models/verifications/by_phone_number_list_response.rbs +4 -44
  181. data/sig/telnyx/models/verifications/verify_meta.rbs +45 -0
  182. data/sig/telnyx/models/verify_profile_list_response.rbs +4 -44
  183. data/sig/telnyx/models/webhook_unsafe_unwrap_params.rbs +15 -0
  184. data/sig/telnyx/models.rbs +16 -0
  185. data/sig/telnyx/resources/advanced_orders.rbs +4 -4
  186. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  187. data/sig/telnyx/resources/ai/assistants.rbs +3 -3
  188. data/sig/telnyx/resources/calls/actions.rbs +1 -1
  189. data/sig/telnyx/resources/calls.rbs +1 -1
  190. data/sig/telnyx/resources/documents.rbs +8 -0
  191. data/sig/telnyx/resources/messaging_tollfree/verification/requests.rbs +22 -0
  192. data/sig/telnyx/resources/outbound_voice_profiles.rbs +2 -0
  193. data/sig/telnyx/resources/verify_profiles.rbs +2 -2
  194. data/sig/telnyx/resources/webhooks.rbs +67 -0
  195. metadata +58 -28
  196. data/lib/telnyx/models/ai/assistant_clone_response.rb +0 -167
  197. data/lib/telnyx/models/ai/assistant_retrieve_response.rb +0 -167
  198. data/lib/telnyx/models/ai/assistants/version_promote_response.rb +0 -169
  199. data/lib/telnyx/models/ai/assistants/version_retrieve_response.rb +0 -169
  200. data/lib/telnyx/models/ai/assistants/version_update_response.rb +0 -169
  201. data/lib/telnyx/models/verify_profile_update_template_response.rb +0 -16
  202. data/rbi/telnyx/models/ai/assistant_create_response.rbi +0 -277
  203. data/rbi/telnyx/models/ai/assistant_retrieve_response.rbi +0 -277
  204. data/rbi/telnyx/models/ai/assistants/version_promote_response.rbi +0 -287
  205. data/rbi/telnyx/models/ai/assistants/version_retrieve_response.rbi +0 -287
  206. data/rbi/telnyx/models/ai/assistants/version_update_response.rbi +0 -287
  207. data/rbi/telnyx/models/verify_profile_update_template_response.rbi +0 -37
  208. data/sig/telnyx/models/ai/assistant_create_response.rbs +0 -158
  209. data/sig/telnyx/models/ai/assistant_retrieve_response.rbs +0 -158
  210. data/sig/telnyx/models/ai/assistants/version_promote_response.rbs +0 -160
  211. data/sig/telnyx/models/ai/assistants/version_retrieve_response.rbs +0 -160
  212. data/sig/telnyx/models/ai/assistants/version_update_response.rbs +0 -160
  213. data/sig/telnyx/models/verify_profile_update_template_response.rbs +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b7c31e9fc32bb50530cc852a0e2d8d6377aeae899da65b030b44da6524f76a2
4
- data.tar.gz: 218d2b3e11ef031f1920d1d3f634b8366d86652457590aa70d97ee7ba7db20d3
3
+ metadata.gz: 85cb31e5cfbcd5e221323cf54bf99c6d862cbe715d453c04e7f925932efc7895
4
+ data.tar.gz: c3b349895a2aa5b05f72e63f60bfcc2d6053dbf0646654d2e5564ca705a1c165
5
5
  SHA512:
6
- metadata.gz: 4c030eb455cd1ef96d81c701773085034172375d75e20e52318c62aca5dd4d536430f265ff387308b89ffc89ce6f1de2c20dc25194a2ddd1caaf2e7a1e2e7c5f
7
- data.tar.gz: 5194a8d571c2aa2d3bfbbb4643054a7a6c11017f5f917c0d9f00cf85e0af6c33f180d350f2176eca4ab75b3cf2640b2cb6f7ebb26dca3eea6bfa4e3b6d577b88
6
+ metadata.gz: ddfc2337669e3cf01bef562beba5014b4bdb6361e4841d8b6a0fb5b00511735dfa42d8868b94f3b8782a9720e5e670a5bfba275be2dfbbb9c74da2907eafb9a2
7
+ data.tar.gz: 11b4292b6e8c44f4e19d31ad3ceb0147d47edadddbbefa3665a20da72d0f1cec0a8a656626b5f98e7435b5c4317d406175cbd688bb0606e3fb459b519e6c22ba
data/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.4.0 (2025-10-27)
4
+
5
+ Full Changelog: [v4.3.0...v4.4.0](https://github.com/team-telnyx/telnyx-ruby/compare/v4.3.0...v4.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add method to upload JSON documents ([56c70d5](https://github.com/team-telnyx/telnyx-ruby/commit/56c70d5c38b93891f7f74c5e6db6db0d852030d7))
10
+ * **api:** added webhook public key ([a37fe4c](https://github.com/team-telnyx/telnyx-ruby/commit/a37fe4c90b7e01a8991361f68c4fbefa9f17befd))
11
+ * **api:** manual updates ([df6f135](https://github.com/team-telnyx/telnyx-ruby/commit/df6f1352160d21406056e85f6eaab8bc0f8cc3b8))
12
+ * define more models ([a923e21](https://github.com/team-telnyx/telnyx-ruby/commit/a923e2121ff330f9bd2d837cc3a8fc3915498ccd))
13
+ * handle thread interrupts in the core HTTP client ([6596282](https://github.com/team-telnyx/telnyx-ruby/commit/65962822840d249b535d9d9dea22349a892b7eef))
14
+
15
+
16
+ ### Documentation
17
+
18
+ * update gemspec summary and description ([#1](https://github.com/team-telnyx/telnyx-ruby/issues/1)) ([75eba51](https://github.com/team-telnyx/telnyx-ruby/commit/75eba51e13d138690c5a8a5948d14d80cfe7d843))
19
+
20
+ ## 4.3.0 (2025-10-16)
21
+
22
+ Full Changelog: [v4.2.0...v4.3.0](https://github.com/team-telnyx/telnyx-ruby/compare/v4.2.0...v4.3.0)
23
+
24
+ ### Features
25
+
26
+ * ENGDESK-45836: Document private endpoint for republishing account events ([3dc8f26](https://github.com/team-telnyx/telnyx-ruby/commit/3dc8f262508aeb51a03b9dd45ffad74a3c5549a9))
27
+ * Fix broken link to List SIM card action ([743a217](https://github.com/team-telnyx/telnyx-ruby/commit/743a2177c49ed45fef13b1109f301c32a857f58c))
28
+ * MSG-5978: Add BRN fields to toll-free verification OpenAPI specs ([aa3e232](https://github.com/team-telnyx/telnyx-ruby/commit/aa3e232f11e83ec7a8dd873d755f331101d63ec8))
29
+ * Retell assistants import ([432388a](https://github.com/team-telnyx/telnyx-ruby/commit/432388ad8cd23ff535b3eceeda26ca3d320eeb1a))
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * absolutely qualified uris should always override the default ([12809be](https://github.com/team-telnyx/telnyx-ruby/commit/12809bebb9177e7ac3f48bfa7d80860d90bde7e9))
35
+ * should not reuse buffers for `IO.copy_stream` interop ([2e35266](https://github.com/team-telnyx/telnyx-ruby/commit/2e3526691c82d412beb27418e7d55ffad5449c12))
36
+
37
+
38
+ ### Chores
39
+
40
+ * ignore linter error for tests having large collections ([8d69855](https://github.com/team-telnyx/telnyx-ruby/commit/8d6985599250a4e429445c1369d809f5c0346ecf))
41
+ * simplify model references ([d2c4915](https://github.com/team-telnyx/telnyx-ruby/commit/d2c491501c248ea07dc8502c7b1a5aa662b7ac25))
42
+
3
43
  ## 4.2.0 (2025-10-08)
4
44
 
5
45
  Full Changelog: [v4.1.0...v4.2.0](https://github.com/team-telnyx/telnyx-ruby/compare/v4.1.0...v4.2.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "telnyx", "~> 4.2.0"
18
+ gem "telnyx", "~> 4.4.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
data/lib/telnyx/client.rb CHANGED
@@ -18,6 +18,9 @@ module Telnyx
18
18
  # @return [String]
19
19
  attr_reader :api_key
20
20
 
21
+ # @return [String, nil]
22
+ attr_reader :public_key
23
+
21
24
  # @return [Telnyx::Resources::Legacy]
22
25
  attr_reader :legacy
23
26
 
@@ -495,6 +498,8 @@ module Telnyx
495
498
  #
496
499
  # @param api_key [String, nil] Defaults to `ENV["TELNYX_API_KEY"]`
497
500
  #
501
+ # @param public_key [String, nil] Defaults to `ENV["TELNYX_PUBLIC_KEY"]`
502
+ #
498
503
  # @param base_url [String, nil] Override the default base URL for the API, e.g.,
499
504
  # `"https://api.example.com/v2/"`. Defaults to `ENV["TELNYX_BASE_URL"]`
500
505
  #
@@ -507,6 +512,7 @@ module Telnyx
507
512
  # @param max_retry_delay [Float]
508
513
  def initialize(
509
514
  api_key: ENV["TELNYX_API_KEY"],
515
+ public_key: ENV["TELNYX_PUBLIC_KEY"],
510
516
  base_url: ENV["TELNYX_BASE_URL"],
511
517
  max_retries: self.class::DEFAULT_MAX_RETRIES,
512
518
  timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
@@ -522,6 +528,7 @@ module Telnyx
522
528
  end
523
529
 
524
530
  @api_key = api_key.to_s
531
+ @public_key = public_key&.to_s
525
532
 
526
533
  super(
527
534
  base_url: base_url,
@@ -128,40 +128,48 @@ module Telnyx
128
128
  url, deadline = request.fetch_values(:url, :deadline)
129
129
 
130
130
  req = nil
131
- eof = false
132
131
  finished = false
133
- closing = nil
134
132
 
135
133
  # rubocop:disable Metrics/BlockLength
136
134
  enum = Enumerator.new do |y|
137
135
  next if finished
138
136
 
139
137
  with_pool(url, deadline: deadline) do |conn|
140
- req, closing = self.class.build_request(request) do
141
- self.class.calibrate_socket_timeout(conn, deadline)
142
- end
143
-
144
- self.class.calibrate_socket_timeout(conn, deadline)
145
- unless conn.started?
146
- conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
147
- conn.start
148
- end
138
+ eof = false
139
+ closing = nil
140
+ ::Thread.handle_interrupt(Object => :never) do
141
+ ::Thread.handle_interrupt(Object => :immediate) do
142
+ req, closing = self.class.build_request(request) do
143
+ self.class.calibrate_socket_timeout(conn, deadline)
144
+ end
149
145
 
150
- self.class.calibrate_socket_timeout(conn, deadline)
151
- conn.request(req) do |rsp|
152
- y << [req, rsp]
153
- break if finished
154
-
155
- rsp.read_body do |bytes|
156
- y << bytes.force_encoding(Encoding::BINARY)
157
- break if finished
146
+ self.class.calibrate_socket_timeout(conn, deadline)
147
+ unless conn.started?
148
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
149
+ conn.start
150
+ end
158
151
 
159
152
  self.class.calibrate_socket_timeout(conn, deadline)
153
+ conn.request(req) do |rsp|
154
+ y << [req, rsp]
155
+ break if finished
156
+
157
+ rsp.read_body do |bytes|
158
+ y << bytes.force_encoding(Encoding::BINARY)
159
+ break if finished
160
+
161
+ self.class.calibrate_socket_timeout(conn, deadline)
162
+ end
163
+ eof = true
164
+ end
165
+ end
166
+ ensure
167
+ begin
168
+ conn.finish if !eof && conn&.started?
169
+ ensure
170
+ closing&.call
160
171
  end
161
- eof = true
162
172
  end
163
- ensure
164
- conn.finish if !eof && conn&.started?
165
173
  end
166
174
  rescue Timeout::Error
167
175
  raise Telnyx::Errors::APITimeoutError.new(url: url, request: req)
@@ -174,8 +182,6 @@ module Telnyx
174
182
  body = Telnyx::Internal::Util.fused_enum(enum, external: true) do
175
183
  finished = true
176
184
  loop { enum.next }
177
- ensure
178
- closing&.call
179
185
  end
180
186
  [Integer(response.code), response, body]
181
187
  end
@@ -6,16 +6,16 @@ module Telnyx
6
6
  # @api private
7
7
  #
8
8
  # @example
9
- # # `unwrap_webhook_event` is a `Telnyx::UnwrapWebhookEvent`
10
- # case unwrap_webhook_event
9
+ # # `unsafe_unwrap_webhook_event` is a `Telnyx::UnsafeUnwrapWebhookEvent`
10
+ # case unsafe_unwrap_webhook_event
11
11
  # when Telnyx::CallAIGatherEndedWebhookEvent
12
- # puts(unwrap_webhook_event.data)
12
+ # puts(unsafe_unwrap_webhook_event.data)
13
13
  # when Telnyx::CallAIGatherMessageHistoryUpdatedWebhookEvent
14
- # puts(unwrap_webhook_event.data)
14
+ # puts(unsafe_unwrap_webhook_event.data)
15
15
  # when Telnyx::CallAIGatherPartialResultsWebhookEvent
16
- # puts(unwrap_webhook_event.data)
16
+ # puts(unsafe_unwrap_webhook_event.data)
17
17
  # else
18
- # puts(unwrap_webhook_event)
18
+ # puts(unsafe_unwrap_webhook_event)
19
19
  # end
20
20
  module Union
21
21
  include Telnyx::Internal::Type::Converter
@@ -346,8 +346,9 @@ module Telnyx
346
346
  base_path, base_query = lhs.fetch_values(:path, :query)
347
347
  slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
348
348
 
349
- parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
350
- override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
349
+ merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)}
350
+ parsed_path, parsed_query = merged.fetch_values(:path, :query)
351
+ override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path)
351
352
 
352
353
  joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
353
354
  query = deep_merge(
@@ -473,10 +474,9 @@ module Telnyx
473
474
  # @return [Enumerable<String>]
474
475
  def writable_enum(&blk)
475
476
  Enumerator.new do |y|
476
- buf = String.new
477
477
  y.define_singleton_method(:write) do
478
- self << buf.replace(_1)
479
- buf.bytesize
478
+ self << _1.dup
479
+ _1.bytesize
480
480
  end
481
481
 
482
482
  blk.call(y)
@@ -11,41 +11,12 @@ module Telnyx
11
11
 
12
12
  # @!attribute meta
13
13
  #
14
- # @return [Telnyx::Models::AccessIPAddressListResponse::Meta]
15
- required :meta, -> { Telnyx::Models::AccessIPAddressListResponse::Meta }
14
+ # @return [Telnyx::Models::PaginationMetaCloudflareIPListSync]
15
+ required :meta, -> { Telnyx::PaginationMetaCloudflareIPListSync }
16
16
 
17
17
  # @!method initialize(data:, meta:)
18
18
  # @param data [Array<Telnyx::Models::AccessIPAddressResponse>]
19
- # @param meta [Telnyx::Models::AccessIPAddressListResponse::Meta]
20
-
21
- # @see Telnyx::Models::AccessIPAddressListResponse#meta
22
- class Meta < Telnyx::Internal::Type::BaseModel
23
- # @!attribute page_number
24
- #
25
- # @return [Integer]
26
- required :page_number, Integer
27
-
28
- # @!attribute page_size
29
- #
30
- # @return [Integer]
31
- required :page_size, Integer
32
-
33
- # @!attribute total_pages
34
- #
35
- # @return [Integer]
36
- required :total_pages, Integer
37
-
38
- # @!attribute total_results
39
- #
40
- # @return [Integer]
41
- required :total_results, Integer
42
-
43
- # @!method initialize(page_number:, page_size:, total_pages:, total_results:)
44
- # @param page_number [Integer]
45
- # @param page_size [Integer]
46
- # @param total_pages [Integer]
47
- # @param total_results [Integer]
48
- end
19
+ # @param meta [Telnyx::Models::PaginationMetaCloudflareIPListSync]
49
20
  end
50
21
  end
51
22
  end
@@ -11,41 +11,12 @@ module Telnyx
11
11
 
12
12
  # @!attribute meta
13
13
  #
14
- # @return [Telnyx::Models::AccessIPRangeListResponse::Meta]
15
- required :meta, -> { Telnyx::Models::AccessIPRangeListResponse::Meta }
14
+ # @return [Telnyx::Models::PaginationMetaCloudflareIPListSync]
15
+ required :meta, -> { Telnyx::PaginationMetaCloudflareIPListSync }
16
16
 
17
17
  # @!method initialize(data:, meta:)
18
18
  # @param data [Array<Telnyx::Models::AccessIPRange>]
19
- # @param meta [Telnyx::Models::AccessIPRangeListResponse::Meta]
20
-
21
- # @see Telnyx::Models::AccessIPRangeListResponse#meta
22
- class Meta < Telnyx::Internal::Type::BaseModel
23
- # @!attribute page_number
24
- #
25
- # @return [Integer]
26
- required :page_number, Integer
27
-
28
- # @!attribute page_size
29
- #
30
- # @return [Integer]
31
- required :page_size, Integer
32
-
33
- # @!attribute total_pages
34
- #
35
- # @return [Integer]
36
- required :total_pages, Integer
37
-
38
- # @!attribute total_results
39
- #
40
- # @return [Integer]
41
- required :total_results, Integer
42
-
43
- # @!method initialize(page_number:, page_size:, total_pages:, total_results:)
44
- # @param page_number [Integer]
45
- # @param page_size [Integer]
46
- # @param total_pages [Integer]
47
- # @param total_results [Integer]
48
- end
19
+ # @param meta [Telnyx::Models::PaginationMetaCloudflareIPListSync]
49
20
  end
50
21
  end
51
22
  end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ class AdvancedOrder < Telnyx::Internal::Type::BaseModel
6
+ # @!attribute area_code
7
+ #
8
+ # @return [String, nil]
9
+ optional :area_code, String
10
+
11
+ # @!attribute comments
12
+ #
13
+ # @return [String, nil]
14
+ optional :comments, String
15
+
16
+ # @!attribute country_code
17
+ #
18
+ # @return [String, nil]
19
+ optional :country_code, String
20
+
21
+ # @!attribute customer_reference
22
+ #
23
+ # @return [String, nil]
24
+ optional :customer_reference, String
25
+
26
+ # @!attribute features
27
+ #
28
+ # @return [Array<Symbol, Telnyx::Models::AdvancedOrder::Feature>, nil]
29
+ optional :features, -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AdvancedOrder::Feature] }
30
+
31
+ # @!attribute phone_number_type
32
+ #
33
+ # @return [Symbol, Telnyx::Models::AdvancedOrder::PhoneNumberType, nil]
34
+ optional :phone_number_type, enum: -> { Telnyx::AdvancedOrder::PhoneNumberType }
35
+
36
+ # @!attribute quantity
37
+ #
38
+ # @return [Integer, nil]
39
+ optional :quantity, Integer
40
+
41
+ # @!attribute requirement_group_id
42
+ # The ID of the requirement group to associate with this advanced order
43
+ #
44
+ # @return [String, nil]
45
+ optional :requirement_group_id, String
46
+
47
+ # @!method initialize(area_code: nil, comments: nil, country_code: nil, customer_reference: nil, features: nil, phone_number_type: nil, quantity: nil, requirement_group_id: nil)
48
+ # @param area_code [String]
49
+ #
50
+ # @param comments [String]
51
+ #
52
+ # @param country_code [String]
53
+ #
54
+ # @param customer_reference [String]
55
+ #
56
+ # @param features [Array<Symbol, Telnyx::Models::AdvancedOrder::Feature>]
57
+ #
58
+ # @param phone_number_type [Symbol, Telnyx::Models::AdvancedOrder::PhoneNumberType]
59
+ #
60
+ # @param quantity [Integer]
61
+ #
62
+ # @param requirement_group_id [String] The ID of the requirement group to associate with this advanced order
63
+
64
+ module Feature
65
+ extend Telnyx::Internal::Type::Enum
66
+
67
+ SMS = :sms
68
+ MMS = :mms
69
+ VOICE = :voice
70
+ FAX = :fax
71
+ EMERGENCY = :emergency
72
+
73
+ # @!method self.values
74
+ # @return [Array<Symbol>]
75
+ end
76
+
77
+ # @see Telnyx::Models::AdvancedOrder#phone_number_type
78
+ module PhoneNumberType
79
+ extend Telnyx::Internal::Type::Enum
80
+
81
+ LOCAL = :local
82
+ MOBILE = :mobile
83
+ TOLL_FREE = :toll_free
84
+ SHARED_COST = :shared_cost
85
+ NATIONAL = :national
86
+ LANDLINE = :landline
87
+
88
+ # @!method self.values
89
+ # @return [Array<Symbol>]
90
+ end
91
+ end
92
+ end
93
+ end
@@ -3,97 +3,12 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  # @see Telnyx::Resources::AdvancedOrders#create
6
- class AdvancedOrderCreateParams < Telnyx::Internal::Type::BaseModel
6
+ class AdvancedOrderCreateParams < Telnyx::Models::AdvancedOrder
7
7
  extend Telnyx::Internal::Type::RequestParameters::Converter
8
8
  include Telnyx::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute area_code
11
- #
12
- # @return [String, nil]
13
- optional :area_code, String
14
-
15
- # @!attribute comments
16
- #
17
- # @return [String, nil]
18
- optional :comments, String
19
-
20
- # @!attribute country_code
21
- #
22
- # @return [String, nil]
23
- optional :country_code, String
24
-
25
- # @!attribute customer_reference
26
- #
27
- # @return [String, nil]
28
- optional :customer_reference, String
29
-
30
- # @!attribute features
31
- #
32
- # @return [Array<Symbol, Telnyx::Models::AdvancedOrderCreateParams::Feature>, nil]
33
- optional :features,
34
- -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AdvancedOrderCreateParams::Feature] }
35
-
36
- # @!attribute phone_number_type
37
- #
38
- # @return [Symbol, Telnyx::Models::AdvancedOrderCreateParams::PhoneNumberType, nil]
39
- optional :phone_number_type, enum: -> { Telnyx::AdvancedOrderCreateParams::PhoneNumberType }
40
-
41
- # @!attribute quantity
42
- #
43
- # @return [Integer, nil]
44
- optional :quantity, Integer
45
-
46
- # @!attribute requirement_group_id
47
- # The ID of the requirement group to associate with this advanced order
48
- #
49
- # @return [String, nil]
50
- optional :requirement_group_id, String
51
-
52
- # @!method initialize(area_code: nil, comments: nil, country_code: nil, customer_reference: nil, features: nil, phone_number_type: nil, quantity: nil, requirement_group_id: nil, request_options: {})
53
- # @param area_code [String]
54
- #
55
- # @param comments [String]
56
- #
57
- # @param country_code [String]
58
- #
59
- # @param customer_reference [String]
60
- #
61
- # @param features [Array<Symbol, Telnyx::Models::AdvancedOrderCreateParams::Feature>]
62
- #
63
- # @param phone_number_type [Symbol, Telnyx::Models::AdvancedOrderCreateParams::PhoneNumberType]
64
- #
65
- # @param quantity [Integer]
66
- #
67
- # @param requirement_group_id [String] The ID of the requirement group to associate with this advanced order
68
- #
10
+ # @!method initialize(request_options: {})
69
11
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
70
-
71
- module Feature
72
- extend Telnyx::Internal::Type::Enum
73
-
74
- SMS = :sms
75
- MMS = :mms
76
- VOICE = :voice
77
- FAX = :fax
78
- EMERGENCY = :emergency
79
-
80
- # @!method self.values
81
- # @return [Array<Symbol>]
82
- end
83
-
84
- module PhoneNumberType
85
- extend Telnyx::Internal::Type::Enum
86
-
87
- LOCAL = :local
88
- MOBILE = :mobile
89
- TOLL_FREE = :toll_free
90
- SHARED_COST = :shared_cost
91
- NATIONAL = :national
92
- LANDLINE = :landline
93
-
94
- # @!method self.values
95
- # @return [Array<Symbol>]
96
- end
97
12
  end
98
13
  end
99
14
  end
@@ -3,98 +3,12 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  # @see Telnyx::Resources::AdvancedOrders#update_requirement_group
6
- class AdvancedOrderUpdateRequirementGroupParams < Telnyx::Internal::Type::BaseModel
6
+ class AdvancedOrderUpdateRequirementGroupParams < Telnyx::Models::AdvancedOrder
7
7
  extend Telnyx::Internal::Type::RequestParameters::Converter
8
8
  include Telnyx::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute area_code
11
- #
12
- # @return [String, nil]
13
- optional :area_code, String
14
-
15
- # @!attribute comments
16
- #
17
- # @return [String, nil]
18
- optional :comments, String
19
-
20
- # @!attribute country_code
21
- #
22
- # @return [String, nil]
23
- optional :country_code, String
24
-
25
- # @!attribute customer_reference
26
- #
27
- # @return [String, nil]
28
- optional :customer_reference, String
29
-
30
- # @!attribute features
31
- #
32
- # @return [Array<Symbol, Telnyx::Models::AdvancedOrderUpdateRequirementGroupParams::Feature>, nil]
33
- optional :features,
34
- -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AdvancedOrderUpdateRequirementGroupParams::Feature] }
35
-
36
- # @!attribute phone_number_type
37
- #
38
- # @return [Symbol, Telnyx::Models::AdvancedOrderUpdateRequirementGroupParams::PhoneNumberType, nil]
39
- optional :phone_number_type,
40
- enum: -> { Telnyx::AdvancedOrderUpdateRequirementGroupParams::PhoneNumberType }
41
-
42
- # @!attribute quantity
43
- #
44
- # @return [Integer, nil]
45
- optional :quantity, Integer
46
-
47
- # @!attribute requirement_group_id
48
- # The ID of the requirement group to associate with this advanced order
49
- #
50
- # @return [String, nil]
51
- optional :requirement_group_id, String
52
-
53
- # @!method initialize(area_code: nil, comments: nil, country_code: nil, customer_reference: nil, features: nil, phone_number_type: nil, quantity: nil, requirement_group_id: nil, request_options: {})
54
- # @param area_code [String]
55
- #
56
- # @param comments [String]
57
- #
58
- # @param country_code [String]
59
- #
60
- # @param customer_reference [String]
61
- #
62
- # @param features [Array<Symbol, Telnyx::Models::AdvancedOrderUpdateRequirementGroupParams::Feature>]
63
- #
64
- # @param phone_number_type [Symbol, Telnyx::Models::AdvancedOrderUpdateRequirementGroupParams::PhoneNumberType]
65
- #
66
- # @param quantity [Integer]
67
- #
68
- # @param requirement_group_id [String] The ID of the requirement group to associate with this advanced order
69
- #
10
+ # @!method initialize(request_options: {})
70
11
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
71
-
72
- module Feature
73
- extend Telnyx::Internal::Type::Enum
74
-
75
- SMS = :sms
76
- MMS = :mms
77
- VOICE = :voice
78
- FAX = :fax
79
- EMERGENCY = :emergency
80
-
81
- # @!method self.values
82
- # @return [Array<Symbol>]
83
- end
84
-
85
- module PhoneNumberType
86
- extend Telnyx::Internal::Type::Enum
87
-
88
- LOCAL = :local
89
- MOBILE = :mobile
90
- TOLL_FREE = :toll_free
91
- SHARED_COST = :shared_cost
92
- NATIONAL = :national
93
- LANDLINE = :landline
94
-
95
- # @!method self.values
96
- # @return [Array<Symbol>]
97
- end
98
12
  end
99
13
  end
100
14
  end
@@ -38,6 +38,7 @@ module Telnyx
38
38
 
39
39
  ELEVENLABS = :elevenlabs
40
40
  VAPI = :vapi
41
+ RETELL = :retell
41
42
 
42
43
  # @!method self.values
43
44
  # @return [Array<Symbol>]