moonbase-sdk 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3

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