moonbase-sdk 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.4

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 (416) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +27 -59
  4. data/lib/moonbase/client.rb +41 -37
  5. data/lib/moonbase/internal/cursor_page.rb +2 -2
  6. data/lib/moonbase/internal/transport/base_client.rb +1 -1
  7. data/lib/moonbase/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/moonbase/internal/type/array_of.rb +1 -0
  9. data/lib/moonbase/internal/type/base_model.rb +4 -9
  10. data/lib/moonbase/internal/type/converter.rb +27 -0
  11. data/lib/moonbase/internal/type/hash_of.rb +1 -0
  12. data/lib/moonbase/internal/type/union.rb +25 -23
  13. data/lib/moonbase/internal/util.rb +1 -1
  14. data/lib/moonbase/models/activity.rb +20 -1112
  15. data/lib/moonbase/models/activity_call_occurred.rb +42 -0
  16. data/lib/moonbase/models/activity_form_submitted.rb +46 -0
  17. data/lib/moonbase/models/activity_inbox_message_sent.rb +42 -0
  18. data/lib/moonbase/models/activity_item_created.rb +46 -0
  19. data/lib/moonbase/models/activity_item_mentioned.rb +63 -0
  20. data/lib/moonbase/models/activity_item_merged.rb +64 -0
  21. data/lib/moonbase/models/activity_meeting_held.rb +42 -0
  22. data/lib/moonbase/models/activity_meeting_scheduled.rb +42 -0
  23. data/lib/moonbase/models/activity_note_created.rb +62 -0
  24. data/lib/moonbase/models/activity_program_message_bounced.rb +71 -0
  25. data/lib/moonbase/models/activity_program_message_clicked.rb +71 -0
  26. data/lib/moonbase/models/activity_program_message_complained.rb +55 -0
  27. data/lib/moonbase/models/activity_program_message_failed.rb +63 -0
  28. data/lib/moonbase/models/activity_program_message_opened.rb +54 -0
  29. data/lib/moonbase/models/activity_program_message_sent.rb +62 -0
  30. data/lib/moonbase/models/activity_program_message_shielded.rb +64 -0
  31. data/lib/moonbase/models/activity_program_message_unsubscribed.rb +63 -0
  32. data/lib/moonbase/models/address.rb +22 -52
  33. data/lib/moonbase/models/attendee.rb +19 -45
  34. data/lib/moonbase/models/boolean_field.rb +119 -0
  35. data/lib/moonbase/models/boolean_value.rb +4 -4
  36. data/lib/moonbase/models/call.rb +48 -68
  37. data/lib/moonbase/models/call_create_params.rb +115 -36
  38. data/lib/moonbase/models/call_upsert_params.rb +236 -0
  39. data/lib/moonbase/models/choice_field.rb +128 -0
  40. data/lib/moonbase/models/choice_field_option.rb +38 -0
  41. data/lib/moonbase/models/choice_value.rb +25 -0
  42. data/lib/moonbase/models/choice_value_param.rb +41 -0
  43. data/lib/moonbase/models/collection.rb +21 -41
  44. data/lib/moonbase/models/collection_pointer.rb +35 -0
  45. data/lib/moonbase/models/collection_retrieve_params.rb +2 -7
  46. data/lib/moonbase/models/collections/item_create_params.rb +24 -0
  47. data/lib/moonbase/models/collections/item_delete_params.rb +22 -0
  48. data/lib/moonbase/models/collections/item_list_params.rb +48 -0
  49. data/lib/moonbase/models/collections/item_retrieve_params.rb +22 -0
  50. data/lib/moonbase/models/collections/item_update_params.rb +70 -0
  51. data/lib/moonbase/models/collections/item_upsert_params.rb +73 -0
  52. data/lib/moonbase/models/date_field.rb +119 -0
  53. data/lib/moonbase/models/date_value.rb +4 -4
  54. data/lib/moonbase/models/datetime_field.rb +119 -0
  55. data/lib/moonbase/models/datetime_value.rb +4 -4
  56. data/lib/moonbase/models/domain_field.rb +119 -0
  57. data/lib/moonbase/models/domain_value.rb +6 -4
  58. data/lib/moonbase/models/email_field.rb +119 -0
  59. data/lib/moonbase/models/email_message.rb +81 -162
  60. data/lib/moonbase/models/email_value.rb +6 -4
  61. data/lib/moonbase/models/endpoint.rb +96 -0
  62. data/lib/moonbase/models/error.rb +5 -0
  63. data/lib/moonbase/models/field.rb +44 -277
  64. data/lib/moonbase/models/field_value.rb +5 -5
  65. data/lib/moonbase/models/field_value_param.rb +174 -0
  66. data/lib/moonbase/models/float_field.rb +119 -0
  67. data/lib/moonbase/models/float_value.rb +4 -4
  68. data/lib/moonbase/models/form.rb +18 -45
  69. data/lib/moonbase/models/form_list_params.rb +1 -19
  70. data/lib/moonbase/models/form_retrieve_params.rb +1 -22
  71. data/lib/moonbase/models/formatted_text.rb +19 -0
  72. data/lib/moonbase/models/funnel.rb +34 -0
  73. data/lib/moonbase/models/funnel_step.rb +49 -28
  74. data/lib/moonbase/models/funnel_step_value.rb +25 -0
  75. data/lib/moonbase/models/funnel_step_value_param.rb +41 -0
  76. data/lib/moonbase/models/geo_field.rb +119 -0
  77. data/lib/moonbase/models/geo_value.rb +10 -4
  78. data/lib/moonbase/models/inbox.rb +13 -38
  79. data/lib/moonbase/models/inbox_conversation.rb +77 -100
  80. data/lib/moonbase/models/inbox_conversation_list_params.rb +48 -10
  81. data/lib/moonbase/models/inbox_conversation_retrieve_params.rb +6 -7
  82. data/lib/moonbase/models/inbox_list_params.rb +17 -1
  83. data/lib/moonbase/models/inbox_message_list_params.rb +43 -14
  84. data/lib/moonbase/models/integer_field.rb +120 -0
  85. data/lib/moonbase/models/integer_value.rb +4 -4
  86. data/lib/moonbase/models/item.rb +4 -32
  87. data/lib/moonbase/models/item_pointer.rb +35 -0
  88. data/lib/moonbase/models/meeting.rb +40 -74
  89. data/lib/moonbase/models/monetary_field.rb +119 -0
  90. data/lib/moonbase/models/monetary_value.rb +29 -19
  91. data/lib/moonbase/models/moonbase_file.rb +25 -44
  92. data/lib/moonbase/models/multi_line_text_field.rb +119 -0
  93. data/lib/moonbase/models/multi_line_text_value.rb +10 -4
  94. data/lib/moonbase/models/note.rb +18 -37
  95. data/lib/moonbase/models/organizer.rb +19 -42
  96. data/lib/moonbase/models/percentage_field.rb +119 -0
  97. data/lib/moonbase/models/percentage_value.rb +10 -4
  98. data/lib/moonbase/models/pointer.rb +26 -0
  99. data/lib/moonbase/models/program.rb +56 -77
  100. data/lib/moonbase/models/{program_message_create_response.rb → program_message.rb} +9 -28
  101. data/lib/moonbase/models/{program_message_create_params.rb → program_message_send_params.rb} +5 -5
  102. data/lib/moonbase/models/program_template.rb +16 -41
  103. data/lib/moonbase/models/program_template_retrieve_params.rb +1 -3
  104. data/lib/moonbase/models/relation_field.rb +143 -0
  105. data/lib/moonbase/models/relation_value.rb +6 -10
  106. data/lib/moonbase/models/relation_value_param.rb +41 -0
  107. data/lib/moonbase/models/single_line_text_field.rb +119 -0
  108. data/lib/moonbase/models/single_line_text_value.rb +10 -4
  109. data/lib/moonbase/models/social_linked_in_field.rb +119 -0
  110. data/lib/moonbase/models/social_linked_in_value.rb +26 -15
  111. data/lib/moonbase/models/social_x_field.rb +119 -0
  112. data/lib/moonbase/models/social_x_value.rb +32 -15
  113. data/lib/moonbase/models/stage_field.rb +127 -0
  114. data/lib/moonbase/models/subscription.rb +61 -0
  115. data/lib/moonbase/models/tagset.rb +19 -38
  116. data/lib/moonbase/models/telephone_number.rb +10 -4
  117. data/lib/moonbase/models/telephone_number_field.rb +119 -0
  118. data/lib/moonbase/models/url_field.rb +119 -0
  119. data/lib/moonbase/models/url_value.rb +13 -6
  120. data/lib/moonbase/models/value.rb +5 -5
  121. data/lib/moonbase/models/value_param.rb +170 -0
  122. data/lib/moonbase/models/view.rb +25 -39
  123. data/lib/moonbase/models/webhook_endpoint_create_params.rb +96 -0
  124. data/lib/moonbase/models/{item_delete_params.rb → webhook_endpoint_delete_params.rb} +2 -2
  125. data/lib/moonbase/models/webhook_endpoint_list_params.rb +46 -0
  126. data/lib/moonbase/models/{item_retrieve_params.rb → webhook_endpoint_retrieve_params.rb} +2 -2
  127. data/lib/moonbase/models/webhook_endpoint_update_params.rb +104 -0
  128. data/lib/moonbase/models.rb +115 -11
  129. data/lib/moonbase/resources/activities.rb +2 -2
  130. data/lib/moonbase/resources/calls.rb +51 -5
  131. data/lib/moonbase/resources/collections/fields.rb +1 -1
  132. data/lib/moonbase/resources/collections/items.rb +202 -0
  133. data/lib/moonbase/resources/collections.rb +5 -4
  134. data/lib/moonbase/resources/forms.rb +3 -12
  135. data/lib/moonbase/resources/funnels.rb +14 -0
  136. data/lib/moonbase/resources/inbox_conversations.rb +4 -4
  137. data/lib/moonbase/resources/inbox_messages.rb +2 -4
  138. data/lib/moonbase/resources/inboxes.rb +4 -2
  139. data/lib/moonbase/resources/program_messages.rb +7 -7
  140. data/lib/moonbase/resources/webhook_endpoints.rb +138 -0
  141. data/lib/moonbase/version.rb +1 -1
  142. data/lib/moonbase.rb +68 -9
  143. data/rbi/moonbase/client.rbi +29 -26
  144. data/rbi/moonbase/errors.rbi +2 -2
  145. data/rbi/moonbase/internal/transport/base_client.rbi +1 -1
  146. data/rbi/moonbase/internal/type/converter.rbi +54 -0
  147. data/rbi/moonbase/internal/type/union.rbi +9 -2
  148. data/rbi/moonbase/models/activity.rbi +17 -1950
  149. data/rbi/moonbase/models/activity_call_occurred.rbi +65 -0
  150. data/rbi/moonbase/models/activity_form_submitted.rbi +67 -0
  151. data/rbi/moonbase/models/activity_inbox_message_sent.rbi +65 -0
  152. data/rbi/moonbase/models/activity_item_created.rbi +67 -0
  153. data/rbi/moonbase/models/activity_item_mentioned.rbi +91 -0
  154. data/rbi/moonbase/models/activity_item_merged.rbi +93 -0
  155. data/rbi/moonbase/models/activity_meeting_held.rbi +65 -0
  156. data/rbi/moonbase/models/activity_meeting_scheduled.rbi +65 -0
  157. data/rbi/moonbase/models/activity_note_created.rbi +91 -0
  158. data/rbi/moonbase/models/activity_program_message_bounced.rbi +105 -0
  159. data/rbi/moonbase/models/activity_program_message_clicked.rbi +104 -0
  160. data/rbi/moonbase/models/activity_program_message_complained.rbi +82 -0
  161. data/rbi/moonbase/models/activity_program_message_failed.rbi +93 -0
  162. data/rbi/moonbase/models/activity_program_message_opened.rbi +81 -0
  163. data/rbi/moonbase/models/activity_program_message_sent.rbi +92 -0
  164. data/rbi/moonbase/models/activity_program_message_shielded.rbi +95 -0
  165. data/rbi/moonbase/models/activity_program_message_unsubscribed.rbi +93 -0
  166. data/rbi/moonbase/models/address.rbi +28 -79
  167. data/rbi/moonbase/models/attendee.rbi +23 -63
  168. data/rbi/moonbase/models/boolean_field.rbi +150 -0
  169. data/rbi/moonbase/models/boolean_value.rbi +4 -6
  170. data/rbi/moonbase/models/call.rbi +54 -84
  171. data/rbi/moonbase/models/call_create_params.rbi +176 -47
  172. data/rbi/moonbase/models/call_upsert_params.rbi +392 -0
  173. data/rbi/moonbase/models/choice_field.rbi +160 -0
  174. data/rbi/moonbase/models/choice_field_option.rbi +44 -0
  175. data/rbi/moonbase/models/choice_value.rbi +41 -0
  176. data/rbi/moonbase/models/choice_value_param.rbi +62 -0
  177. data/rbi/moonbase/models/collection.rbi +48 -64
  178. data/rbi/moonbase/models/collection_pointer.rbi +43 -0
  179. data/rbi/moonbase/models/collection_retrieve_params.rbi +2 -9
  180. data/rbi/moonbase/models/collections/item_create_params.rbi +198 -0
  181. data/rbi/moonbase/models/collections/item_delete_params.rbi +40 -0
  182. data/rbi/moonbase/models/collections/item_list_params.rbi +83 -0
  183. data/rbi/moonbase/models/collections/item_retrieve_params.rbi +40 -0
  184. data/rbi/moonbase/models/collections/item_update_params.rbi +323 -0
  185. data/rbi/moonbase/models/collections/item_upsert_params.rbi +477 -0
  186. data/rbi/moonbase/models/date_field.rbi +148 -0
  187. data/rbi/moonbase/models/date_value.rbi +4 -4
  188. data/rbi/moonbase/models/datetime_field.rbi +150 -0
  189. data/rbi/moonbase/models/datetime_value.rbi +4 -4
  190. data/rbi/moonbase/models/domain_field.rbi +150 -0
  191. data/rbi/moonbase/models/domain_value.rbi +9 -4
  192. data/rbi/moonbase/models/email_field.rbi +150 -0
  193. data/rbi/moonbase/models/email_message.rbi +95 -233
  194. data/rbi/moonbase/models/email_value.rbi +9 -4
  195. data/rbi/moonbase/models/endpoint.rbi +121 -0
  196. data/rbi/moonbase/models/error.rbi +4 -0
  197. data/rbi/moonbase/models/field.rbi +28 -460
  198. data/rbi/moonbase/models/field_value.rbi +3 -3
  199. data/rbi/moonbase/models/field_value_param.rbi +237 -0
  200. data/rbi/moonbase/models/float_field.rbi +150 -0
  201. data/rbi/moonbase/models/float_value.rbi +4 -4
  202. data/rbi/moonbase/models/form.rbi +21 -72
  203. data/rbi/moonbase/models/form_list_params.rbi +0 -43
  204. data/rbi/moonbase/models/form_retrieve_params.rbi +4 -55
  205. data/rbi/moonbase/models/formatted_text.rbi +32 -0
  206. data/rbi/moonbase/models/funnel.rbi +48 -0
  207. data/rbi/moonbase/models/funnel_step.rbi +60 -32
  208. data/rbi/moonbase/models/funnel_step_value.rbi +39 -0
  209. data/rbi/moonbase/models/funnel_step_value_param.rbi +57 -0
  210. data/rbi/moonbase/models/geo_field.rbi +148 -0
  211. data/rbi/moonbase/models/geo_value.rbi +11 -4
  212. data/rbi/moonbase/models/inbox.rbi +19 -61
  213. data/rbi/moonbase/models/inbox_conversation.rbi +93 -161
  214. data/rbi/moonbase/models/inbox_conversation_list_params.rbi +135 -15
  215. data/rbi/moonbase/models/inbox_conversation_retrieve_params.rbi +11 -6
  216. data/rbi/moonbase/models/inbox_list_params.rbi +28 -0
  217. data/rbi/moonbase/models/inbox_message_list_params.rbi +116 -20
  218. data/rbi/moonbase/models/integer_field.rbi +152 -0
  219. data/rbi/moonbase/models/integer_value.rbi +4 -4
  220. data/rbi/moonbase/models/item.rbi +52 -57
  221. data/rbi/moonbase/models/item_pointer.rbi +54 -0
  222. data/rbi/moonbase/models/meeting.rbi +52 -113
  223. data/rbi/moonbase/models/monetary_field.rbi +150 -0
  224. data/rbi/moonbase/models/monetary_value.rbi +34 -27
  225. data/rbi/moonbase/models/moonbase_file.rbi +23 -60
  226. data/rbi/moonbase/models/multi_line_text_field.rbi +155 -0
  227. data/rbi/moonbase/models/multi_line_text_value.rbi +11 -4
  228. data/rbi/moonbase/models/note.rbi +23 -60
  229. data/rbi/moonbase/models/organizer.rbi +23 -60
  230. data/rbi/moonbase/models/percentage_field.rbi +151 -0
  231. data/rbi/moonbase/models/percentage_value.rbi +11 -4
  232. data/rbi/moonbase/models/pointer.rbi +32 -0
  233. data/rbi/moonbase/models/program.rbi +70 -137
  234. data/rbi/moonbase/models/{program_message_create_response.rbi → program_message.rbi} +8 -49
  235. data/rbi/moonbase/models/{program_message_create_params.rbi → program_message_send_params.rbi} +7 -12
  236. data/rbi/moonbase/models/program_template.rbi +25 -64
  237. data/rbi/moonbase/models/relation_field.rbi +184 -0
  238. data/rbi/moonbase/models/relation_value.rbi +11 -11
  239. data/rbi/moonbase/models/relation_value_param.rbi +60 -0
  240. data/rbi/moonbase/models/single_line_text_field.rbi +155 -0
  241. data/rbi/moonbase/models/single_line_text_value.rbi +11 -4
  242. data/rbi/moonbase/models/social_linked_in_field.rbi +155 -0
  243. data/rbi/moonbase/models/social_linked_in_value.rbi +30 -23
  244. data/rbi/moonbase/models/social_x_field.rbi +150 -0
  245. data/rbi/moonbase/models/social_x_value.rbi +35 -23
  246. data/rbi/moonbase/models/stage_field.rbi +161 -0
  247. data/rbi/moonbase/models/subscription.rbi +155 -0
  248. data/rbi/moonbase/models/tagset.rbi +22 -62
  249. data/rbi/moonbase/models/telephone_number.rbi +11 -6
  250. data/rbi/moonbase/models/telephone_number_field.rbi +158 -0
  251. data/rbi/moonbase/models/url_field.rbi +148 -0
  252. data/rbi/moonbase/models/url_value.rbi +15 -6
  253. data/rbi/moonbase/models/value.rbi +2 -2
  254. data/rbi/moonbase/models/value_param.rbi +221 -0
  255. data/rbi/moonbase/models/view.rbi +28 -60
  256. data/rbi/moonbase/models/webhook_endpoint_create_params.rbi +269 -0
  257. data/rbi/moonbase/models/{item_retrieve_params.rbi → webhook_endpoint_delete_params.rbi} +5 -2
  258. data/rbi/moonbase/models/webhook_endpoint_list_params.rbi +81 -0
  259. data/rbi/moonbase/models/{item_delete_params.rbi → webhook_endpoint_retrieve_params.rbi} +5 -2
  260. data/rbi/moonbase/models/webhook_endpoint_update_params.rbi +294 -0
  261. data/rbi/moonbase/models.rbi +121 -11
  262. data/rbi/moonbase/resources/calls.rbi +56 -5
  263. data/rbi/moonbase/resources/collections/fields.rbi +1 -1
  264. data/rbi/moonbase/resources/collections/items.rbi +358 -0
  265. data/rbi/moonbase/resources/collections.rbi +4 -2
  266. data/rbi/moonbase/resources/forms.rbi +0 -8
  267. data/rbi/moonbase/resources/funnels.rbi +12 -0
  268. data/rbi/moonbase/resources/inbox_conversations.rbi +4 -5
  269. data/rbi/moonbase/resources/inbox_messages.rbi +2 -6
  270. data/rbi/moonbase/resources/inboxes.rbi +2 -0
  271. data/rbi/moonbase/resources/program_messages.rbi +3 -3
  272. data/rbi/moonbase/resources/webhook_endpoints.rbi +114 -0
  273. data/sig/moonbase/client.rbs +16 -14
  274. data/sig/moonbase/internal/transport/base_client.rbs +1 -1
  275. data/sig/moonbase/internal/type/converter.rbs +17 -0
  276. data/sig/moonbase/internal/type/union.rbs +2 -2
  277. data/sig/moonbase/models/activity.rbs +17 -966
  278. data/sig/moonbase/models/activity_call_occurred.rbs +35 -0
  279. data/sig/moonbase/models/activity_form_submitted.rbs +35 -0
  280. data/sig/moonbase/models/activity_inbox_message_sent.rbs +35 -0
  281. data/sig/moonbase/models/activity_item_created.rbs +35 -0
  282. data/sig/moonbase/models/activity_item_mentioned.rbs +45 -0
  283. data/sig/moonbase/models/activity_item_merged.rbs +45 -0
  284. data/sig/moonbase/models/activity_meeting_held.rbs +35 -0
  285. data/sig/moonbase/models/activity_meeting_scheduled.rbs +35 -0
  286. data/sig/moonbase/models/activity_note_created.rbs +45 -0
  287. data/sig/moonbase/models/activity_program_message_bounced.rbs +54 -0
  288. data/sig/moonbase/models/activity_program_message_clicked.rbs +54 -0
  289. data/sig/moonbase/models/activity_program_message_complained.rbs +40 -0
  290. data/sig/moonbase/models/activity_program_message_failed.rbs +47 -0
  291. data/sig/moonbase/models/activity_program_message_opened.rbs +40 -0
  292. data/sig/moonbase/models/activity_program_message_sent.rbs +47 -0
  293. data/sig/moonbase/models/activity_program_message_shielded.rbs +47 -0
  294. data/sig/moonbase/models/activity_program_message_unsubscribed.rbs +47 -0
  295. data/sig/moonbase/models/address.rbs +16 -43
  296. data/sig/moonbase/models/attendee.rbs +14 -31
  297. data/sig/moonbase/models/boolean_field.rbs +83 -0
  298. data/sig/moonbase/models/boolean_value.rbs +4 -4
  299. data/sig/moonbase/models/call.rbs +31 -70
  300. data/sig/moonbase/models/call_create_params.rbs +85 -38
  301. data/sig/moonbase/models/call_upsert_params.rbs +199 -0
  302. data/sig/moonbase/models/choice_field.rbs +88 -0
  303. data/sig/moonbase/models/choice_field_option.rbs +22 -0
  304. data/sig/moonbase/models/choice_value.rbs +22 -0
  305. data/sig/moonbase/models/choice_value_param.rbs +30 -0
  306. data/sig/moonbase/models/collection.rbs +13 -34
  307. data/sig/moonbase/models/collection_pointer.rbs +17 -0
  308. data/sig/moonbase/models/collection_retrieve_params.rbs +1 -2
  309. data/sig/moonbase/models/collections/item_create_params.rbs +26 -0
  310. data/sig/moonbase/models/collections/item_delete_params.rbs +25 -0
  311. data/sig/moonbase/models/collections/item_list_params.rbs +40 -0
  312. data/sig/moonbase/models/collections/item_retrieve_params.rbs +25 -0
  313. data/sig/moonbase/models/collections/item_update_params.rbs +74 -0
  314. data/sig/moonbase/models/collections/item_upsert_params.rbs +74 -0
  315. data/sig/moonbase/models/date_field.rbs +83 -0
  316. data/sig/moonbase/models/date_value.rbs +4 -4
  317. data/sig/moonbase/models/datetime_field.rbs +83 -0
  318. data/sig/moonbase/models/datetime_value.rbs +4 -4
  319. data/sig/moonbase/models/domain_field.rbs +83 -0
  320. data/sig/moonbase/models/domain_value.rbs +4 -4
  321. data/sig/moonbase/models/email_field.rbs +83 -0
  322. data/sig/moonbase/models/email_message.rbs +49 -131
  323. data/sig/moonbase/models/email_value.rbs +4 -4
  324. data/sig/moonbase/models/endpoint.rbs +68 -0
  325. data/sig/moonbase/models/field.rbs +24 -260
  326. data/sig/moonbase/models/field_value.rbs +2 -2
  327. data/sig/moonbase/models/field_value_param.rbs +109 -0
  328. data/sig/moonbase/models/float_field.rbs +83 -0
  329. data/sig/moonbase/models/float_value.rbs +4 -4
  330. data/sig/moonbase/models/form.rbs +15 -40
  331. data/sig/moonbase/models/form_list_params.rbs +1 -24
  332. data/sig/moonbase/models/form_retrieve_params.rbs +3 -26
  333. data/sig/moonbase/models/formatted_text.rbs +15 -0
  334. data/sig/moonbase/models/funnel.rbs +26 -0
  335. data/sig/moonbase/models/funnel_step.rbs +27 -18
  336. data/sig/moonbase/models/funnel_step_value.rbs +19 -0
  337. data/sig/moonbase/models/funnel_step_value_param.rbs +33 -0
  338. data/sig/moonbase/models/geo_field.rbs +83 -0
  339. data/sig/moonbase/models/geo_value.rbs +4 -4
  340. data/sig/moonbase/models/inbox.rbs +10 -33
  341. data/sig/moonbase/models/inbox_conversation.rbs +48 -82
  342. data/sig/moonbase/models/inbox_conversation_list_params.rbs +65 -8
  343. data/sig/moonbase/models/inbox_conversation_retrieve_params.rbs +4 -3
  344. data/sig/moonbase/models/inbox_list_params.rbs +24 -1
  345. data/sig/moonbase/models/inbox_message_list_params.rbs +61 -12
  346. data/sig/moonbase/models/integer_field.rbs +83 -0
  347. data/sig/moonbase/models/integer_value.rbs +4 -7
  348. data/sig/moonbase/models/item.rbs +4 -31
  349. data/sig/moonbase/models/item_pointer.rbs +26 -0
  350. data/sig/moonbase/models/meeting.rbs +22 -62
  351. data/sig/moonbase/models/monetary_field.rbs +83 -0
  352. data/sig/moonbase/models/monetary_value.rbs +9 -23
  353. data/sig/moonbase/models/moonbase_file.rbs +12 -28
  354. data/sig/moonbase/models/multi_line_text_field.rbs +83 -0
  355. data/sig/moonbase/models/multi_line_text_value.rbs +4 -4
  356. data/sig/moonbase/models/note.rbs +15 -36
  357. data/sig/moonbase/models/organizer.rbs +14 -31
  358. data/sig/moonbase/models/percentage_field.rbs +83 -0
  359. data/sig/moonbase/models/percentage_value.rbs +4 -8
  360. data/sig/moonbase/models/pointer.rbs +15 -0
  361. data/sig/moonbase/models/program.rbs +37 -78
  362. data/sig/moonbase/models/{program_message_create_response.rbs → program_message.rbs} +2 -17
  363. data/sig/moonbase/models/{program_message_create_params.rbs → program_message_send_params.rbs} +6 -6
  364. data/sig/moonbase/models/program_template.rbs +14 -37
  365. data/sig/moonbase/models/relation_field.rbs +99 -0
  366. data/sig/moonbase/models/relation_value.rbs +8 -4
  367. data/sig/moonbase/models/relation_value_param.rbs +33 -0
  368. data/sig/moonbase/models/single_line_text_field.rbs +83 -0
  369. data/sig/moonbase/models/single_line_text_value.rbs +4 -4
  370. data/sig/moonbase/models/social_linked_in_field.rbs +83 -0
  371. data/sig/moonbase/models/social_linked_in_value.rbs +9 -13
  372. data/sig/moonbase/models/social_x_field.rbs +83 -0
  373. data/sig/moonbase/models/social_x_value.rbs +9 -13
  374. data/sig/moonbase/models/stage_field.rbs +88 -0
  375. data/sig/moonbase/models/subscription.rbs +68 -0
  376. data/sig/moonbase/models/tagset.rbs +15 -38
  377. data/sig/moonbase/models/telephone_number.rbs +4 -11
  378. data/sig/moonbase/models/telephone_number_field.rbs +83 -0
  379. data/sig/moonbase/models/url_field.rbs +83 -0
  380. data/sig/moonbase/models/url_value.rbs +5 -5
  381. data/sig/moonbase/models/value.rbs +2 -2
  382. data/sig/moonbase/models/value_param.rbs +106 -0
  383. data/sig/moonbase/models/view.rbs +16 -33
  384. data/sig/moonbase/models/webhook_endpoint_create_params.rbs +111 -0
  385. data/sig/moonbase/models/{item_retrieve_params.rbs → webhook_endpoint_delete_params.rbs} +2 -2
  386. data/sig/moonbase/models/webhook_endpoint_list_params.rbs +38 -0
  387. data/sig/moonbase/models/{item_delete_params.rbs → webhook_endpoint_retrieve_params.rbs} +2 -2
  388. data/sig/moonbase/models/webhook_endpoint_update_params.rbs +124 -0
  389. data/sig/moonbase/models.rbs +116 -12
  390. data/sig/moonbase/resources/calls.rbs +18 -1
  391. data/sig/moonbase/resources/collections/fields.rbs +1 -1
  392. data/sig/moonbase/resources/collections/items.rbs +53 -0
  393. data/sig/moonbase/resources/collections.rbs +2 -0
  394. data/sig/moonbase/resources/forms.rbs +0 -2
  395. data/sig/moonbase/resources/funnels.rbs +7 -0
  396. data/sig/moonbase/resources/inbox_conversations.rbs +1 -1
  397. data/sig/moonbase/resources/inbox_messages.rbs +1 -2
  398. data/sig/moonbase/resources/inboxes.rbs +1 -0
  399. data/sig/moonbase/resources/program_messages.rbs +3 -3
  400. data/sig/moonbase/resources/webhook_endpoints.rbs +36 -0
  401. metadata +206 -29
  402. data/lib/moonbase/models/choice.rb +0 -46
  403. data/lib/moonbase/models/item_create_params.rb +0 -30
  404. data/lib/moonbase/models/item_update_params.rb +0 -61
  405. data/lib/moonbase/models/item_upsert_params.rb +0 -78
  406. data/lib/moonbase/resources/items.rb +0 -142
  407. data/rbi/moonbase/models/choice.rbi +0 -65
  408. data/rbi/moonbase/models/item_create_params.rbi +0 -135
  409. data/rbi/moonbase/models/item_update_params.rbi +0 -236
  410. data/rbi/moonbase/models/item_upsert_params.rbi +0 -338
  411. data/rbi/moonbase/resources/items.rbi +0 -234
  412. data/sig/moonbase/models/choice.rbs +0 -41
  413. data/sig/moonbase/models/item_create_params.rbs +0 -31
  414. data/sig/moonbase/models/item_update_params.rbs +0 -67
  415. data/sig/moonbase/models/item_upsert_params.rbs +0 -77
  416. data/sig/moonbase/resources/items.rbs +0 -40
@@ -10,6 +10,12 @@ module Moonbase
10
10
  # @return [String]
11
11
  required :id, String
12
12
 
13
+ # @!attribute created_at
14
+ # Time at which the object was created, as an ISO 8601 timestamp in UTC.
15
+ #
16
+ # @return [Time]
17
+ required :created_at, Time
18
+
13
19
  # @!attribute direction
14
20
  # The direction of the call, either `incoming` or `outgoing`.
15
21
  #
@@ -34,38 +40,38 @@ module Moonbase
34
40
  # @return [String]
35
41
  required :provider_id, String
36
42
 
43
+ # @!attribute provider_status
44
+ # The current status of the call.
45
+ #
46
+ # @return [String]
47
+ required :provider_status, String
48
+
37
49
  # @!attribute start_at
38
- # The time the call started, as an RFC 3339 timestamp.
50
+ # The time the call started, as an ISO 8601 timestamp in UTC.
39
51
  #
40
52
  # @return [Time]
41
53
  required :start_at, Time
42
54
 
43
- # @!attribute status
44
- # The current status of the call.
45
- #
46
- # @return [Symbol, Moonbase::Models::Call::Status]
47
- required :status, enum: -> { Moonbase::Call::Status }
48
-
49
55
  # @!attribute type
50
56
  # String representing the object’s type. Always `call` for this object.
51
57
  #
52
58
  # @return [Symbol, :call]
53
59
  required :type, const: :call
54
60
 
55
- # @!attribute answered_at
56
- # The time the call was answered, if available, as an RFC 3339 timestamp.
61
+ # @!attribute updated_at
62
+ # Time at which the object was last updated, as an ISO 8601 timestamp in UTC.
57
63
  #
58
- # @return [Time, nil]
59
- optional :answered_at, Time
64
+ # @return [Time]
65
+ required :updated_at, Time
60
66
 
61
- # @!attribute created_at
62
- # Time at which the object was created, as an RFC 3339 timestamp.
67
+ # @!attribute answered_at
68
+ # The time the call was answered, if available, as an ISO 8601 timestamp in UTC.
63
69
  #
64
70
  # @return [Time, nil]
65
- optional :created_at, Time
71
+ optional :answered_at, Time
66
72
 
67
73
  # @!attribute end_at
68
- # The time the call ended, if available, as an RFC 3339 timestamp.
74
+ # The time the call ended, if available, as an ISO 8601 timestamp in UTC.
69
75
  #
70
76
  # @return [Time, nil]
71
77
  optional :end_at, Time
@@ -76,18 +82,14 @@ module Moonbase
76
82
  # @return [Hash{Symbol=>Object}, nil]
77
83
  optional :provider_metadata, Moonbase::Internal::Type::HashOf[Moonbase::Internal::Type::Unknown]
78
84
 
79
- # @!attribute updated_at
80
- # Time at which the object was last updated, as an RFC 3339 timestamp.
81
- #
82
- # @return [Time, nil]
83
- optional :updated_at, Time
84
-
85
- # @!method initialize(id:, direction:, participants:, provider:, provider_id:, start_at:, status:, answered_at: nil, created_at: nil, end_at: nil, provider_metadata: nil, updated_at: nil, type: :call)
85
+ # @!method initialize(id:, created_at:, direction:, participants:, provider:, provider_id:, provider_status:, start_at:, updated_at:, answered_at: nil, end_at: nil, provider_metadata: nil, type: :call)
86
86
  # The Call object represents a phone call that has been logged in the system. It
87
87
  # contains details about the participants, timing, and outcome of the call.
88
88
  #
89
89
  # @param id [String] Unique identifier for the object.
90
90
  #
91
+ # @param created_at [Time] Time at which the object was created, as an ISO 8601 timestamp in UTC.
92
+ #
91
93
  # @param direction [Symbol, Moonbase::Models::Call::Direction] The direction of the call, either `incoming` or `outgoing`.
92
94
  #
93
95
  # @param participants [Array<Moonbase::Models::Call::Participant>] The participants involved in the call.
@@ -96,20 +98,18 @@ module Moonbase
96
98
  #
97
99
  # @param provider_id [String] The unique identifier for the call from the provider's system.
98
100
  #
99
- # @param start_at [Time] The time the call started, as an RFC 3339 timestamp.
101
+ # @param provider_status [String] The current status of the call.
100
102
  #
101
- # @param status [Symbol, Moonbase::Models::Call::Status] The current status of the call.
103
+ # @param start_at [Time] The time the call started, as an ISO 8601 timestamp in UTC.
102
104
  #
103
- # @param answered_at [Time] The time the call was answered, if available, as an RFC 3339 timestamp.
105
+ # @param updated_at [Time] Time at which the object was last updated, as an ISO 8601 timestamp in UTC.
104
106
  #
105
- # @param created_at [Time] Time at which the object was created, as an RFC 3339 timestamp.
107
+ # @param answered_at [Time] The time the call was answered, if available, as an ISO 8601 timestamp in UTC.
106
108
  #
107
- # @param end_at [Time] The time the call ended, if available, as an RFC 3339 timestamp.
109
+ # @param end_at [Time] The time the call ended, if available, as an ISO 8601 timestamp in UTC.
108
110
  #
109
111
  # @param provider_metadata [Hash{Symbol=>Object}] A hash of additional metadata from the provider.
110
112
  #
111
- # @param updated_at [Time] Time at which the object was last updated, as an RFC 3339 timestamp.
112
- #
113
113
  # @param type [Symbol, :call] String representing the object’s type. Always `call` for this object.
114
114
 
115
115
  # The direction of the call, either `incoming` or `outgoing`.
@@ -145,24 +145,28 @@ module Moonbase
145
145
  required :role, enum: -> { Moonbase::Call::Participant::Role }
146
146
 
147
147
  # @!attribute type
148
- # String representing the object’s type. Always `participant` for this object.
148
+ # String representing the object’s type. Always `call_participant` for this
149
+ # object.
149
150
  #
150
- # @return [Symbol, :participant]
151
- required :type, const: :participant
151
+ # @return [Symbol, :call_participant]
152
+ required :type, const: :call_participant
152
153
 
153
- # @!attribute created_at
154
- # Time at which the object was created, as an RFC 3339 timestamp.
154
+ # @!attribute organization
155
+ # A lightweight reference to another resource.
155
156
  #
156
- # @return [Time, nil]
157
- optional :created_at, Time
157
+ # @return [Moonbase::Models::Pointer, nil]
158
+ optional :organization, -> { Moonbase::Pointer }
158
159
 
159
- # @!attribute updated_at
160
- # Time at which the object was last updated, as an RFC 3339 timestamp.
160
+ # @!attribute person
161
+ # A lightweight reference to another resource.
161
162
  #
162
- # @return [Time, nil]
163
- optional :updated_at, Time
163
+ # @return [Moonbase::Models::Pointer, nil]
164
+ optional :person, -> { Moonbase::Pointer }
164
165
 
165
- # @!method initialize(id:, phone:, role:, created_at: nil, updated_at: nil, type: :participant)
166
+ # @!method initialize(id:, phone:, role:, organization: nil, person: nil, type: :call_participant)
167
+ # Some parameter documentations has been truncated, see
168
+ # {Moonbase::Models::Call::Participant} for more details.
169
+ #
166
170
  # Represents a participant in a call.
167
171
  #
168
172
  # @param id [String] Unique identifier for the object.
@@ -171,11 +175,11 @@ module Moonbase
171
175
  #
172
176
  # @param role [Symbol, Moonbase::Models::Call::Participant::Role] The role of the participant in the call. Can be `caller`, `callee`, or `other`.
173
177
  #
174
- # @param created_at [Time] Time at which the object was created, as an RFC 3339 timestamp.
178
+ # @param organization [Moonbase::Models::Pointer] A lightweight reference to another resource.
175
179
  #
176
- # @param updated_at [Time] Time at which the object was last updated, as an RFC 3339 timestamp.
180
+ # @param person [Moonbase::Models::Pointer] A lightweight reference to another resource.
177
181
  #
178
- # @param type [Symbol, :participant] String representing the object’s type. Always `participant` for this object.
182
+ # @param type [Symbol, :call_participant] String representing the object’s type. Always `call_participant` for this object
179
183
 
180
184
  # The role of the participant in the call. Can be `caller`, `callee`, or `other`.
181
185
  #
@@ -191,30 +195,6 @@ module Moonbase
191
195
  # @return [Array<Symbol>]
192
196
  end
193
197
  end
194
-
195
- # The current status of the call.
196
- #
197
- # @see Moonbase::Models::Call#status
198
- module Status
199
- extend Moonbase::Internal::Type::Enum
200
-
201
- QUEUED = :queued
202
- INITIATED = :initiated
203
- RINGING = :ringing
204
- IN_PROGRESS = :in_progress
205
- COMPLETED = :completed
206
- BUSY = :busy
207
- FAILED = :failed
208
- NO_ANSWER = :no_answer
209
- CANCELED = :canceled
210
- MISSED = :missed
211
- ANSWERED = :answered
212
- FORWARDED = :forwarded
213
- ABANDONED = :abandoned
214
-
215
- # @!method self.values
216
- # @return [Array<Symbol>]
217
- end
218
198
  end
219
199
  end
220
200
  end
@@ -17,10 +17,7 @@ module Moonbase
17
17
  # An array of participants involved in the call.
18
18
  #
19
19
  # @return [Array<Moonbase::Models::CallCreateParams::Participant>]
20
- required :participants,
21
- -> {
22
- Moonbase::Internal::Type::ArrayOf[Moonbase::CallCreateParams::Participant]
23
- }
20
+ required :participants, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallCreateParams::Participant] }
24
21
 
25
22
  # @!attribute provider
26
23
  # The name of the phone provider that handled the call (e.g., `openphone`).
@@ -34,26 +31,26 @@ module Moonbase
34
31
  # @return [String]
35
32
  required :provider_id, String
36
33
 
34
+ # @!attribute provider_status
35
+ # The status of the call.
36
+ #
37
+ # @return [String]
38
+ required :provider_status, String
39
+
37
40
  # @!attribute start_at
38
- # The time the call started, as an RFC 3339 timestamp.
41
+ # The time the call started, as an ISO 8601 timestamp in UTC.
39
42
  #
40
43
  # @return [Time]
41
44
  required :start_at, Time
42
45
 
43
- # @!attribute status
44
- # The status of the call.
45
- #
46
- # @return [Symbol, Moonbase::Models::CallCreateParams::Status]
47
- required :status, enum: -> { Moonbase::CallCreateParams::Status }
48
-
49
46
  # @!attribute answered_at
50
- # The time the call was answered, as an RFC 3339 timestamp.
47
+ # The time the call was answered, as an ISO 8601 timestamp in UTC.
51
48
  #
52
49
  # @return [Time, nil]
53
50
  optional :answered_at, Time
54
51
 
55
52
  # @!attribute end_at
56
- # The time the call ended, as an RFC 3339 timestamp.
53
+ # The time the call ended, as an ISO 8601 timestamp in UTC.
57
54
  #
58
55
  # @return [Time, nil]
59
56
  optional :end_at, Time
@@ -64,7 +61,19 @@ module Moonbase
64
61
  # @return [Hash{Symbol=>Object}, nil]
65
62
  optional :provider_metadata, Moonbase::Internal::Type::HashOf[Moonbase::Internal::Type::Unknown]
66
63
 
67
- # @!method initialize(direction:, participants:, provider:, provider_id:, start_at:, status:, answered_at: nil, end_at: nil, provider_metadata: nil, request_options: {})
64
+ # @!attribute recordings
65
+ # Any recordings associated with the call.
66
+ #
67
+ # @return [Array<Moonbase::Models::CallCreateParams::Recording>, nil]
68
+ optional :recordings, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallCreateParams::Recording] }
69
+
70
+ # @!attribute transcript
71
+ # A transcript of the call.
72
+ #
73
+ # @return [Moonbase::Models::CallCreateParams::Transcript, nil]
74
+ optional :transcript, -> { Moonbase::CallCreateParams::Transcript }
75
+
76
+ # @!method initialize(direction:, participants:, provider:, provider_id:, provider_status:, start_at:, answered_at: nil, end_at: nil, provider_metadata: nil, recordings: nil, transcript: nil, request_options: {})
68
77
  # @param direction [Symbol, Moonbase::Models::CallCreateParams::Direction] The direction of the call, either `incoming` or `outgoing`.
69
78
  #
70
79
  # @param participants [Array<Moonbase::Models::CallCreateParams::Participant>] An array of participants involved in the call.
@@ -73,16 +82,20 @@ module Moonbase
73
82
  #
74
83
  # @param provider_id [String] The unique identifier for the call from the provider's system.
75
84
  #
76
- # @param start_at [Time] The time the call started, as an RFC 3339 timestamp.
85
+ # @param provider_status [String] The status of the call.
77
86
  #
78
- # @param status [Symbol, Moonbase::Models::CallCreateParams::Status] The status of the call.
87
+ # @param start_at [Time] The time the call started, as an ISO 8601 timestamp in UTC.
79
88
  #
80
- # @param answered_at [Time] The time the call was answered, as an RFC 3339 timestamp.
89
+ # @param answered_at [Time] The time the call was answered, as an ISO 8601 timestamp in UTC.
81
90
  #
82
- # @param end_at [Time] The time the call ended, as an RFC 3339 timestamp.
91
+ # @param end_at [Time] The time the call ended, as an ISO 8601 timestamp in UTC.
83
92
  #
84
93
  # @param provider_metadata [Hash{Symbol=>Object}] A hash of additional metadata from the provider.
85
94
  #
95
+ # @param recordings [Array<Moonbase::Models::CallCreateParams::Recording>] Any recordings associated with the call.
96
+ #
97
+ # @param transcript [Moonbase::Models::CallCreateParams::Transcript] A transcript of the call.
98
+ #
86
99
  # @param request_options [Moonbase::RequestOptions, Hash{Symbol=>Object}]
87
100
 
88
101
  # The direction of the call, either `incoming` or `outgoing`.
@@ -131,26 +144,92 @@ module Moonbase
131
144
  end
132
145
  end
133
146
 
134
- # The status of the call.
135
- module Status
136
- extend Moonbase::Internal::Type::Enum
147
+ class Recording < Moonbase::Internal::Type::BaseModel
148
+ # @!attribute content_type
149
+ # The content type of the recording. Note that only `audio/mpeg` is supported at
150
+ # this time.
151
+ #
152
+ # @return [String]
153
+ required :content_type, String
154
+
155
+ # @!attribute provider_id
156
+ # The unique identifier for the recording from the provider's system.
157
+ #
158
+ # @return [String]
159
+ required :provider_id, String
137
160
 
138
- QUEUED = :queued
139
- INITIATED = :initiated
140
- RINGING = :ringing
141
- IN_PROGRESS = :in_progress
142
- COMPLETED = :completed
143
- BUSY = :busy
144
- FAILED = :failed
145
- NO_ANSWER = :no_answer
146
- CANCELED = :canceled
147
- MISSED = :missed
148
- ANSWERED = :answered
149
- FORWARDED = :forwarded
150
- ABANDONED = :abandoned
161
+ # @!attribute url
162
+ # The URL pointing to the recording.
163
+ #
164
+ # @return [String]
165
+ required :url, String
151
166
 
152
- # @!method self.values
153
- # @return [Array<Symbol>]
167
+ # @!method initialize(content_type:, provider_id:, url:)
168
+ # Some parameter documentations has been truncated, see
169
+ # {Moonbase::Models::CallCreateParams::Recording} for more details.
170
+ #
171
+ # Parameters for creating a `CallRecording` object.
172
+ #
173
+ # @param content_type [String] The content type of the recording. Note that only `audio/mpeg` is supported at t
174
+ #
175
+ # @param provider_id [String] The unique identifier for the recording from the provider's system.
176
+ #
177
+ # @param url [String] The URL pointing to the recording.
178
+ end
179
+
180
+ class Transcript < Moonbase::Internal::Type::BaseModel
181
+ # @!attribute cues
182
+ # A list of cues that identify the text spoken in specific time slices of the
183
+ # call.
184
+ #
185
+ # @return [Array<Moonbase::Models::CallCreateParams::Transcript::Cue>]
186
+ required :cues, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallCreateParams::Transcript::Cue] }
187
+
188
+ # @!method initialize(cues:)
189
+ # Some parameter documentations has been truncated, see
190
+ # {Moonbase::Models::CallCreateParams::Transcript} for more details.
191
+ #
192
+ # A transcript of the call.
193
+ #
194
+ # @param cues [Array<Moonbase::Models::CallCreateParams::Transcript::Cue>] A list of cues that identify the text spoken in specific time slices of the call
195
+
196
+ class Cue < Moonbase::Internal::Type::BaseModel
197
+ # @!attribute from
198
+ # The start time of the slice, in fractional seconds from the start of the call.
199
+ #
200
+ # @return [Float]
201
+ required :from, Float
202
+
203
+ # @!attribute speaker
204
+ # The E.164 formatted phone number of the speaker.
205
+ #
206
+ # @return [String]
207
+ required :speaker, String
208
+
209
+ # @!attribute text
210
+ # The text spoken during the slice.
211
+ #
212
+ # @return [String]
213
+ required :text, String
214
+
215
+ # @!attribute to
216
+ # The end time of the slice, in fractional seconds from the start of the call.
217
+ #
218
+ # @return [Float]
219
+ required :to, Float
220
+
221
+ # @!method initialize(from:, speaker:, text:, to:)
222
+ # Parameters for creating a `CallTranscriptCue` object to capture the text spoken
223
+ # in a specific time slice.
224
+ #
225
+ # @param from [Float] The start time of the slice, in fractional seconds from the start of the call.
226
+ #
227
+ # @param speaker [String] The E.164 formatted phone number of the speaker.
228
+ #
229
+ # @param text [String] The text spoken during the slice.
230
+ #
231
+ # @param to [Float] The end time of the slice, in fractional seconds from the start of the call.
232
+ end
154
233
  end
155
234
  end
156
235
  end
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Models
5
+ # @see Moonbase::Resources::Calls#upsert
6
+ class CallUpsertParams < Moonbase::Internal::Type::BaseModel
7
+ extend Moonbase::Internal::Type::RequestParameters::Converter
8
+ include Moonbase::Internal::Type::RequestParameters
9
+
10
+ # @!attribute direction
11
+ # The direction of the call, either `incoming` or `outgoing`.
12
+ #
13
+ # @return [Symbol, Moonbase::Models::CallUpsertParams::Direction]
14
+ required :direction, enum: -> { Moonbase::CallUpsertParams::Direction }
15
+
16
+ # @!attribute participants
17
+ # An array of participants involved in the call.
18
+ #
19
+ # @return [Array<Moonbase::Models::CallUpsertParams::Participant>]
20
+ required :participants, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallUpsertParams::Participant] }
21
+
22
+ # @!attribute provider
23
+ # The name of the phone provider that handled the call (e.g., `openphone`).
24
+ #
25
+ # @return [String]
26
+ required :provider, String
27
+
28
+ # @!attribute provider_id
29
+ # The unique identifier for the call from the provider's system.
30
+ #
31
+ # @return [String]
32
+ required :provider_id, String
33
+
34
+ # @!attribute provider_status
35
+ # The status of the call.
36
+ #
37
+ # @return [String]
38
+ required :provider_status, String
39
+
40
+ # @!attribute start_at
41
+ # The time the call started, as an ISO 8601 timestamp in UTC.
42
+ #
43
+ # @return [Time]
44
+ required :start_at, Time
45
+
46
+ # @!attribute answered_at
47
+ # The time the call was answered, as an ISO 8601 timestamp in UTC.
48
+ #
49
+ # @return [Time, nil]
50
+ optional :answered_at, Time
51
+
52
+ # @!attribute end_at
53
+ # The time the call ended, as an ISO 8601 timestamp in UTC.
54
+ #
55
+ # @return [Time, nil]
56
+ optional :end_at, Time
57
+
58
+ # @!attribute provider_metadata
59
+ # A hash of additional metadata from the provider.
60
+ #
61
+ # @return [Hash{Symbol=>Object}, nil]
62
+ optional :provider_metadata, Moonbase::Internal::Type::HashOf[Moonbase::Internal::Type::Unknown]
63
+
64
+ # @!attribute recordings
65
+ # Any recordings associated with the call.
66
+ #
67
+ # @return [Array<Moonbase::Models::CallUpsertParams::Recording>, nil]
68
+ optional :recordings, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallUpsertParams::Recording] }
69
+
70
+ # @!attribute transcript
71
+ # A transcript of the call.
72
+ #
73
+ # @return [Moonbase::Models::CallUpsertParams::Transcript, nil]
74
+ optional :transcript, -> { Moonbase::CallUpsertParams::Transcript }
75
+
76
+ # @!method initialize(direction:, participants:, provider:, provider_id:, provider_status:, start_at:, answered_at: nil, end_at: nil, provider_metadata: nil, recordings: nil, transcript: nil, request_options: {})
77
+ # @param direction [Symbol, Moonbase::Models::CallUpsertParams::Direction] The direction of the call, either `incoming` or `outgoing`.
78
+ #
79
+ # @param participants [Array<Moonbase::Models::CallUpsertParams::Participant>] An array of participants involved in the call.
80
+ #
81
+ # @param provider [String] The name of the phone provider that handled the call (e.g., `openphone`).
82
+ #
83
+ # @param provider_id [String] The unique identifier for the call from the provider's system.
84
+ #
85
+ # @param provider_status [String] The status of the call.
86
+ #
87
+ # @param start_at [Time] The time the call started, as an ISO 8601 timestamp in UTC.
88
+ #
89
+ # @param answered_at [Time] The time the call was answered, as an ISO 8601 timestamp in UTC.
90
+ #
91
+ # @param end_at [Time] The time the call ended, as an ISO 8601 timestamp in UTC.
92
+ #
93
+ # @param provider_metadata [Hash{Symbol=>Object}] A hash of additional metadata from the provider.
94
+ #
95
+ # @param recordings [Array<Moonbase::Models::CallUpsertParams::Recording>] Any recordings associated with the call.
96
+ #
97
+ # @param transcript [Moonbase::Models::CallUpsertParams::Transcript] A transcript of the call.
98
+ #
99
+ # @param request_options [Moonbase::RequestOptions, Hash{Symbol=>Object}]
100
+
101
+ # The direction of the call, either `incoming` or `outgoing`.
102
+ module Direction
103
+ extend Moonbase::Internal::Type::Enum
104
+
105
+ INCOMING = :incoming
106
+ OUTGOING = :outgoing
107
+
108
+ # @!method self.values
109
+ # @return [Array<Symbol>]
110
+ end
111
+
112
+ class Participant < Moonbase::Internal::Type::BaseModel
113
+ # @!attribute phone
114
+ # The E.164 formatted phone number of the participant.
115
+ #
116
+ # @return [String]
117
+ required :phone, String
118
+
119
+ # @!attribute role
120
+ # The role of the participant in the call. Can be `caller`, `callee`, or `other`.
121
+ #
122
+ # @return [Symbol, Moonbase::Models::CallUpsertParams::Participant::Role]
123
+ required :role, enum: -> { Moonbase::CallUpsertParams::Participant::Role }
124
+
125
+ # @!method initialize(phone:, role:)
126
+ # Parameters for creating a `Participant` object.
127
+ #
128
+ # @param phone [String] The E.164 formatted phone number of the participant.
129
+ #
130
+ # @param role [Symbol, Moonbase::Models::CallUpsertParams::Participant::Role] The role of the participant in the call. Can be `caller`, `callee`, or `other`.
131
+
132
+ # The role of the participant in the call. Can be `caller`, `callee`, or `other`.
133
+ #
134
+ # @see Moonbase::Models::CallUpsertParams::Participant#role
135
+ module Role
136
+ extend Moonbase::Internal::Type::Enum
137
+
138
+ CALLER = :caller
139
+ CALLEE = :callee
140
+ OTHER = :other
141
+
142
+ # @!method self.values
143
+ # @return [Array<Symbol>]
144
+ end
145
+ end
146
+
147
+ class Recording < Moonbase::Internal::Type::BaseModel
148
+ # @!attribute content_type
149
+ # The content type of the recording. Note that only `audio/mpeg` is supported at
150
+ # this time.
151
+ #
152
+ # @return [String]
153
+ required :content_type, String
154
+
155
+ # @!attribute provider_id
156
+ # The unique identifier for the recording from the provider's system.
157
+ #
158
+ # @return [String]
159
+ required :provider_id, String
160
+
161
+ # @!attribute url
162
+ # The URL pointing to the recording.
163
+ #
164
+ # @return [String]
165
+ required :url, String
166
+
167
+ # @!method initialize(content_type:, provider_id:, url:)
168
+ # Some parameter documentations has been truncated, see
169
+ # {Moonbase::Models::CallUpsertParams::Recording} for more details.
170
+ #
171
+ # Parameters for creating a `CallRecording` object.
172
+ #
173
+ # @param content_type [String] The content type of the recording. Note that only `audio/mpeg` is supported at t
174
+ #
175
+ # @param provider_id [String] The unique identifier for the recording from the provider's system.
176
+ #
177
+ # @param url [String] The URL pointing to the recording.
178
+ end
179
+
180
+ class Transcript < Moonbase::Internal::Type::BaseModel
181
+ # @!attribute cues
182
+ # A list of cues that identify the text spoken in specific time slices of the
183
+ # call.
184
+ #
185
+ # @return [Array<Moonbase::Models::CallUpsertParams::Transcript::Cue>]
186
+ required :cues, -> { Moonbase::Internal::Type::ArrayOf[Moonbase::CallUpsertParams::Transcript::Cue] }
187
+
188
+ # @!method initialize(cues:)
189
+ # Some parameter documentations has been truncated, see
190
+ # {Moonbase::Models::CallUpsertParams::Transcript} for more details.
191
+ #
192
+ # A transcript of the call.
193
+ #
194
+ # @param cues [Array<Moonbase::Models::CallUpsertParams::Transcript::Cue>] A list of cues that identify the text spoken in specific time slices of the call
195
+
196
+ class Cue < Moonbase::Internal::Type::BaseModel
197
+ # @!attribute from
198
+ # The start time of the slice, in fractional seconds from the start of the call.
199
+ #
200
+ # @return [Float]
201
+ required :from, Float
202
+
203
+ # @!attribute speaker
204
+ # The E.164 formatted phone number of the speaker.
205
+ #
206
+ # @return [String]
207
+ required :speaker, String
208
+
209
+ # @!attribute text
210
+ # The text spoken during the slice.
211
+ #
212
+ # @return [String]
213
+ required :text, String
214
+
215
+ # @!attribute to
216
+ # The end time of the slice, in fractional seconds from the start of the call.
217
+ #
218
+ # @return [Float]
219
+ required :to, Float
220
+
221
+ # @!method initialize(from:, speaker:, text:, to:)
222
+ # Parameters for creating a `CallTranscriptCue` object to capture the text spoken
223
+ # in a specific time slice.
224
+ #
225
+ # @param from [Float] The start time of the slice, in fractional seconds from the start of the call.
226
+ #
227
+ # @param speaker [String] The E.164 formatted phone number of the speaker.
228
+ #
229
+ # @param text [String] The text spoken during the slice.
230
+ #
231
+ # @param to [Float] The end time of the slice, in fractional seconds from the start of the call.
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end