sentdm 0.38.1 → 0.40.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 (281) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/client.rb +3 -20
  5. data/lib/sentdm/internal/voice_agents_page.rb +115 -0
  6. data/lib/sentdm/models/call_event.rb +8 -6
  7. data/lib/sentdm/models/call_event_payload.rb +29 -9
  8. data/lib/sentdm/models/channels/voice_create_params.rb +23 -11
  9. data/lib/sentdm/models/channels/voice_number.rb +23 -1
  10. data/lib/sentdm/models/channels/voice_update_params.rb +12 -1
  11. data/lib/sentdm/models/message_send_params.rb +8 -1
  12. data/lib/sentdm/models/template.rb +6 -5
  13. data/lib/sentdm/models/template_body.rb +8 -8
  14. data/lib/sentdm/models/voice/agent_create_params.rb +142 -0
  15. data/lib/sentdm/models/{calls/participant_list_params.rb → voice/agent_delete_params.rb} +3 -3
  16. data/lib/sentdm/models/voice/agent_list_params.rb +38 -0
  17. data/lib/sentdm/models/{calls/participant_remove_all_params.rb → voice/agent_retrieve_params.rb} +3 -3
  18. data/lib/sentdm/models/voice/agent_rotate_secret_params.rb +34 -0
  19. data/lib/sentdm/models/voice/agent_update_params.rb +141 -0
  20. data/lib/sentdm/models/{calls/api_response_of_list_of_call_participant.rb → voice/api_response_of_call.rb} +7 -7
  21. data/lib/sentdm/models/voice/api_response_of_call_recordings.rb +45 -0
  22. data/lib/sentdm/models/voice/api_response_of_calls_list.rb +44 -0
  23. data/lib/sentdm/models/voice/api_response_of_voice_agent.rb +51 -0
  24. data/lib/sentdm/models/voice/api_response_of_voice_agent_secret.rb +45 -0
  25. data/lib/sentdm/models/voice/api_response_of_voice_agents_list.rb +48 -0
  26. data/lib/sentdm/models/voice/api_response_of_voice_catalogue.rb +49 -0
  27. data/lib/sentdm/models/{channels → voice}/api_response_of_voice_token.rb +5 -5
  28. data/lib/sentdm/models/voice/call.rb +241 -0
  29. data/lib/sentdm/models/{calls/participant_remove_params.rb → voice/call_hangup_params.rb} +8 -8
  30. data/lib/sentdm/models/voice/call_list_params.rb +103 -0
  31. data/lib/sentdm/models/voice/call_list_recordings_params.rb +28 -0
  32. data/lib/sentdm/models/voice/call_party.rb +33 -0
  33. data/lib/sentdm/models/{calls/participant_update_params.rb → voice/call_record_params.rb} +10 -17
  34. data/lib/sentdm/models/voice/call_recording.rb +40 -0
  35. data/lib/sentdm/models/voice/call_recordings.rb +26 -0
  36. data/lib/sentdm/models/voice/call_retrieve_params.rb +28 -0
  37. data/lib/sentdm/models/voice/call_timeline_entry.rb +28 -0
  38. data/lib/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rb +51 -0
  39. data/lib/sentdm/models/voice/calls/call_participant.rb +62 -0
  40. data/lib/sentdm/models/voice/calls/call_participant_target.rb +32 -0
  41. data/lib/sentdm/models/voice/calls/participant_add_params.rb +68 -0
  42. data/lib/sentdm/models/voice/calls/participant_list_params.rb +30 -0
  43. data/lib/sentdm/models/voice/calls/participant_remove_all_params.rb +30 -0
  44. data/lib/sentdm/models/voice/calls/participant_remove_params.rb +36 -0
  45. data/lib/sentdm/models/voice/calls/participant_update_params.rb +66 -0
  46. data/lib/sentdm/models/voice/calls_list.rb +28 -0
  47. data/lib/sentdm/models/voice/catalogue_list_params.rb +22 -0
  48. data/lib/sentdm/models/{channels/voice_create_token_params.rb → voice/token_create_params.rb} +4 -4
  49. data/lib/sentdm/models/voice/voice_agent.rb +138 -0
  50. data/lib/sentdm/models/voice/voice_agent_audio.rb +19 -0
  51. data/lib/sentdm/models/voice/voice_agent_audio_spec.rb +20 -0
  52. data/lib/sentdm/models/voice/voice_agent_limits.rb +31 -0
  53. data/lib/sentdm/models/voice/voice_agent_limits_spec.rb +40 -0
  54. data/lib/sentdm/models/voice/voice_agent_party.rb +25 -0
  55. data/lib/sentdm/models/voice/voice_agent_party_spec.rb +28 -0
  56. data/lib/sentdm/models/voice/voice_agent_secret.rb +27 -0
  57. data/lib/sentdm/models/voice/voice_agent_speech.rb +31 -0
  58. data/lib/sentdm/models/voice/voice_agent_speech_spec.rb +40 -0
  59. data/lib/sentdm/models/voice/voice_agent_transcripts.rb +25 -0
  60. data/lib/sentdm/models/voice/voice_agent_transcripts_spec.rb +32 -0
  61. data/lib/sentdm/models/voice/voice_agents_list.rb +30 -0
  62. data/lib/sentdm/models/voice/voice_catalogue.rb +30 -0
  63. data/lib/sentdm/models/voice/voice_catalogue_voice.rb +43 -0
  64. data/lib/sentdm/models/{channels → voice}/voice_token.rb +9 -3
  65. data/lib/sentdm/models/webhook_create_params.rb +31 -5
  66. data/lib/sentdm/models/webhook_response.rb +66 -4
  67. data/lib/sentdm/models/webhook_update_params.rb +15 -3
  68. data/lib/sentdm/models.rb +2 -30
  69. data/lib/sentdm/resources/channels/voice.rb +43 -63
  70. data/lib/sentdm/resources/channels.rb +2 -2
  71. data/lib/sentdm/resources/profiles/campaigns.rb +3 -2
  72. data/lib/sentdm/resources/voice/agents.rb +319 -0
  73. data/lib/sentdm/resources/voice/calls/participants.rb +244 -0
  74. data/lib/sentdm/resources/voice/calls.rb +269 -0
  75. data/lib/sentdm/resources/voice/catalogue.rb +71 -0
  76. data/lib/sentdm/resources/voice/tokens.rb +86 -0
  77. data/lib/sentdm/resources/voice.rb +142 -0
  78. data/lib/sentdm/resources/webhooks.rb +43 -15
  79. data/lib/sentdm/version.rb +1 -1
  80. data/lib/sentdm.rb +59 -28
  81. data/rbi/sentdm/client.rbi +2 -19
  82. data/rbi/sentdm/internal/voice_agents_page.rbi +71 -0
  83. data/rbi/sentdm/models/call_event.rbi +14 -10
  84. data/rbi/sentdm/models/call_event_payload.rbi +34 -9
  85. data/rbi/sentdm/models/channels/voice_create_params.rbi +33 -17
  86. data/rbi/sentdm/models/channels/voice_number.rbi +31 -0
  87. data/rbi/sentdm/models/channels/voice_update_params.rbi +14 -0
  88. data/rbi/sentdm/models/message_send_params.rbi +16 -2
  89. data/rbi/sentdm/models/template.rbi +12 -10
  90. data/rbi/sentdm/models/template_body.rbi +12 -12
  91. data/rbi/sentdm/models/voice/agent_create_params.rbi +215 -0
  92. data/rbi/sentdm/models/{calls/participant_remove_all_params.rbi → voice/agent_delete_params.rbi} +3 -6
  93. data/rbi/sentdm/models/voice/agent_list_params.rbi +66 -0
  94. data/rbi/sentdm/models/voice/agent_retrieve_params.rbi +48 -0
  95. data/rbi/sentdm/models/{calls/participant_remove_params.rbi → voice/agent_rotate_secret_params.rbi} +11 -8
  96. data/rbi/sentdm/models/voice/agent_update_params.rbi +211 -0
  97. data/rbi/sentdm/models/voice/api_response_of_call.rbi +76 -0
  98. data/rbi/sentdm/models/voice/api_response_of_call_recordings.rbi +81 -0
  99. data/rbi/sentdm/models/{calls/api_response_of_list_of_call_participant.rbi → voice/api_response_of_calls_list.rbi} +12 -9
  100. data/rbi/sentdm/models/voice/api_response_of_voice_agent.rbi +85 -0
  101. data/rbi/sentdm/models/voice/api_response_of_voice_agent_secret.rbi +81 -0
  102. data/rbi/sentdm/models/voice/api_response_of_voice_agents_list.rbi +83 -0
  103. data/rbi/sentdm/models/voice/api_response_of_voice_catalogue.rbi +83 -0
  104. data/rbi/sentdm/models/{channels → voice}/api_response_of_voice_token.rbi +6 -8
  105. data/rbi/sentdm/models/voice/call.rbi +329 -0
  106. data/rbi/sentdm/models/voice/call_hangup_params.rbi +61 -0
  107. data/rbi/sentdm/models/voice/call_list_params.rbi +134 -0
  108. data/rbi/sentdm/models/{calls/participant_list_params.rbi → voice/call_list_recordings_params.rbi} +3 -3
  109. data/rbi/sentdm/models/voice/call_party.rbi +47 -0
  110. data/rbi/sentdm/models/{calls/participant_update_params.rbi → voice/call_record_params.rbi} +12 -21
  111. data/rbi/sentdm/models/voice/call_recording.rbi +63 -0
  112. data/rbi/sentdm/models/voice/call_recordings.rbi +49 -0
  113. data/rbi/sentdm/models/voice/call_retrieve_params.rbi +48 -0
  114. data/rbi/sentdm/models/voice/call_timeline_entry.rbi +44 -0
  115. data/rbi/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbi +84 -0
  116. data/rbi/sentdm/models/voice/calls/call_participant.rbi +97 -0
  117. data/rbi/sentdm/models/voice/calls/call_participant_target.rbi +49 -0
  118. data/rbi/sentdm/models/voice/calls/participant_add_params.rbi +104 -0
  119. data/rbi/sentdm/models/voice/calls/participant_list_params.rbi +53 -0
  120. data/rbi/sentdm/models/voice/calls/participant_remove_all_params.rbi +53 -0
  121. data/rbi/sentdm/models/voice/calls/participant_remove_params.rbi +63 -0
  122. data/rbi/sentdm/models/voice/calls/participant_update_params.rbi +96 -0
  123. data/rbi/sentdm/models/voice/calls_list.rbi +54 -0
  124. data/rbi/sentdm/models/voice/catalogue_list_params.rbi +40 -0
  125. data/rbi/sentdm/models/{channels/voice_create_token_params.rbi → voice/token_create_params.rbi} +3 -6
  126. data/rbi/sentdm/models/voice/voice_agent.rbi +196 -0
  127. data/rbi/sentdm/models/voice/voice_agent_audio.rbi +30 -0
  128. data/rbi/sentdm/models/voice/voice_agent_audio_spec.rbi +33 -0
  129. data/rbi/sentdm/models/voice/voice_agent_limits.rbi +57 -0
  130. data/rbi/sentdm/models/voice/voice_agent_limits_spec.rbi +62 -0
  131. data/rbi/sentdm/models/voice/voice_agent_party.rbi +36 -0
  132. data/rbi/sentdm/models/voice/voice_agent_party_spec.rbi +45 -0
  133. data/rbi/sentdm/models/voice/voice_agent_secret.rbi +37 -0
  134. data/rbi/sentdm/models/voice/voice_agent_speech.rbi +48 -0
  135. data/rbi/sentdm/models/voice/voice_agent_speech_spec.rbi +62 -0
  136. data/rbi/sentdm/models/voice/voice_agent_transcripts.rbi +43 -0
  137. data/rbi/sentdm/models/voice/voice_agent_transcripts_spec.rbi +51 -0
  138. data/rbi/sentdm/models/voice/voice_agents_list.rbi +55 -0
  139. data/rbi/sentdm/models/voice/voice_catalogue.rbi +59 -0
  140. data/rbi/sentdm/models/voice/voice_catalogue_voice.rbi +75 -0
  141. data/rbi/sentdm/models/{channels → voice}/voice_token.rbi +8 -4
  142. data/rbi/sentdm/models/webhook_create_params.rbi +41 -3
  143. data/rbi/sentdm/models/webhook_response.rbi +112 -3
  144. data/rbi/sentdm/models/webhook_update_params.rbi +18 -3
  145. data/rbi/sentdm/models.rbi +2 -30
  146. data/rbi/sentdm/resources/channels/voice.rbi +57 -67
  147. data/rbi/sentdm/resources/channels.rbi +2 -2
  148. data/rbi/sentdm/resources/messages.rbi +8 -1
  149. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -2
  150. data/rbi/sentdm/resources/voice/agents.rbi +316 -0
  151. data/rbi/sentdm/resources/voice/calls/participants.rbi +212 -0
  152. data/rbi/sentdm/resources/voice/calls.rbi +244 -0
  153. data/rbi/sentdm/resources/voice/catalogue.rbi +59 -0
  154. data/rbi/sentdm/resources/voice/tokens.rbi +84 -0
  155. data/rbi/sentdm/resources/voice.rbi +136 -0
  156. data/rbi/sentdm/resources/webhooks.rbi +56 -16
  157. data/sig/sentdm/client.rbs +1 -1
  158. data/sig/sentdm/internal/voice_agents_page.rbs +41 -0
  159. data/sig/sentdm/models/call_event_payload.rbs +12 -0
  160. data/sig/sentdm/models/channels/voice_create_params.rbs +9 -4
  161. data/sig/sentdm/models/channels/voice_number.rbs +12 -0
  162. data/sig/sentdm/models/channels/voice_update_params.rbs +5 -0
  163. data/sig/sentdm/models/voice/agent_create_params.rbs +99 -0
  164. data/sig/sentdm/models/{calls/participant_remove_all_params.rbs → voice/agent_delete_params.rbs} +3 -3
  165. data/sig/sentdm/models/voice/agent_list_params.rbs +40 -0
  166. data/sig/sentdm/models/{calls/participant_list_params.rbs → voice/agent_retrieve_params.rbs} +3 -3
  167. data/sig/sentdm/models/{calls/participant_remove_params.rbs → voice/agent_rotate_secret_params.rbs} +8 -8
  168. data/sig/sentdm/models/voice/agent_update_params.rbs +108 -0
  169. data/sig/sentdm/models/{calls/api_response_of_list_of_call_participant.rbs → voice/api_response_of_call.rbs} +7 -7
  170. data/sig/sentdm/models/voice/api_response_of_call_recordings.rbs +41 -0
  171. data/sig/sentdm/models/voice/api_response_of_calls_list.rbs +41 -0
  172. data/sig/sentdm/models/voice/api_response_of_voice_agent.rbs +41 -0
  173. data/sig/sentdm/models/voice/api_response_of_voice_agent_secret.rbs +41 -0
  174. data/sig/sentdm/models/voice/api_response_of_voice_agents_list.rbs +41 -0
  175. data/sig/sentdm/models/voice/api_response_of_voice_catalogue.rbs +41 -0
  176. data/sig/sentdm/models/{channels → voice}/api_response_of_voice_token.rbs +5 -5
  177. data/sig/sentdm/models/voice/call.rbs +175 -0
  178. data/sig/sentdm/models/voice/call_hangup_params.rbs +40 -0
  179. data/sig/sentdm/models/voice/call_list_params.rbs +79 -0
  180. data/sig/sentdm/models/voice/call_list_recordings_params.rbs +32 -0
  181. data/sig/sentdm/models/voice/call_party.rbs +19 -0
  182. data/sig/sentdm/models/{calls/participant_update_params.rbs → voice/call_record_params.rbs} +8 -13
  183. data/sig/sentdm/models/voice/call_recording.rbs +34 -0
  184. data/sig/sentdm/models/voice/call_recordings.rbs +22 -0
  185. data/sig/sentdm/models/voice/call_retrieve_params.rbs +32 -0
  186. data/sig/sentdm/models/voice/call_timeline_entry.rbs +21 -0
  187. data/sig/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbs +43 -0
  188. data/sig/sentdm/models/voice/calls/call_participant.rbs +54 -0
  189. data/sig/sentdm/models/voice/calls/call_participant_target.rbs +25 -0
  190. data/sig/sentdm/models/voice/calls/participant_add_params.rbs +65 -0
  191. data/sig/sentdm/models/voice/calls/participant_list_params.rbs +34 -0
  192. data/sig/sentdm/models/voice/calls/participant_remove_all_params.rbs +36 -0
  193. data/sig/sentdm/models/voice/calls/participant_remove_params.rbs +42 -0
  194. data/sig/sentdm/models/voice/calls/participant_update_params.rbs +63 -0
  195. data/sig/sentdm/models/voice/calls_list.rbs +33 -0
  196. data/sig/sentdm/models/voice/catalogue_list_params.rbs +27 -0
  197. data/sig/sentdm/models/{channels/voice_create_token_params.rbs → voice/token_create_params.rbs} +3 -3
  198. data/sig/sentdm/models/voice/voice_agent.rbs +116 -0
  199. data/sig/sentdm/models/voice/voice_agent_audio.rbs +19 -0
  200. data/sig/sentdm/models/voice/voice_agent_audio_spec.rbs +17 -0
  201. data/sig/sentdm/models/voice/voice_agent_limits.rbs +38 -0
  202. data/sig/sentdm/models/voice/voice_agent_limits_spec.rbs +34 -0
  203. data/sig/sentdm/models/{calls/call_participant_target.rbs → voice/voice_agent_party.rbs} +4 -4
  204. data/sig/sentdm/models/voice/voice_agent_party_spec.rbs +19 -0
  205. data/sig/sentdm/models/voice/voice_agent_secret.rbs +19 -0
  206. data/sig/sentdm/models/voice/voice_agent_speech.rbs +32 -0
  207. data/sig/sentdm/models/voice/voice_agent_speech_spec.rbs +26 -0
  208. data/sig/sentdm/models/voice/voice_agent_transcripts.rbs +23 -0
  209. data/sig/sentdm/models/voice/voice_agent_transcripts_spec.rbs +20 -0
  210. data/sig/sentdm/models/voice/voice_agents_list.rbs +35 -0
  211. data/sig/sentdm/models/voice/voice_catalogue.rbs +35 -0
  212. data/sig/sentdm/models/voice/voice_catalogue_voice.rbs +42 -0
  213. data/sig/sentdm/models/{channels → voice}/voice_token.rbs +3 -1
  214. data/sig/sentdm/models/webhook_create_params.rbs +12 -0
  215. data/sig/sentdm/models/webhook_response.rbs +46 -3
  216. data/sig/sentdm/models/webhook_update_params.rbs +5 -0
  217. data/sig/sentdm/models.rbs +2 -30
  218. data/sig/sentdm/resources/channels/voice.rbs +3 -11
  219. data/sig/sentdm/resources/voice/agents.rbs +74 -0
  220. data/sig/sentdm/resources/voice/calls/participants.rbs +52 -0
  221. data/sig/sentdm/resources/{calls/participants.rbs → voice/calls.rbs} +25 -21
  222. data/sig/sentdm/resources/voice/catalogue.rbs +14 -0
  223. data/sig/sentdm/resources/voice/tokens.rbs +19 -0
  224. data/sig/sentdm/resources/voice.rbs +15 -0
  225. data/sig/sentdm/resources/webhooks.rbs +3 -0
  226. metadata +176 -83
  227. data/lib/sentdm/models/api_response_of_call.rb +0 -43
  228. data/lib/sentdm/models/api_response_of_call_recordings.rb +0 -43
  229. data/lib/sentdm/models/api_response_of_calls_list.rb +0 -42
  230. data/lib/sentdm/models/call.rb +0 -134
  231. data/lib/sentdm/models/call_hangup_params.rb +0 -32
  232. data/lib/sentdm/models/call_list_params.rb +0 -83
  233. data/lib/sentdm/models/call_list_recordings_params.rb +0 -26
  234. data/lib/sentdm/models/call_party.rb +0 -31
  235. data/lib/sentdm/models/call_record_params.rb +0 -55
  236. data/lib/sentdm/models/call_recording.rb +0 -38
  237. data/lib/sentdm/models/call_recordings.rb +0 -24
  238. data/lib/sentdm/models/call_retrieve_params.rb +0 -26
  239. data/lib/sentdm/models/call_timeline_entry.rb +0 -26
  240. data/lib/sentdm/models/calls/call_participant.rb +0 -60
  241. data/lib/sentdm/models/calls/call_participant_target.rb +0 -30
  242. data/lib/sentdm/models/calls/participant_add_params.rb +0 -66
  243. data/lib/sentdm/models/calls_list.rb +0 -26
  244. data/lib/sentdm/resources/calls/participants.rb +0 -231
  245. data/lib/sentdm/resources/calls.rb +0 -236
  246. data/rbi/sentdm/models/api_response_of_call.rbi +0 -74
  247. data/rbi/sentdm/models/api_response_of_call_recordings.rbi +0 -74
  248. data/rbi/sentdm/models/api_response_of_calls_list.rbi +0 -74
  249. data/rbi/sentdm/models/call.rbi +0 -179
  250. data/rbi/sentdm/models/call_hangup_params.rbi +0 -59
  251. data/rbi/sentdm/models/call_list_params.rbi +0 -112
  252. data/rbi/sentdm/models/call_list_recordings_params.rbi +0 -46
  253. data/rbi/sentdm/models/call_party.rbi +0 -41
  254. data/rbi/sentdm/models/call_record_params.rbi +0 -83
  255. data/rbi/sentdm/models/call_recording.rbi +0 -59
  256. data/rbi/sentdm/models/call_recordings.rbi +0 -39
  257. data/rbi/sentdm/models/call_retrieve_params.rbi +0 -46
  258. data/rbi/sentdm/models/call_timeline_entry.rbi +0 -40
  259. data/rbi/sentdm/models/calls/call_participant.rbi +0 -92
  260. data/rbi/sentdm/models/calls/call_participant_target.rbi +0 -47
  261. data/rbi/sentdm/models/calls/participant_add_params.rbi +0 -98
  262. data/rbi/sentdm/models/calls_list.rbi +0 -47
  263. data/rbi/sentdm/resources/calls/participants.rbi +0 -199
  264. data/rbi/sentdm/resources/calls.rbi +0 -207
  265. data/sig/sentdm/models/api_response_of_call.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_call_recordings.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_calls_list.rbs +0 -39
  268. data/sig/sentdm/models/call.rbs +0 -101
  269. data/sig/sentdm/models/call_hangup_params.rbs +0 -38
  270. data/sig/sentdm/models/call_list_params.rbs +0 -67
  271. data/sig/sentdm/models/call_list_recordings_params.rbs +0 -30
  272. data/sig/sentdm/models/call_party.rbs +0 -17
  273. data/sig/sentdm/models/call_record_params.rbs +0 -54
  274. data/sig/sentdm/models/call_recording.rbs +0 -32
  275. data/sig/sentdm/models/call_recordings.rbs +0 -17
  276. data/sig/sentdm/models/call_retrieve_params.rbs +0 -30
  277. data/sig/sentdm/models/call_timeline_entry.rbs +0 -19
  278. data/sig/sentdm/models/calls/call_participant.rbs +0 -52
  279. data/sig/sentdm/models/calls/participant_add_params.rbs +0 -63
  280. data/sig/sentdm/models/calls_list.rbs +0 -26
  281. data/sig/sentdm/resources/calls.rbs +0 -50
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ class ParticipantRemoveParams < Sentdm::Models::MutationRequest
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Sentdm::Voice::Calls::ParticipantRemoveParams,
15
+ Sentdm::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :participant_id
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :x_profile_id
27
+
28
+ sig { params(x_profile_id: String).void }
29
+ attr_writer :x_profile_id
30
+
31
+ sig do
32
+ params(
33
+ id: String,
34
+ participant_id: String,
35
+ x_profile_id: String,
36
+ request_options: Sentdm::RequestOptions::OrHash
37
+ ).returns(T.attached_class)
38
+ end
39
+ def self.new(
40
+ id:,
41
+ participant_id:,
42
+ x_profile_id: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ id: String,
51
+ participant_id: String,
52
+ x_profile_id: String,
53
+ request_options: Sentdm::RequestOptions
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,96 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ class ParticipantUpdateParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Sentdm::Voice::Calls::ParticipantUpdateParams,
15
+ Sentdm::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :participant_id
24
+
25
+ # true to mute the participant, false to unmute them
26
+ sig { returns(T.nilable(T::Boolean)) }
27
+ attr_reader :muted
28
+
29
+ sig { params(muted: T::Boolean).void }
30
+ attr_writer :muted
31
+
32
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
33
+ # for testing integrations without actual execution
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :sandbox
36
+
37
+ sig { params(sandbox: T::Boolean).void }
38
+ attr_writer :sandbox
39
+
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :idempotency_key
42
+
43
+ sig { params(idempotency_key: String).void }
44
+ attr_writer :idempotency_key
45
+
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :x_profile_id
48
+
49
+ sig { params(x_profile_id: String).void }
50
+ attr_writer :x_profile_id
51
+
52
+ sig do
53
+ params(
54
+ id: String,
55
+ participant_id: String,
56
+ muted: T::Boolean,
57
+ sandbox: T::Boolean,
58
+ idempotency_key: String,
59
+ x_profile_id: String,
60
+ request_options: Sentdm::RequestOptions::OrHash
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ id:,
65
+ participant_id:,
66
+ # true to mute the participant, false to unmute them
67
+ muted: nil,
68
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
69
+ # for testing integrations without actual execution
70
+ sandbox: nil,
71
+ idempotency_key: nil,
72
+ x_profile_id: nil,
73
+ request_options: {}
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ id: String,
81
+ participant_id: String,
82
+ muted: T::Boolean,
83
+ sandbox: T::Boolean,
84
+ idempotency_key: String,
85
+ x_profile_id: String,
86
+ request_options: Sentdm::RequestOptions
87
+ }
88
+ )
89
+ end
90
+ def to_hash
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class CallsList < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Voice::CallsList, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # The calls on this page, most recent first
13
+ sig { returns(T.nilable(T::Array[Sentdm::Voice::Call])) }
14
+ attr_reader :calls
15
+
16
+ sig { params(calls: T::Array[Sentdm::Voice::Call::OrHash]).void }
17
+ attr_writer :calls
18
+
19
+ # Pagination metadata for list responses
20
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
21
+ attr_reader :pagination
22
+
23
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
24
+ attr_writer :pagination
25
+
26
+ # Paginated list of calls
27
+ sig do
28
+ params(
29
+ calls: T::Array[Sentdm::Voice::Call::OrHash],
30
+ pagination: Sentdm::PaginationMeta::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ # The calls on this page, most recent first
35
+ calls: nil,
36
+ # Pagination metadata for list responses
37
+ pagination: nil
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ calls: T::Array[Sentdm::Voice::Call],
45
+ pagination: Sentdm::PaginationMeta
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class CatalogueListParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(Sentdm::Voice::CatalogueListParams, Sentdm::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :x_profile_id
17
+
18
+ sig { params(x_profile_id: String).void }
19
+ attr_writer :x_profile_id
20
+
21
+ sig do
22
+ params(
23
+ x_profile_id: String,
24
+ request_options: Sentdm::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(x_profile_id: nil, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { x_profile_id: String, request_options: Sentdm::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -2,17 +2,14 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- module Channels
6
- class VoiceCreateTokenParams < Sentdm::Internal::Type::BaseModel
5
+ module Voice
6
+ class TokenCreateParams < Sentdm::Internal::Type::BaseModel
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
10
  OrHash =
11
11
  T.type_alias do
12
- T.any(
13
- Sentdm::Channels::VoiceCreateTokenParams,
14
- Sentdm::Internal::AnyHash
15
- )
12
+ T.any(Sentdm::Voice::TokenCreateParams, Sentdm::Internal::AnyHash)
16
13
  end
17
14
 
18
15
  # Your identifier for the app user, such as an agent or account id. Letters,
@@ -0,0 +1,196 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgent = Voice::VoiceAgent
6
+
7
+ module Voice
8
+ class VoiceAgent < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::Voice::VoiceAgent, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # The agent's id, agent\_ and a UUID. It is also what the agent connects to the
15
+ # gateway as.
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :id
18
+
19
+ sig { params(id: String).void }
20
+ attr_writer :id
21
+
22
+ # Audio sessions: the sample rate in use.
23
+ sig { returns(T.nilable(Sentdm::Voice::VoiceAgentAudio)) }
24
+ attr_reader :audio
25
+
26
+ sig do
27
+ params(audio: T.nilable(Sentdm::Voice::VoiceAgentAudio::OrHash)).void
28
+ end
29
+ attr_writer :audio
30
+
31
+ sig { returns(T.nilable(Time)) }
32
+ attr_reader :created_at
33
+
34
+ sig { params(created_at: Time).void }
35
+ attr_writer :created_at
36
+
37
+ sig { returns(T.nilable(Sentdm::Voice::VoiceAgentParty)) }
38
+ attr_reader :fallback
39
+
40
+ sig do
41
+ params(
42
+ fallback: T.nilable(Sentdm::Voice::VoiceAgentParty::OrHash)
43
+ ).void
44
+ end
45
+ attr_writer :fallback
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :greeting
49
+
50
+ sig { returns(T.nilable(Sentdm::Voice::VoiceAgentLimits)) }
51
+ attr_reader :limits
52
+
53
+ sig { params(limits: Sentdm::Voice::VoiceAgentLimits::OrHash).void }
54
+ attr_writer :limits
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :name
58
+
59
+ sig { params(name: String).void }
60
+ attr_writer :name
61
+
62
+ # text or audio.
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :session_type
65
+
66
+ sig { params(session_type: String).void }
67
+ attr_writer :session_type
68
+
69
+ # The whsec\_ secret the gateway signs its handshake to websocket_url with.
70
+ # Present on create and after a rotate-secret; absent on every other read. Store
71
+ # it now.
72
+ sig { returns(T.nilable(String)) }
73
+ attr_accessor :signing_secret
74
+
75
+ # Text sessions: the speech setting, voice and language in use.
76
+ sig { returns(T.nilable(Sentdm::Voice::VoiceAgentSpeech)) }
77
+ attr_reader :speech
78
+
79
+ sig do
80
+ params(
81
+ speech: T.nilable(Sentdm::Voice::VoiceAgentSpeech::OrHash)
82
+ ).void
83
+ end
84
+ attr_writer :speech
85
+
86
+ sig { returns(T.nilable(T::Array[String])) }
87
+ attr_reader :tools
88
+
89
+ sig { params(tools: T::Array[String]).void }
90
+ attr_writer :tools
91
+
92
+ sig { returns(T.nilable(Sentdm::Voice::VoiceAgentTranscripts)) }
93
+ attr_reader :transcripts
94
+
95
+ sig do
96
+ params(transcripts: Sentdm::Voice::VoiceAgentTranscripts::OrHash).void
97
+ end
98
+ attr_writer :transcripts
99
+
100
+ sig { returns(T.nilable(T::Array[Sentdm::Voice::VoiceAgentParty])) }
101
+ attr_reader :transfer_targets
102
+
103
+ sig do
104
+ params(
105
+ transfer_targets: T::Array[Sentdm::Voice::VoiceAgentParty::OrHash]
106
+ ).void
107
+ end
108
+ attr_writer :transfer_targets
109
+
110
+ sig { returns(T.nilable(Time)) }
111
+ attr_accessor :updated_at
112
+
113
+ # Where the gateway dials the agent; null when the agent dials in with your API
114
+ # key.
115
+ sig { returns(T.nilable(String)) }
116
+ attr_accessor :websocket_url
117
+
118
+ # A voice agent as stored: what was written with every default filled in, plus the
119
+ # signing secret the one time it is shown (on create, and on rotate). The one
120
+ # shape every read of an agent answers with, on /v3/voice/agents and on the admin
121
+ # API the dashboard uses, so the two cannot drift.
122
+ sig do
123
+ params(
124
+ id: String,
125
+ audio: T.nilable(Sentdm::Voice::VoiceAgentAudio::OrHash),
126
+ created_at: Time,
127
+ fallback: T.nilable(Sentdm::Voice::VoiceAgentParty::OrHash),
128
+ greeting: T.nilable(String),
129
+ limits: Sentdm::Voice::VoiceAgentLimits::OrHash,
130
+ name: String,
131
+ session_type: String,
132
+ signing_secret: T.nilable(String),
133
+ speech: T.nilable(Sentdm::Voice::VoiceAgentSpeech::OrHash),
134
+ tools: T::Array[String],
135
+ transcripts: Sentdm::Voice::VoiceAgentTranscripts::OrHash,
136
+ transfer_targets: T::Array[Sentdm::Voice::VoiceAgentParty::OrHash],
137
+ updated_at: T.nilable(Time),
138
+ websocket_url: T.nilable(String)
139
+ ).returns(T.attached_class)
140
+ end
141
+ def self.new(
142
+ # The agent's id, agent\_ and a UUID. It is also what the agent connects to the
143
+ # gateway as.
144
+ id: nil,
145
+ # Audio sessions: the sample rate in use.
146
+ audio: nil,
147
+ created_at: nil,
148
+ fallback: nil,
149
+ greeting: nil,
150
+ limits: nil,
151
+ name: nil,
152
+ # text or audio.
153
+ session_type: nil,
154
+ # The whsec\_ secret the gateway signs its handshake to websocket_url with.
155
+ # Present on create and after a rotate-secret; absent on every other read. Store
156
+ # it now.
157
+ signing_secret: nil,
158
+ # Text sessions: the speech setting, voice and language in use.
159
+ speech: nil,
160
+ tools: nil,
161
+ transcripts: nil,
162
+ transfer_targets: nil,
163
+ updated_at: nil,
164
+ # Where the gateway dials the agent; null when the agent dials in with your API
165
+ # key.
166
+ websocket_url: nil
167
+ )
168
+ end
169
+
170
+ sig do
171
+ override.returns(
172
+ {
173
+ id: String,
174
+ audio: T.nilable(Sentdm::Voice::VoiceAgentAudio),
175
+ created_at: Time,
176
+ fallback: T.nilable(Sentdm::Voice::VoiceAgentParty),
177
+ greeting: T.nilable(String),
178
+ limits: Sentdm::Voice::VoiceAgentLimits,
179
+ name: String,
180
+ session_type: String,
181
+ signing_secret: T.nilable(String),
182
+ speech: T.nilable(Sentdm::Voice::VoiceAgentSpeech),
183
+ tools: T::Array[String],
184
+ transcripts: Sentdm::Voice::VoiceAgentTranscripts,
185
+ transfer_targets: T::Array[Sentdm::Voice::VoiceAgentParty],
186
+ updated_at: T.nilable(Time),
187
+ websocket_url: T.nilable(String)
188
+ }
189
+ )
190
+ end
191
+ def to_hash
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgentAudio = Voice::VoiceAgentAudio
6
+
7
+ module Voice
8
+ class VoiceAgentAudio < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::Voice::VoiceAgentAudio, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T.nilable(Integer)) }
15
+ attr_reader :sample_rate
16
+
17
+ sig { params(sample_rate: Integer).void }
18
+ attr_writer :sample_rate
19
+
20
+ sig { params(sample_rate: Integer).returns(T.attached_class) }
21
+ def self.new(sample_rate: nil)
22
+ end
23
+
24
+ sig { override.returns({ sample_rate: Integer }) }
25
+ def to_hash
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgentAudioSpec = Voice::VoiceAgentAudioSpec
6
+
7
+ module Voice
8
+ class VoiceAgentAudioSpec < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::Voice::VoiceAgentAudioSpec, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_accessor :sample_rate
17
+
18
+ sig do
19
+ params(sample_rate: T.nilable(Integer)).returns(T.attached_class)
20
+ end
21
+ def self.new(
22
+ # Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
23
+ sample_rate: nil
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ sample_rate: T.nilable(Integer) }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgentLimits = Voice::VoiceAgentLimits
6
+
7
+ module Voice
8
+ class VoiceAgentLimits < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::Voice::VoiceAgentLimits, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T.nilable(T::Array[String])) }
15
+ attr_accessor :allowed_countries
16
+
17
+ sig { returns(T.nilable(Integer)) }
18
+ attr_reader :max_call_seconds
19
+
20
+ sig { params(max_call_seconds: Integer).void }
21
+ attr_writer :max_call_seconds
22
+
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :max_concurrent_calls
25
+
26
+ sig { params(max_concurrent_calls: Integer).void }
27
+ attr_writer :max_concurrent_calls
28
+
29
+ sig do
30
+ params(
31
+ allowed_countries: T.nilable(T::Array[String]),
32
+ max_call_seconds: Integer,
33
+ max_concurrent_calls: Integer
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ allowed_countries: nil,
38
+ max_call_seconds: nil,
39
+ max_concurrent_calls: nil
40
+ )
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ allowed_countries: T.nilable(T::Array[String]),
47
+ max_call_seconds: Integer,
48
+ max_concurrent_calls: Integer
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,62 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgentLimitsSpec = Voice::VoiceAgentLimitsSpec
6
+
7
+ module Voice
8
+ class VoiceAgentLimitsSpec < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Sentdm::Voice::VoiceAgentLimitsSpec,
13
+ Sentdm::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to.
18
+ # Omit it to allow every country. Stored now, applied when the agent places calls.
19
+ sig { returns(T.nilable(T::Array[String])) }
20
+ attr_accessor :allowed_countries
21
+
22
+ # The longest a call may last, 60 to 14,400 seconds. Default 3,600.
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_accessor :max_call_seconds
25
+
26
+ # How many calls the agent may have going at once, from 1. Default 10.
27
+ sig { returns(T.nilable(Integer)) }
28
+ attr_accessor :max_concurrent_calls
29
+
30
+ sig do
31
+ params(
32
+ allowed_countries: T.nilable(T::Array[String]),
33
+ max_call_seconds: T.nilable(Integer),
34
+ max_concurrent_calls: T.nilable(Integer)
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(
38
+ # ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to.
39
+ # Omit it to allow every country. Stored now, applied when the agent places calls.
40
+ allowed_countries: nil,
41
+ # The longest a call may last, 60 to 14,400 seconds. Default 3,600.
42
+ max_call_seconds: nil,
43
+ # How many calls the agent may have going at once, from 1. Default 10.
44
+ max_concurrent_calls: nil
45
+ )
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ allowed_countries: T.nilable(T::Array[String]),
52
+ max_call_seconds: T.nilable(Integer),
53
+ max_concurrent_calls: T.nilable(Integer)
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,36 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ VoiceAgentParty = Voice::VoiceAgentParty
6
+
7
+ module Voice
8
+ class VoiceAgentParty < Sentdm::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::Voice::VoiceAgentParty, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :kind
16
+
17
+ sig { params(kind: String).void }
18
+ attr_writer :kind
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :value
22
+
23
+ sig { params(value: String).void }
24
+ attr_writer :value
25
+
26
+ sig { params(kind: String, value: String).returns(T.attached_class) }
27
+ def self.new(kind: nil, value: nil)
28
+ end
29
+
30
+ sig { override.returns({ kind: String, value: String }) }
31
+ def to_hash
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end