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