metronome-sdk 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.2

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 (697) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +22 -11
  4. data/lib/metronome_sdk/errors.rb +1 -1
  5. data/lib/metronome_sdk/file_part.rb +2 -2
  6. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +14 -0
  9. data/lib/metronome_sdk/internal/type/array_of.rb +1 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +63 -39
  11. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  12. data/lib/metronome_sdk/internal/type/enum.rb +1 -0
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -1
  14. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  15. data/lib/metronome_sdk/internal/type/union.rb +1 -0
  16. data/lib/metronome_sdk/internal/util.rb +77 -5
  17. data/lib/metronome_sdk/internal.rb +6 -0
  18. data/lib/metronome_sdk/models/commit.rb +129 -110
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +245 -239
  20. data/lib/metronome_sdk/models/credit.rb +68 -60
  21. data/lib/metronome_sdk/models/discount.rb +7 -7
  22. data/lib/metronome_sdk/models/event_type_filter.rb +1 -3
  23. data/lib/metronome_sdk/models/override.rb +45 -51
  24. data/lib/metronome_sdk/models/pro_service.rb +2 -4
  25. data/lib/metronome_sdk/models/property_filter.rb +1 -4
  26. data/lib/metronome_sdk/models/rate.rb +12 -17
  27. data/lib/metronome_sdk/models/schedule_duration.rb +6 -6
  28. data/lib/metronome_sdk/models/schedule_point_in_time.rb +6 -6
  29. data/lib/metronome_sdk/models/scheduled_charge.rb +7 -7
  30. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -3
  31. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -23
  32. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -3
  33. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +3 -6
  34. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -3
  35. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +9 -15
  36. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -3
  37. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -11
  38. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -10
  39. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  40. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +229 -234
  41. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -3
  42. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +27 -21
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -3
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +625 -622
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -3
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +9 -5
  50. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  51. data/lib/metronome_sdk/models/v1/contract_list_response.rb +424 -29
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +7 -10
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -10
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +424 -29
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +7 -7
  57. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -3
  58. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  59. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -3
  60. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  61. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  62. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -3
  63. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -15
  64. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -3
  65. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +7 -11
  66. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +3 -4
  67. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -16
  68. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +16 -16
  69. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -18
  70. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -3
  71. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +4 -4
  72. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +6 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +18 -0
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +20 -0
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +10 -8
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -3
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -6
  78. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +7 -9
  79. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -7
  80. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -6
  81. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +5 -4
  82. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -3
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +5 -3
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -3
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +29 -30
  89. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -3
  90. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +18 -23
  91. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -15
  92. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +7 -9
  93. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -7
  94. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +26 -24
  95. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -3
  96. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -3
  97. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  98. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -15
  99. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  100. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -18
  101. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -3
  102. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -3
  103. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +3 -3
  104. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +3 -3
  105. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +5 -3
  106. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +3 -3
  107. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +3 -3
  108. data/lib/metronome_sdk/models/v1/customer.rb +1 -3
  109. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -3
  110. data/lib/metronome_sdk/models/v1/customer_create_params.rb +33 -32
  111. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -3
  112. data/lib/metronome_sdk/models/v1/customer_detail.rb +13 -16
  113. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -11
  115. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  116. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -3
  117. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  118. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -3
  119. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  120. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +5 -4
  121. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -3
  122. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  123. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -3
  124. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +9 -11
  125. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +3 -3
  126. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +3 -3
  127. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  128. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +44 -51
  129. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -3
  130. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -3
  132. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  133. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -3
  134. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +11 -14
  135. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -3
  136. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  137. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -3
  138. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  139. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -3
  140. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +38 -37
  141. data/lib/metronome_sdk/models/v1/customers/invoice.rb +137 -118
  142. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  143. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +8 -10
  144. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +3 -6
  145. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -3
  146. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  147. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  148. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +24 -30
  149. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -3
  150. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  151. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -3
  152. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +24 -20
  153. data/lib/metronome_sdk/models/v1/plan_detail.rb +28 -28
  154. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -3
  155. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -6
  156. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +3 -3
  157. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -3
  158. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +4 -4
  159. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +4 -4
  160. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +5 -3
  161. data/lib/metronome_sdk/models/v1/usage_list_params.rb +13 -16
  162. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  163. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +7 -10
  164. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +36 -26
  165. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -3
  166. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +18 -14
  167. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -3
  168. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +979 -460
  169. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -3
  170. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +24 -47
  171. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  172. data/lib/metronome_sdk/models/v2/contract_list_response.rb +273 -161
  173. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  174. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +273 -161
  175. data/lib/metronome_sdk/models.rb +66 -0
  176. data/lib/metronome_sdk/request_options.rb +4 -0
  177. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -15
  178. data/lib/metronome_sdk/resources/v1/audit_logs.rb +2 -5
  179. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +7 -11
  180. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  181. data/lib/metronome_sdk/resources/v1/contracts/products.rb +11 -29
  182. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  183. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +3 -5
  184. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -16
  185. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +30 -15
  186. data/lib/metronome_sdk/resources/v1/contracts.rb +41 -60
  187. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -21
  188. data/lib/metronome_sdk/resources/v1/custom_fields.rb +10 -10
  189. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +10 -6
  190. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -9
  191. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -20
  192. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -13
  193. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +9 -21
  194. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  195. data/lib/metronome_sdk/resources/v1/customers/plans.rb +7 -17
  196. data/lib/metronome_sdk/resources/v1/customers.rb +13 -20
  197. data/lib/metronome_sdk/resources/v1/dashboards.rb +5 -5
  198. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  199. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  200. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  201. data/lib/metronome_sdk/resources/v1/usage.rb +8 -13
  202. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -39
  203. data/lib/metronome_sdk/version.rb +1 -1
  204. data/lib/metronome_sdk.rb +5 -0
  205. data/rbi/metronome_sdk/client.rbi +5 -4
  206. data/rbi/metronome_sdk/errors.rbi +34 -15
  207. data/rbi/metronome_sdk/file_part.rbi +9 -6
  208. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  209. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  210. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +29 -13
  211. data/rbi/metronome_sdk/internal/type/array_of.rbi +34 -24
  212. data/rbi/metronome_sdk/internal/type/base_model.rbi +155 -70
  213. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  214. data/rbi/metronome_sdk/internal/type/boolean.rbi +16 -14
  215. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  216. data/rbi/metronome_sdk/internal/type/enum.rbi +24 -13
  217. data/rbi/metronome_sdk/internal/type/file_input.rbi +8 -4
  218. data/rbi/metronome_sdk/internal/type/hash_of.rbi +34 -24
  219. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  220. data/rbi/metronome_sdk/internal/type/union.rbi +53 -22
  221. data/rbi/metronome_sdk/internal/type/unknown.rbi +16 -6
  222. data/rbi/metronome_sdk/internal/util.rbi +238 -89
  223. data/rbi/metronome_sdk/internal.rbi +2 -0
  224. data/rbi/metronome_sdk/models/base_usage_filter.rbi +23 -4
  225. data/rbi/metronome_sdk/models/commit.rbi +792 -450
  226. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +1303 -771
  227. data/rbi/metronome_sdk/models/credit.rbi +405 -223
  228. data/rbi/metronome_sdk/models/credit_type_data.rbi +10 -3
  229. data/rbi/metronome_sdk/models/discount.rbi +40 -24
  230. data/rbi/metronome_sdk/models/event_type_filter.rbi +21 -4
  231. data/rbi/metronome_sdk/models/id.rbi +10 -3
  232. data/rbi/metronome_sdk/models/override.rbi +243 -137
  233. data/rbi/metronome_sdk/models/pro_service.rbi +23 -17
  234. data/rbi/metronome_sdk/models/property_filter.rbi +24 -11
  235. data/rbi/metronome_sdk/models/rate.rbi +47 -35
  236. data/rbi/metronome_sdk/models/schedule_duration.rbi +51 -20
  237. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +63 -34
  238. data/rbi/metronome_sdk/models/scheduled_charge.rbi +41 -26
  239. data/rbi/metronome_sdk/models/tier.rbi +10 -3
  240. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  241. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +16 -6
  242. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +171 -77
  243. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +16 -6
  244. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  245. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  246. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +18 -5
  247. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +16 -6
  248. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +84 -41
  249. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +16 -6
  250. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  251. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +84 -41
  252. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  253. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +98 -51
  254. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  255. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1469 -779
  256. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +16 -6
  257. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  258. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +16 -6
  259. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  260. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +20 -7
  261. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +3311 -2108
  262. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +16 -6
  263. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  264. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +41 -15
  265. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  266. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +1167 -182
  267. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  268. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -46
  269. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +122 -78
  270. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +1163 -190
  271. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  272. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +20 -7
  273. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  274. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  275. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +16 -6
  276. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  277. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  278. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  279. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  280. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +18 -6
  281. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +107 -46
  282. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +18 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +58 -35
  284. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +63 -25
  285. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +163 -73
  286. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +18 -5
  287. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +188 -87
  288. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +59 -36
  289. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +18 -6
  290. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +51 -20
  291. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +52 -20
  292. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +36 -0
  293. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +35 -0
  294. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  295. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +18 -6
  296. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  297. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +116 -55
  298. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +18 -5
  299. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +67 -45
  300. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +111 -75
  301. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +147 -81
  302. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  303. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +18 -6
  304. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  305. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  306. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  307. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  308. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +18 -6
  309. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  310. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +18 -6
  311. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +153 -100
  312. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +19 -6
  313. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +139 -79
  314. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +141 -82
  315. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +73 -45
  316. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +84 -55
  317. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +145 -80
  318. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +16 -6
  319. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  320. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +16 -6
  321. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  322. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +162 -77
  323. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  324. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +169 -72
  325. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  326. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +16 -6
  327. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +25 -16
  328. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  329. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  330. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  331. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  332. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  333. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  334. data/rbi/metronome_sdk/models/v1/customer.rbi +20 -14
  335. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +18 -5
  336. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +16 -6
  337. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  338. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +18 -7
  339. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +111 -51
  340. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  341. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +69 -45
  342. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  343. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  344. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  345. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  346. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +18 -7
  347. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  348. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  349. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +18 -7
  350. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  352. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +22 -10
  353. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  354. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  355. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +24 -8
  356. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  357. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  358. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  359. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  360. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +320 -171
  361. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +18 -6
  362. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  363. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +23 -7
  364. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  365. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +18 -6
  366. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +141 -66
  367. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +18 -6
  368. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  369. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +23 -7
  370. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  371. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +18 -6
  372. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +261 -134
  373. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +897 -473
  374. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  375. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  376. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  377. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +21 -4
  378. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  379. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  380. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +22 -7
  381. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  382. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  383. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  384. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  385. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +18 -6
  386. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  387. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  388. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  389. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  390. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  391. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +98 -50
  392. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  393. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  394. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  395. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  396. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  397. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  398. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +136 -90
  399. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  400. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +18 -7
  401. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  402. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +167 -76
  403. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  404. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +59 -35
  405. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  406. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  407. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  408. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  409. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +46 -10
  410. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +43 -11
  411. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  412. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  413. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  414. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  415. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  416. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  417. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  418. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +320 -169
  419. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +16 -6
  420. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +169 -89
  421. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +16 -6
  422. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +4392 -1964
  423. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +16 -6
  424. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  425. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +2147 -1376
  426. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  427. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3138 -1686
  428. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  429. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3092 -1728
  430. data/rbi/metronome_sdk/models.rbi +39 -0
  431. data/rbi/metronome_sdk/request_options.rbi +18 -7
  432. data/rbi/metronome_sdk/resources/v1/alerts.rbi +23 -11
  433. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  434. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +31 -17
  435. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  436. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +59 -22
  437. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  438. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  439. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +37 -31
  440. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  441. data/rbi/metronome_sdk/resources/v1/contracts.rbi +141 -105
  442. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  443. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  444. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  445. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  446. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +26 -22
  447. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +22 -17
  448. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  449. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  450. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  451. data/rbi/metronome_sdk/resources/v1/customers.rbi +65 -38
  452. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  453. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  454. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  455. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  456. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  457. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  458. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  459. data/rbi/metronome_sdk/resources/v2/contracts.rbi +119 -69
  460. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  461. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  462. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  463. data/sig/metronome_sdk/internal/type/base_model.rbs +11 -5
  464. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  465. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  466. data/sig/metronome_sdk/internal/type/enum.rbs +1 -0
  467. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  468. data/sig/metronome_sdk/internal/type/union.rbs +1 -0
  469. data/sig/metronome_sdk/internal/util.rbs +15 -0
  470. data/sig/metronome_sdk/internal.rbs +2 -0
  471. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -2
  472. data/sig/metronome_sdk/models/commit.rbs +109 -145
  473. data/sig/metronome_sdk/models/contract_without_amendments.rbs +219 -269
  474. data/sig/metronome_sdk/models/credit.rbs +59 -77
  475. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -2
  476. data/sig/metronome_sdk/models/discount.rbs +6 -10
  477. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -2
  478. data/sig/metronome_sdk/models/id.rbs +0 -2
  479. data/sig/metronome_sdk/models/override.rbs +60 -74
  480. data/sig/metronome_sdk/models/pro_service.rbs +0 -2
  481. data/sig/metronome_sdk/models/property_filter.rbs +0 -2
  482. data/sig/metronome_sdk/models/rate.rbs +13 -17
  483. data/sig/metronome_sdk/models/schedule_duration.rbs +8 -12
  484. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +10 -14
  485. data/sig/metronome_sdk/models/scheduled_charge.rbs +6 -10
  486. data/sig/metronome_sdk/models/tier.rbs +0 -2
  487. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +0 -2
  488. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +3 -5
  489. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +14 -20
  490. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +3 -5
  491. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +0 -2
  492. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +0 -6
  493. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +0 -2
  494. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +3 -5
  495. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +10 -12
  496. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +3 -5
  497. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +0 -2
  498. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +10 -12
  499. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +0 -2
  500. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +10 -14
  501. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +0 -2
  502. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +204 -260
  503. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +3 -5
  504. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +0 -2
  505. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +3 -5
  506. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +23 -31
  507. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +3 -5
  508. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +510 -604
  509. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +3 -5
  510. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +0 -2
  511. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +2 -4
  512. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +0 -2
  513. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +310 -40
  514. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +0 -2
  515. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +5 -9
  516. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +12 -20
  517. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +310 -40
  518. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +3 -7
  519. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +3 -5
  520. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +0 -2
  521. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +0 -2
  522. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +3 -6
  523. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +0 -2
  524. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +0 -4
  525. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +0 -2
  526. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +0 -2
  527. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +3 -5
  528. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +6 -8
  529. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +3 -5
  530. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +6 -8
  531. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +0 -2
  532. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +12 -16
  533. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +0 -2
  534. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +12 -18
  535. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +6 -8
  536. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +3 -5
  537. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +4 -6
  538. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +4 -6
  539. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +17 -0
  540. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +15 -0
  541. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +10 -16
  542. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +3 -5
  543. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +0 -2
  544. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +8 -14
  545. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +0 -2
  546. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +5 -9
  547. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +8 -14
  548. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +8 -16
  549. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +5 -9
  550. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +3 -5
  551. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +0 -2
  552. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +0 -4
  553. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +0 -2
  554. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +0 -2
  555. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +3 -5
  556. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +3 -7
  557. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +3 -6
  558. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +26 -32
  559. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +3 -5
  560. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -23
  561. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +15 -21
  562. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +5 -9
  563. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +8 -12
  564. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +17 -25
  565. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +3 -5
  566. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +0 -2
  567. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +3 -5
  568. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +0 -2
  569. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +9 -19
  570. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +0 -2
  571. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +12 -22
  572. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +0 -2
  573. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +3 -5
  574. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -2
  575. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +0 -2
  576. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +0 -2
  577. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +6 -8
  578. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +0 -4
  579. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +0 -2
  580. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +0 -2
  581. data/sig/metronome_sdk/models/v1/customer.rbs +0 -2
  582. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +0 -2
  583. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +3 -5
  584. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +36 -42
  585. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +3 -6
  586. data/sig/metronome_sdk/models/v1/customer_detail.rbs +12 -18
  587. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +0 -2
  588. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +10 -12
  589. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +0 -2
  590. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +0 -6
  591. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +0 -2
  592. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +0 -2
  593. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +3 -5
  594. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +0 -2
  595. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +0 -2
  596. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +3 -6
  597. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +0 -2
  598. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -8
  599. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +3 -5
  600. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +0 -2
  601. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +22 -2
  602. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +3 -5
  603. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +0 -2
  604. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +0 -2
  605. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +0 -2
  606. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +0 -4
  607. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +29 -41
  608. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +3 -5
  609. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +0 -2
  610. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +3 -5
  611. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +0 -2
  612. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +3 -6
  613. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -12
  614. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +3 -5
  615. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +0 -2
  616. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +3 -5
  617. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +0 -2
  618. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +3 -6
  619. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +32 -40
  620. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +133 -151
  621. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +0 -2
  622. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +0 -2
  623. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +0 -2
  624. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +0 -2
  625. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +0 -2
  626. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +0 -2
  627. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +3 -7
  628. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +0 -2
  629. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +0 -4
  630. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +0 -2
  631. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +24 -34
  632. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +3 -5
  633. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +0 -2
  634. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +0 -2
  635. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +0 -2
  636. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +0 -2
  637. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +0 -4
  638. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +3 -9
  639. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +21 -29
  640. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +0 -4
  641. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +0 -2
  642. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +0 -4
  643. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +0 -2
  644. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +0 -4
  645. data/sig/metronome_sdk/models/v1/plan_detail.rbs +30 -38
  646. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +0 -2
  647. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +3 -6
  648. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +0 -2
  649. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +3 -9
  650. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +0 -2
  651. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +3 -7
  652. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +0 -2
  653. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +0 -2
  654. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +0 -2
  655. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +0 -2
  656. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +4 -9
  657. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +4 -6
  658. data/sig/metronome_sdk/models/v1/service_list_params.rbs +0 -2
  659. data/sig/metronome_sdk/models/v1/service_list_response.rbs +0 -4
  660. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +5 -9
  661. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +10 -16
  662. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +0 -4
  663. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +5 -9
  664. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +0 -2
  665. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +40 -58
  666. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +3 -5
  667. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +20 -30
  668. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +3 -5
  669. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +779 -585
  670. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3 -5
  671. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +0 -2
  672. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +38 -146
  673. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +0 -2
  674. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +190 -224
  675. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +0 -2
  676. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +190 -224
  677. data/sig/metronome_sdk/models.rbs +37 -0
  678. data/sig/metronome_sdk/request_options.rbs +1 -1
  679. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  680. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  681. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  682. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  683. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +4 -4
  684. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  685. data/sig/metronome_sdk/resources/v1/contracts.rbs +25 -25
  686. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  687. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  688. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  689. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  690. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -1
  691. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  692. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  693. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  694. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  695. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  696. data/sig/metronome_sdk/resources/v2/contracts.rbs +25 -21
  697. metadata +13 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a881fed2cf5ff5c2eabfc23eb2d229ec29288933edd7d3cbb2267d61e27096b
4
- data.tar.gz: 28ce7dc9da20e9cb577dff3380d16bc071eb4bd2789ae5e3a67274fca31e8e0a
3
+ metadata.gz: b49fbb83290c83ee3d66cd3b2e5ae7e8055f745b97f8d1ab14ece932b89a23e0
4
+ data.tar.gz: 526a11304c8b163141bd09f107dc6a2e32c9c992549b5b521cad8c3229407a14
5
5
  SHA512:
6
- metadata.gz: 4b557ed8d9c7de4e7a764937bedfeb25e5a26c6d9f6b68610b133bebab463cf0d943f8f5d37018e296415208c85bae92002244b7e6f3943e64b162f05c7c33fe
7
- data.tar.gz: 3a2b97a7b75f283fc5f1468fb3bcbfbbf1a3d530f13105fcb9b80e37950c5b473946fd877e7a8801d476521c4c0ad2e567a2c4c2d8854f20fc73cef9161185a4
6
+ metadata.gz: fb6e5add40c34fc28319a79a8cf445a2e770a8d523bbeebdd89e7047fcb683658dcaa3775a52e94c5dc00032594e3ca254e077b3164fad2669691123c4944ab4
7
+ data.tar.gz: aacf5f90cddbb3756686efb8873d992f6df59fc6012bfcb2d770f0297eec754adaddfc82ef1960e948a93e594fda30f228e78caada919724f9f0774fd2bb371a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.2 (2025-05-14)
4
+
5
+ Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([a4f836d](https://github.com/Metronome-Industries/metronome-ruby/commit/a4f836d0ae211f507a54922859668ff35f94ce8e))
10
+ * **api:** api update ([688aade](https://github.com/Metronome-Industries/metronome-ruby/commit/688aade989f1758a41c10b7f7fe7e45a58f698bd))
11
+ * **api:** api update ([5ab431c](https://github.com/Metronome-Industries/metronome-ruby/commit/5ab431c2dc27ce3534f7d3afc3b4f5279438039d))
12
+ * **api:** api update ([b2a6fc9](https://github.com/Metronome-Industries/metronome-ruby/commit/b2a6fc947c7b844733d8064ec0e69997aeee34ce))
13
+ * **api:** api update ([01b3764](https://github.com/Metronome-Industries/metronome-ruby/commit/01b3764c3dcf27595b55098c751e1c2a93e5cfe5))
14
+ * **api:** api update ([6046a6d](https://github.com/Metronome-Industries/metronome-ruby/commit/6046a6db516552be6164f54f3e810461a9c18bd1))
15
+ * **api:** api update ([1aa390e](https://github.com/Metronome-Industries/metronome-ruby/commit/1aa390e7a464b8668e96574cf429b590ecc52914))
16
+ * **api:** api update ([c03bee8](https://github.com/Metronome-Industries/metronome-ruby/commit/c03bee8d5f7c5b9db872275edf5b69f912be7e13))
17
+ * **api:** api update ([9d59ec2](https://github.com/Metronome-Industries/metronome-ruby/commit/9d59ec25eed7f832cf734545fa50b3a5bd8c2bec))
18
+ * **api:** api update ([2650244](https://github.com/Metronome-Industries/metronome-ruby/commit/26502443fad8129531a2a74dcd69593a1fa64823))
19
+ * expose base client options as read only attributes ([4f569b2](https://github.com/Metronome-Industries/metronome-ruby/commit/4f569b2a9eee829bf49214da8f478f8588c600bb))
20
+ * expose recursive `#to_h` conversion ([d780fc3](https://github.com/Metronome-Industries/metronome-ruby/commit/d780fc3aa31b3d1b9418d86626ca8366f9e9a6ce))
21
+ * support sorbet aliases at the runtime ([9f251f3](https://github.com/Metronome-Industries/metronome-ruby/commit/9f251f3d72fe0032aa22feeed55417ac3ea87315))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **internal:** ensure formatting always uses c.utf-8 locale ([47ab8ad](https://github.com/Metronome-Industries/metronome-ruby/commit/47ab8ad4e70b382911b002a5d06c637ebb63e9f2))
27
+ * **internal:** fix formatting script for macos ([cd28a47](https://github.com/Metronome-Industries/metronome-ruby/commit/cd28a47d72d6e2c0ca42348bb0851ce5d10a7c5b))
28
+ * **internal:** update gemspec name ([1e9d5b2](https://github.com/Metronome-Industries/metronome-ruby/commit/1e9d5b242fb7a15182ce0908bc7dd2ce141f67e0))
29
+
30
+
31
+ ### Chores
32
+
33
+ * accept all nd-json mimetype variants ([c8cc15c](https://github.com/Metronome-Industries/metronome-ruby/commit/c8cc15c35825ca171c9f831924d854bcf29a71f0))
34
+ * always check if current page is empty in `next_page?` ([af6bc25](https://github.com/Metronome-Industries/metronome-ruby/commit/af6bc253a97f594f109516027a76fb3ae143a529))
35
+ * fix misc linting / minor issues ([afd7f7c](https://github.com/Metronome-Industries/metronome-ruby/commit/afd7f7c2cd1ced12d750a19bb97c1789160d329b))
36
+ * **internal:** codegen related update ([4c6b071](https://github.com/Metronome-Industries/metronome-ruby/commit/4c6b071f35043f8f449a489fb893f83103933afa))
37
+ * **internal:** codegen related update ([ce299e2](https://github.com/Metronome-Industries/metronome-ruby/commit/ce299e225e9d43e7e7e55bfd057ffaa32d958368))
38
+ * **internal:** codegen related update ([f5b8a2b](https://github.com/Metronome-Industries/metronome-ruby/commit/f5b8a2b7e65c01e6bffd12f2c505bf175309b197))
39
+ * **internal:** codegen related update ([4e241c7](https://github.com/Metronome-Industries/metronome-ruby/commit/4e241c7c11c917708bca0abea5e9723922b3dc09))
40
+ * loosen rubocop rules that don't always make sense ([f69c36b](https://github.com/Metronome-Industries/metronome-ruby/commit/f69c36bb3fac830b3142cfceab8bb190c3c47c4f))
41
+ * migrate away from deprecated `JSON#fast_generate` ([8b10970](https://github.com/Metronome-Industries/metronome-ruby/commit/8b109703a565463d836b639dc1bd8770dfd4d650))
42
+ * re-export top level models under library namespace ([2498d75](https://github.com/Metronome-Industries/metronome-ruby/commit/2498d75c53a4aa16a05dd1776d2d1d2ca8c14815))
43
+ * remove Gemfile.lock during bootstrap ([459e324](https://github.com/Metronome-Industries/metronome-ruby/commit/459e324ac0108b3bc68e8c0a173e36dcd0242019))
44
+ * reorganize type aliases ([bc60bc8](https://github.com/Metronome-Industries/metronome-ruby/commit/bc60bc83989da9809c45477034015c6e993e5827))
45
+ * revert ignoring Gemfile.lock ([51f355e](https://github.com/Metronome-Industries/metronome-ruby/commit/51f355ec8087755200d92f1c499ee694d187288d))
46
+ * validate request option coercion correctness ([940e426](https://github.com/Metronome-Industries/metronome-ruby/commit/940e4261d5730dc65821703c5bb64971331f4be4))
47
+
48
+
49
+ ### Documentation
50
+
51
+ * illustrate environmental defaults for auth variables ([731c295](https://github.com/Metronome-Industries/metronome-ruby/commit/731c2954a9fa2c3b60f6243a02b0afdefaf738c4))
52
+ * **readme:** fix typo ([c88281b](https://github.com/Metronome-Industries/metronome-ruby/commit/c88281b645e5f0c4cd1ec042cb8a4db0f83c156c))
53
+ * remove or fix invalid readme examples ([780d102](https://github.com/Metronome-Industries/metronome-ruby/commit/780d10248cd977d4d7cb6c5d99f3e60db5716ef0))
54
+
3
55
  ## 0.1.0-alpha.1 (2025-04-28)
4
56
 
5
57
  Full Changelog: [v0.0.1-alpha.0...v0.1.0-alpha.1](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.0.1-alpha.0...v0.1.0-alpha.1)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Metronome Ruby API library
2
2
 
3
- The Metronome Ruby library provides convenient access to the Metronome REST API from any Ruby 3.1.0+ application.
3
+ The Metronome Ruby library provides convenient access to the Metronome REST API from any Ruby 3.2.0+ application.
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "metronome-sdk", "~> 0.1.0.pre.alpha.1"
20
+ gem "metronome-sdk", "~> 0.1.0.pre.alpha.2"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -29,7 +29,7 @@ require "bundler/setup"
29
29
  require "metronome_sdk"
30
30
 
31
31
  metronome = MetronomeSDK::Client.new(
32
- bearer_token: "My Bearer Token" # defaults to ENV["METRONOME_BEARER_TOKEN"]
32
+ bearer_token: ENV["METRONOME_BEARER_TOKEN"] # This is the default and can be omitted
33
33
  )
34
34
 
35
35
  result = metronome.v1.usage.ingest(
@@ -56,7 +56,7 @@ When using sorbet, it is recommended to use model classes as below. This provide
56
56
  ```ruby
57
57
  metronome.v1.usage.ingest(
58
58
  usage: [
59
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
59
+ MetronomeSDK::V1::UsageIngestParams::Usage.new(
60
60
  transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
61
61
  customer_id: "team@example.com",
62
62
  event_type: "heartbeat",
@@ -92,13 +92,16 @@ When the library is unable to connect to the API, or if the API returns a non-su
92
92
 
93
93
  ```ruby
94
94
  begin
95
- contract = metronome.v1.contracts.create
95
+ contract = metronome.v1.contracts.create(
96
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
97
+ starting_at: "2020-01-01T00:00:00.000Z"
98
+ )
96
99
  rescue MetronomeSDK::Errors::APIError => e
97
100
  puts(e.status) # 400
98
101
  end
99
102
  ```
100
103
 
101
- Error codes are as followed:
104
+ Error codes are as follows:
102
105
 
103
106
  | Cause | Error Type |
104
107
  | ---------------- | -------------------------- |
@@ -129,7 +132,11 @@ metronome = MetronomeSDK::Client.new(
129
132
  )
130
133
 
131
134
  # Or, configure per-request:
132
- metronome.v1.contracts.create(request_options: {max_retries: 5})
135
+ metronome.v1.contracts.create(
136
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
137
+ starting_at: "2020-01-01T00:00:00.000Z",
138
+ request_options: {max_retries: 5}
139
+ )
133
140
  ```
134
141
 
135
142
  ### Timeouts
@@ -147,7 +154,11 @@ metronome = MetronomeSDK::Client.new(
147
154
  )
148
155
 
149
156
  # Or, configure per-request:
150
- metronome.v1.contracts.create(request_options: {timeout: 5})
157
+ metronome.v1.contracts.create(
158
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
159
+ starting_at: "2020-01-01T00:00:00.000Z",
160
+ request_options: {timeout: 5}
161
+ )
151
162
  ```
152
163
 
153
164
  ## Model DSL
@@ -162,7 +173,7 @@ In all places where a `BaseModel` type is specified, vanilla Ruby `Hash` can als
162
173
  # This has tooling readability, for auto-completion, static analysis, and goto definition with supported language services
163
174
  params = MetronomeSDK::Models::V1::UsageIngestParams.new(
164
175
  usage: [
165
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
176
+ MetronomeSDK::V1::UsageIngestParams::Usage.new(
166
177
  transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
167
178
  customer_id: "team@example.com",
168
179
  event_type: "heartbeat",
@@ -231,7 +242,7 @@ It is possible to pass a compatible model / parameter class to a method that exp
231
242
  ```ruby
232
243
  params = MetronomeSDK::Models::V1::UsageIngestParams.new(
233
244
  usage: [
234
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
245
+ MetronomeSDK::V1::UsageIngestParams::Usage.new(
235
246
  transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
236
247
  customer_id: "team@example.com",
237
248
  event_type: "heartbeat",
@@ -251,7 +262,7 @@ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` typ
251
262
 
252
263
  ## Requirements
253
264
 
254
- Ruby 3.1.0 or higher.
265
+ Ruby 3.2.0 or higher.
255
266
 
256
267
  ## Contributing
257
268
 
@@ -99,7 +99,7 @@ module MetronomeSDK
99
99
  # @param response [nil]
100
100
  # @param message [String, nil]
101
101
  #
102
- # @return [MetronomeSDK::Errors::APIStatusError]
102
+ # @return [self]
103
103
  def self.for(url:, status:, body:, request:, response:, message: nil)
104
104
  kwargs = {
105
105
  url: url,
@@ -45,9 +45,9 @@ module MetronomeSDK
45
45
  @filename =
46
46
  case content
47
47
  in Pathname
48
- filename.nil? ? content.basename.to_path : File.basename(filename)
48
+ filename.nil? ? content.basename.to_path : ::File.basename(filename)
49
49
  else
50
- filename.nil? ? nil : File.basename(filename)
50
+ filename.nil? ? nil : ::File.basename(filename)
51
51
  end
52
52
  @content_type = content_type
53
53
  end
@@ -24,7 +24,7 @@ module MetronomeSDK
24
24
 
25
25
  # @return [Boolean]
26
26
  def next_page?
27
- !next_page_.nil?
27
+ !data.to_a.empty? && !next_page_.to_s.empty?
28
28
  end
29
29
 
30
30
  # @raise [MetronomeSDK::HTTP::Error]
@@ -67,8 +67,8 @@ module MetronomeSDK
67
67
 
68
68
  @next_page_ = page_data[:next_page]
69
69
  case page_data
70
- in {data: Array | nil => data}
71
- @data = data&.map { MetronomeSDK::Internal::Type::Converter.coerce(@model, _1) }
70
+ in {data: Array => data}
71
+ @data = data.map { MetronomeSDK::Internal::Type::Converter.coerce(@model, _1) }
72
72
  else
73
73
  end
74
74
  end
@@ -7,6 +7,8 @@ module MetronomeSDK
7
7
  #
8
8
  # @abstract
9
9
  class BaseClient
10
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
11
+
10
12
  # from whatwg fetch spec
11
13
  MAX_REDIRECTS = 20
12
14
 
@@ -151,6 +153,27 @@ module MetronomeSDK
151
153
  end
152
154
  end
153
155
 
156
+ # @return [URI::Generic]
157
+ attr_reader :base_url
158
+
159
+ # @return [Float]
160
+ attr_reader :timeout
161
+
162
+ # @return [Integer]
163
+ attr_reader :max_retries
164
+
165
+ # @return [Float]
166
+ attr_reader :initial_retry_delay
167
+
168
+ # @return [Float]
169
+ attr_reader :max_retry_delay
170
+
171
+ # @return [Hash{String=>String}]
172
+ attr_reader :headers
173
+
174
+ # @return [String, nil]
175
+ attr_reader :idempotency_header
176
+
154
177
  # @api private
155
178
  # @return [MetronomeSDK::Internal::Transport::PooledNetRequester]
156
179
  attr_reader :requester
@@ -182,10 +205,11 @@ module MetronomeSDK
182
205
  },
183
206
  headers
184
207
  )
185
- @base_url = MetronomeSDK::Internal::Util.parse_uri(base_url)
208
+ @base_url_components = MetronomeSDK::Internal::Util.parse_uri(base_url)
209
+ @base_url = MetronomeSDK::Internal::Util.unparse_uri(@base_url_components)
186
210
  @idempotency_header = idempotency_header&.to_s&.downcase
187
- @max_retries = max_retries
188
211
  @timeout = timeout
212
+ @max_retries = max_retries
189
213
  @initial_retry_delay = initial_retry_delay
190
214
  @max_retry_delay = max_retry_delay
191
215
  end
@@ -261,7 +285,7 @@ module MetronomeSDK
261
285
  headers["x-stainless-retry-count"] = "0"
262
286
  end
263
287
 
264
- timeout = opts.fetch(:timeout, @timeout).to_f.clamp((0..))
288
+ timeout = opts.fetch(:timeout, @timeout).to_f.clamp(0..)
265
289
  unless headers.key?("x-stainless-timeout") || timeout.zero?
266
290
  headers["x-stainless-timeout"] = timeout.to_s
267
291
  end
@@ -276,10 +300,14 @@ module MetronomeSDK
276
300
  MetronomeSDK::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
277
301
  end
278
302
 
303
+ url = MetronomeSDK::Internal::Util.join_parsed_uri(
304
+ @base_url_components,
305
+ {**req, path: path, query: query}
306
+ )
279
307
  headers, encoded = MetronomeSDK::Internal::Util.encode_content(headers, body)
280
308
  {
281
309
  method: method,
282
- url: MetronomeSDK::Internal::Util.join_parsed_uri(@base_url, {**req, path: path, query: query}),
310
+ url: url,
283
311
  headers: headers,
284
312
  body: encoded,
285
313
  max_retries: opts.fetch(:max_retries, @max_retries),
@@ -461,9 +489,9 @@ module MetronomeSDK
461
489
 
462
490
  decoded = MetronomeSDK::Internal::Util.decode_content(response, stream: stream)
463
491
  case req
464
- in { stream: Class => st }
492
+ in {stream: Class => st}
465
493
  st.new(model: model, url: url, status: status, response: response, stream: decoded)
466
- in { page: Class => page }
494
+ in {page: Class => page}
467
495
  page.new(client: self, req: req, headers: response, page_data: decoded)
468
496
  else
469
497
  unwrapped = MetronomeSDK::Internal::Util.dig(decoded, req[:unwrap])
@@ -476,10 +504,54 @@ module MetronomeSDK
476
504
  # @return [String]
477
505
  def inspect
478
506
  # rubocop:disable Layout/LineLength
479
- base_url = MetronomeSDK::Internal::Util.unparse_uri(@base_url)
480
- "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>"
507
+ "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{@base_url} max_retries=#{@max_retries} timeout=#{@timeout}>"
481
508
  # rubocop:enable Layout/LineLength
482
509
  end
510
+
511
+ define_sorbet_constant!(:RequestComponents) do
512
+ T.type_alias do
513
+ {
514
+ method: Symbol,
515
+ path: T.any(String, T::Array[String]),
516
+ query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]),
517
+ headers: T.nilable(
518
+ T::Hash[String,
519
+ T.nilable(
520
+ T.any(
521
+ String,
522
+ Integer,
523
+ T::Array[T.nilable(T.any(String, Integer))]
524
+ )
525
+ )]
526
+ ),
527
+ body: T.nilable(T.anything),
528
+ unwrap: T.nilable(
529
+ T.any(
530
+ Symbol,
531
+ Integer,
532
+ T::Array[T.any(Symbol, Integer)],
533
+ T.proc.params(arg0: T.anything).returns(T.anything)
534
+ )
535
+ ),
536
+ page: T.nilable(T::Class[MetronomeSDK::Internal::Type::BasePage[MetronomeSDK::Internal::Type::BaseModel]]),
537
+ stream: T.nilable(T::Class[T.anything]),
538
+ model: T.nilable(MetronomeSDK::Internal::Type::Converter::Input),
539
+ options: T.nilable(MetronomeSDK::RequestOptions::OrHash)
540
+ }
541
+ end
542
+ end
543
+ define_sorbet_constant!(:RequestInput) do
544
+ T.type_alias do
545
+ {
546
+ method: Symbol,
547
+ url: URI::Generic,
548
+ headers: T::Hash[String, String],
549
+ body: T.anything,
550
+ max_retries: Integer,
551
+ timeout: Float
552
+ }
553
+ end
554
+ end
483
555
  end
484
556
  end
485
557
  end
@@ -5,6 +5,8 @@ module MetronomeSDK
5
5
  module Transport
6
6
  # @api private
7
7
  class PooledNetRequester
8
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
9
+
8
10
  # from the golang stdlib
9
11
  # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
10
12
  KEEP_ALIVE_TIMEOUT = 30
@@ -187,6 +189,18 @@ module MetronomeSDK
187
189
  @size = size
188
190
  @pools = {}
189
191
  end
192
+
193
+ define_sorbet_constant!(:Request) do
194
+ T.type_alias do
195
+ {
196
+ method: Symbol,
197
+ url: URI::Generic,
198
+ headers: T::Hash[String, String],
199
+ body: T.anything,
200
+ deadline: Float
201
+ }
202
+ end
203
+ end
190
204
  end
191
205
  end
192
206
  end
@@ -29,7 +29,7 @@ module MetronomeSDK
29
29
  #
30
30
  # @option spec [Boolean] :"nil?"
31
31
  #
32
- # @return [MetronomeSDK::Internal::Type::ArrayOf]
32
+ # @return [self]
33
33
  def self.[](...) = new(...)
34
34
 
35
35
  # @api public
@@ -6,6 +6,7 @@ module MetronomeSDK
6
6
  # @abstract
7
7
  class BaseModel
8
8
  extend MetronomeSDK::Internal::Type::Converter
9
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
9
10
 
10
11
  class << self
11
12
  # @api private
@@ -13,11 +14,17 @@ module MetronomeSDK
13
14
  # Assumes superclass fields are totally defined before fields are accessed /
14
15
  # defined on subclasses.
15
16
  #
16
- # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
17
- def known_fields
18
- @known_fields ||= (self < MetronomeSDK::Internal::Type::BaseModel ? superclass.known_fields.dup : {})
17
+ # @param child [Class<MetronomeSDK::Internal::Type::BaseModel>]
18
+ def inherited(child)
19
+ super
20
+ child.known_fields.replace(known_fields.dup)
19
21
  end
20
22
 
23
+ # @api private
24
+ #
25
+ # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
26
+ def known_fields = @known_fields ||= {}
27
+
21
28
  # @api private
22
29
  #
23
30
  # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
@@ -204,7 +211,7 @@ module MetronomeSDK
204
211
  #
205
212
  # @option state [Integer] :branched
206
213
  #
207
- # @return [MetronomeSDK::Internal::Type::BaseModel, Object]
214
+ # @return [self, Object]
208
215
  def coerce(value, state:)
209
216
  exactness = state.fetch(:exactness)
210
217
 
@@ -263,7 +270,7 @@ module MetronomeSDK
263
270
 
264
271
  # @api private
265
272
  #
266
- # @param value [MetronomeSDK::Internal::Type::BaseModel, Object]
273
+ # @param value [self, Object]
267
274
  #
268
275
  # @param state [Hash{Symbol=>Object}] .
269
276
  #
@@ -304,6 +311,39 @@ module MetronomeSDK
304
311
  end
305
312
  end
306
313
 
314
+ class << self
315
+ # @api private
316
+ #
317
+ # @param model [MetronomeSDK::Internal::Type::BaseModel]
318
+ # @param convert [Boolean]
319
+ #
320
+ # @return [Hash{Symbol=>Object}]
321
+ def recursively_to_h(model, convert:)
322
+ rec = ->(x) do
323
+ case x
324
+ in MetronomeSDK::Internal::Type::BaseModel
325
+ if convert
326
+ fields = x.class.known_fields
327
+ x.to_h.to_h do |key, val|
328
+ [key, rec.call(fields.key?(key) ? x.public_send(key) : val)]
329
+ rescue MetronomeSDK::Errors::ConversionError
330
+ [key, rec.call(val)]
331
+ end
332
+ else
333
+ rec.call(x.to_h)
334
+ end
335
+ in Hash
336
+ x.transform_values(&rec)
337
+ in Array
338
+ x.map(&rec)
339
+ else
340
+ x
341
+ end
342
+ end
343
+ rec.call(model)
344
+ end
345
+ end
346
+
307
347
  # @api public
308
348
  #
309
349
  # Returns the raw value associated with the given key, if found. Otherwise, nil is
@@ -340,6 +380,14 @@ module MetronomeSDK
340
380
 
341
381
  alias_method :to_hash, :to_h
342
382
 
383
+ # @api public
384
+ #
385
+ # In addition to the behaviour of `#to_h`, this method will recursively call
386
+ # `#to_h` on nested models.
387
+ #
388
+ # @return [Hash{Symbol=>Object}]
389
+ def deep_to_h = self.class.recursively_to_h(@data, convert: false)
390
+
343
391
  # @param keys [Array<Symbol>, nil]
344
392
  #
345
393
  # @return [Hash{Symbol=>Object}]
@@ -355,29 +403,6 @@ module MetronomeSDK
355
403
  .to_h
356
404
  end
357
405
 
358
- class << self
359
- # @api private
360
- #
361
- # @param model [MetronomeSDK::Internal::Type::BaseModel]
362
- #
363
- # @return [Hash{Symbol=>Object}]
364
- def walk(model)
365
- walk = ->(x) do
366
- case x
367
- in MetronomeSDK::Internal::Type::BaseModel
368
- walk.call(x.to_h)
369
- in Hash
370
- x.transform_values(&walk)
371
- in Array
372
- x.map(&walk)
373
- else
374
- x
375
- end
376
- end
377
- walk.call(model)
378
- end
379
- end
380
-
381
406
  # @api public
382
407
  #
383
408
  # @param a [Object]
@@ -395,15 +420,7 @@ module MetronomeSDK
395
420
  # Create a new instance of a model.
396
421
  #
397
422
  # @param data [Hash{Symbol=>Object}, self]
398
- def initialize(data = {})
399
- case MetronomeSDK::Internal::Util.coerce_hash(data)
400
- in Hash => coerced
401
- @data = coerced
402
- else
403
- message = "Expected a #{Hash} or #{MetronomeSDK::Internal::Type::BaseModel}, got #{data.inspect}"
404
- raise ArgumentError.new(message)
405
- end
406
- end
423
+ def initialize(data = {}) = (@data = MetronomeSDK::Internal::Util.coerce_hash!(data).to_h)
407
424
 
408
425
  class << self
409
426
  # @api private
@@ -431,12 +448,19 @@ module MetronomeSDK
431
448
  # @api public
432
449
  #
433
450
  # @return [String]
434
- def to_s = self.class.walk(@data).to_s
451
+ def to_s = deep_to_h.to_s
435
452
 
436
453
  # @api private
437
454
  #
438
455
  # @return [String]
439
- def inspect = "#<#{self.class}:0x#{object_id.to_s(16)} #{self}>"
456
+ def inspect
457
+ converted = self.class.recursively_to_h(self, convert: true)
458
+ "#<#{self.class}:0x#{object_id.to_s(16)} #{converted}>"
459
+ end
460
+
461
+ define_sorbet_constant!(:KnownField) do
462
+ T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} }
463
+ end
440
464
  end
441
465
  end
442
466
  end
@@ -5,6 +5,8 @@ module MetronomeSDK
5
5
  module Type
6
6
  # @api private
7
7
  module Converter
8
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
9
+
8
10
  # rubocop:disable Lint/UnusedMethodArgument
9
11
 
10
12
  # @api private
@@ -268,6 +270,22 @@ module MetronomeSDK
268
270
  end
269
271
  end
270
272
  end
273
+
274
+ define_sorbet_constant!(:Input) do
275
+ T.type_alias { T.any(MetronomeSDK::Internal::Type::Converter, T::Class[T.anything]) }
276
+ end
277
+ define_sorbet_constant!(:CoerceState) do
278
+ T.type_alias do
279
+ {
280
+ strictness: T.any(T::Boolean, Symbol),
281
+ exactness: {yes: Integer, no: Integer, maybe: Integer},
282
+ branched: Integer
283
+ }
284
+ end
285
+ end
286
+ define_sorbet_constant!(:DumpState) do
287
+ T.type_alias { {can_retry: T::Boolean} }
288
+ end
271
289
  end
272
290
  end
273
291
  end
@@ -17,6 +17,7 @@ module MetronomeSDK
17
17
  # values safely.
18
18
  module Enum
19
19
  include MetronomeSDK::Internal::Type::Converter
20
+ include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
20
21
 
21
22
  # All of the valid Symbol values for this enum.
22
23
  #
@@ -29,7 +29,7 @@ module MetronomeSDK
29
29
  #
30
30
  # @option spec [Boolean] :"nil?"
31
31
  #
32
- # @return [MetronomeSDK::Internal::Type::HashOf]
32
+ # @return [self]
33
33
  def self.[](...) = new(...)
34
34
 
35
35
  # @api public
@@ -5,10 +5,10 @@ module MetronomeSDK
5
5
  module Type
6
6
  # @api private
7
7
  module RequestParameters
8
- # @!parse
9
- # # Options to specify HTTP behaviour for this request.
10
- # # @return [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
11
- # attr_accessor :request_options
8
+ # @!attribute request_options
9
+ # Options to specify HTTP behaviour for this request.
10
+ #
11
+ # @return [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
12
12
 
13
13
  # @param mod [Module]
14
14
  def self.included(mod)
@@ -28,14 +28,8 @@ module MetronomeSDK
28
28
  state = {can_retry: true}
29
29
  case (dumped = dump(params, state: state))
30
30
  in Hash
31
- options = MetronomeSDK::Internal::Util.coerce_hash(dumped[:request_options])
32
- request_options =
33
- case [options, state.fetch(:can_retry)]
34
- in [Hash | nil, false]
35
- {**options.to_h, max_retries: 0}
36
- else
37
- options
38
- end
31
+ options = MetronomeSDK::Internal::Util.coerce_hash!(dumped[:request_options]).to_h
32
+ request_options = state.fetch(:can_retry) ? options : {**options, max_retries: 0}
39
33
  [dumped.except(:request_options), request_options]
40
34
  else
41
35
  [dumped, nil]
@@ -6,6 +6,7 @@ module MetronomeSDK
6
6
  # @api private
7
7
  module Union
8
8
  include MetronomeSDK::Internal::Type::Converter
9
+ include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
9
10
 
10
11
  # @api private
11
12
  #