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
@@ -1,179 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class Call < Sentdm::Internal::Type::BaseModel
6
- OrHash = T.type_alias { T.any(Sentdm::Call, Sentdm::Internal::AnyHash) }
7
-
8
- # The call id, the same one carried by the call.request question and every call
9
- # webhook
10
- sig { returns(T.nilable(String)) }
11
- attr_reader :id
12
-
13
- sig { params(id: String).void }
14
- attr_writer :id
15
-
16
- # When the call was answered (UTC). Null until then, and always null for a call
17
- # between two of your app users
18
- sig { returns(T.nilable(Time)) }
19
- attr_accessor :answered_at
20
-
21
- # outbound for a call placed from your app, inbound for a call to one of your
22
- # numbers
23
- sig { returns(T.nilable(String)) }
24
- attr_reader :direction
25
-
26
- sig { params(direction: String).void }
27
- attr_writer :direction
28
-
29
- # Billable duration in seconds. Null while the call is live
30
- sig { returns(T.nilable(Integer)) }
31
- attr_accessor :duration_seconds
32
-
33
- # When the call ended (UTC). Null while the call is live
34
- sig { returns(T.nilable(Time)) }
35
- attr_accessor :ended_at
36
-
37
- # Why the call did not complete: callback_timeout, invalid_answer,
38
- # insufficient_balance, destination_blocked, callback_not_configured, rejected or
39
- # no_answer. Null while the call is live, when it completed, and when it failed
40
- # without a recorded reason
41
- sig { returns(T.nilable(String)) }
42
- attr_accessor :failure_reason
43
-
44
- # One end of a call
45
- sig { returns(T.nilable(Sentdm::CallParty)) }
46
- attr_reader :from
47
-
48
- sig { params(from: Sentdm::CallParty::OrHash).void }
49
- attr_writer :from
50
-
51
- # Your number that owns the call, in E.164 format: the dialed number for an
52
- # inbound call, the caller's bound number for a call placed from your app
53
- sig { returns(T.nilable(String)) }
54
- attr_reader :number
55
-
56
- sig { params(number: String).void }
57
- attr_writer :number
58
-
59
- # What the call cost. Null until it has been priced
60
- sig { returns(T.nilable(Float)) }
61
- attr_accessor :price
62
-
63
- # True once a recording of the call is available
64
- sig { returns(T.nilable(T::Boolean)) }
65
- attr_reader :recording_available
66
-
67
- sig { params(recording_available: T::Boolean).void }
68
- attr_writer :recording_available
69
-
70
- # When the call was placed (UTC)
71
- sig { returns(T.nilable(Time)) }
72
- attr_reader :started_at
73
-
74
- sig { params(started_at: Time).void }
75
- attr_writer :started_at
76
-
77
- # INITIATED, RINGING, ANSWERED, COMPLETED, FAILED, NO_ANSWER or REJECTED
78
- sig { returns(T.nilable(String)) }
79
- attr_reader :status
80
-
81
- sig { params(status: String).void }
82
- attr_writer :status
83
-
84
- # When the call entered each status, oldest first. Only returned when reading one
85
- # call
86
- sig { returns(T.nilable(T::Array[Sentdm::CallTimelineEntry])) }
87
- attr_accessor :timeline
88
-
89
- # One end of a call
90
- sig { returns(T.nilable(Sentdm::CallParty)) }
91
- attr_reader :to
92
-
93
- sig { params(to: Sentdm::CallParty::OrHash).void }
94
- attr_writer :to
95
-
96
- # A call record
97
- sig do
98
- params(
99
- id: String,
100
- answered_at: T.nilable(Time),
101
- direction: String,
102
- duration_seconds: T.nilable(Integer),
103
- ended_at: T.nilable(Time),
104
- failure_reason: T.nilable(String),
105
- from: Sentdm::CallParty::OrHash,
106
- number: String,
107
- price: T.nilable(Float),
108
- recording_available: T::Boolean,
109
- started_at: Time,
110
- status: String,
111
- timeline: T.nilable(T::Array[Sentdm::CallTimelineEntry::OrHash]),
112
- to: Sentdm::CallParty::OrHash
113
- ).returns(T.attached_class)
114
- end
115
- def self.new(
116
- # The call id, the same one carried by the call.request question and every call
117
- # webhook
118
- id: nil,
119
- # When the call was answered (UTC). Null until then, and always null for a call
120
- # between two of your app users
121
- answered_at: nil,
122
- # outbound for a call placed from your app, inbound for a call to one of your
123
- # numbers
124
- direction: nil,
125
- # Billable duration in seconds. Null while the call is live
126
- duration_seconds: nil,
127
- # When the call ended (UTC). Null while the call is live
128
- ended_at: nil,
129
- # Why the call did not complete: callback_timeout, invalid_answer,
130
- # insufficient_balance, destination_blocked, callback_not_configured, rejected or
131
- # no_answer. Null while the call is live, when it completed, and when it failed
132
- # without a recorded reason
133
- failure_reason: nil,
134
- # One end of a call
135
- from: nil,
136
- # Your number that owns the call, in E.164 format: the dialed number for an
137
- # inbound call, the caller's bound number for a call placed from your app
138
- number: nil,
139
- # What the call cost. Null until it has been priced
140
- price: nil,
141
- # True once a recording of the call is available
142
- recording_available: nil,
143
- # When the call was placed (UTC)
144
- started_at: nil,
145
- # INITIATED, RINGING, ANSWERED, COMPLETED, FAILED, NO_ANSWER or REJECTED
146
- status: nil,
147
- # When the call entered each status, oldest first. Only returned when reading one
148
- # call
149
- timeline: nil,
150
- # One end of a call
151
- to: nil
152
- )
153
- end
154
-
155
- sig do
156
- override.returns(
157
- {
158
- id: String,
159
- answered_at: T.nilable(Time),
160
- direction: String,
161
- duration_seconds: T.nilable(Integer),
162
- ended_at: T.nilable(Time),
163
- failure_reason: T.nilable(String),
164
- from: Sentdm::CallParty,
165
- number: String,
166
- price: T.nilable(Float),
167
- recording_available: T::Boolean,
168
- started_at: Time,
169
- status: String,
170
- timeline: T.nilable(T::Array[Sentdm::CallTimelineEntry]),
171
- to: Sentdm::CallParty
172
- }
173
- )
174
- end
175
- def to_hash
176
- end
177
- end
178
- end
179
- end
@@ -1,59 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallHangupParams < Sentdm::Models::MutationRequest
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::CallHangupParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- sig { returns(String) }
15
- attr_accessor :id
16
-
17
- sig { returns(T.nilable(String)) }
18
- attr_reader :idempotency_key
19
-
20
- sig { params(idempotency_key: String).void }
21
- attr_writer :idempotency_key
22
-
23
- sig { returns(T.nilable(String)) }
24
- attr_reader :x_profile_id
25
-
26
- sig { params(x_profile_id: String).void }
27
- attr_writer :x_profile_id
28
-
29
- sig do
30
- params(
31
- id: String,
32
- idempotency_key: String,
33
- x_profile_id: String,
34
- request_options: Sentdm::RequestOptions::OrHash
35
- ).returns(T.attached_class)
36
- end
37
- def self.new(
38
- id:,
39
- idempotency_key: nil,
40
- x_profile_id: nil,
41
- request_options: {}
42
- )
43
- end
44
-
45
- sig do
46
- override.returns(
47
- {
48
- id: String,
49
- idempotency_key: String,
50
- x_profile_id: String,
51
- request_options: Sentdm::RequestOptions
52
- }
53
- )
54
- end
55
- def to_hash
56
- end
57
- end
58
- end
59
- end
@@ -1,112 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallListParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::CallListParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- # Optional direction filter: outbound for calls placed from your app, inbound for
15
- # calls to one of your numbers
16
- sig { returns(T.nilable(String)) }
17
- attr_accessor :direction
18
-
19
- # Only calls started at or after this time (ISO 8601)
20
- sig { returns(T.nilable(Time)) }
21
- attr_accessor :from
22
-
23
- # Optional filter on the number that owns the call, one of your voice-enabled
24
- # numbers in E.164 format
25
- sig { returns(T.nilable(String)) }
26
- attr_accessor :number
27
-
28
- # Page number (1-indexed)
29
- sig { returns(T.nilable(Integer)) }
30
- attr_reader :page
31
-
32
- sig { params(page: Integer).void }
33
- attr_writer :page
34
-
35
- # Number of items per page
36
- sig { returns(T.nilable(Integer)) }
37
- attr_reader :page_size
38
-
39
- sig { params(page_size: Integer).void }
40
- attr_writer :page_size
41
-
42
- # Optional status filter: initiated, ringing, answered, completed, failed,
43
- # no_answer or rejected
44
- sig { returns(T.nilable(String)) }
45
- attr_accessor :status
46
-
47
- # Only calls started at or before this time (ISO 8601)
48
- sig { returns(T.nilable(Time)) }
49
- attr_accessor :to
50
-
51
- sig { returns(T.nilable(String)) }
52
- attr_reader :x_profile_id
53
-
54
- sig { params(x_profile_id: String).void }
55
- attr_writer :x_profile_id
56
-
57
- sig do
58
- params(
59
- direction: T.nilable(String),
60
- from: T.nilable(Time),
61
- number: T.nilable(String),
62
- page: Integer,
63
- page_size: Integer,
64
- status: T.nilable(String),
65
- to: T.nilable(Time),
66
- x_profile_id: String,
67
- request_options: Sentdm::RequestOptions::OrHash
68
- ).returns(T.attached_class)
69
- end
70
- def self.new(
71
- # Optional direction filter: outbound for calls placed from your app, inbound for
72
- # calls to one of your numbers
73
- direction: nil,
74
- # Only calls started at or after this time (ISO 8601)
75
- from: nil,
76
- # Optional filter on the number that owns the call, one of your voice-enabled
77
- # numbers in E.164 format
78
- number: nil,
79
- # Page number (1-indexed)
80
- page: nil,
81
- # Number of items per page
82
- page_size: nil,
83
- # Optional status filter: initiated, ringing, answered, completed, failed,
84
- # no_answer or rejected
85
- status: nil,
86
- # Only calls started at or before this time (ISO 8601)
87
- to: nil,
88
- x_profile_id: nil,
89
- request_options: {}
90
- )
91
- end
92
-
93
- sig do
94
- override.returns(
95
- {
96
- direction: T.nilable(String),
97
- from: T.nilable(Time),
98
- number: T.nilable(String),
99
- page: Integer,
100
- page_size: Integer,
101
- status: T.nilable(String),
102
- to: T.nilable(Time),
103
- x_profile_id: String,
104
- request_options: Sentdm::RequestOptions
105
- }
106
- )
107
- end
108
- def to_hash
109
- end
110
- end
111
- end
112
- end
@@ -1,46 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallListRecordingsParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::CallListRecordingsParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- sig { returns(String) }
15
- attr_accessor :id
16
-
17
- sig { returns(T.nilable(String)) }
18
- attr_reader :x_profile_id
19
-
20
- sig { params(x_profile_id: String).void }
21
- attr_writer :x_profile_id
22
-
23
- sig do
24
- params(
25
- id: String,
26
- x_profile_id: String,
27
- request_options: Sentdm::RequestOptions::OrHash
28
- ).returns(T.attached_class)
29
- end
30
- def self.new(id:, x_profile_id: nil, request_options: {})
31
- end
32
-
33
- sig do
34
- override.returns(
35
- {
36
- id: String,
37
- x_profile_id: String,
38
- request_options: Sentdm::RequestOptions
39
- }
40
- )
41
- end
42
- def to_hash
43
- end
44
- end
45
- end
46
- end
@@ -1,41 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallParty < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias { T.any(Sentdm::CallParty, Sentdm::Internal::AnyHash) }
8
-
9
- # user for one of your app users, number for a phone number, conference for a
10
- # room, anonymous for a caller who withheld their number
11
- sig { returns(T.nilable(String)) }
12
- attr_reader :kind
13
-
14
- sig { params(kind: String).void }
15
- attr_writer :kind
16
-
17
- # The app user's identity, the phone number in E.164 format, or the room name.
18
- # Null when the kind is anonymous
19
- sig { returns(T.nilable(String)) }
20
- attr_accessor :value
21
-
22
- # One end of a call
23
- sig do
24
- params(kind: String, value: T.nilable(String)).returns(T.attached_class)
25
- end
26
- def self.new(
27
- # user for one of your app users, number for a phone number, conference for a
28
- # room, anonymous for a caller who withheld their number
29
- kind: nil,
30
- # The app user's identity, the phone number in E.164 format, or the room name.
31
- # Null when the kind is anonymous
32
- value: nil
33
- )
34
- end
35
-
36
- sig { override.returns({ kind: String, value: T.nilable(String) }) }
37
- def to_hash
38
- end
39
- end
40
- end
41
- end
@@ -1,83 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallRecordParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::CallRecordParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- sig { returns(String) }
15
- attr_accessor :id
16
-
17
- # start to begin recording, stop to end it
18
- sig { returns(T.nilable(String)) }
19
- attr_reader :action
20
-
21
- sig { params(action: String).void }
22
- attr_writer :action
23
-
24
- # Sandbox flag - when true, the operation is simulated without side effects Useful
25
- # for testing integrations without actual execution
26
- sig { returns(T.nilable(T::Boolean)) }
27
- attr_reader :sandbox
28
-
29
- sig { params(sandbox: T::Boolean).void }
30
- attr_writer :sandbox
31
-
32
- sig { returns(T.nilable(String)) }
33
- attr_reader :idempotency_key
34
-
35
- sig { params(idempotency_key: String).void }
36
- attr_writer :idempotency_key
37
-
38
- sig { returns(T.nilable(String)) }
39
- attr_reader :x_profile_id
40
-
41
- sig { params(x_profile_id: String).void }
42
- attr_writer :x_profile_id
43
-
44
- sig do
45
- params(
46
- id: String,
47
- action: String,
48
- sandbox: T::Boolean,
49
- idempotency_key: String,
50
- x_profile_id: String,
51
- request_options: Sentdm::RequestOptions::OrHash
52
- ).returns(T.attached_class)
53
- end
54
- def self.new(
55
- id:,
56
- # start to begin recording, stop to end it
57
- action: nil,
58
- # Sandbox flag - when true, the operation is simulated without side effects Useful
59
- # for testing integrations without actual execution
60
- sandbox: nil,
61
- idempotency_key: nil,
62
- x_profile_id: nil,
63
- request_options: {}
64
- )
65
- end
66
-
67
- sig do
68
- override.returns(
69
- {
70
- id: String,
71
- action: String,
72
- sandbox: T::Boolean,
73
- idempotency_key: String,
74
- x_profile_id: String,
75
- request_options: Sentdm::RequestOptions
76
- }
77
- )
78
- end
79
- def to_hash
80
- end
81
- end
82
- end
83
- end
@@ -1,59 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallRecording < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias { T.any(Sentdm::CallRecording, Sentdm::Internal::AnyHash) }
8
-
9
- # A pre-signed link that downloads the recording as an MP3 file. Anyone holding it
10
- # can download the recording until it expires
11
- sig { returns(T.nilable(String)) }
12
- attr_reader :download_url
13
-
14
- sig { params(download_url: String).void }
15
- attr_writer :download_url
16
-
17
- # The recording's id, the one the call.recording_ready webhook announced it under
18
- sig { returns(T.nilable(String)) }
19
- attr_reader :recording_id
20
-
21
- sig { params(recording_id: String).void }
22
- attr_writer :recording_id
23
-
24
- # When the link stops working (UTC). Request the recordings again for a fresh link
25
- sig { returns(T.nilable(Time)) }
26
- attr_reader :url_expires_at
27
-
28
- sig { params(url_expires_at: Time).void }
29
- attr_writer :url_expires_at
30
-
31
- # A short-lived link to a call recording
32
- sig do
33
- params(
34
- download_url: String,
35
- recording_id: String,
36
- url_expires_at: Time
37
- ).returns(T.attached_class)
38
- end
39
- def self.new(
40
- # A pre-signed link that downloads the recording as an MP3 file. Anyone holding it
41
- # can download the recording until it expires
42
- download_url: nil,
43
- # The recording's id, the one the call.recording_ready webhook announced it under
44
- recording_id: nil,
45
- # When the link stops working (UTC). Request the recordings again for a fresh link
46
- url_expires_at: nil
47
- )
48
- end
49
-
50
- sig do
51
- override.returns(
52
- { download_url: String, recording_id: String, url_expires_at: Time }
53
- )
54
- end
55
- def to_hash
56
- end
57
- end
58
- end
59
- end
@@ -1,39 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallRecordings < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::CallRecordings, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # Every recording of the call, oldest first. Empty until the first
12
- # call.recording_ready webhook has been sent, and for a call that was never
13
- # recorded
14
- sig { returns(T.nilable(T::Array[Sentdm::CallRecording])) }
15
- attr_reader :recordings
16
-
17
- sig { params(recordings: T::Array[Sentdm::CallRecording::OrHash]).void }
18
- attr_writer :recordings
19
-
20
- # The recordings of a call, each as a short-lived download link
21
- sig do
22
- params(recordings: T::Array[Sentdm::CallRecording::OrHash]).returns(
23
- T.attached_class
24
- )
25
- end
26
- def self.new(
27
- # Every recording of the call, oldest first. Empty until the first
28
- # call.recording_ready webhook has been sent, and for a call that was never
29
- # recorded
30
- recordings: nil
31
- )
32
- end
33
-
34
- sig { override.returns({ recordings: T::Array[Sentdm::CallRecording] }) }
35
- def to_hash
36
- end
37
- end
38
- end
39
- end
@@ -1,46 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class CallRetrieveParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::CallRetrieveParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- sig { returns(String) }
15
- attr_accessor :id
16
-
17
- sig { returns(T.nilable(String)) }
18
- attr_reader :x_profile_id
19
-
20
- sig { params(x_profile_id: String).void }
21
- attr_writer :x_profile_id
22
-
23
- sig do
24
- params(
25
- id: String,
26
- x_profile_id: String,
27
- request_options: Sentdm::RequestOptions::OrHash
28
- ).returns(T.attached_class)
29
- end
30
- def self.new(id:, x_profile_id: nil, request_options: {})
31
- end
32
-
33
- sig do
34
- override.returns(
35
- {
36
- id: String,
37
- x_profile_id: String,
38
- request_options: Sentdm::RequestOptions
39
- }
40
- )
41
- end
42
- def to_hash
43
- end
44
- end
45
- end
46
- end