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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
@@ -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,10 +5,14 @@ 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
11
13
 
14
+ DEFAULT_MAX_CONNECTIONS = [Etc.nprocessors, 99].max
15
+
12
16
  class << self
13
17
  # @api private
14
18
  #
@@ -182,11 +186,23 @@ module MetronomeSDK
182
186
  # @api private
183
187
  #
184
188
  # @param size [Integer]
185
- def initialize(size: Etc.nprocessors)
189
+ def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
186
190
  @mutex = Mutex.new
187
191
  @size = size
188
192
  @pools = {}
189
193
  end
194
+
195
+ define_sorbet_constant!(:Request) do
196
+ T.type_alias do
197
+ {
198
+ method: Symbol,
199
+ url: URI::Generic,
200
+ headers: T::Hash[String, String],
201
+ body: T.anything,
202
+ deadline: Float
203
+ }
204
+ end
205
+ end
190
206
  end
191
207
  end
192
208
  end
@@ -12,6 +12,7 @@ module MetronomeSDK
12
12
  # Array of items of a given type.
13
13
  class ArrayOf
14
14
  include MetronomeSDK::Internal::Type::Converter
15
+ include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
15
16
 
16
17
  private_class_method :new
17
18
 
@@ -29,7 +30,7 @@ module MetronomeSDK
29
30
  #
30
31
  # @option spec [Boolean] :"nil?"
31
32
  #
32
- # @return [MetronomeSDK::Internal::Type::ArrayOf]
33
+ # @return [self]
33
34
  def self.[](...) = new(...)
34
35
 
35
36
  # @api public
@@ -110,6 +111,13 @@ module MetronomeSDK
110
111
  end
111
112
  end
112
113
 
114
+ # @api private
115
+ #
116
+ # @return [Object]
117
+ def to_sorbet_type
118
+ T::Array[MetronomeSDK::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(item_type)]
119
+ end
120
+
113
121
  # @api private
114
122
  #
115
123
  # @return [generic<Elem>]
@@ -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
  #
@@ -302,6 +309,46 @@ module MetronomeSDK
302
309
 
303
310
  acc
304
311
  end
312
+
313
+ # @api private
314
+ #
315
+ # @return [Object]
316
+ def to_sorbet_type
317
+ self
318
+ end
319
+ end
320
+
321
+ class << self
322
+ # @api private
323
+ #
324
+ # @param model [MetronomeSDK::Internal::Type::BaseModel]
325
+ # @param convert [Boolean]
326
+ #
327
+ # @return [Hash{Symbol=>Object}]
328
+ def recursively_to_h(model, convert:)
329
+ rec = ->(x) do
330
+ case x
331
+ in MetronomeSDK::Internal::Type::BaseModel
332
+ if convert
333
+ fields = x.class.known_fields
334
+ x.to_h.to_h do |key, val|
335
+ [key, rec.call(fields.key?(key) ? x.public_send(key) : val)]
336
+ rescue MetronomeSDK::Errors::ConversionError
337
+ [key, rec.call(val)]
338
+ end
339
+ else
340
+ rec.call(x.to_h)
341
+ end
342
+ in Hash
343
+ x.transform_values(&rec)
344
+ in Array
345
+ x.map(&rec)
346
+ else
347
+ x
348
+ end
349
+ end
350
+ rec.call(model)
351
+ end
305
352
  end
306
353
 
307
354
  # @api public
@@ -340,9 +387,23 @@ module MetronomeSDK
340
387
 
341
388
  alias_method :to_hash, :to_h
342
389
 
390
+ # @api public
391
+ #
392
+ # In addition to the behaviour of `#to_h`, this method will recursively call
393
+ # `#to_h` on nested models.
394
+ #
395
+ # @return [Hash{Symbol=>Object}]
396
+ def deep_to_h = self.class.recursively_to_h(@data, convert: false)
397
+
343
398
  # @param keys [Array<Symbol>, nil]
344
399
  #
345
400
  # @return [Hash{Symbol=>Object}]
401
+ #
402
+ # @example
403
+ # # `contract_retrieve_response` is a `MetronomeSDK::Models::V2::ContractRetrieveResponse`
404
+ # contract_retrieve_response => {
405
+ # data: data
406
+ # }
346
407
  def deconstruct_keys(keys)
347
408
  (keys || self.class.known_fields.keys)
348
409
  .filter_map do |k|
@@ -355,29 +416,6 @@ module MetronomeSDK
355
416
  .to_h
356
417
  end
357
418
 
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
419
  # @api public
382
420
  #
383
421
  # @param a [Object]
@@ -395,15 +433,7 @@ module MetronomeSDK
395
433
  # Create a new instance of a model.
396
434
  #
397
435
  # @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
436
+ def initialize(data = {}) = (@data = MetronomeSDK::Internal::Util.coerce_hash!(data).to_h)
407
437
 
408
438
  class << self
409
439
  # @api private
@@ -431,12 +461,19 @@ module MetronomeSDK
431
461
  # @api public
432
462
  #
433
463
  # @return [String]
434
- def to_s = self.class.walk(@data).to_s
464
+ def to_s = deep_to_h.to_s
435
465
 
436
466
  # @api private
437
467
  #
438
468
  # @return [String]
439
- def inspect = "#<#{self.class}:0x#{object_id.to_s(16)} #{self}>"
469
+ def inspect
470
+ converted = self.class.recursively_to_h(self, convert: true)
471
+ "#<#{self.class}:0x#{object_id.to_s(16)} #{converted}>"
472
+ end
473
+
474
+ define_sorbet_constant!(:KnownField) do
475
+ T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} }
476
+ end
440
477
  end
441
478
  end
442
479
  end
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  # Ruby has no Boolean class; this is something for models to refer to.
11
11
  class Boolean
12
12
  extend MetronomeSDK::Internal::Type::Converter
13
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
13
14
 
14
15
  private_class_method :new
15
16
 
@@ -56,6 +57,13 @@ module MetronomeSDK
56
57
  # @option state [Boolean] :can_retry
57
58
  #
58
59
  # @return [Boolean, Object]
60
+
61
+ # @api private
62
+ #
63
+ # @return [Object]
64
+ def to_sorbet_type
65
+ T::Boolean
66
+ end
59
67
  end
60
68
  end
61
69
  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
  #
@@ -86,6 +87,18 @@ module MetronomeSDK
86
87
  #
87
88
  # @return [Symbol, Object]
88
89
 
90
+ # @api private
91
+ #
92
+ # @return [Object]
93
+ def to_sorbet_type
94
+ case values
95
+ in []
96
+ T.noreturn
97
+ in [value, *_]
98
+ T.all(MetronomeSDK::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(value), self)
99
+ end
100
+ end
101
+
89
102
  # @api private
90
103
  #
91
104
  # @param depth [Integer]
@@ -89,6 +89,13 @@ module MetronomeSDK
89
89
 
90
90
  value
91
91
  end
92
+
93
+ # @api private
94
+ #
95
+ # @return [Object]
96
+ def to_sorbet_type
97
+ T.any(Pathname, StringIO, IO, String, MetronomeSDK::FilePart)
98
+ end
92
99
  end
93
100
  end
94
101
  end
@@ -12,6 +12,7 @@ module MetronomeSDK
12
12
  # Hash of items of a given type.
13
13
  class HashOf
14
14
  include MetronomeSDK::Internal::Type::Converter
15
+ include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
15
16
 
16
17
  private_class_method :new
17
18
 
@@ -29,7 +30,7 @@ module MetronomeSDK
29
30
  #
30
31
  # @option spec [Boolean] :"nil?"
31
32
  #
32
- # @return [MetronomeSDK::Internal::Type::HashOf]
33
+ # @return [self]
33
34
  def self.[](...) = new(...)
34
35
 
35
36
  # @api public
@@ -130,6 +131,13 @@ module MetronomeSDK
130
131
  end
131
132
  end
132
133
 
134
+ # @api private
135
+ #
136
+ # @return [Object]
137
+ def to_sorbet_type
138
+ T::Hash[MetronomeSDK::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(item_type)]
139
+ end
140
+
133
141
  # @api private
134
142
  #
135
143
  # @return [generic<Elem>]
@@ -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
  #
@@ -196,6 +197,18 @@ module MetronomeSDK
196
197
  super
197
198
  end
198
199
 
200
+ # @api private
201
+ #
202
+ # @return [Object]
203
+ def to_sorbet_type
204
+ case (v = variants)
205
+ in []
206
+ T.noreturn
207
+ else
208
+ T.any(*v.map { MetronomeSDK::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) })
209
+ end
210
+ end
211
+
199
212
  # rubocop:enable Style/CaseEquality
200
213
  # rubocop:enable Style/HashEachMethods
201
214
 
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  # When we don't know what to expect for the value.
11
11
  class Unknown
12
12
  extend MetronomeSDK::Internal::Type::Converter
13
+ extend MetronomeSDK::Internal::Util::SorbetRuntimeSupport
13
14
 
14
15
  # rubocop:disable Lint/UnusedMethodArgument
15
16
 
@@ -58,6 +59,13 @@ module MetronomeSDK
58
59
  # @option state [Boolean] :can_retry
59
60
  #
60
61
  # @return [Object]
62
+
63
+ # @api private
64
+ #
65
+ # @return [Object]
66
+ def to_sorbet_type
67
+ T.anything
68
+ end
61
69
  end
62
70
 
63
71
  # rubocop:enable Lint/UnusedMethodArgument