orb-billing 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +65 -0
  4. data/README.md +61 -51
  5. data/lib/orb/client.rb +7 -6
  6. data/lib/orb/file_part.rb +55 -0
  7. data/lib/orb/internal/page.rb +37 -39
  8. data/lib/orb/internal/transport/base_client.rb +21 -11
  9. data/lib/orb/internal/transport/pooled_net_requester.rb +3 -3
  10. data/lib/orb/internal/type/array_of.rb +28 -2
  11. data/lib/orb/internal/type/base_model.rb +83 -21
  12. data/lib/orb/internal/type/base_page.rb +10 -1
  13. data/lib/orb/internal/type/boolean.rb +6 -0
  14. data/lib/orb/internal/type/converter.rb +28 -1
  15. data/lib/orb/internal/type/enum.rb +28 -8
  16. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +35 -15
  17. data/lib/orb/internal/type/hash_of.rb +28 -2
  18. data/lib/orb/internal/type/request_parameters.rb +1 -2
  19. data/lib/orb/internal/type/union.rb +27 -4
  20. data/lib/orb/internal/type/unknown.rb +6 -0
  21. data/lib/orb/internal/util.rb +105 -70
  22. data/lib/orb/internal.rb +5 -2
  23. data/lib/orb/models/alert.rb +68 -71
  24. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  26. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  27. data/lib/orb/models/alert_disable_params.rb +5 -9
  28. data/lib/orb/models/alert_enable_params.rb +5 -9
  29. data/lib/orb/models/alert_list_params.rb +26 -36
  30. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  31. data/lib/orb/models/alert_update_params.rb +14 -18
  32. data/lib/orb/models/amount_discount.rb +14 -14
  33. data/lib/orb/models/billable_metric.rb +23 -20
  34. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  35. data/lib/orb/models/coupon.rb +28 -21
  36. data/lib/orb/models/coupon_archive_params.rb +3 -8
  37. data/lib/orb/models/coupon_create_params.rb +24 -29
  38. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  39. data/lib/orb/models/coupon_list_params.rb +17 -17
  40. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  41. data/lib/orb/models/credit_note.rb +100 -166
  42. data/lib/orb/models/credit_note_create_params.rb +15 -23
  43. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  44. data/lib/orb/models/credit_note_list_params.rb +20 -30
  45. data/lib/orb/models/customer.rb +224 -271
  46. data/lib/orb/models/customer_create_params.rb +211 -252
  47. data/lib/orb/models/customer_delete_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  49. data/lib/orb/models/customer_fetch_params.rb +3 -8
  50. data/lib/orb/models/customer_list_params.rb +20 -30
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  52. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  53. data/lib/orb/models/customer_update_by_external_id_params.rb +207 -250
  54. data/lib/orb/models/customer_update_params.rb +207 -250
  55. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  56. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  57. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  58. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  59. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  60. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +22 -26
  61. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  62. data/lib/orb/models/customers/cost_list_response.rb +22 -26
  63. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  64. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  65. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  66. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  68. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +300 -406
  69. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  70. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +300 -406
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  72. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +300 -406
  73. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  74. data/lib/orb/models/customers/credits/ledger_list_response.rb +300 -406
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  76. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  77. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  78. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  79. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  82. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  83. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  84. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  85. data/lib/orb/models/dimensional_price_group.rb +21 -15
  86. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  87. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  88. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  90. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  91. data/lib/orb/models/discount.rb +2 -3
  92. data/lib/orb/models/evaluate_price_group.rb +8 -11
  93. data/lib/orb/models/event_deprecate_params.rb +3 -8
  94. data/lib/orb/models/event_deprecate_response.rb +2 -6
  95. data/lib/orb/models/event_ingest_params.rb +33 -27
  96. data/lib/orb/models/event_ingest_response.rb +23 -24
  97. data/lib/orb/models/event_search_params.rb +15 -11
  98. data/lib/orb/models/event_search_response.rb +27 -22
  99. data/lib/orb/models/event_update_params.rb +19 -13
  100. data/lib/orb/models/event_update_response.rb +2 -6
  101. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  102. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  103. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  104. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  105. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  106. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  107. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  108. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  109. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  110. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  111. data/lib/orb/models/events/event_volumes.rb +11 -17
  112. data/lib/orb/models/events/volume_list_params.rb +19 -22
  113. data/lib/orb/models/invoice.rb +589 -637
  114. data/lib/orb/models/invoice_create_params.rb +52 -61
  115. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  116. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  117. data/lib/orb/models/invoice_fetch_upcoming_response.rb +584 -631
  118. data/lib/orb/models/invoice_issue_params.rb +10 -14
  119. data/lib/orb/models/invoice_level_discount.rb +2 -3
  120. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  121. data/lib/orb/models/invoice_line_item_create_response.rb +247 -269
  122. data/lib/orb/models/invoice_list_params.rb +51 -66
  123. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  124. data/lib/orb/models/invoice_pay_params.rb +3 -8
  125. data/lib/orb/models/invoice_update_params.rb +9 -9
  126. data/lib/orb/models/invoice_void_params.rb +3 -8
  127. data/lib/orb/models/item.rb +14 -25
  128. data/lib/orb/models/item_create_params.rb +5 -9
  129. data/lib/orb/models/item_fetch_params.rb +3 -8
  130. data/lib/orb/models/item_list_params.rb +12 -15
  131. data/lib/orb/models/item_update_params.rb +10 -22
  132. data/lib/orb/models/metric_create_params.rb +17 -13
  133. data/lib/orb/models/metric_fetch_params.rb +3 -8
  134. data/lib/orb/models/metric_list_params.rb +20 -30
  135. data/lib/orb/models/metric_update_params.rb +9 -9
  136. data/lib/orb/models/pagination_metadata.rb +3 -7
  137. data/lib/orb/models/percentage_discount.rb +15 -14
  138. data/lib/orb/models/plan.rb +250 -279
  139. data/lib/orb/models/plan_create_params.rb +1623 -1984
  140. data/lib/orb/models/plan_fetch_params.rb +3 -8
  141. data/lib/orb/models/plan_list_params.rb +25 -42
  142. data/lib/orb/models/plan_update_params.rb +12 -10
  143. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  144. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  145. data/lib/orb/models/price.rb +2709 -3820
  146. data/lib/orb/models/price_create_params.rb +203 -244
  147. data/lib/orb/models/price_evaluate_params.rb +21 -30
  148. data/lib/orb/models/price_evaluate_response.rb +2 -6
  149. data/lib/orb/models/price_fetch_params.rb +3 -8
  150. data/lib/orb/models/price_list_params.rb +12 -15
  151. data/lib/orb/models/price_update_params.rb +9 -9
  152. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  153. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  154. data/lib/orb/models/subscription.rb +343 -382
  155. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  156. data/lib/orb/models/subscription_cancel_response.rb +339 -377
  157. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  158. data/lib/orb/models/subscription_change_apply_response.rb +365 -398
  159. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  160. data/lib/orb/models/subscription_change_cancel_response.rb +365 -398
  161. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  162. data/lib/orb/models/subscription_change_retrieve_response.rb +366 -398
  163. data/lib/orb/models/subscription_create_params.rb +3771 -4402
  164. data/lib/orb/models/subscription_create_response.rb +339 -377
  165. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  166. data/lib/orb/models/subscription_fetch_costs_response.rb +22 -26
  167. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  168. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  169. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  170. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  171. data/lib/orb/models/subscription_list_params.rb +28 -41
  172. data/lib/orb/models/subscription_price_intervals_params.rb +2018 -2472
  173. data/lib/orb/models/subscription_price_intervals_response.rb +342 -377
  174. data/lib/orb/models/subscription_schedule_plan_change_params.rb +3764 -4392
  175. data/lib/orb/models/subscription_schedule_plan_change_response.rb +342 -377
  176. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  177. data/lib/orb/models/subscription_trigger_phase_response.rb +341 -377
  178. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  179. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +342 -377
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  181. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +343 -377
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  183. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +343 -377
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  185. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +342 -377
  186. data/lib/orb/models/subscription_update_params.rb +21 -23
  187. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  188. data/lib/orb/models/subscription_update_trial_response.rb +341 -377
  189. data/lib/orb/models/subscription_usage.rb +37 -80
  190. data/lib/orb/models/subscriptions.rb +3 -7
  191. data/lib/orb/models/top_level_ping_params.rb +3 -8
  192. data/lib/orb/models/top_level_ping_response.rb +2 -6
  193. data/lib/orb/models/trial_discount.rb +16 -24
  194. data/lib/orb/models/usage_discount.rb +15 -14
  195. data/lib/orb/request_options.rb +3 -4
  196. data/lib/orb/resources/alerts.rb +48 -17
  197. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  198. data/lib/orb/resources/coupons.rb +25 -7
  199. data/lib/orb/resources/credit_notes.rb +17 -4
  200. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  201. data/lib/orb/resources/customers/costs.rb +26 -8
  202. data/lib/orb/resources/customers/credits/ledger.rb +108 -28
  203. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  204. data/lib/orb/resources/customers/credits.rb +28 -8
  205. data/lib/orb/resources/customers.rb +135 -36
  206. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  207. data/lib/orb/resources/events/backfills.rb +32 -9
  208. data/lib/orb/resources/events/volume.rb +14 -4
  209. data/lib/orb/resources/events.rb +40 -11
  210. data/lib/orb/resources/invoice_line_items.rb +16 -6
  211. data/lib/orb/resources/invoices.rb +77 -17
  212. data/lib/orb/resources/items.rb +10 -3
  213. data/lib/orb/resources/metrics.rb +33 -8
  214. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  215. data/lib/orb/resources/plans.rb +47 -11
  216. data/lib/orb/resources/prices/external_price_id.rb +7 -1
  217. data/lib/orb/resources/prices.rb +97 -22
  218. data/lib/orb/resources/subscription_changes.rb +5 -2
  219. data/lib/orb/resources/subscriptions.rb +292 -78
  220. data/lib/orb/version.rb +1 -1
  221. data/lib/orb.rb +2 -10
  222. data/rbi/lib/orb/client.rbi +7 -6
  223. data/rbi/lib/orb/file_part.rbi +34 -0
  224. data/rbi/lib/orb/internal/page.rbi +1 -0
  225. data/rbi/lib/orb/internal/transport/base_client.rbi +18 -3
  226. data/rbi/lib/orb/internal/type/array_of.rbi +15 -9
  227. data/rbi/lib/orb/internal/type/base_model.rbi +22 -0
  228. data/rbi/lib/orb/internal/type/base_page.rbi +2 -0
  229. data/rbi/lib/orb/internal/type/boolean.rbi +4 -5
  230. data/rbi/lib/orb/internal/type/converter.rbi +8 -0
  231. data/rbi/lib/orb/internal/type/enum.rbi +7 -6
  232. data/rbi/lib/orb/internal/type/{io_like.rbi → file_input.rbi} +9 -7
  233. data/rbi/lib/orb/internal/type/hash_of.rbi +15 -9
  234. data/rbi/lib/orb/internal/type/union.rbi +7 -0
  235. data/rbi/lib/orb/internal/type/unknown.rbi +4 -5
  236. data/rbi/lib/orb/internal/util.rbi +39 -19
  237. data/rbi/lib/orb/internal.rbi +1 -2
  238. data/rbi/lib/orb/models/alert.rbi +28 -8
  239. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +16 -6
  240. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +16 -6
  241. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +16 -6
  242. data/rbi/lib/orb/models/alert_disable_params.rbi +5 -2
  243. data/rbi/lib/orb/models/alert_enable_params.rbi +5 -2
  244. data/rbi/lib/orb/models/alert_list_params.rbi +6 -0
  245. data/rbi/lib/orb/models/alert_update_params.rbi +11 -4
  246. data/rbi/lib/orb/models/amount_discount.rbi +10 -4
  247. data/rbi/lib/orb/models/billable_metric.rbi +16 -3
  248. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  249. data/rbi/lib/orb/models/coupon.rbi +10 -3
  250. data/rbi/lib/orb/models/coupon_create_params.rbi +6 -3
  251. data/rbi/lib/orb/models/coupon_list_params.rbi +13 -3
  252. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +8 -2
  253. data/rbi/lib/orb/models/credit_note.rbi +44 -12
  254. data/rbi/lib/orb/models/credit_note_create_params.rbi +15 -6
  255. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -0
  256. data/rbi/lib/orb/models/customer.rbi +130 -11
  257. data/rbi/lib/orb/models/customer_create_params.rbi +142 -8
  258. data/rbi/lib/orb/models/customer_list_params.rbi +3 -0
  259. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +140 -8
  260. data/rbi/lib/orb/models/customer_update_params.rbi +140 -8
  261. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +8 -4
  262. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +18 -8
  263. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -0
  264. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +18 -8
  265. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +9 -5
  266. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +21 -4
  267. data/rbi/lib/orb/models/customers/cost_list_params.rbi +9 -5
  268. data/rbi/lib/orb/models/customers/cost_list_response.rbi +21 -4
  269. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +13 -3
  270. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +1 -2
  271. data/rbi/lib/orb/models/customers/credit_list_params.rbi +13 -3
  272. data/rbi/lib/orb/models/customers/credit_list_response.rbi +1 -2
  273. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  274. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +35 -56
  275. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  276. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +35 -56
  277. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  278. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +35 -56
  279. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -4
  280. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +35 -56
  281. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  282. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  283. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +27 -4
  284. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +25 -10
  285. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  286. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  287. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +8 -2
  288. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +25 -4
  289. data/rbi/lib/orb/models/dimensional_price_group.rbi +11 -3
  290. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -0
  291. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +8 -2
  292. data/rbi/lib/orb/models/evaluate_price_group.rbi +8 -2
  293. data/rbi/lib/orb/models/event_deprecate_response.rbi +4 -2
  294. data/rbi/lib/orb/models/event_ingest_params.rbi +22 -5
  295. data/rbi/lib/orb/models/event_ingest_response.rbi +15 -4
  296. data/rbi/lib/orb/models/event_search_params.rbi +14 -2
  297. data/rbi/lib/orb/models/event_search_response.rbi +14 -3
  298. data/rbi/lib/orb/models/event_update_params.rbi +10 -3
  299. data/rbi/lib/orb/models/event_update_response.rbi +4 -2
  300. data/rbi/lib/orb/models/events/backfill_close_response.rbi +14 -2
  301. data/rbi/lib/orb/models/events/backfill_create_params.rbi +18 -0
  302. data/rbi/lib/orb/models/events/backfill_create_response.rbi +14 -2
  303. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +14 -2
  304. data/rbi/lib/orb/models/events/backfill_list_params.rbi +8 -2
  305. data/rbi/lib/orb/models/events/backfill_list_response.rbi +14 -2
  306. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +14 -2
  307. data/rbi/lib/orb/models/events/event_volumes.rbi +6 -2
  308. data/rbi/lib/orb/models/events/volume_list_params.rbi +18 -2
  309. data/rbi/lib/orb/models/invoice.rbi +375 -46
  310. data/rbi/lib/orb/models/invoice_create_params.rbi +38 -6
  311. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +375 -66
  312. data/rbi/lib/orb/models/invoice_issue_params.rbi +9 -2
  313. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +16 -2
  314. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +141 -20
  315. data/rbi/lib/orb/models/invoice_list_params.rbi +9 -2
  316. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +9 -2
  317. data/rbi/lib/orb/models/invoice_update_params.rbi +7 -2
  318. data/rbi/lib/orb/models/item.rbi +1 -2
  319. data/rbi/lib/orb/models/item_create_params.rbi +5 -2
  320. data/rbi/lib/orb/models/item_list_params.rbi +8 -2
  321. data/rbi/lib/orb/models/item_update_params.rbi +1 -8
  322. data/rbi/lib/orb/models/metric_create_params.rbi +15 -2
  323. data/rbi/lib/orb/models/metric_list_params.rbi +3 -0
  324. data/rbi/lib/orb/models/metric_update_params.rbi +7 -2
  325. data/rbi/lib/orb/models/percentage_discount.rbi +11 -4
  326. data/rbi/lib/orb/models/plan.rbi +102 -15
  327. data/rbi/lib/orb/models/plan_create_params.rbi +997 -679
  328. data/rbi/lib/orb/models/plan_list_params.rbi +5 -1
  329. data/rbi/lib/orb/models/plan_update_params.rbi +11 -2
  330. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +11 -2
  331. data/rbi/lib/orb/models/price.rbi +717 -688
  332. data/rbi/lib/orb/models/price_create_params.rbi +137 -53
  333. data/rbi/lib/orb/models/price_evaluate_params.rbi +10 -0
  334. data/rbi/lib/orb/models/price_list_params.rbi +8 -2
  335. data/rbi/lib/orb/models/price_update_params.rbi +7 -2
  336. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +7 -2
  337. data/rbi/lib/orb/models/subscription.rbi +174 -11
  338. data/rbi/lib/orb/models/subscription_cancel_params.rbi +8 -5
  339. data/rbi/lib/orb/models/subscription_cancel_response.rbi +187 -14
  340. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +7 -2
  341. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +199 -18
  342. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +199 -18
  343. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +199 -18
  344. data/rbi/lib/orb/models/subscription_create_params.rbi +2282 -1536
  345. data/rbi/lib/orb/models/subscription_create_response.rbi +187 -14
  346. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +9 -5
  347. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +21 -4
  348. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -0
  349. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +8 -2
  350. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +13 -4
  351. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -2
  352. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +1228 -861
  353. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +187 -14
  354. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +2288 -1544
  355. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +187 -14
  356. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +10 -2
  357. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +187 -14
  358. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +187 -14
  359. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  360. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +187 -20
  361. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +187 -14
  362. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  363. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +187 -14
  364. data/rbi/lib/orb/models/subscription_update_params.rbi +15 -0
  365. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +11 -5
  366. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +187 -14
  367. data/rbi/lib/orb/models/subscription_usage.rbi +2 -16
  368. data/rbi/lib/orb/models/trial_discount.rbi +5 -1
  369. data/rbi/lib/orb/models/usage_discount.rbi +11 -3
  370. data/sig/orb/file_part.rbs +21 -0
  371. data/sig/orb/internal/transport/base_client.rbs +9 -3
  372. data/sig/orb/internal/type/array_of.rbs +4 -0
  373. data/sig/orb/internal/type/base_model.rbs +12 -0
  374. data/sig/orb/internal/type/converter.rbs +4 -0
  375. data/sig/orb/internal/type/enum.rbs +4 -2
  376. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  377. data/sig/orb/internal/type/hash_of.rbs +4 -0
  378. data/sig/orb/internal/type/union.rbs +4 -0
  379. data/sig/orb/internal/util.rbs +16 -12
  380. data/sig/orb/internal.rbs +1 -1
  381. metadata +9 -5
@@ -13,6 +13,7 @@ module Orb
13
13
  sig { returns(PaginationMetadata) }
14
14
  attr_accessor :pagination_metadata
15
15
 
16
+ # @api private
16
17
  sig { returns(String) }
17
18
  def inspect; end
18
19
 
@@ -24,7 +24,14 @@ module Orb
24
24
  )]
25
25
  ),
26
26
  body: T.nilable(T.anything),
27
- unwrap: T.nilable(Symbol),
27
+ unwrap: T.nilable(
28
+ T.any(
29
+ Symbol,
30
+ Integer,
31
+ T::Array[T.any(Symbol, Integer)],
32
+ T.proc.params(arg0: T.anything).returns(T.anything)
33
+ )
34
+ ),
28
35
  page: T.nilable(T::Class[Orb::Internal::Type::BasePage[Orb::Internal::Type::BaseModel]]),
29
36
  stream: T.nilable(T::Class[T.anything]),
30
37
  model: T.nilable(Orb::Internal::Type::Converter::Input),
@@ -90,7 +97,7 @@ module Orb
90
97
 
91
98
  # @api private
92
99
  sig { returns(Orb::Internal::Transport::PooledNetRequester) }
93
- attr_accessor :requester
100
+ attr_reader :requester
94
101
 
95
102
  # @api private
96
103
  sig do
@@ -167,7 +174,14 @@ module Orb
167
174
  )]
168
175
  ),
169
176
  body: T.nilable(T.anything),
170
- unwrap: T.nilable(Symbol),
177
+ unwrap: T.nilable(
178
+ T.any(
179
+ Symbol,
180
+ Integer,
181
+ T::Array[T.any(Symbol, Integer)],
182
+ T.proc.params(arg0: T.anything).returns(T.anything)
183
+ )
184
+ ),
171
185
  page: T.nilable(T::Class[Orb::Internal::Type::BasePage[Orb::Internal::Type::BaseModel]]),
172
186
  stream: T.nilable(T::Class[T.anything]),
173
187
  model: T.nilable(Orb::Internal::Type::Converter::Input),
@@ -187,6 +201,7 @@ module Orb
187
201
  model: Orb::Internal::Type::Unknown,
188
202
  options: {}
189
203
  ); end
204
+ # @api private
190
205
  sig { returns(String) }
191
206
  def inspect; end
192
207
  end
@@ -10,11 +10,10 @@ module Orb
10
10
  include Orb::Internal::Type::Converter
11
11
 
12
12
  abstract!
13
- final!
14
13
 
15
14
  Elem = type_member(:out)
16
15
 
17
- sig(:final) do
16
+ sig do
18
17
  params(
19
18
  type_info: T.any(
20
19
  Orb::Internal::AnyHash,
@@ -27,14 +26,17 @@ module Orb
27
26
  end
28
27
  def self.[](type_info, spec = {}); end
29
28
 
30
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
29
+ sig { params(other: T.anything).returns(T::Boolean) }
31
30
  def ===(other); end
32
31
 
33
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
32
+ sig { params(other: T.anything).returns(T::Boolean) }
34
33
  def ==(other); end
35
34
 
35
+ sig { returns(Integer) }
36
+ def hash; end
37
+
36
38
  # @api private
37
- sig(:final) do
39
+ sig do
38
40
  override
39
41
  .params(value: T.any(
40
42
  T::Array[T.anything],
@@ -46,7 +48,7 @@ module Orb
46
48
  def coerce(value, state:); end
47
49
 
48
50
  # @api private
49
- sig(:final) do
51
+ sig do
50
52
  override
51
53
  .params(value: T.any(
52
54
  T::Array[T.anything],
@@ -58,15 +60,15 @@ module Orb
58
60
  def dump(value, state:); end
59
61
 
60
62
  # @api private
61
- sig(:final) { returns(Elem) }
63
+ sig { returns(Elem) }
62
64
  protected def item_type; end
63
65
 
64
66
  # @api private
65
- sig(:final) { returns(T::Boolean) }
67
+ sig { returns(T::Boolean) }
66
68
  protected def nilable?; end
67
69
 
68
70
  # @api private
69
- sig(:final) do
71
+ sig do
70
72
  params(
71
73
  type_info: T.any(
72
74
  Orb::Internal::AnyHash,
@@ -78,6 +80,10 @@ module Orb
78
80
  .void
79
81
  end
80
82
  def initialize(type_info, spec = {}); end
83
+
84
+ # @api private
85
+ sig { params(depth: Integer).returns(String) }
86
+ def inspect(depth: 0); end
81
87
  end
82
88
  end
83
89
  end
@@ -111,11 +111,17 @@ module Orb
111
111
 
112
112
  sig { params(other: T.anything).returns(T::Boolean) }
113
113
  def ==(other); end
114
+
115
+ sig { returns(Integer) }
116
+ def hash; end
114
117
  end
115
118
 
116
119
  sig { params(other: T.anything).returns(T::Boolean) }
117
120
  def ==(other); end
118
121
 
122
+ sig { returns(Integer) }
123
+ def hash; end
124
+
119
125
  class << self
120
126
  # @api private
121
127
  sig do
@@ -175,6 +181,12 @@ module Orb
175
181
  sig { params(keys: T.nilable(T::Array[Symbol])).returns(Orb::Internal::AnyHash) }
176
182
  def deconstruct_keys(keys); end
177
183
 
184
+ class << self
185
+ # @api private
186
+ sig { params(model: Orb::Internal::Type::BaseModel).returns(Orb::Internal::AnyHash) }
187
+ def walk(model); end
188
+ end
189
+
178
190
  sig { params(a: T.anything).returns(String) }
179
191
  def to_json(*a); end
180
192
 
@@ -185,6 +197,16 @@ module Orb
185
197
  sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) }
186
198
  def self.new(data = {}); end
187
199
 
200
+ class << self
201
+ # @api private
202
+ sig { params(depth: Integer).returns(String) }
203
+ def inspect(depth: 0); end
204
+ end
205
+
206
+ sig { returns(String) }
207
+ def to_s; end
208
+
209
+ # @api private
188
210
  sig { returns(String) }
189
211
  def inspect; end
190
212
  end
@@ -3,6 +3,8 @@
3
3
  module Orb
4
4
  module Internal
5
5
  module Type
6
+ # @api private
7
+ #
6
8
  # This module provides a base implementation for paginated responses in the SDK.
7
9
  module BasePage
8
10
  Elem = type_member(:out)
@@ -10,17 +10,16 @@ module Orb
10
10
  extend Orb::Internal::Type::Converter
11
11
 
12
12
  abstract!
13
- final!
14
13
 
15
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
14
+ sig { params(other: T.anything).returns(T::Boolean) }
16
15
  def self.===(other); end
17
16
 
18
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
17
+ sig { params(other: T.anything).returns(T::Boolean) }
19
18
  def self.==(other); end
20
19
 
21
20
  class << self
22
21
  # @api private
23
- sig(:final) do
22
+ sig do
24
23
  override
25
24
  .params(value: T.any(
26
25
  T::Boolean,
@@ -32,7 +31,7 @@ module Orb
32
31
  def coerce(value, state:); end
33
32
 
34
33
  # @api private
35
- sig(:final) do
34
+ sig do
36
35
  override
37
36
  .params(value: T.any(T::Boolean, T.anything), state: Orb::Internal::Type::Converter::DumpState)
38
37
  .returns(T.any(T::Boolean, T.anything))
@@ -35,6 +35,10 @@ module Orb
35
35
  end
36
36
  def dump(value, state:); end
37
37
 
38
+ # @api private
39
+ sig { params(depth: Integer).returns(String) }
40
+ def inspect(depth: 0); end
41
+
38
42
  class << self
39
43
  # @api private
40
44
  sig do
@@ -106,6 +110,10 @@ module Orb
106
110
  .returns(T.anything)
107
111
  end
108
112
  def self.dump(target, value, state: {can_retry: true}); end
113
+
114
+ # @api private
115
+ sig { params(target: T.anything, depth: Integer).returns(String) }
116
+ def self.inspect(target, depth:); end
109
117
  end
110
118
  end
111
119
  end
@@ -22,18 +22,15 @@ module Orb
22
22
  sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
23
23
  def values; end
24
24
 
25
- # @api private
26
- #
27
- # Guard against thread safety issues by instantiating `@values`.
28
- sig { void }
29
- private def finalize!; end
30
-
31
25
  sig { params(other: T.anything).returns(T::Boolean) }
32
26
  def ===(other); end
33
27
 
34
28
  sig { params(other: T.anything).returns(T::Boolean) }
35
29
  def ==(other); end
36
30
 
31
+ sig { returns(Integer) }
32
+ def hash; end
33
+
37
34
  # @api private
38
35
  #
39
36
  # Unlike with primitives, `Enum` additionally validates that the value is a member
@@ -57,6 +54,10 @@ module Orb
57
54
  .returns(T.any(Symbol, T.anything))
58
55
  end
59
56
  def dump(value, state:); end
57
+
58
+ # @api private
59
+ sig { params(depth: Integer).returns(String) }
60
+ def inspect(depth: 0); end
60
61
  end
61
62
  end
62
63
  end
@@ -5,22 +5,24 @@ module Orb
5
5
  module Type
6
6
  # @api private
7
7
  #
8
- # Either `Pathname` or `StringIO`.
9
- class IOLike
8
+ # Either `Pathname` or `StringIO`, or `IO`, or `Orb::Internal::Type::FileInput`.
9
+ #
10
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
11
+ # not rewindable.
12
+ class FileInput
10
13
  extend Orb::Internal::Type::Converter
11
14
 
12
15
  abstract!
13
- final!
14
16
 
15
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
17
+ sig { params(other: T.anything).returns(T::Boolean) }
16
18
  def self.===(other); end
17
19
 
18
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
20
+ sig { params(other: T.anything).returns(T::Boolean) }
19
21
  def self.==(other); end
20
22
 
21
23
  class << self
22
24
  # @api private
23
- sig(:final) do
25
+ sig do
24
26
  override
25
27
  .params(value: T.any(
26
28
  StringIO,
@@ -33,7 +35,7 @@ module Orb
33
35
  def coerce(value, state:); end
34
36
 
35
37
  # @api private
36
- sig(:final) do
38
+ sig do
37
39
  override
38
40
  .params(
39
41
  value: T.any(Pathname, StringIO, IO, String, T.anything),
@@ -10,11 +10,10 @@ module Orb
10
10
  include Orb::Internal::Type::Converter
11
11
 
12
12
  abstract!
13
- final!
14
13
 
15
14
  Elem = type_member(:out)
16
15
 
17
- sig(:final) do
16
+ sig do
18
17
  params(
19
18
  type_info: T.any(
20
19
  Orb::Internal::AnyHash,
@@ -27,14 +26,17 @@ module Orb
27
26
  end
28
27
  def self.[](type_info, spec = {}); end
29
28
 
30
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
29
+ sig { params(other: T.anything).returns(T::Boolean) }
31
30
  def ===(other); end
32
31
 
33
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
32
+ sig { params(other: T.anything).returns(T::Boolean) }
34
33
  def ==(other); end
35
34
 
35
+ sig { returns(Integer) }
36
+ def hash; end
37
+
36
38
  # @api private
37
- sig(:final) do
39
+ sig do
38
40
  override
39
41
  .params(
40
42
  value: T.any(T::Hash[T.anything, T.anything], T.anything),
@@ -45,7 +47,7 @@ module Orb
45
47
  def coerce(value, state:); end
46
48
 
47
49
  # @api private
48
- sig(:final) do
50
+ sig do
49
51
  override
50
52
  .params(
51
53
  value: T.any(T::Hash[T.anything, T.anything], T.anything),
@@ -56,15 +58,15 @@ module Orb
56
58
  def dump(value, state:); end
57
59
 
58
60
  # @api private
59
- sig(:final) { returns(Elem) }
61
+ sig { returns(Elem) }
60
62
  protected def item_type; end
61
63
 
62
64
  # @api private
63
- sig(:final) { returns(T::Boolean) }
65
+ sig { returns(T::Boolean) }
64
66
  protected def nilable?; end
65
67
 
66
68
  # @api private
67
- sig(:final) do
69
+ sig do
68
70
  params(
69
71
  type_info: T.any(
70
72
  Orb::Internal::AnyHash,
@@ -76,6 +78,10 @@ module Orb
76
78
  .void
77
79
  end
78
80
  def initialize(type_info, spec = {}); end
81
+
82
+ # @api private
83
+ sig { params(depth: Integer).returns(String) }
84
+ def inspect(depth: 0); end
79
85
  end
80
86
  end
81
87
  end
@@ -45,6 +45,9 @@ module Orb
45
45
  sig { params(other: T.anything).returns(T::Boolean) }
46
46
  def ==(other); end
47
47
 
48
+ sig { returns(Integer) }
49
+ def hash; end
50
+
48
51
  # @api private
49
52
  sig do
50
53
  override.params(
@@ -62,6 +65,10 @@ module Orb
62
65
  ).returns(T.anything)
63
66
  end
64
67
  def dump(value, state:); end
68
+
69
+ # @api private
70
+ sig { params(depth: Integer).returns(String) }
71
+ def inspect(depth: 0); end
65
72
  end
66
73
  end
67
74
  end
@@ -10,17 +10,16 @@ module Orb
10
10
  extend Orb::Internal::Type::Converter
11
11
 
12
12
  abstract!
13
- final!
14
13
 
15
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
14
+ sig { params(other: T.anything).returns(T::Boolean) }
16
15
  def self.===(other); end
17
16
 
18
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
17
+ sig { params(other: T.anything).returns(T::Boolean) }
19
18
  def self.==(other); end
20
19
 
21
20
  class << self
22
21
  # @api private
23
- sig(:final) do
22
+ sig do
24
23
  override.params(
25
24
  value: T.anything,
26
25
  state: Orb::Internal::Type::Converter::CoerceState
@@ -29,7 +28,7 @@ module Orb
29
28
  def coerce(value, state:); end
30
29
 
31
30
  # @api private
32
- sig(:final) do
31
+ sig do
33
32
  override.params(
34
33
  value: T.anything,
35
34
  state: Orb::Internal::Type::Converter::DumpState
@@ -68,13 +68,19 @@ module Orb
68
68
  sig do
69
69
  params(
70
70
  data: T.any(Orb::Internal::AnyHash, T::Array[T.anything], T.anything),
71
- pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])),
72
- sentinel: T.nilable(T.anything),
71
+ pick: T.nilable(
72
+ T.any(
73
+ Symbol,
74
+ Integer,
75
+ T::Array[T.any(Symbol, Integer)],
76
+ T.proc.params(arg0: T.anything).returns(T.anything)
77
+ )
78
+ ),
73
79
  blk: T.nilable(T.proc.returns(T.anything))
74
80
  )
75
81
  .returns(T.nilable(T.anything))
76
82
  end
77
- def dig(data, pick, sentinel = nil, &blk); end
83
+ def dig(data, pick, &blk); end
78
84
  end
79
85
 
80
86
  class << self
@@ -140,22 +146,6 @@ module Orb
140
146
  def normalized_headers(*headers); end
141
147
  end
142
148
 
143
- # @api private
144
- class SerializationAdapter
145
- sig { returns(T.any(Pathname, IO)) }
146
- attr_reader :inner
147
-
148
- sig { params(a: T.anything).returns(String) }
149
- def to_json(*a); end
150
-
151
- sig { params(a: T.anything).returns(String) }
152
- def to_yaml(*a); end
153
-
154
- # @api private
155
- sig { params(inner: T.any(Pathname, IO)).returns(T.attached_class) }
156
- def self.new(inner); end
157
- end
158
-
159
149
  # @api private
160
150
  #
161
151
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
@@ -192,7 +182,22 @@ module Orb
192
182
  def writable_enum(&blk); end
193
183
  end
194
184
 
185
+ JSON_CONTENT = T.let(%r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}, Regexp)
186
+ JSONL_CONTENT = T.let(%r{^application/(?:x-)?jsonl}, Regexp)
187
+
195
188
  class << self
189
+ # @api private
190
+ sig do
191
+ params(
192
+ y: Enumerator::Yielder,
193
+ val: T.anything,
194
+ closing: T::Array[T.proc.void],
195
+ content_type: T.nilable(String)
196
+ )
197
+ .void
198
+ end
199
+ private def write_multipart_content(y, val:, closing:, content_type: nil); end
200
+
196
201
  # @api private
197
202
  sig do
198
203
  params(
@@ -215,6 +220,14 @@ module Orb
215
220
  def encode_content(headers, body); end
216
221
 
217
222
  # @api private
223
+ #
224
+ # https://www.iana.org/assignments/character-sets/character-sets.xhtml
225
+ sig { params(content_type: String, text: String).void }
226
+ def force_charset!(content_type, text:); end
227
+
228
+ # @api private
229
+ #
230
+ # Assumes each chunk in stream has `Encoding::BINARY`.
218
231
  sig do
219
232
  params(
220
233
  headers: T.any(T::Hash[String, String], Net::HTTPHeader),
@@ -263,12 +276,19 @@ module Orb
263
276
 
264
277
  class << self
265
278
  # @api private
279
+ #
280
+ # Assumes Strings have been forced into having `Encoding::BINARY`.
281
+ #
282
+ # This decoder is responsible for reassembling lines split across multiple
283
+ # fragments.
266
284
  sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) }
267
285
  def decode_lines(enum); end
268
286
 
269
287
  # @api private
270
288
  #
271
289
  # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
290
+ #
291
+ # Assumes that `lines` has been decoded with `#decode_lines`.
272
292
  sig do
273
293
  params(lines: T::Enumerable[String]).returns(T::Enumerable[Orb::Internal::Util::ServerSentEvent])
274
294
  end
@@ -1,12 +1,11 @@
1
1
  # typed: strong
2
2
 
3
3
  module Orb
4
- # @api private
5
4
  module Internal
6
5
  # Due to the current WIP status of Shapes support in Sorbet, types referencing
7
6
  # this alias might be refined in the future.
8
7
  AnyHash = T.type_alias { T::Hash[Symbol, T.anything] }
9
8
 
10
- OMIT = T.let(T.anything, T.anything)
9
+ OMIT = T.let(Object.new.freeze, T.anything)
11
10
  end
12
11
  end
@@ -77,19 +77,28 @@ module Orb
77
77
  .returns(T.attached_class)
78
78
  end
79
79
  def self.new(
80
+ # Also referred to as alert_id in this documentation.
80
81
  id:,
82
+ # The creation time of the resource in Orb.
81
83
  created_at:,
84
+ # The name of the currency the credit balance or invoice cost is denominated in.
82
85
  currency:,
86
+ # The customer the alert applies to.
83
87
  customer:,
88
+ # Whether the alert is enabled or disabled.
84
89
  enabled:,
90
+ # The metric the alert applies to.
85
91
  metric:,
92
+ # The plan the alert applies to.
86
93
  plan:,
94
+ # The subscription the alert applies to.
87
95
  subscription:,
96
+ # The thresholds that define the conditions under which the alert will be
97
+ # triggered.
88
98
  thresholds:,
99
+ # The type of alert. This must be a valid alert type.
89
100
  type:
90
- )
91
- end
92
-
101
+ ); end
93
102
  sig do
94
103
  override
95
104
  .returns(
@@ -162,8 +171,15 @@ module Orb
162
171
  )
163
172
  .returns(T.attached_class)
164
173
  end
165
- def self.new(id:, external_plan_id:, name:, plan_version:); end
166
-
174
+ def self.new(
175
+ id:,
176
+ # An optional user-defined ID for this plan resource, used throughout the system
177
+ # as an alias for this Plan. Use this field to identify a plan by an existing
178
+ # identifier in your system.
179
+ external_plan_id:,
180
+ name:,
181
+ plan_version:
182
+ ); end
167
183
  sig do
168
184
  override
169
185
  .returns(
@@ -200,8 +216,12 @@ module Orb
200
216
  # Thresholds are used to define the conditions under which an alert will be
201
217
  # triggered.
202
218
  sig { params(value: Float).returns(T.attached_class) }
203
- def self.new(value:); end
204
-
219
+ def self.new(
220
+ # The value at which an alert will fire. For credit balance alerts, the alert will
221
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
222
+ # or above this value.
223
+ value:
224
+ ); end
205
225
  sig { override.returns({value: Float}) }
206
226
  def to_hash; end
207
227
  end
@@ -211,7 +231,7 @@ module Orb
211
231
  extend Orb::Internal::Type::Enum
212
232
 
213
233
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Alert::Type) }
214
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::Alert::Type::TaggedSymbol) }
234
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
215
235
 
216
236
  CREDIT_BALANCE_DEPLETED = T.let(:credit_balance_depleted, Orb::Models::Alert::Type::TaggedSymbol)
217
237
  CREDIT_BALANCE_DROPPED = T.let(:credit_balance_dropped, Orb::Models::Alert::Type::TaggedSymbol)
@@ -27,8 +27,15 @@ module Orb
27
27
  )
28
28
  .returns(T.attached_class)
29
29
  end
30
- def self.new(currency:, type:, thresholds: nil, request_options: {}); end
31
-
30
+ def self.new(
31
+ # The case sensitive currency or custom pricing unit to use for this alert.
32
+ currency:,
33
+ # The type of alert to create. This must be a valid alert type.
34
+ type:,
35
+ # The thresholds that define the values at which the alert will be triggered.
36
+ thresholds: nil,
37
+ request_options: {}
38
+ ); end
32
39
  sig do
33
40
  override
34
41
  .returns(
@@ -47,8 +54,7 @@ module Orb
47
54
  extend Orb::Internal::Type::Enum
48
55
 
49
56
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::AlertCreateForCustomerParams::Type) }
50
- OrSymbol =
51
- T.type_alias { T.any(Symbol, String, Orb::Models::AlertCreateForCustomerParams::Type::TaggedSymbol) }
57
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
52
58
 
53
59
  CREDIT_BALANCE_DEPLETED =
54
60
  T.let(:credit_balance_depleted, Orb::Models::AlertCreateForCustomerParams::Type::TaggedSymbol)
@@ -71,8 +77,12 @@ module Orb
71
77
  # Thresholds are used to define the conditions under which an alert will be
72
78
  # triggered.
73
79
  sig { params(value: Float).returns(T.attached_class) }
74
- def self.new(value:); end
75
-
80
+ def self.new(
81
+ # The value at which an alert will fire. For credit balance alerts, the alert will
82
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
83
+ # or above this value.
84
+ value:
85
+ ); end
76
86
  sig { override.returns({value: Float}) }
77
87
  def to_hash; end
78
88
  end