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
@@ -29,19 +29,13 @@ module Moonbase
29
29
  sig { params(before: String).void }
30
30
  attr_writer :before
31
31
 
32
- # Filter messages by one or more conversation IDs.
33
- sig { returns(T.nilable(T::Array[String])) }
34
- attr_reader :conversation
32
+ sig { returns(T.nilable(Moonbase::InboxMessageListParams::Filter)) }
33
+ attr_reader :filter
35
34
 
36
- sig { params(conversation: T::Array[String]).void }
37
- attr_writer :conversation
38
-
39
- # Filter messages by one or more inbox IDs.
40
- sig { returns(T.nilable(T::Array[String])) }
41
- attr_reader :inbox
42
-
43
- sig { params(inbox: T::Array[String]).void }
44
- attr_writer :inbox
35
+ sig do
36
+ params(filter: Moonbase::InboxMessageListParams::Filter::OrHash).void
37
+ end
38
+ attr_writer :filter
45
39
 
46
40
  # Specifies which related objects to include in the response. Valid options are
47
41
  # `addresses`, `attachments`, and `conversation`.
@@ -73,8 +67,7 @@ module Moonbase
73
67
  params(
74
68
  after: String,
75
69
  before: String,
76
- conversation: T::Array[String],
77
- inbox: T::Array[String],
70
+ filter: Moonbase::InboxMessageListParams::Filter::OrHash,
78
71
  include:
79
72
  T::Array[Moonbase::InboxMessageListParams::Include::OrSymbol],
80
73
  limit: Integer,
@@ -90,10 +83,7 @@ module Moonbase
90
83
  # by this cursor. Use the cursor value from the response's metadata to fetch the
91
84
  # previous page of results.
92
85
  before: nil,
93
- # Filter messages by one or more conversation IDs.
94
- conversation: nil,
95
- # Filter messages by one or more inbox IDs.
96
- inbox: nil,
86
+ filter: nil,
97
87
  # Specifies which related objects to include in the response. Valid options are
98
88
  # `addresses`, `attachments`, and `conversation`.
99
89
  include: nil,
@@ -109,8 +99,7 @@ module Moonbase
109
99
  {
110
100
  after: String,
111
101
  before: String,
112
- conversation: T::Array[String],
113
- inbox: T::Array[String],
102
+ filter: Moonbase::InboxMessageListParams::Filter,
114
103
  include:
115
104
  T::Array[Moonbase::InboxMessageListParams::Include::OrSymbol],
116
105
  limit: Integer,
@@ -121,6 +110,113 @@ module Moonbase
121
110
  def to_hash
122
111
  end
123
112
 
113
+ class Filter < Moonbase::Internal::Type::BaseModel
114
+ OrHash =
115
+ T.type_alias do
116
+ T.any(
117
+ Moonbase::InboxMessageListParams::Filter,
118
+ Moonbase::Internal::AnyHash
119
+ )
120
+ end
121
+
122
+ sig do
123
+ returns(
124
+ T.nilable(Moonbase::InboxMessageListParams::Filter::ConversationID)
125
+ )
126
+ end
127
+ attr_reader :conversation_id
128
+
129
+ sig do
130
+ params(
131
+ conversation_id:
132
+ Moonbase::InboxMessageListParams::Filter::ConversationID::OrHash
133
+ ).void
134
+ end
135
+ attr_writer :conversation_id
136
+
137
+ sig do
138
+ returns(T.nilable(Moonbase::InboxMessageListParams::Filter::InboxID))
139
+ end
140
+ attr_reader :inbox_id
141
+
142
+ sig do
143
+ params(
144
+ inbox_id: Moonbase::InboxMessageListParams::Filter::InboxID::OrHash
145
+ ).void
146
+ end
147
+ attr_writer :inbox_id
148
+
149
+ sig do
150
+ params(
151
+ conversation_id:
152
+ Moonbase::InboxMessageListParams::Filter::ConversationID::OrHash,
153
+ inbox_id: Moonbase::InboxMessageListParams::Filter::InboxID::OrHash
154
+ ).returns(T.attached_class)
155
+ end
156
+ def self.new(conversation_id: nil, inbox_id: nil)
157
+ end
158
+
159
+ sig do
160
+ override.returns(
161
+ {
162
+ conversation_id:
163
+ Moonbase::InboxMessageListParams::Filter::ConversationID,
164
+ inbox_id: Moonbase::InboxMessageListParams::Filter::InboxID
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ class ConversationID < Moonbase::Internal::Type::BaseModel
172
+ OrHash =
173
+ T.type_alias do
174
+ T.any(
175
+ Moonbase::InboxMessageListParams::Filter::ConversationID,
176
+ Moonbase::Internal::AnyHash
177
+ )
178
+ end
179
+
180
+ sig { returns(T.nilable(String)) }
181
+ attr_reader :eq
182
+
183
+ sig { params(eq: String).void }
184
+ attr_writer :eq
185
+
186
+ sig { params(eq: String).returns(T.attached_class) }
187
+ def self.new(eq: nil)
188
+ end
189
+
190
+ sig { override.returns({ eq: String }) }
191
+ def to_hash
192
+ end
193
+ end
194
+
195
+ class InboxID < Moonbase::Internal::Type::BaseModel
196
+ OrHash =
197
+ T.type_alias do
198
+ T.any(
199
+ Moonbase::InboxMessageListParams::Filter::InboxID,
200
+ Moonbase::Internal::AnyHash
201
+ )
202
+ end
203
+
204
+ sig { returns(T.nilable(String)) }
205
+ attr_reader :eq
206
+
207
+ sig { params(eq: String).void }
208
+ attr_writer :eq
209
+
210
+ sig { params(eq: String).returns(T.attached_class) }
211
+ def self.new(eq: nil)
212
+ end
213
+
214
+ sig { override.returns({ eq: String }) }
215
+ def to_hash
216
+ end
217
+ end
218
+ end
219
+
124
220
  module Include
125
221
  extend Moonbase::Internal::Type::Enum
126
222
 
@@ -0,0 +1,152 @@
1
+ # typed: strong
2
+
3
+ module Moonbase
4
+ module Models
5
+ class IntegerField < Moonbase::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Moonbase::IntegerField, 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::IntegerField::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., "Employee Count").
25
+ sig { returns(String) }
26
+ attr_accessor :name
27
+
28
+ # If `true`, the value of this field is system-managed and cannot be updated via
29
+ # the API.
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :readonly
32
+
33
+ # A unique, stable, machine-readable identifier for the field within its
34
+ # collection (e.g., `employee_count`).
35
+ sig { returns(String) }
36
+ attr_accessor :ref
37
+
38
+ # If `true`, this field must have a value.
39
+ sig { returns(T::Boolean) }
40
+ attr_accessor :required
41
+
42
+ # The data type of the field. Always `field/number/unitless_integer` for this
43
+ # field.
44
+ sig { returns(Symbol) }
45
+ attr_accessor :type
46
+
47
+ # If `true`, values for this field must be unique across all items in the
48
+ # collection.
49
+ sig { returns(T::Boolean) }
50
+ attr_accessor :unique
51
+
52
+ # Time at which the object was last updated, as an ISO 8601 timestamp in UTC.
53
+ sig { returns(Time) }
54
+ attr_accessor :updated_at
55
+
56
+ # An optional, longer-form description of the field's purpose.
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :description
59
+
60
+ sig { params(description: String).void }
61
+ attr_writer :description
62
+
63
+ # A field that stores whole numbers without decimal places.
64
+ sig do
65
+ params(
66
+ id: String,
67
+ cardinality: Moonbase::IntegerField::Cardinality::OrSymbol,
68
+ created_at: Time,
69
+ name: String,
70
+ readonly: T::Boolean,
71
+ ref: String,
72
+ required: T::Boolean,
73
+ unique: T::Boolean,
74
+ updated_at: Time,
75
+ description: String,
76
+ type: Symbol
77
+ ).returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+ # Unique identifier for the object.
81
+ id:,
82
+ # Specifies whether the field can hold a single value (`one`) or multiple values
83
+ # (`many`).
84
+ cardinality:,
85
+ # Time at which the object was created, as an ISO 8601 timestamp in UTC.
86
+ created_at:,
87
+ # The human-readable name of the field (e.g., "Employee Count").
88
+ name:,
89
+ # If `true`, the value of this field is system-managed and cannot be updated via
90
+ # the API.
91
+ readonly:,
92
+ # A unique, stable, machine-readable identifier for the field within its
93
+ # collection (e.g., `employee_count`).
94
+ ref:,
95
+ # If `true`, this field must have a value.
96
+ required:,
97
+ # If `true`, values for this field must be unique across all items in the
98
+ # collection.
99
+ unique:,
100
+ # Time at which the object was last updated, as an ISO 8601 timestamp in UTC.
101
+ updated_at:,
102
+ # An optional, longer-form description of the field's purpose.
103
+ description: nil,
104
+ # The data type of the field. Always `field/number/unitless_integer` for this
105
+ # field.
106
+ type: :"field/number/unitless_integer"
107
+ )
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ {
113
+ id: String,
114
+ cardinality: Moonbase::IntegerField::Cardinality::TaggedSymbol,
115
+ created_at: Time,
116
+ name: String,
117
+ readonly: T::Boolean,
118
+ ref: String,
119
+ required: T::Boolean,
120
+ type: Symbol,
121
+ unique: T::Boolean,
122
+ updated_at: Time,
123
+ description: String
124
+ }
125
+ )
126
+ end
127
+ def to_hash
128
+ end
129
+
130
+ # Specifies whether the field can hold a single value (`one`) or multiple values
131
+ # (`many`).
132
+ module Cardinality
133
+ extend Moonbase::Internal::Type::Enum
134
+
135
+ TaggedSymbol =
136
+ T.type_alias { T.all(Symbol, Moonbase::IntegerField::Cardinality) }
137
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
138
+
139
+ ONE = T.let(:one, Moonbase::IntegerField::Cardinality::TaggedSymbol)
140
+ MANY = T.let(:many, Moonbase::IntegerField::Cardinality::TaggedSymbol)
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[Moonbase::IntegerField::Cardinality::TaggedSymbol]
145
+ )
146
+ end
147
+ def self.values
148
+ end
149
+ end
150
+ end
151
+ end
152
+ end
@@ -9,17 +9,17 @@ module Moonbase
9
9
  end
10
10
 
11
11
  sig { returns(Integer) }
12
- attr_accessor :number
12
+ attr_accessor :data
13
13
 
14
14
  sig { returns(Symbol) }
15
15
  attr_accessor :type
16
16
 
17
17
  # Integer value without units
18
- sig { params(number: Integer, type: Symbol).returns(T.attached_class) }
19
- def self.new(number:, type: :"value/number/unitless_integer")
18
+ sig { params(data: Integer, type: Symbol).returns(T.attached_class) }
19
+ def self.new(data:, type: :"value/number/unitless_integer")
20
20
  end
21
21
 
22
- sig { override.returns({ number: Integer, type: Symbol }) }
22
+ sig { override.returns({ data: Integer, type: Symbol }) }
23
23
  def to_hash
24
24
  end
25
25
  end
@@ -14,41 +14,73 @@ module Moonbase
14
14
  sig { returns(Symbol) }
15
15
  attr_accessor :type
16
16
 
17
- sig { returns(T.nilable(Moonbase::Item::Links)) }
18
- attr_reader :links
19
-
20
- sig { params(links: Moonbase::Item::Links::OrHash).void }
21
- attr_writer :links
22
-
23
17
  # A hash where keys are the `ref` of a `Field` and values are the data stored for
24
18
  # that field.
25
- sig do
26
- returns(T.nilable(T::Hash[Symbol, T.nilable(Moonbase::FieldValue)]))
27
- end
28
- attr_reader :values
29
-
30
- sig do
31
- params(values: T::Hash[Symbol, T.nilable(Moonbase::FieldValue)]).void
32
- end
33
- attr_writer :values
19
+ sig { returns(T::Hash[Symbol, Moonbase::FieldValue::Variants]) }
20
+ attr_accessor :values
34
21
 
35
22
  # An Item represents a single record or row within a Collection. It holds a set of
36
23
  # `values` corresponding to the Collection's `fields`.
37
24
  sig do
38
25
  params(
39
26
  id: String,
40
- links: Moonbase::Item::Links::OrHash,
41
- values: T::Hash[Symbol, T.nilable(Moonbase::FieldValue)],
27
+ values:
28
+ T::Hash[
29
+ Symbol,
30
+ T.any(
31
+ Moonbase::SingleLineTextValue::OrHash,
32
+ Moonbase::MultiLineTextValue::OrHash,
33
+ Moonbase::IntegerValue::OrHash,
34
+ Moonbase::FloatValue::OrHash,
35
+ Moonbase::MonetaryValue::OrHash,
36
+ Moonbase::PercentageValue::OrHash,
37
+ Moonbase::BooleanValue::OrHash,
38
+ Moonbase::EmailValue::OrHash,
39
+ Moonbase::URLValue::OrHash,
40
+ Moonbase::DomainValue::OrHash,
41
+ Moonbase::SocialXValue::OrHash,
42
+ Moonbase::SocialLinkedInValue::OrHash,
43
+ Moonbase::TelephoneNumber::OrHash,
44
+ Moonbase::GeoValue::OrHash,
45
+ Moonbase::DateValue::OrHash,
46
+ Moonbase::DatetimeValue::OrHash,
47
+ Moonbase::ChoiceValue::OrHash,
48
+ Moonbase::FunnelStepValue::OrHash,
49
+ Moonbase::RelationValue::OrHash,
50
+ T::Array[
51
+ T.any(
52
+ Moonbase::SingleLineTextValue::OrHash,
53
+ Moonbase::MultiLineTextValue::OrHash,
54
+ Moonbase::IntegerValue::OrHash,
55
+ Moonbase::FloatValue::OrHash,
56
+ Moonbase::MonetaryValue::OrHash,
57
+ Moonbase::PercentageValue::OrHash,
58
+ Moonbase::BooleanValue::OrHash,
59
+ Moonbase::EmailValue::OrHash,
60
+ Moonbase::URLValue::OrHash,
61
+ Moonbase::DomainValue::OrHash,
62
+ Moonbase::SocialXValue::OrHash,
63
+ Moonbase::SocialLinkedInValue::OrHash,
64
+ Moonbase::TelephoneNumber::OrHash,
65
+ Moonbase::GeoValue::OrHash,
66
+ Moonbase::DateValue::OrHash,
67
+ Moonbase::DatetimeValue::OrHash,
68
+ Moonbase::ChoiceValue::OrHash,
69
+ Moonbase::FunnelStepValue::OrHash,
70
+ Moonbase::RelationValue::OrHash
71
+ )
72
+ ]
73
+ )
74
+ ],
42
75
  type: Symbol
43
76
  ).returns(T.attached_class)
44
77
  end
45
78
  def self.new(
46
79
  # Unique identifier for the object.
47
80
  id:,
48
- links: nil,
49
81
  # A hash where keys are the `ref` of a `Field` and values are the data stored for
50
82
  # that field.
51
- values: nil,
83
+ values:,
52
84
  # String representing the object’s type. Always `item` for this object.
53
85
  type: :item
54
86
  )
@@ -59,49 +91,12 @@ module Moonbase
59
91
  {
60
92
  id: String,
61
93
  type: Symbol,
62
- links: Moonbase::Item::Links,
63
- values: T::Hash[Symbol, T.nilable(Moonbase::FieldValue)]
94
+ values: T::Hash[Symbol, Moonbase::FieldValue::Variants]
64
95
  }
65
96
  )
66
97
  end
67
98
  def to_hash
68
99
  end
69
-
70
- class Links < Moonbase::Internal::Type::BaseModel
71
- OrHash =
72
- T.type_alias do
73
- T.any(Moonbase::Item::Links, Moonbase::Internal::AnyHash)
74
- end
75
-
76
- # A link to the `Collection` the item belongs to.
77
- sig { returns(T.nilable(String)) }
78
- attr_reader :collection
79
-
80
- sig { params(collection: String).void }
81
- attr_writer :collection
82
-
83
- # The canonical URL for this object.
84
- sig { returns(T.nilable(String)) }
85
- attr_reader :self_
86
-
87
- sig { params(self_: String).void }
88
- attr_writer :self_
89
-
90
- sig do
91
- params(collection: String, self_: String).returns(T.attached_class)
92
- end
93
- def self.new(
94
- # A link to the `Collection` the item belongs to.
95
- collection: nil,
96
- # The canonical URL for this object.
97
- self_: nil
98
- )
99
- end
100
-
101
- sig { override.returns({ collection: String, self_: String }) }
102
- def to_hash
103
- end
104
- end
105
100
  end
106
101
  end
107
102
  end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Moonbase
4
+ module Models
5
+ class ItemPointer < Moonbase::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Moonbase::ItemPointer, Moonbase::Internal::AnyHash)
9
+ end
10
+
11
+ # Unique identifier of the item.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # A reference to the `Collection` containing this item.
16
+ sig { returns(Moonbase::CollectionPointer) }
17
+ attr_reader :collection
18
+
19
+ sig { params(collection: Moonbase::CollectionPointer::OrHash).void }
20
+ attr_writer :collection
21
+
22
+ # String representing the object’s type. Always `item` for this object.
23
+ sig { returns(Symbol) }
24
+ attr_accessor :type
25
+
26
+ # A reference to an `Item` within a specific `Collection`, providing the context
27
+ # needed to locate the item.
28
+ sig do
29
+ params(
30
+ id: String,
31
+ collection: Moonbase::CollectionPointer::OrHash,
32
+ type: Symbol
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Unique identifier of the item.
37
+ id:,
38
+ # A reference to the `Collection` containing this item.
39
+ collection:,
40
+ # String representing the object’s type. Always `item` for this object.
41
+ type: :item
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ { id: String, collection: Moonbase::CollectionPointer, type: Symbol }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end