orb-billing 0.1.0.pre.alpha.36 → 0.1.0.pre.alpha.38

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 (663) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +58 -7
  3. data/lib/orb/client.rb +1 -1
  4. data/lib/orb/errors.rb +1 -53
  5. data/lib/orb/internal/page.rb +112 -0
  6. data/lib/orb/internal/transport/base_client.rb +473 -0
  7. data/lib/orb/internal/transport/pooled_net_requester.rb +184 -0
  8. data/lib/orb/internal/type/array_of.rb +118 -0
  9. data/lib/orb/internal/type/base_model.rb +375 -0
  10. data/lib/orb/internal/type/base_page.rb +46 -0
  11. data/lib/orb/internal/type/boolean.rb +54 -0
  12. data/lib/orb/internal/type/converter.rb +224 -0
  13. data/lib/orb/internal/type/enum.rb +105 -0
  14. data/lib/orb/internal/type/hash_of.rb +144 -0
  15. data/lib/orb/internal/type/request_parameters.rb +40 -0
  16. data/lib/orb/internal/type/union.rb +227 -0
  17. data/lib/orb/internal/type/unknown.rb +58 -0
  18. data/lib/orb/internal/util.rb +700 -0
  19. data/lib/orb/internal.rb +8 -0
  20. data/lib/orb/models/alert.rb +15 -15
  21. data/lib/orb/models/alert_create_for_customer_params.rb +8 -8
  22. data/lib/orb/models/alert_create_for_external_customer_params.rb +8 -8
  23. data/lib/orb/models/alert_create_for_subscription_params.rb +9 -8
  24. data/lib/orb/models/alert_disable_params.rb +4 -4
  25. data/lib/orb/models/alert_enable_params.rb +4 -4
  26. data/lib/orb/models/alert_list_params.rb +4 -4
  27. data/lib/orb/models/alert_retrieve_params.rb +4 -4
  28. data/lib/orb/models/alert_update_params.rb +7 -7
  29. data/lib/orb/models/amount_discount.rb +4 -4
  30. data/lib/orb/models/billable_metric.rb +4 -4
  31. data/lib/orb/models/billing_cycle_relative_date.rb +1 -1
  32. data/lib/orb/models/coupon.rb +3 -3
  33. data/lib/orb/models/coupon_archive_params.rb +4 -4
  34. data/lib/orb/models/coupon_create_params.rb +9 -9
  35. data/lib/orb/models/coupon_fetch_params.rb +4 -4
  36. data/lib/orb/models/coupon_list_params.rb +5 -5
  37. data/lib/orb/models/coupons/subscription_list_params.rb +4 -4
  38. data/lib/orb/models/credit_note.rb +30 -30
  39. data/lib/orb/models/credit_note_create_params.rb +8 -8
  40. data/lib/orb/models/credit_note_fetch_params.rb +4 -4
  41. data/lib/orb/models/credit_note_list_params.rb +4 -4
  42. data/lib/orb/models/customer.rb +33 -33
  43. data/lib/orb/models/customer_create_params.rb +36 -36
  44. data/lib/orb/models/customer_delete_params.rb +4 -4
  45. data/lib/orb/models/customer_fetch_by_external_id_params.rb +4 -4
  46. data/lib/orb/models/customer_fetch_params.rb +4 -4
  47. data/lib/orb/models/customer_list_params.rb +4 -4
  48. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +4 -4
  49. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +4 -4
  50. data/lib/orb/models/customer_update_by_external_id_params.rb +36 -36
  51. data/lib/orb/models/customer_update_params.rb +36 -36
  52. data/lib/orb/models/customers/balance_transaction_create_params.rb +5 -5
  53. data/lib/orb/models/customers/balance_transaction_create_response.rb +8 -8
  54. data/lib/orb/models/customers/balance_transaction_list_params.rb +4 -4
  55. data/lib/orb/models/customers/balance_transaction_list_response.rb +8 -8
  56. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +5 -5
  57. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +9 -8
  58. data/lib/orb/models/customers/cost_list_params.rb +5 -5
  59. data/lib/orb/models/customers/cost_list_response.rb +8 -8
  60. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +5 -5
  61. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +3 -3
  62. data/lib/orb/models/customers/credit_list_params.rb +5 -5
  63. data/lib/orb/models/customers/credit_list_response.rb +3 -3
  64. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +11 -11
  65. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +57 -57
  66. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +11 -11
  67. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +57 -57
  68. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +6 -6
  69. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +57 -57
  70. data/lib/orb/models/customers/credits/ledger_list_params.rb +6 -6
  71. data/lib/orb/models/customers/credits/ledger_list_response.rb +57 -57
  72. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +9 -9
  73. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +7 -7
  74. data/lib/orb/models/customers/credits/top_up_create_params.rb +9 -9
  75. data/lib/orb/models/customers/credits/top_up_create_response.rb +7 -7
  76. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -4
  77. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -4
  78. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +4 -4
  79. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +7 -7
  80. data/lib/orb/models/customers/credits/top_up_list_params.rb +4 -4
  81. data/lib/orb/models/customers/credits/top_up_list_response.rb +7 -7
  82. data/lib/orb/models/dimensional_price_group.rb +4 -4
  83. data/lib/orb/models/dimensional_price_group_create_params.rb +6 -6
  84. data/lib/orb/models/dimensional_price_group_list_params.rb +4 -4
  85. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +4 -4
  86. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +4 -4
  87. data/lib/orb/models/dimensional_price_groups.rb +3 -3
  88. data/lib/orb/models/discount.rb +1 -1
  89. data/lib/orb/models/evaluate_price_group.rb +6 -5
  90. data/lib/orb/models/event_deprecate_params.rb +4 -4
  91. data/lib/orb/models/event_deprecate_response.rb +2 -2
  92. data/lib/orb/models/event_ingest_params.rb +9 -9
  93. data/lib/orb/models/event_ingest_response.rb +11 -10
  94. data/lib/orb/models/event_search_params.rb +5 -5
  95. data/lib/orb/models/event_search_response.rb +7 -7
  96. data/lib/orb/models/event_update_params.rb +5 -5
  97. data/lib/orb/models/event_update_response.rb +2 -2
  98. data/lib/orb/models/events/backfill_close_params.rb +4 -4
  99. data/lib/orb/models/events/backfill_close_response.rb +4 -4
  100. data/lib/orb/models/events/backfill_create_params.rb +5 -5
  101. data/lib/orb/models/events/backfill_create_response.rb +4 -4
  102. data/lib/orb/models/events/backfill_fetch_params.rb +4 -4
  103. data/lib/orb/models/events/backfill_fetch_response.rb +4 -4
  104. data/lib/orb/models/events/backfill_list_params.rb +4 -4
  105. data/lib/orb/models/events/backfill_list_response.rb +4 -4
  106. data/lib/orb/models/events/backfill_revert_params.rb +4 -4
  107. data/lib/orb/models/events/backfill_revert_response.rb +4 -4
  108. data/lib/orb/models/events/event_volumes.rb +5 -5
  109. data/lib/orb/models/events/volume_list_params.rb +4 -4
  110. data/lib/orb/models/invoice.rb +102 -100
  111. data/lib/orb/models/invoice_create_params.rb +12 -12
  112. data/lib/orb/models/invoice_fetch_params.rb +4 -4
  113. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -4
  114. data/lib/orb/models/invoice_fetch_upcoming_response.rb +104 -100
  115. data/lib/orb/models/invoice_issue_params.rb +5 -5
  116. data/lib/orb/models/invoice_level_discount.rb +1 -1
  117. data/lib/orb/models/invoice_line_item_create_params.rb +4 -4
  118. data/lib/orb/models/invoice_line_item_create_response.rb +55 -53
  119. data/lib/orb/models/invoice_list_params.rb +10 -8
  120. data/lib/orb/models/invoice_mark_paid_params.rb +4 -4
  121. data/lib/orb/models/invoice_pay_params.rb +4 -4
  122. data/lib/orb/models/invoice_update_params.rb +5 -5
  123. data/lib/orb/models/invoice_void_params.rb +4 -4
  124. data/lib/orb/models/item.rb +6 -6
  125. data/lib/orb/models/item_create_params.rb +4 -4
  126. data/lib/orb/models/item_fetch_params.rb +4 -4
  127. data/lib/orb/models/item_list_params.rb +4 -4
  128. data/lib/orb/models/item_update_params.rb +8 -8
  129. data/lib/orb/models/metric_create_params.rb +5 -5
  130. data/lib/orb/models/metric_fetch_params.rb +4 -4
  131. data/lib/orb/models/metric_list_params.rb +4 -4
  132. data/lib/orb/models/metric_update_params.rb +5 -5
  133. data/lib/orb/models/pagination_metadata.rb +3 -3
  134. data/lib/orb/models/percentage_discount.rb +4 -4
  135. data/lib/orb/models/plan.rb +50 -50
  136. data/lib/orb/models/plan_create_params.rb +337 -333
  137. data/lib/orb/models/plan_fetch_params.rb +4 -4
  138. data/lib/orb/models/plan_list_params.rb +5 -5
  139. data/lib/orb/models/plan_update_params.rb +5 -5
  140. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +4 -4
  141. data/lib/orb/models/plans/external_plan_id_update_params.rb +5 -5
  142. data/lib/orb/models/price.rb +824 -816
  143. data/lib/orb/models/price_create_params.rb +78 -73
  144. data/lib/orb/models/price_evaluate_params.rb +5 -5
  145. data/lib/orb/models/price_evaluate_response.rb +3 -3
  146. data/lib/orb/models/price_fetch_params.rb +4 -4
  147. data/lib/orb/models/price_list_params.rb +4 -4
  148. data/lib/orb/models/price_update_params.rb +5 -5
  149. data/lib/orb/models/prices/external_price_id_fetch_params.rb +4 -4
  150. data/lib/orb/models/prices/external_price_id_update_params.rb +5 -5
  151. data/lib/orb/models/subscription.rb +74 -70
  152. data/lib/orb/models/subscription_cancel_params.rb +6 -6
  153. data/lib/orb/models/subscription_cancel_response.rb +73 -70
  154. data/lib/orb/models/subscription_create_params.rb +758 -740
  155. data/lib/orb/models/subscription_create_response.rb +73 -70
  156. data/lib/orb/models/subscription_fetch_costs_params.rb +5 -5
  157. data/lib/orb/models/subscription_fetch_costs_response.rb +8 -8
  158. data/lib/orb/models/subscription_fetch_params.rb +4 -4
  159. data/lib/orb/models/subscription_fetch_schedule_params.rb +4 -4
  160. data/lib/orb/models/subscription_fetch_schedule_response.rb +4 -4
  161. data/lib/orb/models/subscription_fetch_usage_params.rb +6 -6
  162. data/lib/orb/models/subscription_list_params.rb +7 -7
  163. data/lib/orb/models/subscription_price_intervals_params.rb +443 -434
  164. data/lib/orb/models/subscription_price_intervals_response.rb +70 -70
  165. data/lib/orb/models/subscription_schedule_plan_change_params.rb +756 -740
  166. data/lib/orb/models/subscription_schedule_plan_change_response.rb +70 -70
  167. data/lib/orb/models/subscription_trigger_phase_params.rb +5 -5
  168. data/lib/orb/models/subscription_trigger_phase_response.rb +70 -70
  169. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +4 -4
  170. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +70 -70
  171. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +4 -4
  172. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +70 -70
  173. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +4 -4
  174. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +70 -70
  175. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +6 -6
  176. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +70 -70
  177. data/lib/orb/models/subscription_update_params.rb +6 -6
  178. data/lib/orb/models/subscription_update_trial_params.rb +6 -6
  179. data/lib/orb/models/subscription_update_trial_response.rb +70 -70
  180. data/lib/orb/models/subscription_usage.rb +27 -25
  181. data/lib/orb/models/subscriptions.rb +3 -3
  182. data/lib/orb/models/top_level_ping_params.rb +4 -4
  183. data/lib/orb/models/top_level_ping_response.rb +2 -2
  184. data/lib/orb/models/trial_discount.rb +4 -4
  185. data/lib/orb/models/usage_discount.rb +4 -4
  186. data/lib/orb/request_options.rb +4 -4
  187. data/lib/orb/resources/alerts.rb +8 -3
  188. data/lib/orb/resources/coupons/subscriptions.rb +2 -2
  189. data/lib/orb/resources/coupons.rb +2 -2
  190. data/lib/orb/resources/credit_notes.rb +8 -3
  191. data/lib/orb/resources/customers/balance_transactions.rb +8 -3
  192. data/lib/orb/resources/customers/credits/ledger.rb +16 -6
  193. data/lib/orb/resources/customers/credits/top_ups.rb +4 -4
  194. data/lib/orb/resources/customers/credits.rb +4 -4
  195. data/lib/orb/resources/customers.rb +8 -3
  196. data/lib/orb/resources/dimensional_price_groups.rb +2 -2
  197. data/lib/orb/resources/events/backfills.rb +2 -2
  198. data/lib/orb/resources/invoices.rb +12 -3
  199. data/lib/orb/resources/items.rb +2 -2
  200. data/lib/orb/resources/metrics.rb +8 -3
  201. data/lib/orb/resources/plans.rb +8 -3
  202. data/lib/orb/resources/prices.rb +2 -2
  203. data/lib/orb/resources/subscriptions.rb +16 -6
  204. data/lib/orb/version.rb +1 -1
  205. data/lib/orb.rb +15 -15
  206. data/rbi/lib/orb/client.rbi +1 -1
  207. data/rbi/lib/orb/errors.rbi +0 -52
  208. data/rbi/lib/orb/internal/page.rbi +37 -0
  209. data/rbi/lib/orb/internal/transport/base_client.rbi +209 -0
  210. data/rbi/lib/orb/internal/transport/pooled_net_requester.rbi +66 -0
  211. data/rbi/lib/orb/internal/type/array_of.rbi +88 -0
  212. data/rbi/lib/orb/internal/type/base_model.rbi +208 -0
  213. data/rbi/lib/orb/internal/type/base_page.rbi +41 -0
  214. data/rbi/lib/orb/internal/type/boolean.rbi +43 -0
  215. data/rbi/lib/orb/internal/type/converter.rbi +106 -0
  216. data/rbi/lib/orb/internal/type/enum.rbi +60 -0
  217. data/rbi/lib/orb/internal/type/hash_of.rbi +87 -0
  218. data/rbi/lib/orb/internal/type/request_parameters.rbi +22 -0
  219. data/rbi/lib/orb/internal/type/union.rbi +70 -0
  220. data/rbi/lib/orb/internal/type/unknown.rbi +42 -0
  221. data/rbi/lib/orb/internal/util.rbi +282 -0
  222. data/rbi/lib/orb/internal.rbi +12 -0
  223. data/rbi/lib/orb/models/alert.rbi +16 -16
  224. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +7 -7
  225. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +7 -7
  226. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +7 -7
  227. data/rbi/lib/orb/models/alert_disable_params.rbi +4 -4
  228. data/rbi/lib/orb/models/alert_enable_params.rbi +4 -4
  229. data/rbi/lib/orb/models/alert_list_params.rbi +4 -4
  230. data/rbi/lib/orb/models/alert_retrieve_params.rbi +4 -4
  231. data/rbi/lib/orb/models/alert_update_params.rbi +6 -6
  232. data/rbi/lib/orb/models/amount_discount.rbi +2 -2
  233. data/rbi/lib/orb/models/billable_metric.rbi +4 -4
  234. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  235. data/rbi/lib/orb/models/coupon.rbi +3 -3
  236. data/rbi/lib/orb/models/coupon_archive_params.rbi +4 -4
  237. data/rbi/lib/orb/models/coupon_create_params.rbi +8 -8
  238. data/rbi/lib/orb/models/coupon_fetch_params.rbi +4 -4
  239. data/rbi/lib/orb/models/coupon_list_params.rbi +4 -4
  240. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +4 -4
  241. data/rbi/lib/orb/models/credit_note.rbi +29 -26
  242. data/rbi/lib/orb/models/credit_note_create_params.rbi +7 -7
  243. data/rbi/lib/orb/models/credit_note_fetch_params.rbi +4 -4
  244. data/rbi/lib/orb/models/credit_note_list_params.rbi +4 -4
  245. data/rbi/lib/orb/models/customer.rbi +36 -30
  246. data/rbi/lib/orb/models/customer_create_params.rbi +34 -31
  247. data/rbi/lib/orb/models/customer_delete_params.rbi +4 -4
  248. data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +4 -4
  249. data/rbi/lib/orb/models/customer_fetch_params.rbi +4 -4
  250. data/rbi/lib/orb/models/customer_list_params.rbi +4 -4
  251. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +4 -4
  252. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +4 -4
  253. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +33 -31
  254. data/rbi/lib/orb/models/customer_update_params.rbi +34 -31
  255. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +5 -5
  256. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +17 -9
  257. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +4 -4
  258. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +13 -9
  259. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +5 -5
  260. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +6 -6
  261. data/rbi/lib/orb/models/customers/cost_list_params.rbi +5 -5
  262. data/rbi/lib/orb/models/customers/cost_list_response.rbi +6 -6
  263. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +4 -4
  264. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +2 -2
  265. data/rbi/lib/orb/models/customers/credit_list_params.rbi +4 -4
  266. data/rbi/lib/orb/models/customers/credit_list_response.rbi +2 -2
  267. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +9 -9
  268. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +57 -57
  269. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +9 -9
  270. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +57 -57
  271. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -6
  272. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +57 -57
  273. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -6
  274. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +63 -57
  275. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +14 -8
  276. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +5 -5
  277. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +8 -8
  278. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +5 -5
  279. data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +4 -4
  280. data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +4 -4
  281. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +4 -4
  282. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +11 -5
  283. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +4 -4
  284. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +5 -5
  285. data/rbi/lib/orb/models/dimensional_price_group.rbi +1 -1
  286. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -4
  287. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +4 -4
  288. data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +4 -4
  289. data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +9 -4
  290. data/rbi/lib/orb/models/dimensional_price_groups.rbi +4 -4
  291. data/rbi/lib/orb/models/discount.rbi +1 -1
  292. data/rbi/lib/orb/models/evaluate_price_group.rbi +2 -2
  293. data/rbi/lib/orb/models/event_deprecate_params.rbi +4 -4
  294. data/rbi/lib/orb/models/event_deprecate_response.rbi +1 -1
  295. data/rbi/lib/orb/models/event_ingest_params.rbi +6 -6
  296. data/rbi/lib/orb/models/event_ingest_response.rbi +6 -6
  297. data/rbi/lib/orb/models/event_search_params.rbi +4 -4
  298. data/rbi/lib/orb/models/event_search_response.rbi +3 -3
  299. data/rbi/lib/orb/models/event_update_params.rbi +4 -4
  300. data/rbi/lib/orb/models/event_update_response.rbi +1 -1
  301. data/rbi/lib/orb/models/events/backfill_close_params.rbi +9 -4
  302. data/rbi/lib/orb/models/events/backfill_close_response.rbi +2 -2
  303. data/rbi/lib/orb/models/events/backfill_create_params.rbi +4 -4
  304. data/rbi/lib/orb/models/events/backfill_create_response.rbi +2 -2
  305. data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +9 -4
  306. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +2 -2
  307. data/rbi/lib/orb/models/events/backfill_list_params.rbi +4 -4
  308. data/rbi/lib/orb/models/events/backfill_list_response.rbi +2 -2
  309. data/rbi/lib/orb/models/events/backfill_revert_params.rbi +9 -4
  310. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +2 -2
  311. data/rbi/lib/orb/models/events/event_volumes.rbi +3 -3
  312. data/rbi/lib/orb/models/events/volume_list_params.rbi +4 -4
  313. data/rbi/lib/orb/models/invoice.rbi +96 -84
  314. data/rbi/lib/orb/models/invoice_create_params.rbi +14 -11
  315. data/rbi/lib/orb/models/invoice_fetch_params.rbi +4 -4
  316. data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +4 -4
  317. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +94 -84
  318. data/rbi/lib/orb/models/invoice_issue_params.rbi +4 -4
  319. data/rbi/lib/orb/models/invoice_level_discount.rbi +1 -1
  320. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +4 -4
  321. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +42 -38
  322. data/rbi/lib/orb/models/invoice_list_params.rbi +6 -6
  323. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +4 -4
  324. data/rbi/lib/orb/models/invoice_pay_params.rbi +4 -4
  325. data/rbi/lib/orb/models/invoice_update_params.rbi +4 -4
  326. data/rbi/lib/orb/models/invoice_void_params.rbi +4 -4
  327. data/rbi/lib/orb/models/item.rbi +4 -4
  328. data/rbi/lib/orb/models/item_create_params.rbi +4 -4
  329. data/rbi/lib/orb/models/item_fetch_params.rbi +4 -4
  330. data/rbi/lib/orb/models/item_list_params.rbi +4 -4
  331. data/rbi/lib/orb/models/item_update_params.rbi +7 -7
  332. data/rbi/lib/orb/models/metric_create_params.rbi +4 -4
  333. data/rbi/lib/orb/models/metric_fetch_params.rbi +4 -4
  334. data/rbi/lib/orb/models/metric_list_params.rbi +4 -4
  335. data/rbi/lib/orb/models/metric_update_params.rbi +4 -4
  336. data/rbi/lib/orb/models/pagination_metadata.rbi +1 -1
  337. data/rbi/lib/orb/models/percentage_discount.rbi +2 -2
  338. data/rbi/lib/orb/models/plan.rbi +37 -37
  339. data/rbi/lib/orb/models/plan_create_params.rbi +307 -291
  340. data/rbi/lib/orb/models/plan_fetch_params.rbi +4 -4
  341. data/rbi/lib/orb/models/plan_list_params.rbi +5 -5
  342. data/rbi/lib/orb/models/plan_update_params.rbi +4 -4
  343. data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +9 -4
  344. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +4 -4
  345. data/rbi/lib/orb/models/price.rbi +1038 -880
  346. data/rbi/lib/orb/models/price_create_params.rbi +60 -53
  347. data/rbi/lib/orb/models/price_evaluate_params.rbi +4 -4
  348. data/rbi/lib/orb/models/price_evaluate_response.rbi +2 -2
  349. data/rbi/lib/orb/models/price_fetch_params.rbi +4 -4
  350. data/rbi/lib/orb/models/price_list_params.rbi +4 -4
  351. data/rbi/lib/orb/models/price_update_params.rbi +4 -4
  352. data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +9 -4
  353. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +4 -4
  354. data/rbi/lib/orb/models/subscription.rbi +42 -40
  355. data/rbi/lib/orb/models/subscription_cancel_params.rbi +5 -5
  356. data/rbi/lib/orb/models/subscription_cancel_response.rbi +40 -40
  357. data/rbi/lib/orb/models/subscription_create_params.rbi +630 -620
  358. data/rbi/lib/orb/models/subscription_create_response.rbi +40 -40
  359. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +5 -5
  360. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +6 -6
  361. data/rbi/lib/orb/models/subscription_fetch_params.rbi +4 -4
  362. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +4 -4
  363. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +4 -4
  364. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +6 -6
  365. data/rbi/lib/orb/models/subscription_list_params.rbi +5 -5
  366. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +385 -365
  367. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +42 -40
  368. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +627 -621
  369. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +49 -40
  370. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +4 -4
  371. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +48 -40
  372. data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +4 -4
  373. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +40 -40
  374. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +4 -4
  375. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +46 -40
  376. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +4 -4
  377. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +61 -40
  378. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +5 -5
  379. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +40 -40
  380. data/rbi/lib/orb/models/subscription_update_params.rbi +4 -4
  381. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +5 -5
  382. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +49 -40
  383. data/rbi/lib/orb/models/subscription_usage.rbi +30 -24
  384. data/rbi/lib/orb/models/subscriptions.rbi +4 -4
  385. data/rbi/lib/orb/models/top_level_ping_params.rbi +4 -4
  386. data/rbi/lib/orb/models/top_level_ping_response.rbi +1 -1
  387. data/rbi/lib/orb/models/trial_discount.rbi +2 -2
  388. data/rbi/lib/orb/models/usage_discount.rbi +2 -2
  389. data/rbi/lib/orb/request_options.rbi +2 -2
  390. data/rbi/lib/orb/resources/alerts.rbi +16 -13
  391. data/rbi/lib/orb/resources/coupons/subscriptions.rbi +2 -2
  392. data/rbi/lib/orb/resources/coupons.rbi +12 -6
  393. data/rbi/lib/orb/resources/credit_notes.rbi +5 -5
  394. data/rbi/lib/orb/resources/customers/balance_transactions.rbi +3 -3
  395. data/rbi/lib/orb/resources/customers/costs.rbi +2 -2
  396. data/rbi/lib/orb/resources/customers/credits/ledger.rbi +8 -8
  397. data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +13 -10
  398. data/rbi/lib/orb/resources/customers/credits.rbi +4 -4
  399. data/rbi/lib/orb/resources/customers.rbi +31 -31
  400. data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +1 -1
  401. data/rbi/lib/orb/resources/dimensional_price_groups.rbi +4 -4
  402. data/rbi/lib/orb/resources/events/backfills.rbi +6 -6
  403. data/rbi/lib/orb/resources/events/volume.rbi +1 -1
  404. data/rbi/lib/orb/resources/events.rbi +8 -5
  405. data/rbi/lib/orb/resources/invoice_line_items.rbi +1 -1
  406. data/rbi/lib/orb/resources/invoices.rbi +21 -12
  407. data/rbi/lib/orb/resources/items.rbi +9 -6
  408. data/rbi/lib/orb/resources/metrics.rbi +8 -5
  409. data/rbi/lib/orb/resources/plans/external_plan_id.rbi +2 -2
  410. data/rbi/lib/orb/resources/plans.rbi +9 -6
  411. data/rbi/lib/orb/resources/prices/external_price_id.rbi +2 -2
  412. data/rbi/lib/orb/resources/prices.rbi +20 -17
  413. data/rbi/lib/orb/resources/subscriptions.rbi +40 -36
  414. data/rbi/lib/orb/resources/top_level.rbi +1 -1
  415. data/rbi/lib/orb/version.rbi +1 -1
  416. data/sig/orb/client.rbs +1 -1
  417. data/sig/orb/errors.rbs +0 -52
  418. data/sig/orb/internal/page.rbs +24 -0
  419. data/sig/orb/internal/transport/base_client.rbs +110 -0
  420. data/sig/orb/internal/transport/pooled_net_requester.rbs +41 -0
  421. data/sig/orb/internal/type/array_of.rbs +38 -0
  422. data/sig/orb/internal/type/base_model.rbs +79 -0
  423. data/sig/orb/internal/type/base_page.rbs +24 -0
  424. data/sig/orb/internal/type/boolean.rbs +20 -0
  425. data/sig/orb/internal/type/converter.rbs +44 -0
  426. data/sig/orb/internal/type/enum.rbs +24 -0
  427. data/sig/orb/internal/type/hash_of.rbs +38 -0
  428. data/sig/orb/internal/type/request_parameters.rbs +15 -0
  429. data/sig/orb/internal/type/union.rbs +42 -0
  430. data/sig/orb/internal/type/unknown.rbs +20 -0
  431. data/sig/orb/internal/util.rbs +139 -0
  432. data/sig/orb/internal.rbs +5 -0
  433. data/sig/orb/models/alert.rbs +7 -7
  434. data/sig/orb/models/alert_create_for_customer_params.rbs +6 -6
  435. data/sig/orb/models/alert_create_for_external_customer_params.rbs +6 -6
  436. data/sig/orb/models/alert_create_for_subscription_params.rbs +6 -6
  437. data/sig/orb/models/alert_disable_params.rbs +4 -4
  438. data/sig/orb/models/alert_enable_params.rbs +4 -4
  439. data/sig/orb/models/alert_list_params.rbs +4 -4
  440. data/sig/orb/models/alert_retrieve_params.rbs +4 -4
  441. data/sig/orb/models/alert_update_params.rbs +5 -5
  442. data/sig/orb/models/amount_discount.rbs +2 -2
  443. data/sig/orb/models/billable_metric.rbs +2 -2
  444. data/sig/orb/models/billing_cycle_relative_date.rbs +1 -1
  445. data/sig/orb/models/coupon.rbs +2 -2
  446. data/sig/orb/models/coupon_archive_params.rbs +4 -4
  447. data/sig/orb/models/coupon_create_params.rbs +7 -7
  448. data/sig/orb/models/coupon_fetch_params.rbs +4 -4
  449. data/sig/orb/models/coupon_list_params.rbs +4 -4
  450. data/sig/orb/models/coupons/subscription_list_params.rbs +5 -4
  451. data/sig/orb/models/credit_note.rbs +14 -14
  452. data/sig/orb/models/credit_note_create_params.rbs +6 -6
  453. data/sig/orb/models/credit_note_fetch_params.rbs +5 -4
  454. data/sig/orb/models/credit_note_list_params.rbs +4 -4
  455. data/sig/orb/models/customer.rbs +14 -14
  456. data/sig/orb/models/customer_create_params.rbs +17 -17
  457. data/sig/orb/models/customer_delete_params.rbs +4 -4
  458. data/sig/orb/models/customer_fetch_by_external_id_params.rbs +5 -4
  459. data/sig/orb/models/customer_fetch_params.rbs +4 -4
  460. data/sig/orb/models/customer_list_params.rbs +4 -4
  461. data/sig/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbs +4 -4
  462. data/sig/orb/models/customer_sync_payment_methods_from_gateway_params.rbs +4 -4
  463. data/sig/orb/models/customer_update_by_external_id_params.rbs +17 -17
  464. data/sig/orb/models/customer_update_params.rbs +17 -17
  465. data/sig/orb/models/customers/balance_transaction_create_params.rbs +5 -5
  466. data/sig/orb/models/customers/balance_transaction_create_response.rbs +5 -5
  467. data/sig/orb/models/customers/balance_transaction_list_params.rbs +4 -4
  468. data/sig/orb/models/customers/balance_transaction_list_response.rbs +5 -5
  469. data/sig/orb/models/customers/cost_list_by_external_id_params.rbs +5 -5
  470. data/sig/orb/models/customers/cost_list_by_external_id_response.rbs +3 -3
  471. data/sig/orb/models/customers/cost_list_params.rbs +5 -5
  472. data/sig/orb/models/customers/cost_list_response.rbs +3 -3
  473. data/sig/orb/models/customers/credit_list_by_external_id_params.rbs +4 -4
  474. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +2 -2
  475. data/sig/orb/models/customers/credit_list_params.rbs +4 -4
  476. data/sig/orb/models/customers/credit_list_response.rbs +2 -2
  477. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +7 -7
  478. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +29 -29
  479. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +7 -7
  480. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +29 -29
  481. data/sig/orb/models/customers/credits/ledger_list_by_external_id_params.rbs +6 -6
  482. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +29 -29
  483. data/sig/orb/models/customers/credits/ledger_list_params.rbs +6 -6
  484. data/sig/orb/models/customers/credits/ledger_list_response.rbs +29 -29
  485. data/sig/orb/models/customers/credits/top_up_create_by_external_id_params.rbs +6 -6
  486. data/sig/orb/models/customers/credits/top_up_create_by_external_id_response.rbs +3 -3
  487. data/sig/orb/models/customers/credits/top_up_create_params.rbs +6 -6
  488. data/sig/orb/models/customers/credits/top_up_create_response.rbs +3 -3
  489. data/sig/orb/models/customers/credits/top_up_delete_by_external_id_params.rbs +5 -4
  490. data/sig/orb/models/customers/credits/top_up_delete_params.rbs +4 -4
  491. data/sig/orb/models/customers/credits/top_up_list_by_external_id_params.rbs +5 -4
  492. data/sig/orb/models/customers/credits/top_up_list_by_external_id_response.rbs +3 -3
  493. data/sig/orb/models/customers/credits/top_up_list_params.rbs +5 -4
  494. data/sig/orb/models/customers/credits/top_up_list_response.rbs +3 -3
  495. data/sig/orb/models/dimensional_price_group.rbs +1 -1
  496. data/sig/orb/models/dimensional_price_group_create_params.rbs +4 -4
  497. data/sig/orb/models/dimensional_price_group_list_params.rbs +5 -4
  498. data/sig/orb/models/dimensional_price_group_retrieve_params.rbs +4 -4
  499. data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbs +4 -4
  500. data/sig/orb/models/dimensional_price_groups.rbs +1 -1
  501. data/sig/orb/models/discount.rbs +1 -1
  502. data/sig/orb/models/evaluate_price_group.rbs +2 -2
  503. data/sig/orb/models/event_deprecate_params.rbs +4 -4
  504. data/sig/orb/models/event_deprecate_response.rbs +1 -1
  505. data/sig/orb/models/event_ingest_params.rbs +5 -5
  506. data/sig/orb/models/event_ingest_response.rbs +3 -3
  507. data/sig/orb/models/event_search_params.rbs +4 -4
  508. data/sig/orb/models/event_search_response.rbs +2 -2
  509. data/sig/orb/models/event_update_params.rbs +4 -4
  510. data/sig/orb/models/event_update_response.rbs +1 -1
  511. data/sig/orb/models/events/backfill_close_params.rbs +5 -4
  512. data/sig/orb/models/events/backfill_close_response.rbs +2 -2
  513. data/sig/orb/models/events/backfill_create_params.rbs +4 -4
  514. data/sig/orb/models/events/backfill_create_response.rbs +2 -2
  515. data/sig/orb/models/events/backfill_fetch_params.rbs +5 -4
  516. data/sig/orb/models/events/backfill_fetch_response.rbs +2 -2
  517. data/sig/orb/models/events/backfill_list_params.rbs +5 -4
  518. data/sig/orb/models/events/backfill_list_response.rbs +2 -2
  519. data/sig/orb/models/events/backfill_revert_params.rbs +5 -4
  520. data/sig/orb/models/events/backfill_revert_response.rbs +2 -2
  521. data/sig/orb/models/events/event_volumes.rbs +2 -2
  522. data/sig/orb/models/events/volume_list_params.rbs +4 -4
  523. data/sig/orb/models/invoice.rbs +40 -40
  524. data/sig/orb/models/invoice_create_params.rbs +7 -7
  525. data/sig/orb/models/invoice_fetch_params.rbs +4 -4
  526. data/sig/orb/models/invoice_fetch_upcoming_params.rbs +4 -4
  527. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +40 -40
  528. data/sig/orb/models/invoice_issue_params.rbs +5 -4
  529. data/sig/orb/models/invoice_level_discount.rbs +1 -1
  530. data/sig/orb/models/invoice_line_item_create_params.rbs +4 -4
  531. data/sig/orb/models/invoice_line_item_create_response.rbs +19 -19
  532. data/sig/orb/models/invoice_list_params.rbs +6 -6
  533. data/sig/orb/models/invoice_mark_paid_params.rbs +4 -4
  534. data/sig/orb/models/invoice_pay_params.rbs +4 -4
  535. data/sig/orb/models/invoice_update_params.rbs +5 -4
  536. data/sig/orb/models/invoice_void_params.rbs +4 -4
  537. data/sig/orb/models/item.rbs +3 -3
  538. data/sig/orb/models/item_create_params.rbs +5 -4
  539. data/sig/orb/models/item_fetch_params.rbs +4 -4
  540. data/sig/orb/models/item_list_params.rbs +5 -4
  541. data/sig/orb/models/item_update_params.rbs +6 -6
  542. data/sig/orb/models/metric_create_params.rbs +4 -4
  543. data/sig/orb/models/metric_fetch_params.rbs +4 -4
  544. data/sig/orb/models/metric_list_params.rbs +4 -4
  545. data/sig/orb/models/metric_update_params.rbs +5 -4
  546. data/sig/orb/models/pagination_metadata.rbs +1 -1
  547. data/sig/orb/models/percentage_discount.rbs +2 -2
  548. data/sig/orb/models/plan.rbs +18 -18
  549. data/sig/orb/models/plan_create_params.rbs +169 -169
  550. data/sig/orb/models/plan_fetch_params.rbs +4 -4
  551. data/sig/orb/models/plan_list_params.rbs +5 -5
  552. data/sig/orb/models/plan_update_params.rbs +4 -4
  553. data/sig/orb/models/plans/external_plan_id_fetch_params.rbs +5 -4
  554. data/sig/orb/models/plans/external_plan_id_update_params.rbs +4 -4
  555. data/sig/orb/models/price.rbs +380 -380
  556. data/sig/orb/models/price_create_params.rbs +25 -25
  557. data/sig/orb/models/price_evaluate_params.rbs +4 -4
  558. data/sig/orb/models/price_evaluate_response.rbs +1 -1
  559. data/sig/orb/models/price_fetch_params.rbs +4 -4
  560. data/sig/orb/models/price_list_params.rbs +5 -4
  561. data/sig/orb/models/price_update_params.rbs +5 -4
  562. data/sig/orb/models/prices/external_price_id_fetch_params.rbs +5 -4
  563. data/sig/orb/models/prices/external_price_id_update_params.rbs +5 -4
  564. data/sig/orb/models/subscription.rbs +21 -21
  565. data/sig/orb/models/subscription_cancel_params.rbs +5 -5
  566. data/sig/orb/models/subscription_cancel_response.rbs +21 -21
  567. data/sig/orb/models/subscription_create_params.rbs +360 -360
  568. data/sig/orb/models/subscription_create_response.rbs +21 -21
  569. data/sig/orb/models/subscription_fetch_costs_params.rbs +5 -5
  570. data/sig/orb/models/subscription_fetch_costs_response.rbs +3 -3
  571. data/sig/orb/models/subscription_fetch_params.rbs +5 -4
  572. data/sig/orb/models/subscription_fetch_schedule_params.rbs +4 -4
  573. data/sig/orb/models/subscription_fetch_schedule_response.rbs +2 -2
  574. data/sig/orb/models/subscription_fetch_usage_params.rbs +6 -6
  575. data/sig/orb/models/subscription_list_params.rbs +5 -5
  576. data/sig/orb/models/subscription_price_intervals_params.rbs +214 -214
  577. data/sig/orb/models/subscription_price_intervals_response.rbs +21 -21
  578. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +361 -361
  579. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +21 -21
  580. data/sig/orb/models/subscription_trigger_phase_params.rbs +4 -4
  581. data/sig/orb/models/subscription_trigger_phase_response.rbs +21 -21
  582. data/sig/orb/models/subscription_unschedule_cancellation_params.rbs +4 -4
  583. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +21 -21
  584. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbs +4 -4
  585. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +21 -21
  586. data/sig/orb/models/subscription_unschedule_pending_plan_changes_params.rbs +4 -4
  587. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +21 -21
  588. data/sig/orb/models/subscription_update_fixed_fee_quantity_params.rbs +5 -5
  589. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +21 -21
  590. data/sig/orb/models/subscription_update_params.rbs +4 -4
  591. data/sig/orb/models/subscription_update_trial_params.rbs +5 -5
  592. data/sig/orb/models/subscription_update_trial_response.rbs +21 -21
  593. data/sig/orb/models/subscription_usage.rbs +12 -12
  594. data/sig/orb/models/subscriptions.rbs +1 -1
  595. data/sig/orb/models/top_level_ping_params.rbs +4 -4
  596. data/sig/orb/models/top_level_ping_response.rbs +1 -1
  597. data/sig/orb/models/trial_discount.rbs +2 -2
  598. data/sig/orb/models/usage_discount.rbs +2 -2
  599. data/sig/orb/request_options.rbs +1 -1
  600. data/sig/orb/resources/alerts.rbs +1 -1
  601. data/sig/orb/resources/coupons/subscriptions.rbs +1 -1
  602. data/sig/orb/resources/coupons.rbs +1 -1
  603. data/sig/orb/resources/credit_notes.rbs +1 -1
  604. data/sig/orb/resources/customers/balance_transactions.rbs +1 -1
  605. data/sig/orb/resources/customers/credits/ledger.rbs +2 -2
  606. data/sig/orb/resources/customers/credits/top_ups.rbs +2 -2
  607. data/sig/orb/resources/customers/credits.rbs +2 -2
  608. data/sig/orb/resources/customers.rbs +1 -1
  609. data/sig/orb/resources/dimensional_price_groups.rbs +1 -1
  610. data/sig/orb/resources/events/backfills.rbs +1 -1
  611. data/sig/orb/resources/invoices.rbs +1 -1
  612. data/sig/orb/resources/items.rbs +1 -1
  613. data/sig/orb/resources/metrics.rbs +1 -1
  614. data/sig/orb/resources/plans.rbs +1 -1
  615. data/sig/orb/resources/prices.rbs +1 -1
  616. data/sig/orb/resources/subscriptions.rbs +2 -2
  617. data/sig/orb/version.rbs +1 -1
  618. metadata +47 -47
  619. data/lib/orb/page.rb +0 -114
  620. data/lib/orb/transport/base_client.rb +0 -459
  621. data/lib/orb/transport/pooled_net_requester.rb +0 -182
  622. data/lib/orb/type/array_of.rb +0 -112
  623. data/lib/orb/type/base_model.rb +0 -367
  624. data/lib/orb/type/base_page.rb +0 -61
  625. data/lib/orb/type/boolean_model.rb +0 -52
  626. data/lib/orb/type/converter.rb +0 -217
  627. data/lib/orb/type/enum.rb +0 -101
  628. data/lib/orb/type/hash_of.rb +0 -132
  629. data/lib/orb/type/request_parameters.rb +0 -38
  630. data/lib/orb/type/union.rb +0 -225
  631. data/lib/orb/type/unknown.rb +0 -56
  632. data/lib/orb/type.rb +0 -23
  633. data/lib/orb/util.rb +0 -722
  634. data/rbi/lib/orb/page.rbi +0 -35
  635. data/rbi/lib/orb/transport/base_client.rbi +0 -205
  636. data/rbi/lib/orb/transport/pooled_net_requester.rbi +0 -64
  637. data/rbi/lib/orb/type/array_of.rbi +0 -82
  638. data/rbi/lib/orb/type/base_model.rbi +0 -197
  639. data/rbi/lib/orb/type/base_page.rbi +0 -38
  640. data/rbi/lib/orb/type/boolean_model.rbi +0 -41
  641. data/rbi/lib/orb/type/converter.rbi +0 -95
  642. data/rbi/lib/orb/type/enum.rbi +0 -58
  643. data/rbi/lib/orb/type/hash_of.rbi +0 -86
  644. data/rbi/lib/orb/type/request_parameters.rbi +0 -20
  645. data/rbi/lib/orb/type/union.rbi +0 -66
  646. data/rbi/lib/orb/type/unknown.rbi +0 -37
  647. data/rbi/lib/orb/type.rbi +0 -23
  648. data/rbi/lib/orb/util.rbi +0 -278
  649. data/sig/orb/page.rbs +0 -22
  650. data/sig/orb/transport/base_client.rbs +0 -110
  651. data/sig/orb/transport/pooled_net_requester.rbs +0 -39
  652. data/sig/orb/type/array_of.rbs +0 -36
  653. data/sig/orb/type/base_model.rbs +0 -77
  654. data/sig/orb/type/base_page.rbs +0 -22
  655. data/sig/orb/type/boolean_model.rbs +0 -18
  656. data/sig/orb/type/converter.rbs +0 -36
  657. data/sig/orb/type/enum.rbs +0 -22
  658. data/sig/orb/type/hash_of.rbs +0 -36
  659. data/sig/orb/type/request_parameters.rbs +0 -13
  660. data/sig/orb/type/union.rbs +0 -37
  661. data/sig/orb/type/unknown.rbs +0 -15
  662. data/sig/orb/type.rbs +0 -22
  663. data/sig/orb/util.rbs +0 -132
@@ -0,0 +1,224 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Internal
5
+ module Type
6
+ # rubocop:disable Metrics/ModuleLength
7
+ # @api private
8
+ module Converter
9
+ # rubocop:disable Lint/UnusedMethodArgument
10
+
11
+ # @api private
12
+ #
13
+ # @param value [Object]
14
+ #
15
+ # @param state [Hash{Symbol=>Object}] .
16
+ #
17
+ # @option state [Boolean, :strong] :strictness
18
+ #
19
+ # @option state [Hash{Symbol=>Object}] :exactness
20
+ #
21
+ # @option state [Integer] :branched
22
+ #
23
+ # @return [Object]
24
+ def coerce(value, state:) = (raise NotImplementedError)
25
+
26
+ # @api private
27
+ #
28
+ # @param value [Object]
29
+ #
30
+ # @return [Object]
31
+ def dump(value)
32
+ case value
33
+ in Array
34
+ value.map { Orb::Internal::Type::Unknown.dump(_1) }
35
+ in Hash
36
+ value.transform_values { Orb::Internal::Type::Unknown.dump(_1) }
37
+ in Orb::Internal::Type::BaseModel
38
+ value.class.dump(value)
39
+ else
40
+ value
41
+ end
42
+ end
43
+
44
+ # rubocop:enable Lint/UnusedMethodArgument
45
+
46
+ class << self
47
+ # @api private
48
+ #
49
+ # @param spec [Hash{Symbol=>Object}, Proc, Orb::Internal::Type::Converter, Class] .
50
+ #
51
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
52
+ #
53
+ # @option spec [Proc] :enum
54
+ #
55
+ # @option spec [Proc] :union
56
+ #
57
+ # @option spec [Boolean] :"nil?"
58
+ #
59
+ # @return [Proc]
60
+ def type_info(spec)
61
+ case spec
62
+ in Proc
63
+ spec
64
+ in Hash
65
+ type_info(spec.slice(:const, :enum, :union).first&.last)
66
+ in true | false
67
+ -> { Orb::Internal::Type::Boolean }
68
+ in Orb::Internal::Type::Converter | Class | Symbol
69
+ -> { spec }
70
+ in NilClass | Integer | Float
71
+ -> { spec.class }
72
+ end
73
+ end
74
+
75
+ # @api private
76
+ #
77
+ # Based on `target`, transform `value` into `target`, to the extent possible:
78
+ #
79
+ # 1. if the given `value` conforms to `target` already, return the given `value`
80
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
81
+ # converted value
82
+ # 3. otherwise, the given `value` unaltered
83
+ #
84
+ # The coercion process is subject to improvement between minor release versions.
85
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
86
+ #
87
+ # @param target [Orb::Internal::Type::Converter, Class]
88
+ #
89
+ # @param value [Object]
90
+ #
91
+ # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the
92
+ # coercion strategy when we have to decide between multiple possible conversion
93
+ # targets:
94
+ #
95
+ # - `true`: the conversion must be exact, with minimum coercion.
96
+ # - `false`: the conversion can be approximate, with some coercion.
97
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
98
+ # if not possible.
99
+ #
100
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
101
+ # any given conversion attempt, the exactness will be updated based on how closely
102
+ # the value recursively matches the target type:
103
+ #
104
+ # - `yes`: the value can be converted to the target type with minimum coercion.
105
+ # - `maybe`: the value can be converted to the target type with some reasonable
106
+ # coercion.
107
+ # - `no`: the value cannot be converted to the target type.
108
+ #
109
+ # See implementation below for more details.
110
+ #
111
+ # @option state [Boolean, :strong] :strictness
112
+ #
113
+ # @option state [Hash{Symbol=>Object}] :exactness
114
+ #
115
+ # @option state [Integer] :branched
116
+ #
117
+ # @return [Object]
118
+ def coerce(
119
+ target,
120
+ value,
121
+ state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
122
+ )
123
+ # rubocop:disable Lint/SuppressedException
124
+ # rubocop:disable Metrics/BlockNesting
125
+ strictness, exactness = state.fetch_values(:strictness, :exactness)
126
+
127
+ case target
128
+ in Orb::Internal::Type::Converter
129
+ return target.coerce(value, state: state)
130
+ in Class
131
+ if value.is_a?(target)
132
+ exactness[:yes] += 1
133
+ return value
134
+ end
135
+
136
+ case target
137
+ in -> { _1 <= NilClass }
138
+ exactness[value.nil? ? :yes : :maybe] += 1
139
+ return nil
140
+ in -> { _1 <= Integer }
141
+ if value.is_a?(Integer)
142
+ exactness[:yes] += 1
143
+ return value
144
+ elsif strictness == :strong
145
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
146
+ raise TypeError.new(message)
147
+ else
148
+ Kernel.then do
149
+ return Integer(value).tap { exactness[:maybe] += 1 }
150
+ rescue ArgumentError, TypeError
151
+ end
152
+ end
153
+ in -> { _1 <= Float }
154
+ if value.is_a?(Numeric)
155
+ exactness[:yes] += 1
156
+ return Float(value)
157
+ elsif strictness == :strong
158
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
159
+ raise TypeError.new(message)
160
+ else
161
+ Kernel.then do
162
+ return Float(value).tap { exactness[:maybe] += 1 }
163
+ rescue ArgumentError, TypeError
164
+ end
165
+ end
166
+ in -> { _1 <= String }
167
+ case value
168
+ in String | Symbol | Numeric
169
+ exactness[value.is_a?(Numeric) ? :maybe : :yes] += 1
170
+ return value.to_s
171
+ in StringIO
172
+ exactness[:yes] += 1
173
+ return value.string
174
+ else
175
+ if strictness == :strong
176
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
177
+ raise TypeError.new(message)
178
+ end
179
+ end
180
+ in -> { _1 <= Date || _1 <= Time }
181
+ Kernel.then do
182
+ return target.parse(value).tap { exactness[:yes] += 1 }
183
+ rescue ArgumentError, TypeError => e
184
+ raise e if strictness == :strong
185
+ end
186
+ in -> { _1 <= IO } if value.is_a?(String)
187
+ exactness[:yes] += 1
188
+ return StringIO.new(value.b)
189
+ else
190
+ end
191
+ in Symbol
192
+ if (value.is_a?(Symbol) || value.is_a?(String)) && value.to_sym == target
193
+ exactness[:yes] += 1
194
+ return target
195
+ elsif strictness == :strong
196
+ message = "cannot convert non-matching #{value.class} into #{target.inspect}"
197
+ raise ArgumentError.new(message)
198
+ end
199
+ else
200
+ end
201
+
202
+ exactness[:no] += 1
203
+ value
204
+ # rubocop:enable Metrics/BlockNesting
205
+ # rubocop:enable Lint/SuppressedException
206
+ end
207
+
208
+ # @api private
209
+ #
210
+ # @param target [Orb::Internal::Type::Converter, Class]
211
+ # @param value [Object]
212
+ #
213
+ # @return [Object]
214
+ def dump(target, value)
215
+ # rubocop:disable Layout/LineLength
216
+ target.is_a?(Orb::Internal::Type::Converter) ? target.dump(value) : Orb::Internal::Type::Unknown.dump(value)
217
+ # rubocop:enable Layout/LineLength
218
+ end
219
+ end
220
+ end
221
+ # rubocop:enable Metrics/ModuleLength
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ #
19
+ # @example
20
+ # # `billing_cycle_relative_date` is a `Orb::Models::BillingCycleRelativeDate`
21
+ # case billing_cycle_relative_date
22
+ # when Orb::Models::BillingCycleRelativeDate::START_OF_TERM
23
+ # # ...
24
+ # when Orb::Models::BillingCycleRelativeDate::END_OF_TERM
25
+ # # ...
26
+ # else
27
+ # puts(billing_cycle_relative_date)
28
+ # end
29
+ #
30
+ # @example
31
+ # case billing_cycle_relative_date
32
+ # in :start_of_term
33
+ # # ...
34
+ # in :end_of_term
35
+ # # ...
36
+ # else
37
+ # puts(billing_cycle_relative_date)
38
+ # end
39
+ module Enum
40
+ include Orb::Internal::Type::Converter
41
+
42
+ # All of the valid Symbol values for this enum.
43
+ #
44
+ # @return [Array<NilClass, Boolean, Integer, Float, Symbol>]
45
+ def values = (@values ||= constants.map { const_get(_1) })
46
+
47
+ # @api private
48
+ #
49
+ # Guard against thread safety issues by instantiating `@values`.
50
+ private def finalize! = values
51
+
52
+ # @param other [Object]
53
+ #
54
+ # @return [Boolean]
55
+ def ===(other) = values.include?(other)
56
+
57
+ # @param other [Object]
58
+ #
59
+ # @return [Boolean]
60
+ def ==(other)
61
+ # rubocop:disable Layout/LineLength
62
+ other.is_a?(Module) && other.singleton_class <= Orb::Internal::Type::Enum && other.values.to_set == values.to_set
63
+ # rubocop:enable Layout/LineLength
64
+ end
65
+
66
+ # @api private
67
+ #
68
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
69
+ # of the enum.
70
+ #
71
+ # @param value [String, Symbol, Object]
72
+ #
73
+ # @param state [Hash{Symbol=>Object}] .
74
+ #
75
+ # @option state [Boolean, :strong] :strictness
76
+ #
77
+ # @option state [Hash{Symbol=>Object}] :exactness
78
+ #
79
+ # @option state [Integer] :branched
80
+ #
81
+ # @return [Symbol, Object]
82
+ def coerce(value, state:)
83
+ exactness = state.fetch(:exactness)
84
+ val = value.is_a?(String) ? value.to_sym : value
85
+
86
+ if values.include?(val)
87
+ exactness[:yes] += 1
88
+ val
89
+ else
90
+ exactness[values.first&.class == val.class ? :maybe : :no] += 1
91
+ value
92
+ end
93
+ end
94
+
95
+ # @!parse
96
+ # # @api private
97
+ # #
98
+ # # @param value [Symbol, Object]
99
+ # #
100
+ # # @return [Symbol, Object]
101
+ # def dump(value) = super
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # @generic Elem
11
+ #
12
+ # Hash of items of a given type.
13
+ class HashOf
14
+ include Orb::Internal::Type::Converter
15
+
16
+ # @param type_info [Hash{Symbol=>Object}, Proc, Orb::Internal::Type::Converter, Class]
17
+ #
18
+ # @param spec [Hash{Symbol=>Object}] .
19
+ #
20
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
21
+ #
22
+ # @option spec [Proc] :enum
23
+ #
24
+ # @option spec [Proc] :union
25
+ #
26
+ # @option spec [Boolean] :"nil?"
27
+ def self.[](type_info, spec = {}) = new(type_info, spec)
28
+
29
+ # @param other [Object]
30
+ #
31
+ # @return [Boolean]
32
+ def ===(other)
33
+ type = item_type
34
+ case other
35
+ in Hash
36
+ other.all? do |key, val|
37
+ case [key, val]
38
+ in [Symbol | String, ^type]
39
+ true
40
+ else
41
+ false
42
+ end
43
+ end
44
+ else
45
+ false
46
+ end
47
+ end
48
+
49
+ # @param other [Object]
50
+ #
51
+ # @return [Boolean]
52
+ def ==(other)
53
+ # rubocop:disable Layout/LineLength
54
+ other.is_a?(Orb::Internal::Type::HashOf) && other.nilable? == nilable? && other.item_type == item_type
55
+ # rubocop:enable Layout/LineLength
56
+ end
57
+
58
+ # @api private
59
+ #
60
+ # @param value [Hash{Object=>Object}, Object]
61
+ #
62
+ # @param state [Hash{Symbol=>Object}] .
63
+ #
64
+ # @option state [Boolean, :strong] :strictness
65
+ #
66
+ # @option state [Hash{Symbol=>Object}] :exactness
67
+ #
68
+ # @option state [Integer] :branched
69
+ #
70
+ # @return [Hash{Symbol=>Object}, Object]
71
+ def coerce(value, state:)
72
+ exactness = state.fetch(:exactness)
73
+
74
+ unless value.is_a?(Hash)
75
+ exactness[:no] += 1
76
+ return value
77
+ end
78
+
79
+ target = item_type
80
+ exactness[:yes] += 1
81
+ value
82
+ .to_h do |key, val|
83
+ k = key.is_a?(String) ? key.to_sym : key
84
+ v =
85
+ case [nilable?, val]
86
+ in [true, nil]
87
+ exactness[:yes] += 1
88
+ nil
89
+ else
90
+ Orb::Internal::Type::Converter.coerce(target, val, state: state)
91
+ end
92
+
93
+ exactness[:no] += 1 unless k.is_a?(Symbol)
94
+ [k, v]
95
+ end
96
+ end
97
+
98
+ # @api private
99
+ #
100
+ # @param value [Hash{Object=>Object}, Object]
101
+ #
102
+ # @return [Hash{Symbol=>Object}, Object]
103
+ def dump(value)
104
+ target = item_type
105
+ if value.is_a?(Hash)
106
+ value.transform_values do
107
+ Orb::Internal::Type::Converter.dump(target, _1)
108
+ end
109
+ else
110
+ super
111
+ end
112
+ end
113
+
114
+ # @api private
115
+ #
116
+ # @return [generic<Elem>]
117
+ protected def item_type = @item_type_fn.call
118
+
119
+ # @api private
120
+ #
121
+ # @return [Boolean]
122
+ protected def nilable? = @nilable
123
+
124
+ # @api private
125
+ #
126
+ # @param type_info [Hash{Symbol=>Object}, Proc, Orb::Internal::Type::Converter, Class]
127
+ #
128
+ # @param spec [Hash{Symbol=>Object}] .
129
+ #
130
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
131
+ #
132
+ # @option spec [Proc] :enum
133
+ #
134
+ # @option spec [Proc] :union
135
+ #
136
+ # @option spec [Boolean] :"nil?"
137
+ def initialize(type_info, spec = {})
138
+ @item_type_fn = Orb::Internal::Type::Converter.type_info(type_info || spec)
139
+ @nilable = spec[:nil?]
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # @!parse
9
+ # # Options to specify HTTP behaviour for this request.
10
+ # # @return [Orb::RequestOptions, Hash{Symbol=>Object}]
11
+ # attr_accessor :request_options
12
+
13
+ # @param mod [Module]
14
+ def self.included(mod)
15
+ return unless mod <= Orb::Internal::Type::BaseModel
16
+
17
+ mod.extend(Orb::Internal::Type::RequestParameters::Converter)
18
+ mod.optional(:request_options, Orb::RequestOptions)
19
+ end
20
+
21
+ # @api private
22
+ module Converter
23
+ # @api private
24
+ #
25
+ # @param params [Object]
26
+ #
27
+ # @return [Array(Object, Hash{Symbol=>Object})]
28
+ def dump_request(params)
29
+ case (dumped = dump(params))
30
+ in Hash
31
+ [dumped.except(:request_options), dumped[:request_options]]
32
+ else
33
+ [dumped, nil]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end