knockapi 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +101 -49
  4. data/lib/knockapi/client.rb +4 -4
  5. data/lib/knockapi/errors.rb +1 -1
  6. data/lib/knockapi/file_part.rb +2 -2
  7. data/lib/knockapi/internal/entries_cursor.rb +3 -3
  8. data/lib/knockapi/internal/items_cursor.rb +3 -3
  9. data/lib/knockapi/internal/ms_teams_pagination.rb +3 -3
  10. data/lib/knockapi/internal/slack_channels_cursor.rb +3 -3
  11. data/lib/knockapi/internal/transport/base_client.rb +79 -7
  12. data/lib/knockapi/internal/transport/pooled_net_requester.rb +17 -1
  13. data/lib/knockapi/internal/type/array_of.rb +1 -1
  14. data/lib/knockapi/internal/type/base_model.rb +71 -39
  15. data/lib/knockapi/internal/type/converter.rb +18 -0
  16. data/lib/knockapi/internal/type/enum.rb +1 -0
  17. data/lib/knockapi/internal/type/hash_of.rb +1 -1
  18. data/lib/knockapi/internal/type/request_parameters.rb +6 -12
  19. data/lib/knockapi/internal/type/union.rb +4 -3
  20. data/lib/knockapi/internal/util.rb +74 -2
  21. data/lib/knockapi/internal.rb +6 -0
  22. data/lib/knockapi/models/activity.rb +6 -6
  23. data/lib/knockapi/models/audience_add_members_params.rb +10 -8
  24. data/lib/knockapi/models/audience_add_members_response.rb +7 -0
  25. data/lib/knockapi/models/audience_list_members_response.rb +6 -6
  26. data/lib/knockapi/models/audience_member.rb +5 -6
  27. data/lib/knockapi/models/audience_remove_members_params.rb +12 -7
  28. data/lib/knockapi/models/audience_remove_members_response.rb +7 -0
  29. data/lib/knockapi/models/bulk_operation.rb +7 -8
  30. data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +11 -10
  31. data/lib/knockapi/models/condition.rb +4 -4
  32. data/lib/knockapi/models/identify_user_request.rb +16 -17
  33. data/lib/knockapi/models/inline_identify_user_request.rb +64 -7
  34. data/lib/knockapi/models/inline_object_request.rb +8 -6
  35. data/lib/knockapi/models/inline_tenant_request.rb +6 -2
  36. data/lib/knockapi/models/message.rb +19 -23
  37. data/lib/knockapi/models/message_delivery_log.rb +26 -18
  38. data/lib/knockapi/models/message_event.rb +9 -10
  39. data/lib/knockapi/models/message_get_content_response.rb +21 -0
  40. data/lib/knockapi/models/message_list_params.rb +9 -13
  41. data/lib/knockapi/models/messages/batch_archive_response.rb +1 -1
  42. data/lib/knockapi/models/messages/batch_get_content_response.rb +21 -0
  43. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +1 -1
  44. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +1 -1
  45. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +1 -1
  46. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +1 -1
  47. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +1 -1
  48. data/lib/knockapi/models/messages/batch_unarchive_response.rb +1 -1
  49. data/lib/knockapi/models/object.rb +9 -1
  50. data/lib/knockapi/models/object_add_subscriptions_params.rb +3 -4
  51. data/lib/knockapi/models/object_add_subscriptions_response.rb +1 -1
  52. data/lib/knockapi/models/object_delete_response.rb +7 -0
  53. data/lib/knockapi/models/object_delete_subscriptions_params.rb +3 -5
  54. data/lib/knockapi/models/object_delete_subscriptions_response.rb +1 -1
  55. data/lib/knockapi/models/object_list_messages_params.rb +11 -12
  56. data/lib/knockapi/models/object_list_params.rb +3 -4
  57. data/lib/knockapi/models/object_list_preferences_response.rb +1 -1
  58. data/lib/knockapi/models/object_list_subscriptions_params.rb +14 -14
  59. data/lib/knockapi/models/object_set_params.rb +15 -13
  60. data/lib/knockapi/models/object_unset_channel_data_response.rb +7 -0
  61. data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +9 -9
  62. data/lib/knockapi/models/objects/bulk_set_params.rb +3 -3
  63. data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +4 -7
  64. data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +4 -9
  65. data/lib/knockapi/models/providers/slack_list_channels_params.rb +4 -7
  66. data/lib/knockapi/models/recipient.rb +7 -3
  67. data/lib/knockapi/models/recipient_reference.rb +6 -2
  68. data/lib/knockapi/models/recipient_request.rb +7 -3
  69. data/lib/knockapi/models/recipients/channel_data.rb +26 -14
  70. data/lib/knockapi/models/recipients/channel_data_request.rb +22 -10
  71. data/lib/knockapi/models/recipients/discord_channel_data.rb +25 -10
  72. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +36 -1
  73. data/lib/knockapi/models/recipients/inline_preference_set_request.rb +1 -1
  74. data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +25 -10
  75. data/lib/knockapi/models/recipients/preference_set.rb +52 -28
  76. data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +3 -3
  77. data/lib/knockapi/models/recipients/preference_set_channel_types.rb +60 -36
  78. data/lib/knockapi/models/recipients/preference_set_request.rb +52 -28
  79. data/lib/knockapi/models/recipients/slack_channel_data.rb +21 -10
  80. data/lib/knockapi/models/recipients/subscription.rb +6 -6
  81. data/lib/knockapi/models/schedule.rb +11 -12
  82. data/lib/knockapi/models/schedule_create_params.rb +10 -15
  83. data/lib/knockapi/models/schedule_create_response.rb +1 -1
  84. data/lib/knockapi/models/schedule_delete_response.rb +1 -1
  85. data/lib/knockapi/models/schedule_repeat_rule.rb +7 -7
  86. data/lib/knockapi/models/schedule_update_params.rb +9 -10
  87. data/lib/knockapi/models/schedule_update_response.rb +1 -1
  88. data/lib/knockapi/models/schedules/bulk_create_params.rb +16 -18
  89. data/lib/knockapi/models/tenant.rb +13 -16
  90. data/lib/knockapi/models/tenant_delete_response.rb +7 -0
  91. data/lib/knockapi/models/tenant_request.rb +20 -20
  92. data/lib/knockapi/models/tenant_set_params.rb +19 -19
  93. data/lib/knockapi/models/tenants/bulk_set_params.rb +3 -3
  94. data/lib/knockapi/models/user.rb +9 -11
  95. data/lib/knockapi/models/user_delete_response.rb +7 -0
  96. data/lib/knockapi/models/user_list_messages_params.rb +13 -12
  97. data/lib/knockapi/models/user_list_params.rb +3 -4
  98. data/lib/knockapi/models/user_list_preferences_response.rb +1 -1
  99. data/lib/knockapi/models/user_list_subscriptions_params.rb +3 -3
  100. data/lib/knockapi/models/user_unset_channel_data_response.rb +7 -0
  101. data/lib/knockapi/models/users/bulk_identify_params.rb +3 -3
  102. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +3 -3
  103. data/lib/knockapi/models/users/feed_list_items_params.rb +6 -6
  104. data/lib/knockapi/models/users/feed_list_items_response.rb +15 -6
  105. data/lib/knockapi/models/workflow_cancel_params.rb +3 -5
  106. data/lib/knockapi/models/workflow_cancel_response.rb +7 -0
  107. data/lib/knockapi/models/workflow_trigger_params.rb +9 -12
  108. data/lib/knockapi/models/workflow_trigger_response.rb +0 -1
  109. data/lib/knockapi/models.rb +202 -0
  110. data/lib/knockapi/request_options.rb +4 -0
  111. data/lib/knockapi/resources/audiences.rb +4 -4
  112. data/lib/knockapi/resources/bulk_operations.rb +2 -2
  113. data/lib/knockapi/resources/channels/bulk.rb +7 -8
  114. data/lib/knockapi/resources/integrations/census.rb +1 -1
  115. data/lib/knockapi/resources/integrations/hightouch.rb +1 -1
  116. data/lib/knockapi/resources/messages/batch.rb +22 -22
  117. data/lib/knockapi/resources/messages.rb +32 -39
  118. data/lib/knockapi/resources/objects/bulk.rb +11 -11
  119. data/lib/knockapi/resources/objects.rb +52 -62
  120. data/lib/knockapi/resources/providers/ms_teams.rb +6 -6
  121. data/lib/knockapi/resources/providers/slack.rb +4 -4
  122. data/lib/knockapi/resources/schedules/bulk.rb +4 -4
  123. data/lib/knockapi/resources/schedules.rb +18 -23
  124. data/lib/knockapi/resources/tenants/bulk.rb +7 -7
  125. data/lib/knockapi/resources/tenants.rb +11 -11
  126. data/lib/knockapi/resources/users/bulk.rb +11 -11
  127. data/lib/knockapi/resources/users/feeds.rb +3 -3
  128. data/lib/knockapi/resources/users/guides.rb +4 -4
  129. data/lib/knockapi/resources/users.rb +46 -54
  130. data/lib/knockapi/resources/workflows.rb +6 -11
  131. data/lib/knockapi/version.rb +1 -1
  132. data/lib/knockapi.rb +11 -2
  133. data/rbi/knockapi/client.rbi +5 -4
  134. data/rbi/knockapi/errors.rbi +35 -16
  135. data/rbi/knockapi/file_part.rbi +9 -6
  136. data/rbi/knockapi/internal/entries_cursor.rbi +9 -4
  137. data/rbi/knockapi/internal/items_cursor.rbi +9 -4
  138. data/rbi/knockapi/internal/ms_teams_pagination.rbi +2 -1
  139. data/rbi/knockapi/internal/slack_channels_cursor.rbi +2 -1
  140. data/rbi/knockapi/internal/transport/base_client.rbi +158 -78
  141. data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +32 -13
  142. data/rbi/knockapi/internal/type/array_of.rbi +34 -24
  143. data/rbi/knockapi/internal/type/base_model.rbi +151 -73
  144. data/rbi/knockapi/internal/type/base_page.rbi +12 -8
  145. data/rbi/knockapi/internal/type/boolean.rbi +16 -14
  146. data/rbi/knockapi/internal/type/converter.rbi +70 -28
  147. data/rbi/knockapi/internal/type/enum.rbi +28 -15
  148. data/rbi/knockapi/internal/type/file_input.rbi +8 -4
  149. data/rbi/knockapi/internal/type/hash_of.rbi +34 -24
  150. data/rbi/knockapi/internal/type/request_parameters.rbi +12 -4
  151. data/rbi/knockapi/internal/type/union.rbi +55 -19
  152. data/rbi/knockapi/internal/type/unknown.rbi +16 -6
  153. data/rbi/knockapi/internal/util.rbi +239 -87
  154. data/rbi/knockapi/internal.rbi +2 -0
  155. data/rbi/knockapi/models/activity.rbi +28 -22
  156. data/rbi/knockapi/models/audience_add_members_params.rbi +62 -27
  157. data/rbi/knockapi/models/audience_add_members_response.rbi +7 -0
  158. data/rbi/knockapi/models/audience_list_members_params.rbi +16 -5
  159. data/rbi/knockapi/models/audience_list_members_response.rbi +25 -11
  160. data/rbi/knockapi/models/audience_member.rbi +23 -11
  161. data/rbi/knockapi/models/audience_remove_members_params.rbi +65 -28
  162. data/rbi/knockapi/models/audience_remove_members_response.rbi +7 -0
  163. data/rbi/knockapi/models/bulk_operation.rbi +70 -42
  164. data/rbi/knockapi/models/bulk_operation_get_params.rbi +13 -5
  165. data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +224 -79
  166. data/rbi/knockapi/models/condition.rbi +78 -31
  167. data/rbi/knockapi/models/identify_user_request.rbi +90 -36
  168. data/rbi/knockapi/models/inline_identify_user_request.rbi +135 -22
  169. data/rbi/knockapi/models/inline_object_request.rbi +76 -22
  170. data/rbi/knockapi/models/inline_tenant_request.rbi +7 -2
  171. data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +24 -15
  172. data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +21 -4
  173. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +24 -15
  174. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +21 -4
  175. data/rbi/knockapi/models/message.rbi +156 -72
  176. data/rbi/knockapi/models/message_archive_params.rbi +13 -5
  177. data/rbi/knockapi/models/message_delivery_log.rbi +153 -66
  178. data/rbi/knockapi/models/message_event.rbi +86 -37
  179. data/rbi/knockapi/models/message_get_content_params.rbi +13 -5
  180. data/rbi/knockapi/models/message_get_content_response.rbi +364 -203
  181. data/rbi/knockapi/models/message_get_params.rbi +13 -5
  182. data/rbi/knockapi/models/message_list_activities_params.rbi +24 -15
  183. data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +23 -12
  184. data/rbi/knockapi/models/message_list_events_params.rbi +20 -12
  185. data/rbi/knockapi/models/message_list_params.rbi +147 -58
  186. data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +21 -6
  187. data/rbi/knockapi/models/message_mark_as_read_params.rbi +13 -5
  188. data/rbi/knockapi/models/message_mark_as_seen_params.rbi +13 -5
  189. data/rbi/knockapi/models/message_mark_as_unread_params.rbi +16 -5
  190. data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +16 -5
  191. data/rbi/knockapi/models/message_unarchive_params.rbi +13 -5
  192. data/rbi/knockapi/models/messages/batch_archive_params.rbi +23 -6
  193. data/rbi/knockapi/models/messages/batch_archive_response.rbi +4 -1
  194. data/rbi/knockapi/models/messages/batch_get_content_params.rbi +23 -6
  195. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +367 -206
  196. data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +22 -13
  197. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +4 -1
  198. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +23 -6
  199. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +4 -1
  200. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +23 -6
  201. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +4 -1
  202. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +23 -6
  203. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +4 -1
  204. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +23 -6
  205. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +4 -1
  206. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +23 -6
  207. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +4 -1
  208. data/rbi/knockapi/models/object.rbi +31 -10
  209. data/rbi/knockapi/models/object_add_subscriptions_params.rbi +44 -22
  210. data/rbi/knockapi/models/object_add_subscriptions_response.rbi +1 -1
  211. data/rbi/knockapi/models/object_delete_params.rbi +13 -5
  212. data/rbi/knockapi/models/object_delete_response.rbi +7 -0
  213. data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +36 -14
  214. data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +1 -1
  215. data/rbi/knockapi/models/object_get_channel_data_params.rbi +16 -5
  216. data/rbi/knockapi/models/object_get_params.rbi +13 -5
  217. data/rbi/knockapi/models/object_get_preferences_params.rbi +16 -5
  218. data/rbi/knockapi/models/object_list_messages_params.rbi +169 -60
  219. data/rbi/knockapi/models/object_list_params.rbi +43 -22
  220. data/rbi/knockapi/models/object_list_preferences_params.rbi +16 -5
  221. data/rbi/knockapi/models/object_list_preferences_response.rbi +1 -1
  222. data/rbi/knockapi/models/object_list_schedules_params.rbi +25 -16
  223. data/rbi/knockapi/models/object_list_subscriptions_params.rbi +150 -46
  224. data/rbi/knockapi/models/object_set_channel_data_params.rbi +16 -5
  225. data/rbi/knockapi/models/object_set_params.rbi +89 -33
  226. data/rbi/knockapi/models/object_set_preferences_params.rbi +16 -5
  227. data/rbi/knockapi/models/object_unset_channel_data_params.rbi +16 -5
  228. data/rbi/knockapi/models/object_unset_channel_data_response.rbi +7 -0
  229. data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +77 -34
  230. data/rbi/knockapi/models/objects/bulk_delete_params.rbi +23 -6
  231. data/rbi/knockapi/models/objects/bulk_set_params.rbi +20 -11
  232. data/rbi/knockapi/models/page_info.rbi +22 -11
  233. data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +23 -6
  234. data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +53 -14
  235. data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +53 -23
  236. data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +57 -30
  237. data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +62 -22
  238. data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +23 -4
  239. data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +23 -6
  240. data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +14 -3
  241. data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +23 -6
  242. data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +53 -14
  243. data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +58 -30
  244. data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +29 -12
  245. data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +23 -6
  246. data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +14 -3
  247. data/rbi/knockapi/models/recipient.rbi +5 -2
  248. data/rbi/knockapi/models/recipient_reference.rbi +22 -5
  249. data/rbi/knockapi/models/recipient_request.rbi +11 -4
  250. data/rbi/knockapi/models/recipients/channel_data.rbi +123 -50
  251. data/rbi/knockapi/models/recipients/channel_data_request.rbi +54 -33
  252. data/rbi/knockapi/models/recipients/discord_channel_data.rbi +100 -53
  253. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +29 -1
  254. data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +3 -1
  255. data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +109 -64
  256. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +14 -3
  257. data/rbi/knockapi/models/recipients/preference_set.rbi +159 -88
  258. data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +18 -6
  259. data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +276 -105
  260. data/rbi/knockapi/models/recipients/preference_set_request.rbi +162 -87
  261. data/rbi/knockapi/models/recipients/push_channel_data.rbi +14 -3
  262. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +107 -49
  263. data/rbi/knockapi/models/recipients/subscription.rbi +29 -20
  264. data/rbi/knockapi/models/schedule.rbi +32 -27
  265. data/rbi/knockapi/models/schedule_create_params.rbi +52 -35
  266. data/rbi/knockapi/models/schedule_create_response.rbi +4 -1
  267. data/rbi/knockapi/models/schedule_delete_params.rbi +20 -6
  268. data/rbi/knockapi/models/schedule_delete_response.rbi +4 -1
  269. data/rbi/knockapi/models/schedule_list_params.rbi +23 -17
  270. data/rbi/knockapi/models/schedule_repeat_rule.rbi +69 -39
  271. data/rbi/knockapi/models/schedule_update_params.rbi +48 -27
  272. data/rbi/knockapi/models/schedule_update_response.rbi +4 -1
  273. data/rbi/knockapi/models/schedules/bulk_create_params.rbi +102 -61
  274. data/rbi/knockapi/models/tenant.rbi +71 -45
  275. data/rbi/knockapi/models/tenant_delete_params.rbi +13 -5
  276. data/rbi/knockapi/models/tenant_delete_response.rbi +7 -0
  277. data/rbi/knockapi/models/tenant_get_params.rbi +13 -5
  278. data/rbi/knockapi/models/tenant_list_params.rbi +22 -16
  279. data/rbi/knockapi/models/tenant_request.rbi +132 -57
  280. data/rbi/knockapi/models/tenant_set_params.rbi +134 -59
  281. data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +23 -6
  282. data/rbi/knockapi/models/tenants/bulk_set_params.rbi +20 -11
  283. data/rbi/knockapi/models/user.rbi +32 -28
  284. data/rbi/knockapi/models/user_delete_params.rbi +13 -5
  285. data/rbi/knockapi/models/user_delete_response.rbi +7 -0
  286. data/rbi/knockapi/models/user_get_channel_data_params.rbi +13 -5
  287. data/rbi/knockapi/models/user_get_params.rbi +13 -5
  288. data/rbi/knockapi/models/user_get_preferences_params.rbi +19 -5
  289. data/rbi/knockapi/models/user_list_messages_params.rbi +168 -59
  290. data/rbi/knockapi/models/user_list_params.rbi +43 -22
  291. data/rbi/knockapi/models/user_list_preferences_params.rbi +16 -5
  292. data/rbi/knockapi/models/user_list_preferences_response.rbi +1 -1
  293. data/rbi/knockapi/models/user_list_schedules_params.rbi +22 -16
  294. data/rbi/knockapi/models/user_list_subscriptions_params.rbi +61 -23
  295. data/rbi/knockapi/models/user_merge_params.rbi +17 -6
  296. data/rbi/knockapi/models/user_set_channel_data_params.rbi +13 -5
  297. data/rbi/knockapi/models/user_set_preferences_params.rbi +13 -5
  298. data/rbi/knockapi/models/user_unset_channel_data_params.rbi +16 -5
  299. data/rbi/knockapi/models/user_unset_channel_data_response.rbi +7 -0
  300. data/rbi/knockapi/models/user_update_params.rbi +13 -5
  301. data/rbi/knockapi/models/users/bulk_delete_params.rbi +23 -6
  302. data/rbi/knockapi/models/users/bulk_identify_params.rbi +23 -11
  303. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +26 -18
  304. data/rbi/knockapi/models/users/feed_get_settings_params.rbi +16 -5
  305. data/rbi/knockapi/models/users/feed_get_settings_response.rbi +47 -14
  306. data/rbi/knockapi/models/users/feed_list_items_params.rbi +119 -41
  307. data/rbi/knockapi/models/users/feed_list_items_response.rbi +197 -100
  308. data/rbi/knockapi/models/users/guide_get_channel_params.rbi +15 -5
  309. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +84 -25
  310. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +29 -20
  311. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +14 -3
  312. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +29 -20
  313. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +14 -3
  314. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +29 -20
  315. data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +14 -3
  316. data/rbi/knockapi/models/workflow_cancel_params.rbi +42 -17
  317. data/rbi/knockapi/models/workflow_cancel_response.rbi +7 -0
  318. data/rbi/knockapi/models/workflow_trigger_params.rbi +65 -37
  319. data/rbi/knockapi/models/workflow_trigger_response.rbi +14 -3
  320. data/rbi/knockapi/models.rbi +179 -0
  321. data/rbi/knockapi/request_options.rbi +18 -7
  322. data/rbi/knockapi/resources/audiences.rbi +22 -14
  323. data/rbi/knockapi/resources/bulk_operations.rbi +11 -3
  324. data/rbi/knockapi/resources/channels/bulk.rbi +15 -9
  325. data/rbi/knockapi/resources/channels.rbi +2 -1
  326. data/rbi/knockapi/resources/integrations/census.rbi +8 -4
  327. data/rbi/knockapi/resources/integrations/hightouch.rbi +8 -4
  328. data/rbi/knockapi/resources/integrations.rbi +2 -1
  329. data/rbi/knockapi/resources/messages/batch.rbi +58 -26
  330. data/rbi/knockapi/resources/messages.rbi +102 -43
  331. data/rbi/knockapi/resources/objects/bulk.rbi +25 -14
  332. data/rbi/knockapi/resources/objects.rbi +177 -107
  333. data/rbi/knockapi/resources/providers/ms_teams.rbi +35 -16
  334. data/rbi/knockapi/resources/providers/slack.rbi +28 -11
  335. data/rbi/knockapi/resources/providers.rbi +2 -1
  336. data/rbi/knockapi/resources/recipients/channel_data.rbi +2 -1
  337. data/rbi/knockapi/resources/recipients/preferences.rbi +2 -1
  338. data/rbi/knockapi/resources/recipients/subscriptions.rbi +2 -1
  339. data/rbi/knockapi/resources/recipients.rbi +2 -1
  340. data/rbi/knockapi/resources/schedules/bulk.rbi +9 -6
  341. data/rbi/knockapi/resources/schedules.rbi +44 -33
  342. data/rbi/knockapi/resources/shared.rbi +2 -1
  343. data/rbi/knockapi/resources/tenants/bulk.rbi +15 -9
  344. data/rbi/knockapi/resources/tenants.rbi +51 -20
  345. data/rbi/knockapi/resources/users/bulk.rbi +21 -14
  346. data/rbi/knockapi/resources/users/feeds.rbi +20 -9
  347. data/rbi/knockapi/resources/users/guides.rbi +23 -16
  348. data/rbi/knockapi/resources/users.rbi +160 -91
  349. data/rbi/knockapi/resources/workflows.rbi +38 -29
  350. data/sig/knockapi/internal/entries_cursor.rbs +0 -2
  351. data/sig/knockapi/internal/items_cursor.rbs +0 -2
  352. data/sig/knockapi/internal/transport/base_client.rbs +16 -1
  353. data/sig/knockapi/internal/transport/pooled_net_requester.rbs +4 -0
  354. data/sig/knockapi/internal/type/base_model.rbs +11 -5
  355. data/sig/knockapi/internal/type/base_page.rbs +1 -1
  356. data/sig/knockapi/internal/type/converter.rbs +2 -0
  357. data/sig/knockapi/internal/type/enum.rbs +1 -0
  358. data/sig/knockapi/internal/type/request_parameters.rbs +3 -1
  359. data/sig/knockapi/internal/type/union.rbs +1 -0
  360. data/sig/knockapi/internal/util.rbs +15 -0
  361. data/sig/knockapi/internal.rbs +2 -0
  362. data/sig/knockapi/models/activity.rbs +0 -2
  363. data/sig/knockapi/models/audience_add_members_params.rbs +6 -12
  364. data/sig/knockapi/models/audience_add_members_response.rbs +5 -0
  365. data/sig/knockapi/models/audience_list_members_params.rbs +0 -2
  366. data/sig/knockapi/models/audience_list_members_response.rbs +6 -8
  367. data/sig/knockapi/models/audience_member.rbs +3 -5
  368. data/sig/knockapi/models/audience_remove_members_params.rbs +6 -14
  369. data/sig/knockapi/models/audience_remove_members_response.rbs +5 -0
  370. data/sig/knockapi/models/bulk_operation.rbs +9 -13
  371. data/sig/knockapi/models/bulk_operation_get_params.rbs +0 -2
  372. data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +0 -2
  373. data/sig/knockapi/models/condition.rbs +4 -6
  374. data/sig/knockapi/models/identify_user_request.rbs +0 -2
  375. data/sig/knockapi/models/inline_identify_user_request.rbs +26 -4
  376. data/sig/knockapi/models/inline_object_request.rbs +0 -2
  377. data/sig/knockapi/models/inline_tenant_request.rbs +2 -2
  378. data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +0 -2
  379. data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +0 -2
  380. data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +0 -2
  381. data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +0 -2
  382. data/sig/knockapi/models/message.rbs +15 -23
  383. data/sig/knockapi/models/message_archive_params.rbs +0 -2
  384. data/sig/knockapi/models/message_delivery_log.rbs +24 -30
  385. data/sig/knockapi/models/message_event.rbs +4 -6
  386. data/sig/knockapi/models/message_get_content_params.rbs +0 -2
  387. data/sig/knockapi/models/message_get_content_response.rbs +2 -24
  388. data/sig/knockapi/models/message_get_params.rbs +0 -2
  389. data/sig/knockapi/models/message_list_activities_params.rbs +0 -2
  390. data/sig/knockapi/models/message_list_delivery_logs_params.rbs +0 -2
  391. data/sig/knockapi/models/message_list_events_params.rbs +0 -2
  392. data/sig/knockapi/models/message_list_params.rbs +17 -21
  393. data/sig/knockapi/models/message_mark_as_interacted_params.rbs +0 -2
  394. data/sig/knockapi/models/message_mark_as_read_params.rbs +0 -2
  395. data/sig/knockapi/models/message_mark_as_seen_params.rbs +0 -2
  396. data/sig/knockapi/models/message_mark_as_unread_params.rbs +0 -2
  397. data/sig/knockapi/models/message_mark_as_unseen_params.rbs +0 -2
  398. data/sig/knockapi/models/message_unarchive_params.rbs +0 -2
  399. data/sig/knockapi/models/messages/batch_archive_params.rbs +0 -2
  400. data/sig/knockapi/models/messages/batch_archive_response.rbs +1 -1
  401. data/sig/knockapi/models/messages/batch_get_content_params.rbs +0 -2
  402. data/sig/knockapi/models/messages/batch_get_content_response.rbs +2 -24
  403. data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +0 -2
  404. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +1 -2
  405. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +0 -2
  406. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +1 -1
  407. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +0 -2
  408. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +1 -1
  409. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +0 -2
  410. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +1 -1
  411. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +0 -2
  412. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +1 -1
  413. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +0 -2
  414. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +1 -1
  415. data/sig/knockapi/models/object.rbs +8 -4
  416. data/sig/knockapi/models/object_add_subscriptions_params.rbs +0 -2
  417. data/sig/knockapi/models/object_add_subscriptions_response.rbs +1 -1
  418. data/sig/knockapi/models/object_delete_params.rbs +0 -2
  419. data/sig/knockapi/models/object_delete_response.rbs +5 -0
  420. data/sig/knockapi/models/object_delete_subscriptions_params.rbs +0 -2
  421. data/sig/knockapi/models/object_delete_subscriptions_response.rbs +1 -1
  422. data/sig/knockapi/models/object_get_channel_data_params.rbs +0 -2
  423. data/sig/knockapi/models/object_get_params.rbs +0 -2
  424. data/sig/knockapi/models/object_get_preferences_params.rbs +0 -2
  425. data/sig/knockapi/models/object_list_messages_params.rbs +17 -21
  426. data/sig/knockapi/models/object_list_params.rbs +6 -8
  427. data/sig/knockapi/models/object_list_preferences_params.rbs +0 -2
  428. data/sig/knockapi/models/object_list_preferences_response.rbs +1 -1
  429. data/sig/knockapi/models/object_list_schedules_params.rbs +0 -2
  430. data/sig/knockapi/models/object_list_subscriptions_params.rbs +11 -15
  431. data/sig/knockapi/models/object_set_channel_data_params.rbs +0 -2
  432. data/sig/knockapi/models/object_set_params.rbs +0 -2
  433. data/sig/knockapi/models/object_set_preferences_params.rbs +0 -2
  434. data/sig/knockapi/models/object_unset_channel_data_params.rbs +0 -2
  435. data/sig/knockapi/models/object_unset_channel_data_response.rbs +5 -0
  436. data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +3 -7
  437. data/sig/knockapi/models/objects/bulk_delete_params.rbs +0 -2
  438. data/sig/knockapi/models/objects/bulk_set_params.rbs +3 -5
  439. data/sig/knockapi/models/page_info.rbs +0 -2
  440. data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +0 -2
  441. data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +0 -4
  442. data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +5 -9
  443. data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +0 -4
  444. data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +5 -9
  445. data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +0 -2
  446. data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +0 -2
  447. data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +0 -2
  448. data/sig/knockapi/models/providers/slack_check_auth_params.rbs +0 -2
  449. data/sig/knockapi/models/providers/slack_check_auth_response.rbs +0 -4
  450. data/sig/knockapi/models/providers/slack_list_channels_params.rbs +5 -9
  451. data/sig/knockapi/models/providers/slack_list_channels_response.rbs +0 -2
  452. data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +0 -2
  453. data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +0 -2
  454. data/sig/knockapi/models/recipient.rbs +2 -2
  455. data/sig/knockapi/models/recipient_reference.rbs +2 -4
  456. data/sig/knockapi/models/recipient_request.rbs +3 -3
  457. data/sig/knockapi/models/recipients/channel_data.rbs +15 -17
  458. data/sig/knockapi/models/recipients/channel_data_request.rbs +9 -11
  459. data/sig/knockapi/models/recipients/discord_channel_data.rbs +9 -17
  460. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +14 -1
  461. data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +1 -1
  462. data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +9 -17
  463. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +0 -2
  464. data/sig/knockapi/models/recipients/preference_set.rbs +25 -31
  465. data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +3 -7
  466. data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +42 -48
  467. data/sig/knockapi/models/recipients/preference_set_request.rbs +25 -31
  468. data/sig/knockapi/models/recipients/push_channel_data.rbs +0 -2
  469. data/sig/knockapi/models/recipients/slack_channel_data.rbs +9 -17
  470. data/sig/knockapi/models/recipients/subscription.rbs +3 -5
  471. data/sig/knockapi/models/schedule.rbs +3 -5
  472. data/sig/knockapi/models/schedule_create_params.rbs +3 -5
  473. data/sig/knockapi/models/schedule_create_response.rbs +1 -1
  474. data/sig/knockapi/models/schedule_delete_params.rbs +0 -2
  475. data/sig/knockapi/models/schedule_delete_response.rbs +1 -1
  476. data/sig/knockapi/models/schedule_list_params.rbs +0 -2
  477. data/sig/knockapi/models/schedule_repeat_rule.rbs +8 -10
  478. data/sig/knockapi/models/schedule_update_params.rbs +5 -7
  479. data/sig/knockapi/models/schedule_update_response.rbs +1 -1
  480. data/sig/knockapi/models/schedules/bulk_create_params.rbs +8 -14
  481. data/sig/knockapi/models/tenant.rbs +9 -15
  482. data/sig/knockapi/models/tenant_delete_params.rbs +0 -2
  483. data/sig/knockapi/models/tenant_delete_response.rbs +5 -0
  484. data/sig/knockapi/models/tenant_get_params.rbs +0 -2
  485. data/sig/knockapi/models/tenant_list_params.rbs +0 -2
  486. data/sig/knockapi/models/tenant_request.rbs +13 -19
  487. data/sig/knockapi/models/tenant_set_params.rbs +13 -19
  488. data/sig/knockapi/models/tenants/bulk_delete_params.rbs +0 -2
  489. data/sig/knockapi/models/tenants/bulk_set_params.rbs +0 -2
  490. data/sig/knockapi/models/user.rbs +0 -2
  491. data/sig/knockapi/models/user_delete_params.rbs +0 -2
  492. data/sig/knockapi/models/user_delete_response.rbs +5 -0
  493. data/sig/knockapi/models/user_get_channel_data_params.rbs +0 -2
  494. data/sig/knockapi/models/user_get_params.rbs +0 -2
  495. data/sig/knockapi/models/user_get_preferences_params.rbs +0 -2
  496. data/sig/knockapi/models/user_list_messages_params.rbs +17 -21
  497. data/sig/knockapi/models/user_list_params.rbs +6 -8
  498. data/sig/knockapi/models/user_list_preferences_params.rbs +0 -2
  499. data/sig/knockapi/models/user_list_preferences_response.rbs +1 -1
  500. data/sig/knockapi/models/user_list_schedules_params.rbs +0 -2
  501. data/sig/knockapi/models/user_list_subscriptions_params.rbs +6 -8
  502. data/sig/knockapi/models/user_merge_params.rbs +0 -2
  503. data/sig/knockapi/models/user_set_channel_data_params.rbs +0 -2
  504. data/sig/knockapi/models/user_set_preferences_params.rbs +0 -2
  505. data/sig/knockapi/models/user_unset_channel_data_params.rbs +0 -2
  506. data/sig/knockapi/models/user_unset_channel_data_response.rbs +5 -0
  507. data/sig/knockapi/models/user_update_params.rbs +0 -2
  508. data/sig/knockapi/models/users/bulk_delete_params.rbs +0 -2
  509. data/sig/knockapi/models/users/bulk_identify_params.rbs +3 -5
  510. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +3 -5
  511. data/sig/knockapi/models/users/feed_get_settings_params.rbs +0 -2
  512. data/sig/knockapi/models/users/feed_get_settings_response.rbs +0 -4
  513. data/sig/knockapi/models/users/feed_list_items_params.rbs +0 -2
  514. data/sig/knockapi/models/users/feed_list_items_response.rbs +4 -14
  515. data/sig/knockapi/models/users/guide_get_channel_params.rbs +0 -2
  516. data/sig/knockapi/models/users/guide_get_channel_response.rbs +0 -6
  517. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +0 -2
  518. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +0 -2
  519. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +0 -2
  520. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +0 -2
  521. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +0 -2
  522. data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +0 -2
  523. data/sig/knockapi/models/workflow_cancel_params.rbs +0 -2
  524. data/sig/knockapi/models/workflow_cancel_response.rbs +5 -0
  525. data/sig/knockapi/models/workflow_trigger_params.rbs +0 -2
  526. data/sig/knockapi/models/workflow_trigger_response.rbs +0 -2
  527. data/sig/knockapi/models.rbs +173 -0
  528. data/sig/knockapi/request_options.rbs +1 -1
  529. data/sig/knockapi/resources/audiences.rbs +2 -2
  530. data/sig/knockapi/resources/bulk_operations.rbs +1 -1
  531. data/sig/knockapi/resources/channels/bulk.rbs +1 -1
  532. data/sig/knockapi/resources/messages.rbs +15 -17
  533. data/sig/knockapi/resources/objects/bulk.rbs +5 -5
  534. data/sig/knockapi/resources/objects.rbs +19 -19
  535. data/sig/knockapi/resources/providers/ms_teams.rbs +2 -2
  536. data/sig/knockapi/resources/providers/slack.rbs +1 -1
  537. data/sig/knockapi/resources/schedules/bulk.rbs +2 -2
  538. data/sig/knockapi/resources/schedules.rbs +3 -3
  539. data/sig/knockapi/resources/tenants/bulk.rbs +2 -2
  540. data/sig/knockapi/resources/tenants.rbs +4 -4
  541. data/sig/knockapi/resources/users/bulk.rbs +5 -5
  542. data/sig/knockapi/resources/users.rbs +19 -19
  543. metadata +29 -8
  544. data/lib/knockapi/models/messages/activity_list_params.rb +0 -48
  545. data/lib/knockapi/resources/messages/activities.rb +0 -47
  546. data/rbi/knockapi/models/messages/activity_list_params.rbi +0 -75
  547. data/rbi/knockapi/resources/messages/activities.rbi +0 -38
  548. data/sig/knockapi/models/messages/activity_list_params.rbs +0 -45
  549. data/sig/knockapi/resources/messages/activities.rbs +0 -18
@@ -5,7 +5,9 @@ module Knockapi
5
5
  module Transport
6
6
  # @api private
7
7
  class PooledNetRequester
8
- RequestShape =
8
+ extend Knockapi::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Request =
9
11
  T.type_alias do
10
12
  {
11
13
  method: Symbol,
@@ -20,40 +22,57 @@ module Knockapi
20
22
  # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
21
23
  KEEP_ALIVE_TIMEOUT = 30
22
24
 
25
+ DEFAULT_MAX_CONNECTIONS = T.let(T.unsafe(nil), Integer)
26
+
23
27
  class << self
24
28
  # @api private
25
29
  sig { params(url: URI::Generic).returns(Net::HTTP) }
26
- def connect(url); end
30
+ def connect(url)
31
+ end
27
32
 
28
33
  # @api private
29
34
  sig { params(conn: Net::HTTP, deadline: Float).void }
30
- def calibrate_socket_timeout(conn, deadline); end
35
+ def calibrate_socket_timeout(conn, deadline)
36
+ end
31
37
 
32
38
  # @api private
33
39
  sig do
34
40
  params(
35
- request: Knockapi::Internal::Transport::PooledNetRequester::RequestShape,
41
+ request:
42
+ Knockapi::Internal::Transport::PooledNetRequester::Request,
36
43
  blk: T.proc.params(arg0: String).void
37
- )
38
- .returns([Net::HTTPGenericRequest, T.proc.void])
44
+ ).returns([Net::HTTPGenericRequest, T.proc.void])
45
+ end
46
+ def build_request(request, &blk)
39
47
  end
40
- def build_request(request, &blk); end
41
48
  end
42
49
 
43
50
  # @api private
44
- sig { params(url: URI::Generic, deadline: Float, blk: T.proc.params(arg0: Net::HTTP).void).void }
45
- private def with_pool(url, deadline:, &blk); end
51
+ sig do
52
+ params(
53
+ url: URI::Generic,
54
+ deadline: Float,
55
+ blk: T.proc.params(arg0: Net::HTTP).void
56
+ ).void
57
+ end
58
+ private def with_pool(url, deadline:, &blk)
59
+ end
46
60
 
47
61
  # @api private
48
62
  sig do
49
- params(request: Knockapi::Internal::Transport::PooledNetRequester::RequestShape)
50
- .returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
63
+ params(
64
+ request: Knockapi::Internal::Transport::PooledNetRequester::Request
65
+ ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
66
+ end
67
+ def execute(request)
51
68
  end
52
- def execute(request); end
53
69
 
54
70
  # @api private
55
71
  sig { params(size: Integer).returns(T.attached_class) }
56
- def self.new(size: Etc.nprocessors); end
72
+ def self.new(
73
+ size: Knockapi::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS
74
+ )
75
+ end
57
76
  end
58
77
  end
59
78
  end
@@ -15,25 +15,29 @@ module Knockapi
15
15
 
16
16
  sig do
17
17
  params(
18
- type_info: T.any(
19
- Knockapi::Internal::AnyHash,
20
- T.proc.returns(Knockapi::Internal::Type::Converter::Input),
21
- Knockapi::Internal::Type::Converter::Input
22
- ),
18
+ type_info:
19
+ T.any(
20
+ Knockapi::Internal::AnyHash,
21
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input),
22
+ Knockapi::Internal::Type::Converter::Input
23
+ ),
23
24
  spec: Knockapi::Internal::AnyHash
24
- )
25
- .returns(T.attached_class)
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.[](type_info, spec = {})
26
28
  end
27
- def self.[](type_info, spec = {}); end
28
29
 
29
30
  sig { params(other: T.anything).returns(T::Boolean) }
30
- def ===(other); end
31
+ def ===(other)
32
+ end
31
33
 
32
34
  sig { params(other: T.anything).returns(T::Boolean) }
33
- def ==(other); end
35
+ def ==(other)
36
+ end
34
37
 
35
38
  sig { returns(Integer) }
36
- def hash; end
39
+ def hash
40
+ end
37
41
 
38
42
  # @api private
39
43
  sig do
@@ -44,7 +48,8 @@ module Knockapi
44
48
  )
45
49
  .returns(T.any(T::Array[T.anything], T.anything))
46
50
  end
47
- def coerce(value, state:); end
51
+ def coerce(value, state:)
52
+ end
48
53
 
49
54
  # @api private
50
55
  sig do
@@ -55,33 +60,38 @@ module Knockapi
55
60
  )
56
61
  .returns(T.any(T::Array[T.anything], T.anything))
57
62
  end
58
- def dump(value, state:); end
63
+ def dump(value, state:)
64
+ end
59
65
 
60
66
  # @api private
61
67
  sig { returns(Elem) }
62
- protected def item_type; end
68
+ protected def item_type
69
+ end
63
70
 
64
71
  # @api private
65
72
  sig { returns(T::Boolean) }
66
- protected def nilable?; end
73
+ protected def nilable?
74
+ end
67
75
 
68
76
  # @api private
69
77
  sig do
70
78
  params(
71
- type_info: T.any(
72
- Knockapi::Internal::AnyHash,
73
- T.proc.returns(Knockapi::Internal::Type::Converter::Input),
74
- Knockapi::Internal::Type::Converter::Input
75
- ),
79
+ type_info:
80
+ T.any(
81
+ Knockapi::Internal::AnyHash,
82
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input),
83
+ Knockapi::Internal::Type::Converter::Input
84
+ ),
76
85
  spec: Knockapi::Internal::AnyHash
77
- )
78
- .void
86
+ ).void
87
+ end
88
+ def initialize(type_info, spec = {})
79
89
  end
80
- def initialize(type_info, spec = {}); end
81
90
 
82
91
  # @api private
83
92
  sig { params(depth: Integer).returns(String) }
84
- def inspect(depth: 0); end
93
+ def inspect(depth: 0)
94
+ end
85
95
  end
86
96
  end
87
97
  end
@@ -5,30 +5,53 @@ module Knockapi
5
5
  module Type
6
6
  class BaseModel
7
7
  extend Knockapi::Internal::Type::Converter
8
+ extend Knockapi::Internal::Util::SorbetRuntimeSupport
8
9
 
9
10
  abstract!
10
11
 
11
- KnownFieldShape = T.type_alias do
12
- {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean}
13
- end
12
+ KnownField =
13
+ T.type_alias do
14
+ {
15
+ mode: T.nilable(Symbol),
16
+ required: T::Boolean,
17
+ nilable: T::Boolean
18
+ }
19
+ end
20
+
21
+ OrHash =
22
+ T.type_alias do
23
+ T.any(
24
+ Knockapi::Internal::Type::BaseModel,
25
+ Knockapi::Internal::AnyHash
26
+ )
27
+ end
14
28
 
15
29
  class << self
16
30
  # @api private
17
31
  #
18
32
  # Assumes superclass fields are totally defined before fields are accessed /
19
33
  # defined on subclasses.
34
+ sig { params(child: T.self_type).void }
35
+ def inherited(child)
36
+ end
37
+
38
+ # @api private
20
39
  sig do
21
40
  returns(
22
41
  T::Hash[
23
42
  Symbol,
24
43
  T.all(
25
- Knockapi::Internal::Type::BaseModel::KnownFieldShape,
26
- {type_fn: T.proc.returns(Knockapi::Internal::Type::Converter::Input)}
44
+ Knockapi::Internal::Type::BaseModel::KnownField,
45
+ {
46
+ type_fn:
47
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input)
48
+ }
27
49
  )
28
50
  ]
29
51
  )
30
52
  end
31
- def known_fields; end
53
+ def known_fields
54
+ end
32
55
 
33
56
  # @api private
34
57
  sig do
@@ -36,119 +59,156 @@ module Knockapi
36
59
  T::Hash[
37
60
  Symbol,
38
61
  T.all(
39
- Knockapi::Internal::Type::BaseModel::KnownFieldShape,
40
- {type: Knockapi::Internal::Type::Converter::Input}
62
+ Knockapi::Internal::Type::BaseModel::KnownField,
63
+ { type: Knockapi::Internal::Type::Converter::Input }
41
64
  )
42
65
  ]
43
66
  )
44
67
  end
45
- def fields; end
68
+ def fields
69
+ end
46
70
 
47
71
  # @api private
48
72
  sig do
49
73
  params(
50
74
  name_sym: Symbol,
51
75
  required: T::Boolean,
52
- type_info: T.any(
53
- {
54
- const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
55
- enum: T.nilable(T.proc.returns(Knockapi::Internal::Type::Converter::Input)),
56
- union: T.nilable(T.proc.returns(Knockapi::Internal::Type::Converter::Input)),
57
- api_name: Symbol,
58
- nil?: T::Boolean
59
- },
60
- T.proc.returns(Knockapi::Internal::Type::Converter::Input),
61
- Knockapi::Internal::Type::Converter::Input
62
- ),
76
+ type_info:
77
+ T.any(
78
+ {
79
+ const:
80
+ T.nilable(
81
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
82
+ ),
83
+ enum:
84
+ T.nilable(
85
+ T.proc.returns(
86
+ Knockapi::Internal::Type::Converter::Input
87
+ )
88
+ ),
89
+ union:
90
+ T.nilable(
91
+ T.proc.returns(
92
+ Knockapi::Internal::Type::Converter::Input
93
+ )
94
+ ),
95
+ api_name: Symbol,
96
+ nil?: T::Boolean
97
+ },
98
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input),
99
+ Knockapi::Internal::Type::Converter::Input
100
+ ),
63
101
  spec: Knockapi::Internal::AnyHash
64
- )
65
- .void
102
+ ).void
103
+ end
104
+ private def add_field(name_sym, required:, type_info:, spec:)
66
105
  end
67
- private def add_field(name_sym, required:, type_info:, spec:); end
68
106
 
69
107
  # @api private
70
108
  sig do
71
109
  params(
72
110
  name_sym: Symbol,
73
- type_info: T.any(
74
- Knockapi::Internal::AnyHash,
75
- T.proc.returns(Knockapi::Internal::Type::Converter::Input),
76
- Knockapi::Internal::Type::Converter::Input
77
- ),
111
+ type_info:
112
+ T.any(
113
+ Knockapi::Internal::AnyHash,
114
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input),
115
+ Knockapi::Internal::Type::Converter::Input
116
+ ),
78
117
  spec: Knockapi::Internal::AnyHash
79
- )
80
- .void
118
+ ).void
119
+ end
120
+ def required(name_sym, type_info, spec = {})
81
121
  end
82
- def required(name_sym, type_info, spec = {}); end
83
122
 
84
123
  # @api private
85
124
  sig do
86
125
  params(
87
126
  name_sym: Symbol,
88
- type_info: T.any(
89
- Knockapi::Internal::AnyHash,
90
- T.proc.returns(Knockapi::Internal::Type::Converter::Input),
91
- Knockapi::Internal::Type::Converter::Input
92
- ),
127
+ type_info:
128
+ T.any(
129
+ Knockapi::Internal::AnyHash,
130
+ T.proc.returns(Knockapi::Internal::Type::Converter::Input),
131
+ Knockapi::Internal::Type::Converter::Input
132
+ ),
93
133
  spec: Knockapi::Internal::AnyHash
94
- )
95
- .void
134
+ ).void
135
+ end
136
+ def optional(name_sym, type_info, spec = {})
96
137
  end
97
- def optional(name_sym, type_info, spec = {}); end
98
138
 
99
139
  # @api private
100
140
  #
101
141
  # `request_only` attributes not excluded from `.#coerce` when receiving responses
102
142
  # even if well behaved servers should not send them
103
143
  sig { params(blk: T.proc.void).void }
104
- private def request_only(&blk); end
144
+ private def request_only(&blk)
145
+ end
105
146
 
106
147
  # @api private
107
148
  #
108
149
  # `response_only` attributes are omitted from `.#dump` when making requests
109
150
  sig { params(blk: T.proc.void).void }
110
- private def response_only(&blk); end
151
+ private def response_only(&blk)
152
+ end
111
153
 
112
154
  sig { params(other: T.anything).returns(T::Boolean) }
113
- def ==(other); end
155
+ def ==(other)
156
+ end
114
157
 
115
158
  sig { returns(Integer) }
116
- def hash; end
159
+ def hash
160
+ end
117
161
  end
118
162
 
119
163
  sig { params(other: T.anything).returns(T::Boolean) }
120
- def ==(other); end
164
+ def ==(other)
165
+ end
121
166
 
122
167
  sig { returns(Integer) }
123
- def hash; end
168
+ def hash
169
+ end
124
170
 
125
171
  class << self
126
172
  # @api private
127
173
  sig do
128
174
  override
129
175
  .params(
130
- value: T.any(
131
- Knockapi::Internal::Type::BaseModel,
132
- T::Hash[T.anything, T.anything],
133
- T.anything
134
- ),
176
+ value:
177
+ T.any(
178
+ Knockapi::Internal::Type::BaseModel,
179
+ T::Hash[T.anything, T.anything],
180
+ T.anything
181
+ ),
135
182
  state: Knockapi::Internal::Type::Converter::CoerceState
136
183
  )
137
184
  .returns(T.any(T.attached_class, T.anything))
138
185
  end
139
- def coerce(value, state:); end
186
+ def coerce(value, state:)
187
+ end
140
188
 
141
189
  # @api private
142
190
  sig do
143
191
  override
144
- .params(value: T.any(
145
- T.attached_class,
146
- T.anything
147
- ),
148
- state: Knockapi::Internal::Type::Converter::DumpState)
192
+ .params(
193
+ value: T.any(T.attached_class, T.anything),
194
+ state: Knockapi::Internal::Type::Converter::DumpState
195
+ )
149
196
  .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
150
197
  end
151
- def dump(value, state:); end
198
+ def dump(value, state:)
199
+ end
200
+ end
201
+
202
+ class << self
203
+ # @api private
204
+ sig do
205
+ params(
206
+ model: Knockapi::Internal::Type::BaseModel,
207
+ convert: T::Boolean
208
+ ).returns(Knockapi::Internal::AnyHash)
209
+ end
210
+ def recursively_to_h(model, convert:)
211
+ end
152
212
  end
153
213
 
154
214
  # Returns the raw value associated with the given key, if found. Otherwise, nil is
@@ -158,7 +218,8 @@ module Knockapi
158
218
  # undocumented features. This method does not parse response data into
159
219
  # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
160
220
  sig { params(key: Symbol).returns(T.nilable(T.anything)) }
161
- def [](key); end
221
+ def [](key)
222
+ end
162
223
 
163
224
  # Returns a Hash of the data underlying this object. O(1)
164
225
  #
@@ -169,7 +230,8 @@ module Knockapi
169
230
  # This method is not recursive. The returned value is shared by the object, so it
170
231
  # should not be mutated.
171
232
  sig { overridable.returns(Knockapi::Internal::AnyHash) }
172
- def to_h; end
233
+ def to_h
234
+ end
173
235
 
174
236
  # Returns a Hash of the data underlying this object. O(1)
175
237
  #
@@ -180,39 +242,55 @@ module Knockapi
180
242
  # This method is not recursive. The returned value is shared by the object, so it
181
243
  # should not be mutated.
182
244
  sig { overridable.returns(Knockapi::Internal::AnyHash) }
183
- def to_hash; end
245
+ def to_hash
246
+ end
184
247
 
185
- sig { params(keys: T.nilable(T::Array[Symbol])).returns(Knockapi::Internal::AnyHash) }
186
- def deconstruct_keys(keys); end
248
+ # In addition to the behaviour of `#to_h`, this method will recursively call
249
+ # `#to_h` on nested models.
250
+ sig { overridable.returns(Knockapi::Internal::AnyHash) }
251
+ def deep_to_h
252
+ end
187
253
 
188
- class << self
189
- # @api private
190
- sig { params(model: Knockapi::Internal::Type::BaseModel).returns(Knockapi::Internal::AnyHash) }
191
- def walk(model); end
254
+ sig do
255
+ params(keys: T.nilable(T::Array[Symbol])).returns(
256
+ Knockapi::Internal::AnyHash
257
+ )
258
+ end
259
+ def deconstruct_keys(keys)
192
260
  end
193
261
 
194
262
  sig { params(a: T.anything).returns(String) }
195
- def to_json(*a); end
263
+ def to_json(*a)
264
+ end
196
265
 
197
266
  sig { params(a: T.anything).returns(String) }
198
- def to_yaml(*a); end
267
+ def to_yaml(*a)
268
+ end
199
269
 
200
270
  # Create a new instance of a model.
201
- sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) }
202
- def self.new(data = {}); end
271
+ sig do
272
+ params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
273
+ T.attached_class
274
+ )
275
+ end
276
+ def self.new(data = {})
277
+ end
203
278
 
204
279
  class << self
205
280
  # @api private
206
281
  sig { params(depth: Integer).returns(String) }
207
- def inspect(depth: 0); end
282
+ def inspect(depth: 0)
283
+ end
208
284
  end
209
285
 
210
286
  sig { returns(String) }
211
- def to_s; end
287
+ def to_s
288
+ end
212
289
 
213
290
  # @api private
214
291
  sig { returns(String) }
215
- def inspect; end
292
+ def inspect
293
+ end
216
294
  end
217
295
  end
218
296
  end
@@ -10,28 +10,32 @@ module Knockapi
10
10
  Elem = type_member(:out)
11
11
 
12
12
  sig { overridable.returns(T::Boolean) }
13
- def next_page?; end
13
+ def next_page?
14
+ end
14
15
 
15
16
  sig { overridable.returns(T.self_type) }
16
- def next_page; end
17
+ def next_page
18
+ end
17
19
 
18
20
  sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
19
- def auto_paging_each(&blk); end
21
+ def auto_paging_each(&blk)
22
+ end
20
23
 
21
24
  sig { returns(T::Enumerable[Elem]) }
22
- def to_enum; end
25
+ def to_enum
26
+ end
23
27
 
24
28
  # @api private
25
29
  sig do
26
30
  params(
27
31
  client: Knockapi::Internal::Transport::BaseClient,
28
- req: Knockapi::Internal::Transport::BaseClient::RequestComponentsShape,
32
+ req: Knockapi::Internal::Transport::BaseClient::RequestComponents,
29
33
  headers: T.any(T::Hash[String, String], Net::HTTPHeader),
30
34
  page_data: T.anything
31
- )
32
- .void
35
+ ).void
36
+ end
37
+ def initialize(client:, req:, headers:, page_data:)
33
38
  end
34
- def initialize(client:, req:, headers:, page_data:); end
35
39
  end
36
40
  end
37
41
  end
@@ -12,35 +12,37 @@ module Knockapi
12
12
  abstract!
13
13
 
14
14
  sig { params(other: T.anything).returns(T::Boolean) }
15
- def self.===(other); end
15
+ def self.===(other)
16
+ end
16
17
 
17
18
  sig { params(other: T.anything).returns(T::Boolean) }
18
- def self.==(other); end
19
+ def self.==(other)
20
+ end
19
21
 
20
22
  class << self
21
23
  # @api private
22
24
  sig do
23
25
  override
24
- .params(value: T.any(
25
- T::Boolean,
26
- T.anything
27
- ),
28
- state: Knockapi::Internal::Type::Converter::CoerceState)
26
+ .params(
27
+ value: T.any(T::Boolean, T.anything),
28
+ state: Knockapi::Internal::Type::Converter::CoerceState
29
+ )
29
30
  .returns(T.any(T::Boolean, T.anything))
30
31
  end
31
- def coerce(value, state:); end
32
+ def coerce(value, state:)
33
+ end
32
34
 
33
35
  # @api private
34
36
  sig do
35
37
  override
36
- .params(value: T.any(
37
- T::Boolean,
38
- T.anything
39
- ),
40
- state: Knockapi::Internal::Type::Converter::DumpState)
38
+ .params(
39
+ value: T.any(T::Boolean, T.anything),
40
+ state: Knockapi::Internal::Type::Converter::DumpState
41
+ )
41
42
  .returns(T.any(T::Boolean, T.anything))
42
43
  end
43
- def dump(value, state:); end
44
+ def dump(value, state:)
45
+ end
44
46
  end
45
47
  end
46
48
  end