modern_treasury 0.1.0.pre.alpha.15 → 0.1.0.pre.alpha.16

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 (711) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -20
  3. data/lib/modern_treasury/base_client.rb +93 -111
  4. data/lib/modern_treasury/base_model.rb +442 -422
  5. data/lib/modern_treasury/base_page.rb +34 -15
  6. data/lib/modern_treasury/client.rb +21 -7
  7. data/lib/modern_treasury/errors.rb +15 -19
  8. data/lib/modern_treasury/extern.rb +1 -4
  9. data/lib/modern_treasury/models/account_collection_flow.rb +9 -54
  10. data/lib/modern_treasury/models/account_collection_flow_create_params.rb +3 -22
  11. data/lib/modern_treasury/models/account_collection_flow_update_params.rb +3 -12
  12. data/lib/modern_treasury/models/account_detail.rb +3 -22
  13. data/lib/modern_treasury/models/account_detail_create_params.rb +6 -33
  14. data/lib/modern_treasury/models/account_detail_delete_params.rb +3 -11
  15. data/lib/modern_treasury/models/accounts_type.rb +3 -13
  16. data/lib/modern_treasury/models/bulk_request.rb +9 -50
  17. data/lib/modern_treasury/models/bulk_request_create_params.rb +118 -656
  18. data/lib/modern_treasury/models/bulk_request_list_params.rb +9 -50
  19. data/lib/modern_treasury/models/bulk_result.rb +16 -67
  20. data/lib/modern_treasury/models/bulk_result_list_params.rb +9 -48
  21. data/lib/modern_treasury/models/connection_legal_entity.rb +3 -18
  22. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +33 -200
  23. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +3 -17
  24. data/lib/modern_treasury/models/connection_legal_entity_update_params.rb +3 -12
  25. data/lib/modern_treasury/models/counterparty.rb +15 -77
  26. data/lib/modern_treasury/models/counterparty_collect_account_params.rb +3 -21
  27. data/lib/modern_treasury/models/counterparty_create_params.rb +61 -357
  28. data/lib/modern_treasury/models/currency.rb +3 -22
  29. data/lib/modern_treasury/models/document.rb +3 -22
  30. data/lib/modern_treasury/models/document_create_params.rb +3 -21
  31. data/lib/modern_treasury/models/document_list_params.rb +3 -22
  32. data/lib/modern_treasury/models/expected_payment.rb +9 -46
  33. data/lib/modern_treasury/models/expected_payment_create_params.rb +9 -52
  34. data/lib/modern_treasury/models/expected_payment_list_params.rb +6 -40
  35. data/lib/modern_treasury/models/expected_payment_type.rb +3 -22
  36. data/lib/modern_treasury/models/expected_payment_update_params.rb +6 -26
  37. data/lib/modern_treasury/models/external_account.rb +12 -59
  38. data/lib/modern_treasury/models/external_account_create_params.rb +18 -110
  39. data/lib/modern_treasury/models/external_account_type.rb +3 -22
  40. data/lib/modern_treasury/models/external_account_update_params.rb +3 -14
  41. data/lib/modern_treasury/models/external_account_verify_params.rb +9 -48
  42. data/lib/modern_treasury/models/external_account_verify_response.rb +16 -66
  43. data/lib/modern_treasury/models/incoming_payment_detail.rb +12 -82
  44. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +6 -36
  45. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +6 -38
  46. data/lib/modern_treasury/models/internal_account.rb +6 -36
  47. data/lib/modern_treasury/models/internal_account_create_params.rb +3 -14
  48. data/lib/modern_treasury/models/internal_account_list_params.rb +3 -22
  49. data/lib/modern_treasury/models/internal_accounts/balance_report.rb +12 -46
  50. data/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rb +6 -40
  51. data/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rb +3 -18
  52. data/lib/modern_treasury/models/invoice.rb +12 -67
  53. data/lib/modern_treasury/models/invoice_create_params.rb +6 -31
  54. data/lib/modern_treasury/models/invoice_list_params.rb +3 -21
  55. data/lib/modern_treasury/models/invoice_update_params.rb +6 -31
  56. data/lib/modern_treasury/models/ledger_account.rb +3 -18
  57. data/lib/modern_treasury/models/ledger_account_create_params.rb +3 -18
  58. data/lib/modern_treasury/models/ledger_account_settlement.rb +3 -22
  59. data/lib/modern_treasury/models/ledger_account_settlement_create_params.rb +3 -14
  60. data/lib/modern_treasury/models/ledger_account_settlement_update_params.rb +3 -14
  61. data/lib/modern_treasury/models/ledger_entry.rb +3 -16
  62. data/lib/modern_treasury/models/ledger_entry_list_params.rb +9 -42
  63. data/lib/modern_treasury/models/ledger_event_handler.rb +4 -0
  64. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +3 -0
  65. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +2 -0
  66. data/lib/modern_treasury/models/ledger_transaction.rb +6 -38
  67. data/lib/modern_treasury/models/ledger_transaction_create_params.rb +6 -38
  68. data/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rb +3 -14
  69. data/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rb +6 -38
  70. data/lib/modern_treasury/models/ledger_transaction_list_params.rb +12 -62
  71. data/lib/modern_treasury/models/ledger_transaction_update_params.rb +6 -38
  72. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +9 -54
  73. data/lib/modern_treasury/models/ledgerable_event.rb +1 -0
  74. data/lib/modern_treasury/models/legal_entity.rb +15 -95
  75. data/lib/modern_treasury/models/legal_entity_association.rb +18 -109
  76. data/lib/modern_treasury/models/legal_entity_association_create_params.rb +18 -107
  77. data/lib/modern_treasury/models/legal_entity_create_params.rb +33 -200
  78. data/lib/modern_treasury/models/legal_entity_list_params.rb +3 -13
  79. data/lib/modern_treasury/models/legal_entity_update_params.rb +12 -79
  80. data/lib/modern_treasury/models/line_item.rb +3 -14
  81. data/lib/modern_treasury/models/line_item_list_params.rb +3 -13
  82. data/lib/modern_treasury/models/line_item_retrieve_params.rb +3 -13
  83. data/lib/modern_treasury/models/line_item_update_params.rb +3 -13
  84. data/lib/modern_treasury/models/paper_item.rb +3 -16
  85. data/lib/modern_treasury/models/payment_flow.rb +12 -58
  86. data/lib/modern_treasury/models/payment_flow_create_params.rb +3 -14
  87. data/lib/modern_treasury/models/payment_flow_update_params.rb +3 -12
  88. data/lib/modern_treasury/models/payment_order.rb +33 -142
  89. data/lib/modern_treasury/models/payment_order_create_async_params.rb +39 -218
  90. data/lib/modern_treasury/models/payment_order_create_params.rb +42 -239
  91. data/lib/modern_treasury/models/payment_order_list_params.rb +9 -56
  92. data/lib/modern_treasury/models/payment_order_subtype.rb +3 -22
  93. data/lib/modern_treasury/models/payment_order_type.rb +3 -22
  94. data/lib/modern_treasury/models/payment_order_update_params.rb +36 -202
  95. data/lib/modern_treasury/models/payment_orders/reversal.rb +6 -42
  96. data/lib/modern_treasury/models/payment_orders/reversal_create_params.rb +9 -58
  97. data/lib/modern_treasury/models/payment_reference.rb +8 -39
  98. data/lib/modern_treasury/models/payment_reference_list_params.rb +3 -16
  99. data/lib/modern_treasury/models/reconciliation_rule.rb +6 -36
  100. data/lib/modern_treasury/models/return_create_params.rb +6 -34
  101. data/lib/modern_treasury/models/return_list_params.rb +3 -20
  102. data/lib/modern_treasury/models/return_object.rb +20 -123
  103. data/lib/modern_treasury/models/routing_detail.rb +6 -44
  104. data/lib/modern_treasury/models/routing_detail_create_params.rb +9 -55
  105. data/lib/modern_treasury/models/routing_detail_delete_params.rb +3 -11
  106. data/lib/modern_treasury/models/routing_number_lookup_request.rb +6 -43
  107. data/lib/modern_treasury/models/transaction.rb +9 -47
  108. data/lib/modern_treasury/models/transaction_create_params.rb +3 -22
  109. data/lib/modern_treasury/models/transaction_direction.rb +3 -13
  110. data/lib/modern_treasury/models/transactions/line_item_list_params.rb +3 -13
  111. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +6 -36
  112. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +3 -22
  113. data/lib/modern_treasury/models/virtual_account_create_params.rb +12 -84
  114. data/lib/modern_treasury/models/wealth_and_employment_details.rb +18 -130
  115. data/lib/modern_treasury/page.rb +26 -28
  116. data/lib/modern_treasury/pooled_net_requester.rb +103 -86
  117. data/lib/modern_treasury/request_options.rb +5 -12
  118. data/lib/modern_treasury/resources/account_collection_flows.rb +0 -5
  119. data/lib/modern_treasury/resources/account_details.rb +26 -25
  120. data/lib/modern_treasury/resources/bulk_requests.rb +0 -4
  121. data/lib/modern_treasury/resources/bulk_results.rb +0 -3
  122. data/lib/modern_treasury/resources/connection_legal_entities.rb +0 -5
  123. data/lib/modern_treasury/resources/connections.rb +0 -2
  124. data/lib/modern_treasury/resources/counterparties.rb +0 -7
  125. data/lib/modern_treasury/resources/documents.rb +1 -5
  126. data/lib/modern_treasury/resources/events.rb +0 -3
  127. data/lib/modern_treasury/resources/expected_payments.rb +0 -6
  128. data/lib/modern_treasury/resources/external_accounts.rb +0 -8
  129. data/lib/modern_treasury/resources/foreign_exchange_quotes.rb +0 -4
  130. data/lib/modern_treasury/resources/incoming_payment_details.rb +0 -5
  131. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +14 -14
  132. data/lib/modern_treasury/resources/internal_accounts.rb +0 -5
  133. data/lib/modern_treasury/resources/invoices/line_items.rb +13 -16
  134. data/lib/modern_treasury/resources/invoices.rb +4 -9
  135. data/lib/modern_treasury/resources/ledger_account_balance_monitors.rb +0 -6
  136. data/lib/modern_treasury/resources/ledger_account_categories.rb +24 -26
  137. data/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rb +4 -5
  138. data/lib/modern_treasury/resources/ledger_account_settlements.rb +2 -6
  139. data/lib/modern_treasury/resources/ledger_account_statements.rb +0 -3
  140. data/lib/modern_treasury/resources/ledger_accounts.rb +0 -6
  141. data/lib/modern_treasury/resources/ledger_entries.rb +0 -4
  142. data/lib/modern_treasury/resources/ledger_event_handlers.rb +0 -5
  143. data/lib/modern_treasury/resources/ledger_transactions/versions.rb +0 -2
  144. data/lib/modern_treasury/resources/ledger_transactions.rb +0 -7
  145. data/lib/modern_treasury/resources/ledgerable_events.rb +0 -3
  146. data/lib/modern_treasury/resources/ledgers.rb +0 -6
  147. data/lib/modern_treasury/resources/legal_entities.rb +0 -5
  148. data/lib/modern_treasury/resources/legal_entity_associations.rb +0 -2
  149. data/lib/modern_treasury/resources/line_items.rb +22 -21
  150. data/lib/modern_treasury/resources/paper_items.rb +0 -3
  151. data/lib/modern_treasury/resources/payment_flows.rb +0 -5
  152. data/lib/modern_treasury/resources/payment_orders/reversals.rb +4 -7
  153. data/lib/modern_treasury/resources/payment_orders.rb +0 -6
  154. data/lib/modern_treasury/resources/payment_references.rb +1 -20
  155. data/lib/modern_treasury/resources/returns.rb +0 -4
  156. data/lib/modern_treasury/resources/routing_details.rb +26 -25
  157. data/lib/modern_treasury/resources/transactions/line_items.rb +0 -5
  158. data/lib/modern_treasury/resources/transactions.rb +0 -6
  159. data/lib/modern_treasury/resources/validations.rb +0 -2
  160. data/lib/modern_treasury/resources/virtual_accounts.rb +0 -6
  161. data/lib/modern_treasury/util.rb +645 -385
  162. data/lib/modern_treasury/version.rb +1 -1
  163. data/lib/modern_treasury.rb +17 -0
  164. data/manifest.yaml +2 -0
  165. data/rbi/lib/modern_treasury/base_client.rbi +108 -72
  166. data/rbi/lib/modern_treasury/base_model.rbi +404 -239
  167. data/rbi/lib/modern_treasury/base_page.rbi +3 -6
  168. data/rbi/lib/modern_treasury/client.rbi +55 -79
  169. data/rbi/lib/modern_treasury/errors.rbi +23 -24
  170. data/rbi/lib/modern_treasury/extern.rbi +1 -1
  171. data/rbi/lib/modern_treasury/models/account_collection_flow.rbi +107 -102
  172. data/rbi/lib/modern_treasury/models/account_collection_flow_create_params.rbi +69 -42
  173. data/rbi/lib/modern_treasury/models/account_collection_flow_list_params.rbi +19 -34
  174. data/rbi/lib/modern_treasury/models/account_collection_flow_retrieve_params.rbi +5 -2
  175. data/rbi/lib/modern_treasury/models/account_collection_flow_update_params.rbi +31 -16
  176. data/rbi/lib/modern_treasury/models/account_detail.rbi +44 -73
  177. data/rbi/lib/modern_treasury/models/account_detail_create_params.rbi +60 -42
  178. data/rbi/lib/modern_treasury/models/account_detail_delete_params.rbi +24 -26
  179. data/rbi/lib/modern_treasury/models/account_detail_list_params.rbi +11 -23
  180. data/rbi/lib/modern_treasury/models/account_detail_retrieve_params.rbi +14 -22
  181. data/rbi/lib/modern_treasury/models/accounts_type.rbi +8 -5
  182. data/rbi/lib/modern_treasury/models/async_response.rbi +4 -14
  183. data/rbi/lib/modern_treasury/models/bank_settings.rbi +22 -62
  184. data/rbi/lib/modern_treasury/models/bulk_request.rbi +69 -102
  185. data/rbi/lib/modern_treasury/models/bulk_request_create_params.rbi +4011 -2385
  186. data/rbi/lib/modern_treasury/models/bulk_request_list_params.rbi +73 -62
  187. data/rbi/lib/modern_treasury/models/bulk_request_retrieve_params.rbi +5 -2
  188. data/rbi/lib/modern_treasury/models/bulk_result.rbi +104 -183
  189. data/rbi/lib/modern_treasury/models/bulk_result_list_params.rbi +78 -66
  190. data/rbi/lib/modern_treasury/models/bulk_result_retrieve_params.rbi +5 -2
  191. data/rbi/lib/modern_treasury/models/client_ping_params.rbi +5 -2
  192. data/rbi/lib/modern_treasury/models/connection.rbi +16 -56
  193. data/rbi/lib/modern_treasury/models/connection_legal_entity.rbi +33 -72
  194. data/rbi/lib/modern_treasury/models/connection_legal_entity_create_params.rbi +1090 -645
  195. data/rbi/lib/modern_treasury/models/connection_legal_entity_list_params.rbi +33 -39
  196. data/rbi/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rbi +5 -2
  197. data/rbi/lib/modern_treasury/models/connection_legal_entity_update_params.rbi +31 -15
  198. data/rbi/lib/modern_treasury/models/connection_list_params.rbi +15 -30
  199. data/rbi/lib/modern_treasury/models/counterparty.rbi +247 -354
  200. data/rbi/lib/modern_treasury/models/counterparty_collect_account_params.rbi +115 -62
  201. data/rbi/lib/modern_treasury/models/counterparty_collect_account_response.rbi +12 -20
  202. data/rbi/lib/modern_treasury/models/counterparty_create_params.rbi +1877 -1038
  203. data/rbi/lib/modern_treasury/models/counterparty_delete_params.rbi +5 -2
  204. data/rbi/lib/modern_treasury/models/counterparty_list_params.rbi +35 -44
  205. data/rbi/lib/modern_treasury/models/counterparty_retrieve_params.rbi +5 -2
  206. data/rbi/lib/modern_treasury/models/counterparty_update_params.rbi +27 -34
  207. data/rbi/lib/modern_treasury/models/currency.rbi +196 -192
  208. data/rbi/lib/modern_treasury/models/document.rbi +83 -165
  209. data/rbi/lib/modern_treasury/models/document_create_params.rbi +48 -44
  210. data/rbi/lib/modern_treasury/models/document_list_params.rbi +56 -48
  211. data/rbi/lib/modern_treasury/models/document_retrieve_params.rbi +5 -2
  212. data/rbi/lib/modern_treasury/models/event.rbi +19 -73
  213. data/rbi/lib/modern_treasury/models/event_list_params.rbi +24 -39
  214. data/rbi/lib/modern_treasury/models/event_retrieve_params.rbi +5 -2
  215. data/rbi/lib/modern_treasury/models/expected_payment.rbi +116 -194
  216. data/rbi/lib/modern_treasury/models/expected_payment_create_params.rbi +313 -288
  217. data/rbi/lib/modern_treasury/models/expected_payment_delete_params.rbi +5 -2
  218. data/rbi/lib/modern_treasury/models/expected_payment_list_params.rbi +108 -105
  219. data/rbi/lib/modern_treasury/models/expected_payment_retrieve_params.rbi +5 -2
  220. data/rbi/lib/modern_treasury/models/expected_payment_type.rbi +38 -33
  221. data/rbi/lib/modern_treasury/models/expected_payment_update_params.rbi +87 -129
  222. data/rbi/lib/modern_treasury/models/external_account.rbi +150 -285
  223. data/rbi/lib/modern_treasury/models/external_account_complete_verification_params.rbi +6 -8
  224. data/rbi/lib/modern_treasury/models/external_account_create_params.rbi +670 -322
  225. data/rbi/lib/modern_treasury/models/external_account_delete_params.rbi +5 -2
  226. data/rbi/lib/modern_treasury/models/external_account_list_params.rbi +20 -29
  227. data/rbi/lib/modern_treasury/models/external_account_retrieve_params.rbi +5 -2
  228. data/rbi/lib/modern_treasury/models/external_account_type.rbi +15 -11
  229. data/rbi/lib/modern_treasury/models/external_account_update_params.rbi +59 -92
  230. data/rbi/lib/modern_treasury/models/external_account_verify_params.rbi +106 -86
  231. data/rbi/lib/modern_treasury/models/external_account_verify_response.rbi +304 -121
  232. data/rbi/lib/modern_treasury/models/foreign_exchange_quote.rbi +61 -132
  233. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_create_params.rbi +31 -41
  234. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_list_params.rbi +37 -49
  235. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbi +5 -2
  236. data/rbi/lib/modern_treasury/models/incoming_payment_detail.rbi +272 -228
  237. data/rbi/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +79 -75
  238. data/rbi/lib/modern_treasury/models/incoming_payment_detail_list_params.rbi +85 -76
  239. data/rbi/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rbi +5 -2
  240. data/rbi/lib/modern_treasury/models/incoming_payment_detail_update_params.rbi +8 -8
  241. data/rbi/lib/modern_treasury/models/internal_account.rbi +106 -218
  242. data/rbi/lib/modern_treasury/models/internal_account_create_params.rbi +67 -99
  243. data/rbi/lib/modern_treasury/models/internal_account_list_params.rbi +87 -88
  244. data/rbi/lib/modern_treasury/models/internal_account_retrieve_params.rbi +5 -2
  245. data/rbi/lib/modern_treasury/models/internal_account_update_params.rbi +24 -28
  246. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report.rbi +156 -181
  247. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rbi +159 -88
  248. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rbi +4 -9
  249. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rbi +66 -38
  250. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +4 -9
  251. data/rbi/lib/modern_treasury/models/invoice.rbi +239 -441
  252. data/rbi/lib/modern_treasury/models/invoice_add_payment_order_params.rbi +4 -9
  253. data/rbi/lib/modern_treasury/models/invoice_create_params.rbi +292 -378
  254. data/rbi/lib/modern_treasury/models/invoice_list_params.rbi +57 -71
  255. data/rbi/lib/modern_treasury/models/invoice_retrieve_params.rbi +5 -2
  256. data/rbi/lib/modern_treasury/models/invoice_update_params.rbi +300 -374
  257. data/rbi/lib/modern_treasury/models/invoices/invoice_line_item.rbi +35 -82
  258. data/rbi/lib/modern_treasury/models/invoices/line_item_create_params.rbi +34 -40
  259. data/rbi/lib/modern_treasury/models/invoices/line_item_delete_params.rbi +4 -9
  260. data/rbi/lib/modern_treasury/models/invoices/line_item_list_params.rbi +7 -14
  261. data/rbi/lib/modern_treasury/models/invoices/line_item_retrieve_params.rbi +4 -9
  262. data/rbi/lib/modern_treasury/models/invoices/line_item_update_params.rbi +39 -44
  263. data/rbi/lib/modern_treasury/models/ledger.rbi +17 -66
  264. data/rbi/lib/modern_treasury/models/ledger_account.rbi +136 -237
  265. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor.rbi +150 -236
  266. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rbi +42 -52
  267. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbi +5 -2
  268. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rbi +22 -36
  269. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbi +5 -2
  270. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rbi +12 -13
  271. data/rbi/lib/modern_treasury/models/ledger_account_category.rbi +121 -197
  272. data/rbi/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbi +4 -9
  273. data/rbi/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rbi +4 -9
  274. data/rbi/lib/modern_treasury/models/ledger_account_category_create_params.rbi +28 -52
  275. data/rbi/lib/modern_treasury/models/ledger_account_category_delete_params.rbi +5 -2
  276. data/rbi/lib/modern_treasury/models/ledger_account_category_list_params.rbi +54 -63
  277. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbi +4 -9
  278. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbi +4 -9
  279. data/rbi/lib/modern_treasury/models/ledger_account_category_retrieve_params.rbi +30 -22
  280. data/rbi/lib/modern_treasury/models/ledger_account_category_update_params.rbi +14 -19
  281. data/rbi/lib/modern_treasury/models/ledger_account_create_params.rbi +65 -74
  282. data/rbi/lib/modern_treasury/models/ledger_account_delete_params.rbi +5 -2
  283. data/rbi/lib/modern_treasury/models/ledger_account_list_params.rbi +183 -205
  284. data/rbi/lib/modern_treasury/models/ledger_account_retrieve_params.rbi +39 -37
  285. data/rbi/lib/modern_treasury/models/ledger_account_settlement.rbi +57 -116
  286. data/rbi/lib/modern_treasury/models/ledger_account_settlement_create_params.rbi +50 -58
  287. data/rbi/lib/modern_treasury/models/ledger_account_settlement_list_params.rbi +42 -54
  288. data/rbi/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rbi +5 -2
  289. data/rbi/lib/modern_treasury/models/ledger_account_settlement_update_params.rbi +35 -27
  290. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbi +6 -9
  291. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbi +6 -9
  292. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_params.rbi +19 -32
  293. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_response.rbi +238 -335
  294. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rbi +5 -2
  295. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rbi +236 -335
  296. data/rbi/lib/modern_treasury/models/ledger_account_update_params.rbi +14 -19
  297. data/rbi/lib/modern_treasury/models/ledger_create_params.rbi +12 -20
  298. data/rbi/lib/modern_treasury/models/ledger_delete_params.rbi +5 -2
  299. data/rbi/lib/modern_treasury/models/ledger_entry.rbi +161 -232
  300. data/rbi/lib/modern_treasury/models/ledger_entry_list_params.rbi +170 -143
  301. data/rbi/lib/modern_treasury/models/ledger_entry_retrieve_params.rbi +8 -8
  302. data/rbi/lib/modern_treasury/models/ledger_entry_update_params.rbi +8 -8
  303. data/rbi/lib/modern_treasury/models/ledger_event_handler.rbi +77 -155
  304. data/rbi/lib/modern_treasury/models/ledger_event_handler_create_params.rbi +76 -123
  305. data/rbi/lib/modern_treasury/models/ledger_event_handler_delete_params.rbi +5 -2
  306. data/rbi/lib/modern_treasury/models/ledger_event_handler_list_params.rbi +22 -36
  307. data/rbi/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +5 -2
  308. data/rbi/lib/modern_treasury/models/ledger_event_handler_variable.rbi +24 -33
  309. data/rbi/lib/modern_treasury/models/ledger_list_params.rbi +24 -36
  310. data/rbi/lib/modern_treasury/models/ledger_retrieve_params.rbi +5 -2
  311. data/rbi/lib/modern_treasury/models/ledger_transaction.rbi +86 -143
  312. data/rbi/lib/modern_treasury/models/ledger_transaction_create_params.rbi +138 -133
  313. data/rbi/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rbi +88 -67
  314. data/rbi/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rbi +113 -58
  315. data/rbi/lib/modern_treasury/models/ledger_transaction_list_params.rbi +188 -147
  316. data/rbi/lib/modern_treasury/models/ledger_transaction_retrieve_params.rbi +5 -2
  317. data/rbi/lib/modern_treasury/models/ledger_transaction_update_params.rbi +133 -120
  318. data/rbi/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +328 -378
  319. data/rbi/lib/modern_treasury/models/ledger_transactions/version_list_params.rbi +28 -34
  320. data/rbi/lib/modern_treasury/models/ledger_update_params.rbi +14 -19
  321. data/rbi/lib/modern_treasury/models/ledgerable_event.rbi +20 -62
  322. data/rbi/lib/modern_treasury/models/ledgerable_event_create_params.rbi +14 -26
  323. data/rbi/lib/modern_treasury/models/ledgerable_event_retrieve_params.rbi +5 -2
  324. data/rbi/lib/modern_treasury/models/legal_entity.rbi +211 -416
  325. data/rbi/lib/modern_treasury/models/legal_entity_association.rbi +468 -479
  326. data/rbi/lib/modern_treasury/models/legal_entity_association_create_params.rbi +567 -324
  327. data/rbi/lib/modern_treasury/models/legal_entity_create_params.rbi +854 -608
  328. data/rbi/lib/modern_treasury/models/legal_entity_list_params.rbi +33 -37
  329. data/rbi/lib/modern_treasury/models/legal_entity_retrieve_params.rbi +5 -2
  330. data/rbi/lib/modern_treasury/models/legal_entity_update_params.rbi +252 -267
  331. data/rbi/lib/modern_treasury/models/line_item.rbi +54 -105
  332. data/rbi/lib/modern_treasury/models/line_item_list_params.rbi +22 -28
  333. data/rbi/lib/modern_treasury/models/line_item_retrieve_params.rbi +26 -27
  334. data/rbi/lib/modern_treasury/models/line_item_update_params.rbi +25 -28
  335. data/rbi/lib/modern_treasury/models/paper_item.rbi +53 -122
  336. data/rbi/lib/modern_treasury/models/paper_item_list_params.rbi +20 -29
  337. data/rbi/lib/modern_treasury/models/paper_item_retrieve_params.rbi +5 -2
  338. data/rbi/lib/modern_treasury/models/payment_flow.rbi +141 -136
  339. data/rbi/lib/modern_treasury/models/payment_flow_create_params.rbi +36 -46
  340. data/rbi/lib/modern_treasury/models/payment_flow_list_params.rbi +25 -44
  341. data/rbi/lib/modern_treasury/models/payment_flow_retrieve_params.rbi +5 -2
  342. data/rbi/lib/modern_treasury/models/payment_flow_update_params.rbi +27 -16
  343. data/rbi/lib/modern_treasury/models/payment_order.rbi +732 -614
  344. data/rbi/lib/modern_treasury/models/payment_order_create_async_params.rbi +1297 -744
  345. data/rbi/lib/modern_treasury/models/payment_order_create_params.rbi +1346 -801
  346. data/rbi/lib/modern_treasury/models/payment_order_list_params.rbi +150 -157
  347. data/rbi/lib/modern_treasury/models/payment_order_retrieve_params.rbi +5 -2
  348. data/rbi/lib/modern_treasury/models/payment_order_subtype.rbi +39 -32
  349. data/rbi/lib/modern_treasury/models/payment_order_type.rbi +39 -33
  350. data/rbi/lib/modern_treasury/models/payment_order_update_params.rbi +1104 -632
  351. data/rbi/lib/modern_treasury/models/payment_orders/reversal.rbi +58 -91
  352. data/rbi/lib/modern_treasury/models/payment_orders/reversal_create_params.rbi +274 -172
  353. data/rbi/lib/modern_treasury/models/payment_orders/reversal_list_params.rbi +7 -14
  354. data/rbi/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rbi +4 -9
  355. data/rbi/lib/modern_treasury/models/payment_reference.rbi +298 -144
  356. data/rbi/lib/modern_treasury/models/payment_reference_list_params.rbi +49 -39
  357. data/rbi/lib/modern_treasury/models/payment_reference_retireve_params.rbi +5 -2
  358. data/rbi/lib/modern_treasury/models/payment_reference_retrieve_params.rbi +5 -2
  359. data/rbi/lib/modern_treasury/models/ping_response.rbi +3 -8
  360. data/rbi/lib/modern_treasury/models/reconciliation_rule.rbi +88 -110
  361. data/rbi/lib/modern_treasury/models/return_create_params.rbi +98 -107
  362. data/rbi/lib/modern_treasury/models/return_list_params.rbi +45 -45
  363. data/rbi/lib/modern_treasury/models/return_object.rbi +575 -393
  364. data/rbi/lib/modern_treasury/models/return_retrieve_params.rbi +5 -2
  365. data/rbi/lib/modern_treasury/models/routing_detail.rbi +140 -204
  366. data/rbi/lib/modern_treasury/models/routing_detail_create_params.rbi +159 -107
  367. data/rbi/lib/modern_treasury/models/routing_detail_delete_params.rbi +24 -26
  368. data/rbi/lib/modern_treasury/models/routing_detail_list_params.rbi +11 -23
  369. data/rbi/lib/modern_treasury/models/routing_detail_retrieve_params.rbi +14 -22
  370. data/rbi/lib/modern_treasury/models/routing_number_lookup_request.rbi +182 -122
  371. data/rbi/lib/modern_treasury/models/transaction.rbi +193 -287
  372. data/rbi/lib/modern_treasury/models/transaction_create_params.rbi +80 -100
  373. data/rbi/lib/modern_treasury/models/transaction_delete_params.rbi +5 -2
  374. data/rbi/lib/modern_treasury/models/transaction_direction.rbi +8 -5
  375. data/rbi/lib/modern_treasury/models/transaction_list_params.rbi +56 -74
  376. data/rbi/lib/modern_treasury/models/transaction_retrieve_params.rbi +5 -2
  377. data/rbi/lib/modern_treasury/models/transaction_update_params.rbi +8 -8
  378. data/rbi/lib/modern_treasury/models/transactions/line_item_create_params.rbi +10 -21
  379. data/rbi/lib/modern_treasury/models/transactions/line_item_delete_params.rbi +3 -2
  380. data/rbi/lib/modern_treasury/models/transactions/line_item_list_params.rbi +29 -45
  381. data/rbi/lib/modern_treasury/models/transactions/line_item_retrieve_params.rbi +3 -2
  382. data/rbi/lib/modern_treasury/models/transactions/transaction_line_item.rbi +104 -113
  383. data/rbi/lib/modern_treasury/models/validation_validate_routing_number_params.rbi +140 -42
  384. data/rbi/lib/modern_treasury/models/virtual_account.rbi +39 -106
  385. data/rbi/lib/modern_treasury/models/virtual_account_create_params.rbi +547 -247
  386. data/rbi/lib/modern_treasury/models/virtual_account_delete_params.rbi +5 -2
  387. data/rbi/lib/modern_treasury/models/virtual_account_list_params.rbi +19 -29
  388. data/rbi/lib/modern_treasury/models/virtual_account_retrieve_params.rbi +5 -2
  389. data/rbi/lib/modern_treasury/models/virtual_account_update_params.rbi +14 -30
  390. data/rbi/lib/modern_treasury/models/wealth_and_employment_details.rbi +288 -241
  391. data/rbi/lib/modern_treasury/page.rbi +6 -24
  392. data/rbi/lib/modern_treasury/pooled_net_requester.rbi +42 -39
  393. data/rbi/lib/modern_treasury/request_options.rbi +33 -54
  394. data/rbi/lib/modern_treasury/resources/account_collection_flows.rbi +32 -11
  395. data/rbi/lib/modern_treasury/resources/account_details.rbi +54 -15
  396. data/rbi/lib/modern_treasury/resources/bulk_requests.rbi +38 -12
  397. data/rbi/lib/modern_treasury/resources/bulk_results.rbi +22 -8
  398. data/rbi/lib/modern_treasury/resources/connection_legal_entities.rbi +37 -12
  399. data/rbi/lib/modern_treasury/resources/connections.rbi +13 -4
  400. data/rbi/lib/modern_treasury/resources/counterparties.rbi +78 -17
  401. data/rbi/lib/modern_treasury/resources/documents.rbi +28 -9
  402. data/rbi/lib/modern_treasury/resources/events.rbi +13 -5
  403. data/rbi/lib/modern_treasury/resources/expected_payments.rbi +113 -23
  404. data/rbi/lib/modern_treasury/resources/external_accounts.rbi +83 -26
  405. data/rbi/lib/modern_treasury/resources/foreign_exchange_quotes.rbi +32 -8
  406. data/rbi/lib/modern_treasury/resources/incoming_payment_details.rbi +53 -14
  407. data/rbi/lib/modern_treasury/resources/internal_accounts/balance_reports.rbi +40 -11
  408. data/rbi/lib/modern_treasury/resources/internal_accounts.rbi +47 -14
  409. data/rbi/lib/modern_treasury/resources/invoices/line_items.rbi +64 -10
  410. data/rbi/lib/modern_treasury/resources/invoices.rbi +173 -28
  411. data/rbi/lib/modern_treasury/resources/ledger_account_balance_monitors.rbi +54 -12
  412. data/rbi/lib/modern_treasury/resources/ledger_account_categories.rbi +101 -21
  413. data/rbi/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rbi +22 -6
  414. data/rbi/lib/modern_treasury/resources/ledger_account_settlements.rbi +59 -12
  415. data/rbi/lib/modern_treasury/resources/ledger_account_statements.rbi +20 -5
  416. data/rbi/lib/modern_treasury/resources/ledger_accounts.rbi +93 -17
  417. data/rbi/lib/modern_treasury/resources/ledger_entries.rbi +61 -10
  418. data/rbi/lib/modern_treasury/resources/ledger_event_handlers.rbi +41 -11
  419. data/rbi/lib/modern_treasury/resources/ledger_transactions/versions.rbi +13 -3
  420. data/rbi/lib/modern_treasury/resources/ledger_transactions.rbi +113 -23
  421. data/rbi/lib/modern_treasury/resources/ledgerable_events.rbi +23 -6
  422. data/rbi/lib/modern_treasury/resources/ledgers.rbi +60 -12
  423. data/rbi/lib/modern_treasury/resources/legal_entities.rbi +83 -24
  424. data/rbi/lib/modern_treasury/resources/legal_entity_associations.rbi +15 -5
  425. data/rbi/lib/modern_treasury/resources/line_items.rbi +43 -11
  426. data/rbi/lib/modern_treasury/resources/paper_items.rbi +15 -5
  427. data/rbi/lib/modern_treasury/resources/payment_flows.rbi +36 -10
  428. data/rbi/lib/modern_treasury/resources/payment_orders/reversals.rbi +43 -10
  429. data/rbi/lib/modern_treasury/resources/payment_orders.rbi +336 -50
  430. data/rbi/lib/modern_treasury/resources/payment_references.rbi +17 -16
  431. data/rbi/lib/modern_treasury/resources/returns.rbi +33 -9
  432. data/rbi/lib/modern_treasury/resources/routing_details.rbi +51 -15
  433. data/rbi/lib/modern_treasury/resources/transactions/line_items.rbi +31 -10
  434. data/rbi/lib/modern_treasury/resources/transactions.rbi +63 -13
  435. data/rbi/lib/modern_treasury/resources/validations.rbi +16 -5
  436. data/rbi/lib/modern_treasury/resources/virtual_accounts.rbi +47 -12
  437. data/rbi/lib/modern_treasury/util.rbi +238 -92
  438. data/rbi/lib/modern_treasury/version.rbi +1 -1
  439. data/sig/modern_treasury/base_client.rbs +31 -23
  440. data/sig/modern_treasury/base_model.rbs +36 -20
  441. data/sig/modern_treasury/base_page.rbs +1 -1
  442. data/sig/modern_treasury/client.rbs +12 -8
  443. data/sig/modern_treasury/errors.rbs +22 -21
  444. data/sig/modern_treasury/models/account_collection_flow.rbs +25 -24
  445. data/sig/modern_treasury/models/account_collection_flow_create_params.rbs +10 -13
  446. data/sig/modern_treasury/models/account_collection_flow_list_params.rbs +9 -14
  447. data/sig/modern_treasury/models/account_collection_flow_retrieve_params.rbs +1 -6
  448. data/sig/modern_treasury/models/account_collection_flow_update_params.rbs +8 -11
  449. data/sig/modern_treasury/models/account_detail.rbs +15 -18
  450. data/sig/modern_treasury/models/account_detail_create_params.rbs +14 -15
  451. data/sig/modern_treasury/models/account_detail_delete_params.rbs +9 -12
  452. data/sig/modern_treasury/models/account_detail_list_params.rbs +6 -11
  453. data/sig/modern_treasury/models/account_detail_retrieve_params.rbs +5 -10
  454. data/sig/modern_treasury/models/accounts_type.rbs +4 -2
  455. data/sig/modern_treasury/models/async_response.rbs +1 -6
  456. data/sig/modern_treasury/models/bank_settings.rbs +12 -17
  457. data/sig/modern_treasury/models/bulk_request.rbs +26 -24
  458. data/sig/modern_treasury/models/bulk_request_create_params.rbs +492 -578
  459. data/sig/modern_treasury/models/bulk_request_list_params.rbs +21 -20
  460. data/sig/modern_treasury/models/bulk_request_retrieve_params.rbs +1 -6
  461. data/sig/modern_treasury/models/bulk_result.rbs +43 -45
  462. data/sig/modern_treasury/models/bulk_result_list_params.rbs +22 -21
  463. data/sig/modern_treasury/models/bulk_result_retrieve_params.rbs +1 -6
  464. data/sig/modern_treasury/models/client_ping_params.rbs +1 -6
  465. data/sig/modern_treasury/models/connection.rbs +11 -15
  466. data/sig/modern_treasury/models/connection_legal_entity.rbs +16 -19
  467. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +138 -166
  468. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +12 -15
  469. data/sig/modern_treasury/models/connection_legal_entity_retrieve_params.rbs +1 -6
  470. data/sig/modern_treasury/models/connection_legal_entity_update_params.rbs +8 -11
  471. data/sig/modern_treasury/models/connection_list_params.rbs +7 -12
  472. data/sig/modern_treasury/models/counterparty.rbs +78 -87
  473. data/sig/modern_treasury/models/counterparty_collect_account_params.rbs +11 -14
  474. data/sig/modern_treasury/models/counterparty_collect_account_response.rbs +1 -6
  475. data/sig/modern_treasury/models/counterparty_create_params.rbs +232 -277
  476. data/sig/modern_treasury/models/counterparty_delete_params.rbs +1 -6
  477. data/sig/modern_treasury/models/counterparty_list_params.rbs +11 -16
  478. data/sig/modern_treasury/models/counterparty_retrieve_params.rbs +1 -6
  479. data/sig/modern_treasury/models/counterparty_update_params.rbs +9 -14
  480. data/sig/modern_treasury/models/currency.rbs +4 -2
  481. data/sig/modern_treasury/models/document.rbs +33 -41
  482. data/sig/modern_treasury/models/document_create_params.rbs +11 -14
  483. data/sig/modern_treasury/models/document_list_params.rbs +11 -14
  484. data/sig/modern_treasury/models/document_retrieve_params.rbs +1 -6
  485. data/sig/modern_treasury/models/event.rbs +12 -16
  486. data/sig/modern_treasury/models/event_list_params.rbs +10 -15
  487. data/sig/modern_treasury/models/event_retrieve_params.rbs +1 -6
  488. data/sig/modern_treasury/models/expected_payment.rbs +40 -39
  489. data/sig/modern_treasury/models/expected_payment_create_params.rbs +62 -76
  490. data/sig/modern_treasury/models/expected_payment_delete_params.rbs +1 -6
  491. data/sig/modern_treasury/models/expected_payment_list_params.rbs +21 -22
  492. data/sig/modern_treasury/models/expected_payment_retrieve_params.rbs +1 -6
  493. data/sig/modern_treasury/models/expected_payment_type.rbs +4 -2
  494. data/sig/modern_treasury/models/expected_payment_update_params.rbs +28 -29
  495. data/sig/modern_treasury/models/external_account.rbs +60 -67
  496. data/sig/modern_treasury/models/external_account_complete_verification_params.rbs +4 -9
  497. data/sig/modern_treasury/models/external_account_create_params.rbs +73 -91
  498. data/sig/modern_treasury/models/external_account_delete_params.rbs +1 -6
  499. data/sig/modern_treasury/models/external_account_list_params.rbs +8 -13
  500. data/sig/modern_treasury/models/external_account_retrieve_params.rbs +1 -6
  501. data/sig/modern_treasury/models/external_account_type.rbs +4 -2
  502. data/sig/modern_treasury/models/external_account_update_params.rbs +22 -30
  503. data/sig/modern_treasury/models/external_account_verify_params.rbs +20 -19
  504. data/sig/modern_treasury/models/external_account_verify_response.rbs +28 -25
  505. data/sig/modern_treasury/models/foreign_exchange_quote.rbs +23 -33
  506. data/sig/modern_treasury/models/foreign_exchange_quote_create_params.rbs +9 -14
  507. data/sig/modern_treasury/models/foreign_exchange_quote_list_params.rbs +12 -17
  508. data/sig/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbs +1 -6
  509. data/sig/modern_treasury/models/incoming_payment_detail.rbs +43 -40
  510. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +19 -20
  511. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +20 -21
  512. data/sig/modern_treasury/models/incoming_payment_detail_retrieve_params.rbs +1 -6
  513. data/sig/modern_treasury/models/incoming_payment_detail_update_params.rbs +4 -9
  514. data/sig/modern_treasury/models/internal_account.rbs +42 -48
  515. data/sig/modern_treasury/models/internal_account_create_params.rbs +24 -32
  516. data/sig/modern_treasury/models/internal_account_list_params.rbs +15 -18
  517. data/sig/modern_treasury/models/internal_account_retrieve_params.rbs +1 -6
  518. data/sig/modern_treasury/models/internal_account_update_params.rbs +8 -13
  519. data/sig/modern_treasury/models/internal_accounts/balance_report.rbs +39 -45
  520. data/sig/modern_treasury/models/internal_accounts/balance_report_create_params.rbs +21 -27
  521. data/sig/modern_treasury/models/internal_accounts/balance_report_delete_params.rbs +4 -9
  522. data/sig/modern_treasury/models/internal_accounts/balance_report_list_params.rbs +11 -14
  523. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +4 -9
  524. data/sig/modern_treasury/models/invoice.rbs +89 -105
  525. data/sig/modern_treasury/models/invoice_add_payment_order_params.rbs +4 -6
  526. data/sig/modern_treasury/models/invoice_create_params.rbs +79 -105
  527. data/sig/modern_treasury/models/invoice_list_params.rbs +18 -21
  528. data/sig/modern_treasury/models/invoice_retrieve_params.rbs +1 -6
  529. data/sig/modern_treasury/models/invoice_update_params.rbs +79 -105
  530. data/sig/modern_treasury/models/invoices/invoice_line_item.rbs +15 -21
  531. data/sig/modern_treasury/models/invoices/line_item_create_params.rbs +10 -15
  532. data/sig/modern_treasury/models/invoices/line_item_delete_params.rbs +4 -9
  533. data/sig/modern_treasury/models/invoices/line_item_list_params.rbs +5 -10
  534. data/sig/modern_treasury/models/invoices/line_item_retrieve_params.rbs +4 -9
  535. data/sig/modern_treasury/models/invoices/line_item_update_params.rbs +11 -16
  536. data/sig/modern_treasury/models/ledger.rbs +11 -15
  537. data/sig/modern_treasury/models/ledger_account.rbs +49 -72
  538. data/sig/modern_treasury/models/ledger_account_balance_monitor.rbs +49 -80
  539. data/sig/modern_treasury/models/ledger_account_balance_monitor_create_params.rbs +12 -18
  540. data/sig/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbs +1 -6
  541. data/sig/modern_treasury/models/ledger_account_balance_monitor_list_params.rbs +8 -13
  542. data/sig/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbs +1 -6
  543. data/sig/modern_treasury/models/ledger_account_balance_monitor_update_params.rbs +5 -10
  544. data/sig/modern_treasury/models/ledger_account_category.rbs +40 -65
  545. data/sig/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbs +4 -6
  546. data/sig/modern_treasury/models/ledger_account_category_add_nested_category_params.rbs +4 -6
  547. data/sig/modern_treasury/models/ledger_account_category_create_params.rbs +11 -16
  548. data/sig/modern_treasury/models/ledger_account_category_delete_params.rbs +1 -6
  549. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +14 -24
  550. data/sig/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbs +4 -6
  551. data/sig/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbs +4 -6
  552. data/sig/modern_treasury/models/ledger_account_category_retrieve_params.rbs +5 -15
  553. data/sig/modern_treasury/models/ledger_account_category_update_params.rbs +6 -11
  554. data/sig/modern_treasury/models/ledger_account_create_params.rbs +17 -20
  555. data/sig/modern_treasury/models/ledger_account_delete_params.rbs +1 -6
  556. data/sig/modern_treasury/models/ledger_account_list_params.rbs +47 -72
  557. data/sig/modern_treasury/models/ledger_account_retrieve_params.rbs +11 -21
  558. data/sig/modern_treasury/models/ledger_account_settlement.rbs +23 -26
  559. data/sig/modern_treasury/models/ledger_account_settlement_create_params.rbs +15 -18
  560. data/sig/modern_treasury/models/ledger_account_settlement_list_params.rbs +13 -18
  561. data/sig/modern_treasury/models/ledger_account_settlement_retrieve_params.rbs +1 -6
  562. data/sig/modern_treasury/models/ledger_account_settlement_update_params.rbs +10 -13
  563. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbs +4 -9
  564. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbs +4 -9
  565. data/sig/modern_treasury/models/ledger_account_statement_create_params.rbs +8 -13
  566. data/sig/modern_treasury/models/ledger_account_statement_create_response.rbs +69 -114
  567. data/sig/modern_treasury/models/ledger_account_statement_retrieve_params.rbs +1 -6
  568. data/sig/modern_treasury/models/ledger_account_statement_retrieve_response.rbs +69 -114
  569. data/sig/modern_treasury/models/ledger_account_update_params.rbs +6 -11
  570. data/sig/modern_treasury/models/ledger_create_params.rbs +6 -11
  571. data/sig/modern_treasury/models/ledger_delete_params.rbs +1 -6
  572. data/sig/modern_treasury/models/ledger_entry.rbs +48 -70
  573. data/sig/modern_treasury/models/ledger_entry_list_params.rbs +39 -43
  574. data/sig/modern_treasury/models/ledger_entry_retrieve_params.rbs +4 -9
  575. data/sig/modern_treasury/models/ledger_entry_update_params.rbs +4 -9
  576. data/sig/modern_treasury/models/ledger_event_handler.rbs +27 -47
  577. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +22 -42
  578. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +1 -6
  579. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +8 -13
  580. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +1 -6
  581. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +5 -15
  582. data/sig/modern_treasury/models/ledger_list_params.rbs +8 -13
  583. data/sig/modern_treasury/models/ledger_retrieve_params.rbs +1 -6
  584. data/sig/modern_treasury/models/ledger_transaction.rbs +29 -30
  585. data/sig/modern_treasury/models/ledger_transaction_create_params.rbs +31 -37
  586. data/sig/modern_treasury/models/ledger_transaction_create_partial_post_params.rbs +17 -25
  587. data/sig/modern_treasury/models/ledger_transaction_create_reversal_params.rbs +18 -19
  588. data/sig/modern_treasury/models/ledger_transaction_list_params.rbs +42 -44
  589. data/sig/modern_treasury/models/ledger_transaction_retrieve_params.rbs +1 -6
  590. data/sig/modern_treasury/models/ledger_transaction_update_params.rbs +29 -35
  591. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +76 -101
  592. data/sig/modern_treasury/models/ledger_transactions/version_list_params.rbs +9 -14
  593. data/sig/modern_treasury/models/ledger_update_params.rbs +6 -11
  594. data/sig/modern_treasury/models/ledgerable_event.rbs +12 -17
  595. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +7 -12
  596. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +1 -6
  597. data/sig/modern_treasury/models/legal_entity.rbs +78 -87
  598. data/sig/modern_treasury/models/legal_entity_association.rbs +94 -107
  599. data/sig/modern_treasury/models/legal_entity_association_create_params.rbs +73 -86
  600. data/sig/modern_treasury/models/legal_entity_create_params.rbs +133 -156
  601. data/sig/modern_treasury/models/legal_entity_list_params.rbs +12 -15
  602. data/sig/modern_treasury/models/legal_entity_retrieve_params.rbs +1 -6
  603. data/sig/modern_treasury/models/legal_entity_update_params.rbs +56 -68
  604. data/sig/modern_treasury/models/line_item.rbs +20 -27
  605. data/sig/modern_treasury/models/line_item_list_params.rbs +10 -13
  606. data/sig/modern_treasury/models/line_item_retrieve_params.rbs +9 -12
  607. data/sig/modern_treasury/models/line_item_update_params.rbs +10 -13
  608. data/sig/modern_treasury/models/paper_item.rbs +24 -26
  609. data/sig/modern_treasury/models/paper_item_list_params.rbs +8 -13
  610. data/sig/modern_treasury/models/paper_item_retrieve_params.rbs +1 -6
  611. data/sig/modern_treasury/models/payment_flow.rbs +37 -33
  612. data/sig/modern_treasury/models/payment_flow_create_params.rbs +13 -16
  613. data/sig/modern_treasury/models/payment_flow_list_params.rbs +11 -16
  614. data/sig/modern_treasury/models/payment_flow_retrieve_params.rbs +1 -6
  615. data/sig/modern_treasury/models/payment_flow_update_params.rbs +8 -11
  616. data/sig/modern_treasury/models/payment_order.rbs +107 -109
  617. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +166 -195
  618. data/sig/modern_treasury/models/payment_order_create_params.rbs +177 -209
  619. data/sig/modern_treasury/models/payment_order_list_params.rbs +32 -31
  620. data/sig/modern_treasury/models/payment_order_retrieve_params.rbs +1 -6
  621. data/sig/modern_treasury/models/payment_order_subtype.rbs +4 -2
  622. data/sig/modern_treasury/models/payment_order_type.rbs +4 -2
  623. data/sig/modern_treasury/models/payment_order_update_params.rbs +139 -160
  624. data/sig/modern_treasury/models/payment_orders/reversal.rbs +21 -22
  625. data/sig/modern_treasury/models/payment_orders/reversal_create_params.rbs +40 -49
  626. data/sig/modern_treasury/models/payment_orders/reversal_list_params.rbs +5 -10
  627. data/sig/modern_treasury/models/payment_orders/reversal_retrieve_params.rbs +4 -9
  628. data/sig/modern_treasury/models/payment_reference.rbs +19 -20
  629. data/sig/modern_treasury/models/payment_reference_list_params.rbs +12 -15
  630. data/sig/modern_treasury/models/payment_reference_retireve_params.rbs +1 -6
  631. data/sig/modern_treasury/models/payment_reference_retrieve_params.rbs +1 -6
  632. data/sig/modern_treasury/models/ping_response.rbs +1 -6
  633. data/sig/modern_treasury/models/reconciliation_rule.rbs +20 -21
  634. data/sig/modern_treasury/models/return_create_params.rbs +17 -18
  635. data/sig/modern_treasury/models/return_list_params.rbs +13 -16
  636. data/sig/modern_treasury/models/return_object.rbs +58 -56
  637. data/sig/modern_treasury/models/return_retrieve_params.rbs +1 -6
  638. data/sig/modern_treasury/models/routing_detail.rbs +34 -40
  639. data/sig/modern_treasury/models/routing_detail_create_params.rbs +19 -18
  640. data/sig/modern_treasury/models/routing_detail_delete_params.rbs +9 -12
  641. data/sig/modern_treasury/models/routing_detail_list_params.rbs +6 -11
  642. data/sig/modern_treasury/models/routing_detail_retrieve_params.rbs +5 -10
  643. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +24 -30
  644. data/sig/modern_treasury/models/transaction.rbs +46 -51
  645. data/sig/modern_treasury/models/transaction_create_params.rbs +17 -20
  646. data/sig/modern_treasury/models/transaction_delete_params.rbs +1 -6
  647. data/sig/modern_treasury/models/transaction_direction.rbs +4 -2
  648. data/sig/modern_treasury/models/transaction_list_params.rbs +17 -22
  649. data/sig/modern_treasury/models/transaction_retrieve_params.rbs +1 -6
  650. data/sig/modern_treasury/models/transaction_update_params.rbs +4 -9
  651. data/sig/modern_treasury/models/transactions/line_item_create_params.rbs +6 -11
  652. data/sig/modern_treasury/models/transactions/line_item_delete_params.rbs +1 -6
  653. data/sig/modern_treasury/models/transactions/line_item_list_params.rbs +12 -15
  654. data/sig/modern_treasury/models/transactions/line_item_retrieve_params.rbs +1 -6
  655. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +25 -27
  656. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +9 -12
  657. data/sig/modern_treasury/models/virtual_account.rbs +18 -23
  658. data/sig/modern_treasury/models/virtual_account_create_params.rbs +50 -62
  659. data/sig/modern_treasury/models/virtual_account_delete_params.rbs +1 -6
  660. data/sig/modern_treasury/models/virtual_account_list_params.rbs +8 -13
  661. data/sig/modern_treasury/models/virtual_account_retrieve_params.rbs +1 -6
  662. data/sig/modern_treasury/models/virtual_account_update_params.rbs +7 -12
  663. data/sig/modern_treasury/models/wealth_and_employment_details.rbs +44 -37
  664. data/sig/modern_treasury/page.rbs +2 -7
  665. data/sig/modern_treasury/pooled_net_requester.rbs +11 -16
  666. data/sig/modern_treasury/request_options.rbs +6 -2
  667. data/sig/modern_treasury/resources/account_collection_flows.rbs +24 -46
  668. data/sig/modern_treasury/resources/account_details.rbs +26 -50
  669. data/sig/modern_treasury/resources/bulk_requests.rbs +20 -36
  670. data/sig/modern_treasury/resources/bulk_results.rbs +14 -25
  671. data/sig/modern_treasury/resources/connection_legal_entities.rbs +23 -45
  672. data/sig/modern_treasury/resources/connections.rbs +7 -12
  673. data/sig/modern_treasury/resources/counterparties.rbs +51 -82
  674. data/sig/modern_treasury/resources/documents.rbs +18 -34
  675. data/sig/modern_treasury/resources/events.rbs +14 -24
  676. data/sig/modern_treasury/resources/expected_payments.rbs +64 -92
  677. data/sig/modern_treasury/resources/external_accounts.rbs +57 -94
  678. data/sig/modern_treasury/resources/foreign_exchange_quotes.rbs +25 -41
  679. data/sig/modern_treasury/resources/incoming_payment_details.rbs +32 -54
  680. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +26 -50
  681. data/sig/modern_treasury/resources/internal_accounts.rbs +36 -58
  682. data/sig/modern_treasury/resources/invoices/line_items.rbs +39 -69
  683. data/sig/modern_treasury/resources/invoices.rbs +80 -108
  684. data/sig/modern_treasury/resources/ledger_account_balance_monitors.rbs +29 -57
  685. data/sig/modern_treasury/resources/ledger_account_categories.rbs +60 -112
  686. data/sig/modern_treasury/resources/ledger_account_settlements/account_entries.rbs +10 -22
  687. data/sig/modern_treasury/resources/ledger_account_settlements.rbs +35 -57
  688. data/sig/modern_treasury/resources/ledger_account_statements.rbs +12 -23
  689. data/sig/modern_treasury/resources/ledger_accounts.rbs +46 -74
  690. data/sig/modern_treasury/resources/ledger_entries.rbs +33 -50
  691. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +26 -48
  692. data/sig/modern_treasury/resources/ledger_transactions/versions.rbs +9 -14
  693. data/sig/modern_treasury/resources/ledger_transactions.rbs +68 -102
  694. data/sig/modern_treasury/resources/ledgerable_events.rbs +11 -22
  695. data/sig/modern_treasury/resources/ledgers.rbs +29 -56
  696. data/sig/modern_treasury/resources/legal_entities.rbs +65 -87
  697. data/sig/modern_treasury/resources/legal_entity_associations.rbs +9 -14
  698. data/sig/modern_treasury/resources/line_items.rbs +20 -38
  699. data/sig/modern_treasury/resources/paper_items.rbs +12 -23
  700. data/sig/modern_treasury/resources/payment_flows.rbs +29 -51
  701. data/sig/modern_treasury/resources/payment_orders/reversals.rbs +18 -36
  702. data/sig/modern_treasury/resources/payment_orders.rbs +139 -166
  703. data/sig/modern_treasury/resources/payment_references.rbs +13 -33
  704. data/sig/modern_treasury/resources/returns.rbs +22 -37
  705. data/sig/modern_treasury/resources/routing_details.rbs +27 -51
  706. data/sig/modern_treasury/resources/transactions/line_items.rbs +22 -41
  707. data/sig/modern_treasury/resources/transactions.rbs +43 -68
  708. data/sig/modern_treasury/resources/validations.rbs +5 -10
  709. data/sig/modern_treasury/resources/virtual_accounts.rbs +37 -65
  710. data/sig/modern_treasury/util.rbs +71 -26
  711. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 532a13898e83bd67cf04e925798b3650896608d5ff442dfa914de2863283f185
4
- data.tar.gz: 1339f144efd62f1d6a8bf6d18872dece722854dae0e620133c47d62841ecac7a
3
+ metadata.gz: 982153c7e4a473fd98806a6a918c95e9d2c4089a8a078c3d0e9741cb6882cd3e
4
+ data.tar.gz: d76a8e63ff7c9359878ceef73ab83a5e709e606ac2a2a106d881130f426106bc
5
5
  SHA512:
6
- metadata.gz: 7df9bb854141f00220a0e6520e7721593e14fc1d2e37053f145582e438beeb4d944f993fe3e7fc46fe78bc6ca9990db83fd6287fea746d5e949241f4545f5728
7
- data.tar.gz: 7ba3abad5876a55d1b58c949ccaf88c0d9d0d4b5928d39e4d33f97c5e578f4b8d8317d5767490749855f1ae7856786834ad474b377853f850afb7a90929b82d2
6
+ metadata.gz: bdc2dcda7b64d7749815a72511cc0d3221d382c25358486ee2aa046c9df2f2ace210892069a298036f52391eae6392c4a626d22fae377e5d1f826a13925328d8
7
+ data.tar.gz: c012c05a94e1c98227696be30cc8b0bbbe40c4c7da42045ace1f0d8f0fed2d03c13140b426f91d7db5f4e0709a6c477997fff31573a122516f5cd8cd73b20c82
data/README.md CHANGED
@@ -1,18 +1,16 @@
1
1
  # Modern Treasury Ruby API library
2
2
 
3
- The Modern Treasury Ruby library provides convenient access to the Modern Treasury REST API from any Ruby 3.0.0+
4
- application.
3
+ The Modern Treasury Ruby library provides convenient access to the Modern Treasury REST API from any Ruby 3.0.0+ application.
5
4
 
6
5
  ## Documentation
7
6
 
8
- Documentation for the most recent release of this gem can be found [on RubyDoc](https://gemdocs.org/gems/modern_treasury/latest).
7
+ Documentation for released of this gem can be found [on RubyDoc](https://gemdocs.org/gems/modern_treasury).
9
8
 
10
9
  The underlying REST API documentation can be found on [docs.moderntreasury.com](https://docs.moderntreasury.com).
11
10
 
12
11
  ## Installation
13
12
 
14
- To use this gem during the beta, install directly from GitHub with Bundler by
15
- adding the following to your application's `Gemfile`:
13
+ To use this gem during the beta, install directly from GitHub with Bundler by adding the following to your application's `Gemfile`:
16
14
 
17
15
  ```ruby
18
16
  gem "modern_treasury", git: "https://github.com/Modern-Treasury/modern-treasury-ruby", branch: "main"
@@ -24,8 +22,7 @@ To fetch an initial copy of the gem:
24
22
  bundle install
25
23
  ```
26
24
 
27
- To update the version used by your application when updates are pushed to
28
- GitHub:
25
+ To update the version used by your application when updates are pushed to GitHub:
29
26
 
30
27
  ```sh
31
28
  bundle update modern_treasury
@@ -47,11 +44,28 @@ counterparty = modern_treasury.counterparties.create(name: "my first counterpart
47
44
  puts(counterparty.id)
48
45
  ```
49
46
 
47
+ ### Pagination
48
+
49
+ List methods in the Modern Treasury API are paginated.
50
+
51
+ This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
52
+
53
+ ```ruby
54
+ page = modern_treasury.counterparties.list
55
+
56
+ # Fetch single item from page.
57
+ counterparty = page.items[0]
58
+ puts(counterparty.id)
59
+
60
+ # Automatically fetches more pages as needed.
61
+ page.auto_paging_each do |counterparty|
62
+ puts(counterparty.id)
63
+ end
64
+ ```
65
+
50
66
  ### Errors
51
67
 
52
- When the library is unable to connect to the API, or if the API returns a
53
- non-success status code (i.e., 4xx or 5xx response), a subclass of
54
- `ModernTreasury::Error` will be thrown:
68
+ When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `ModernTreasury::Error` will be thrown:
55
69
 
56
70
  ```ruby
57
71
  begin
@@ -79,10 +93,9 @@ Error codes are as followed:
79
93
 
80
94
  ### Retries
81
95
 
82
- Certain errors will be automatically retried 2 times by default, with a short
83
- exponential backoff. Connection errors (for example, due to a network
84
- connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors,
85
- and timeouts will all be retried by default.
96
+ Certain errors will be automatically retried 2 times by default, with a short exponential backoff.
97
+
98
+ Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors, and timeouts will all be retried by default.
86
99
 
87
100
  You can use the `max_retries` option to configure or disable this:
88
101
 
@@ -99,8 +112,8 @@ modern_treasury.counterparties.create(name: "my first counterparty", request_opt
99
112
  ### Timeouts
100
113
 
101
114
  By default, requests will time out after 60 seconds.
102
- Timeouts are applied separately to the initial connection and the overall request time,
103
- so in some cases a request could wait 2\*timeout seconds before it fails.
115
+
116
+ Timeouts are applied separately to the initial connection and the overall request time, so in some cases a request could wait 2\*timeout seconds before it fails.
104
117
 
105
118
  You can use the `timeout` option to configure or disable this:
106
119
 
@@ -114,12 +127,42 @@ modern_treasury = ModernTreasury::Client.new(
114
127
  modern_treasury.counterparties.create(name: "my first counterparty", request_options: {timeout: 5})
115
128
  ```
116
129
 
130
+ ## Sorbet Support
131
+
132
+ **This library emits an intentional warning under the [`tapioca` toolchain](https://github.com/Shopify/tapioca)**. This is normal, and does not impact functionality.
133
+
134
+ This library is written with [Sorbet type definitions](https://sorbet.org/docs/rbi). However, there is no runtime dependency on the `sorbet-runtime`.
135
+
136
+ What this means is that while you can use Sorbet to type check your code statically, and benefit from the [Sorbet Language Server](https://sorbet.org/docs/lsp) in your editor, there is no runtime type checking and execution overhead from Sorbet itself.
137
+
138
+ Due to limitations with the Sorbet type system, where a method otherwise can take an instance of `ModernTreasury::BaseModel` class, you will need to use the `**` splat operator to pass the arguments:
139
+
140
+ Please follow Sorbet's [setup guides](https://sorbet.org/docs/adopting) for best experience.
141
+
142
+ ```ruby
143
+ model = CounterpartyCreateParams.new(name: "my first counterparty")
144
+
145
+ modern_treasury.counterparties.create(**model)
146
+ ```
147
+
148
+ ## Advanced
149
+
150
+ ### Concurrency & Connection Pooling
151
+
152
+ The `ModernTreasury::Client` instances are thread-safe, and should be re-used across multiple threads. By default, each `Client` have their own HTTP connection pool, with a maximum number of connections equal to thread count.
153
+
154
+ When the maximum number of connections has been checked out from the connection pool, the `Client` will wait for an in use connection to become available. The queue time for this mechanism is accounted for by the per-request timeout.
155
+
156
+ Unless otherwise specified, other classes in the SDK do not have locks protecting their underlying data structure.
157
+
158
+ Currently, `ModernTreasury::Client` instances are only fork-safe if there are no in-flight HTTP requests.
159
+
117
160
  ## Versioning
118
161
 
119
- This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the
120
- library is in initial development and has a major version of `0`, APIs may change
121
- at any time.
162
+ This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
163
+
164
+ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` type definitions to be non-breaking changes.
122
165
 
123
166
  ## Requirements
124
167
 
125
- Ruby 3.0 or higher.
168
+ Ruby 3.0.0 or higher.
@@ -1,23 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- # @private
4
+ # @api private
5
5
  #
6
6
  # @abstract
7
- #
8
7
  class BaseClient
9
8
  # from whatwg fetch spec
10
9
  MAX_REDIRECTS = 20
11
10
 
11
+ # rubocop:disable Style/MutableConstant
12
+ PLATFORM_HEADERS =
13
+ {
14
+ "x-stainless-arch" => ModernTreasury::Util.arch,
15
+ "x-stainless-lang" => "ruby",
16
+ "x-stainless-os" => ModernTreasury::Util.os,
17
+ "x-stainless-package-version" => ModernTreasury::VERSION,
18
+ "x-stainless-runtime" => ::RUBY_ENGINE,
19
+ "x-stainless-runtime-version" => ::RUBY_ENGINE_VERSION
20
+ }
21
+ # rubocop:enable Style/MutableConstant
22
+
12
23
  class << self
13
- # @private
24
+ # @api private
14
25
  #
15
26
  # @param req [Hash{Symbol=>Object}]
16
27
  #
17
28
  # @raise [ArgumentError]
18
- #
19
29
  def validate!(req)
20
- keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :model, :options]
30
+ keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :stream, :model, :options]
21
31
  case req
22
32
  in Hash
23
33
  req.each_key do |k|
@@ -30,13 +40,12 @@ module ModernTreasury
30
40
  end
31
41
  end
32
42
 
33
- # @private
43
+ # @api private
34
44
  #
35
45
  # @param status [Integer]
36
46
  # @param headers [Hash{String=>String}, Net::HTTPHeader]
37
47
  #
38
48
  # @return [Boolean]
39
- #
40
49
  def should_retry?(status, headers:)
41
50
  coerced = ModernTreasury::Util.coerce_boolean(headers["x-should-retry"])
42
51
  case [coerced, status]
@@ -54,7 +63,7 @@ module ModernTreasury
54
63
  end
55
64
  end
56
65
 
57
- # @private
66
+ # @api private
58
67
  #
59
68
  # @param request [Hash{Symbol=>Object}] .
60
69
  #
@@ -66,8 +75,6 @@ module ModernTreasury
66
75
  #
67
76
  # @option request [Object] :body
68
77
  #
69
- # @option request [Boolean] :streaming
70
- #
71
78
  # @option request [Integer] :max_retries
72
79
  #
73
80
  # @option request [Float] :timeout
@@ -77,19 +84,16 @@ module ModernTreasury
77
84
  # @param response_headers [Hash{String=>String}, Net::HTTPHeader]
78
85
  #
79
86
  # @return [Hash{Symbol=>Object}]
80
- #
81
87
  def follow_redirect(request, status:, response_headers:)
82
88
  method, url, headers = request.fetch_values(:method, :url, :headers)
83
89
  location =
84
- ModernTreasury::Util.suppress(ArgumentError) do
90
+ Kernel.then do
85
91
  URI.join(url, response_headers["location"])
92
+ rescue ArgumentError
93
+ message = "Server responded with status #{status} but no valid location header."
94
+ raise ModernTreasury::APIConnectionError.new(url: url, message: message)
86
95
  end
87
96
 
88
- unless location
89
- message = "Server responded with status #{status} but no valid location header."
90
- raise ModernTreasury::APIConnectionError.new(url: url, message: message)
91
- end
92
-
93
97
  request = {**request, url: location}
94
98
 
95
99
  case [url.scheme, location.scheme]
@@ -121,23 +125,35 @@ module ModernTreasury
121
125
 
122
126
  request
123
127
  end
128
+
129
+ # @api private
130
+ #
131
+ # @param status [Integer, ModernTreasury::APIConnectionError]
132
+ # @param stream [Enumerable, nil]
133
+ def reap_connection!(status, stream:)
134
+ case status
135
+ in (..199) | (300..499)
136
+ stream&.each { next }
137
+ in ModernTreasury::APIConnectionError | (500..)
138
+ ModernTreasury::Util.close_fused!(stream)
139
+ else
140
+ end
141
+ end
124
142
  end
125
143
 
126
- # @private
127
- #
144
+ # @api private
128
145
  # @return [ModernTreasury::PooledNetRequester]
129
146
  attr_accessor :requester
130
147
 
131
- # @private
148
+ # @api private
132
149
  #
133
150
  # @param base_url [String]
134
151
  # @param timeout [Float]
135
152
  # @param max_retries [Integer]
136
153
  # @param initial_retry_delay [Float]
137
154
  # @param max_retry_delay [Float]
138
- # @param headers [Hash{String=>String, nil}]
155
+ # @param headers [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}]
139
156
  # @param idempotency_header [String, nil]
140
- #
141
157
  def initialize(
142
158
  base_url:,
143
159
  timeout: 0.0,
@@ -149,13 +165,10 @@ module ModernTreasury
149
165
  )
150
166
  @requester = ModernTreasury::PooledNetRequester.new
151
167
  @headers = ModernTreasury::Util.normalized_headers(
168
+ self.class::PLATFORM_HEADERS,
152
169
  {
153
- "X-Stainless-Lang" => "ruby",
154
- "X-Stainless-Package-Version" => ModernTreasury::VERSION,
155
- "X-Stainless-Runtime" => RUBY_ENGINE,
156
- "X-Stainless-Runtime-Version" => RUBY_ENGINE_VERSION,
157
- "Content-Type" => "application/json",
158
- "Accept" => "application/json"
170
+ "accept" => "application/json",
171
+ "content-type" => "application/json"
159
172
  },
160
173
  headers
161
174
  )
@@ -167,19 +180,17 @@ module ModernTreasury
167
180
  @max_retry_delay = max_retry_delay
168
181
  end
169
182
 
170
- # @private
183
+ # @api private
171
184
  #
172
185
  # @return [Hash{String=>String}]
173
- #
174
186
  private def auth_headers = {}
175
187
 
176
- # @private
188
+ # @api private
177
189
  #
178
190
  # @return [String]
179
- #
180
191
  private def generate_idempotency_key = "stainless-ruby-retry-#{SecureRandom.uuid}"
181
192
 
182
- # @private
193
+ # @api private
183
194
  #
184
195
  # @param req [Hash{Symbol=>Object}] .
185
196
  #
@@ -189,7 +200,7 @@ module ModernTreasury
189
200
  #
190
201
  # @option req [Hash{String=>Array<String>, String, nil}, nil] :query
191
202
  #
192
- # @option req [Hash{String=>String, nil}, nil] :headers
203
+ # @option req [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}, nil] :headers
193
204
  #
194
205
  # @option req [Object, nil] :body
195
206
  #
@@ -197,6 +208,8 @@ module ModernTreasury
197
208
  #
198
209
  # @option req [Class, nil] :page
199
210
  #
211
+ # @option req [Class, nil] :stream
212
+ #
200
213
  # @option req [ModernTreasury::Converter, Class, nil] :model
201
214
  #
202
215
  # @param opts [Hash{Symbol=>Object}] .
@@ -207,23 +220,19 @@ module ModernTreasury
207
220
  #
208
221
  # @option opts [Hash{String=>String, nil}, nil] :extra_headers
209
222
  #
210
- # @option opts [Hash{Symbol=>Object}, nil] :extra_body
223
+ # @option opts [Object, nil] :extra_body
211
224
  #
212
225
  # @option opts [Integer, nil] :max_retries
213
226
  #
214
227
  # @option opts [Float, nil] :timeout
215
228
  #
216
229
  # @return [Hash{Symbol=>Object}]
217
- #
218
230
  private def build_request(req, opts)
219
231
  method, uninterpolated_path = req.fetch_values(:method, :path)
220
232
 
221
233
  path = ModernTreasury::Util.interpolate_path(uninterpolated_path)
222
234
 
223
- query = ModernTreasury::Util.deep_merge(
224
- req[:query].to_h,
225
- opts[:extra_query].to_h
226
- )
235
+ query = ModernTreasury::Util.deep_merge(req[:query].to_h, opts[:extra_query].to_h)
227
236
 
228
237
  headers = ModernTreasury::Util.normalized_headers(
229
238
  @headers,
@@ -243,8 +252,8 @@ module ModernTreasury
243
252
  end
244
253
 
245
254
  timeout = opts.fetch(:timeout, @timeout).to_f.clamp((0..))
246
- unless headers.key?("x-stainless-read-timeout") || timeout.zero?
247
- headers["x-stainless-read-timeout"] = timeout.to_s
255
+ unless headers.key?("x-stainless-timeout") || timeout.zero?
256
+ headers["x-stainless-timeout"] = timeout.to_s
248
257
  end
249
258
 
250
259
  headers.reject! { |_, v| v.to_s.empty? }
@@ -263,19 +272,17 @@ module ModernTreasury
263
272
  url: ModernTreasury::Util.join_parsed_uri(@base_url, {**req, path: path, query: query}),
264
273
  headers: headers,
265
274
  body: encoded,
266
- streaming: false,
267
275
  max_retries: opts.fetch(:max_retries, @max_retries),
268
276
  timeout: timeout
269
277
  }
270
278
  end
271
279
 
272
- # @private
280
+ # @api private
273
281
  #
274
282
  # @param headers [Hash{String=>String}]
275
283
  # @param retry_count [Integer]
276
284
  #
277
285
  # @return [Float]
278
- #
279
286
  private def retry_delay(headers, retry_count:)
280
287
  # Non-standard extension
281
288
  span = Float(headers["retry-after-ms"], exception: false)&.then { _1 / 1000 }
@@ -284,8 +291,10 @@ module ModernTreasury
284
291
  retry_header = headers["retry-after"]
285
292
  return span if (span = Float(retry_header, exception: false))
286
293
 
287
- span = retry_header && ModernTreasury::Util.suppress(ArgumentError) do
288
- Time.httpdate(retry_header) - Time.now
294
+ span = retry_header&.then do
295
+ Time.httpdate(_1) - Time.now
296
+ rescue ArgumentError
297
+ nil
289
298
  end
290
299
  return span if span
291
300
 
@@ -294,7 +303,7 @@ module ModernTreasury
294
303
  (@initial_retry_delay * scale * jitter).clamp(0, @max_retry_delay)
295
304
  end
296
305
 
297
- # @private
306
+ # @api private
298
307
  #
299
308
  # @param request [Hash{Symbol=>Object}] .
300
309
  #
@@ -306,8 +315,6 @@ module ModernTreasury
306
315
  #
307
316
  # @option request [Object] :body
308
317
  #
309
- # @option request [Boolean] :streaming
310
- #
311
318
  # @option request [Integer] :max_retries
312
319
  #
313
320
  # @option request [Float] :timeout
@@ -319,8 +326,7 @@ module ModernTreasury
319
326
  # @param send_retry_header [Boolean]
320
327
  #
321
328
  # @raise [ModernTreasury::APIError]
322
- # @return [Array(Net::HTTPResponse, Enumerable)]
323
- #
329
+ # @return [Array(Integer, Net::HTTPResponse, Enumerable)]
324
330
  private def send_request(request, redirect_count:, retry_count:, send_retry_header:)
325
331
  url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout)
326
332
  input = {**request.except(:timeout), deadline: ModernTreasury::Util.monotonic_secs + timeout}
@@ -330,19 +336,22 @@ module ModernTreasury
330
336
  end
331
337
 
332
338
  begin
333
- response, stream = @requester.execute(input)
334
- status = Integer(response.code)
339
+ status, response, stream = @requester.execute(input)
335
340
  rescue ModernTreasury::APIConnectionError => e
336
341
  status = e
337
342
  end
338
343
 
339
344
  case status
340
345
  in ..299
341
- [response, stream]
342
- in 300..399 if redirect_count >= MAX_REDIRECTS
343
- message = "Failed to complete the request within #{MAX_REDIRECTS} redirects."
346
+ [status, response, stream]
347
+ in 300..399 if redirect_count >= self.class::MAX_REDIRECTS
348
+ self.class.reap_connection!(status, stream: stream)
349
+
350
+ message = "Failed to complete the request within #{self.class::MAX_REDIRECTS} redirects."
344
351
  raise ModernTreasury::APIConnectionError.new(url: url, message: message)
345
352
  in 300..399
353
+ self.class.reap_connection!(status, stream: stream)
354
+
346
355
  request = self.class.follow_redirect(request, status: status, response_headers: response)
347
356
  send_request(
348
357
  request,
@@ -352,11 +361,12 @@ module ModernTreasury
352
361
  )
353
362
  in ModernTreasury::APIConnectionError if retry_count >= max_retries
354
363
  raise status
355
- in (400..) if retry_count >= max_retries || (response && !self.class.should_retry?(
356
- status,
357
- headers: response
358
- ))
359
- decoded = ModernTreasury::Util.decode_content(response, stream: stream, suppress_error: true)
364
+ in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response)
365
+ decoded = Kernel.then do
366
+ ModernTreasury::Util.decode_content(response, stream: stream, suppress_error: true)
367
+ ensure
368
+ self.class.reap_connection!(status, stream: stream)
369
+ end
360
370
 
361
371
  raise ModernTreasury::APIStatusError.for(
362
372
  url: url,
@@ -366,6 +376,8 @@ module ModernTreasury
366
376
  response: response
367
377
  )
368
378
  in (400..) | ModernTreasury::APIConnectionError
379
+ self.class.reap_connection!(status, stream: stream)
380
+
369
381
  delay = retry_delay(response, retry_count: retry_count)
370
382
  sleep(delay)
371
383
 
@@ -376,50 +388,6 @@ module ModernTreasury
376
388
  send_retry_header: send_retry_header
377
389
  )
378
390
  end
379
- ensure
380
- stream&.each { break } unless status.is_a?(Integer) && status < 300
381
- end
382
-
383
- # @private
384
- #
385
- # @param req [Hash{Symbol=>Object}] .
386
- #
387
- # @option req [Symbol] :method
388
- #
389
- # @option req [String, Array<String>] :path
390
- #
391
- # @option req [Hash{String=>Array<String>, String, nil}, nil] :query
392
- #
393
- # @option req [Hash{String=>String, nil}, nil] :headers
394
- #
395
- # @option req [Object, nil] :body
396
- #
397
- # @option req [Symbol, nil] :unwrap
398
- #
399
- # @option req [Class, nil] :page
400
- #
401
- # @option req [ModernTreasury::Converter, Class, nil] :model
402
- #
403
- # @option req [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil] :options
404
- #
405
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
406
- #
407
- # @param stream [Enumerable]
408
- #
409
- # @return [Object]
410
- #
411
- private def parse_response(req, headers:, stream:)
412
- decoded = ModernTreasury::Util.decode_content(headers, stream: stream)
413
- unwrapped = ModernTreasury::Util.dig(decoded, req[:unwrap])
414
-
415
- case [req[:page], req.fetch(:model, ModernTreasury::Unknown)]
416
- in [Class => page, _]
417
- page.new(client: self, req: req, headers: headers, unwrapped: unwrapped)
418
- in [nil, Class | ModernTreasury::Converter => model]
419
- ModernTreasury::Converter.coerce(model, unwrapped)
420
- in [nil, nil]
421
- unwrapped
422
- end
423
391
  end
424
392
 
425
393
  # Execute the request specified by `req`. This is the method that all resource
@@ -433,7 +401,7 @@ module ModernTreasury
433
401
  #
434
402
  # @option req [Hash{String=>Array<String>, String, nil}, nil] :query
435
403
  #
436
- # @option req [Hash{String=>String, nil}, nil] :headers
404
+ # @option req [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}, nil] :headers
437
405
  #
438
406
  # @option req [Object, nil] :body
439
407
  #
@@ -441,35 +409,49 @@ module ModernTreasury
441
409
  #
442
410
  # @option req [Class, nil] :page
443
411
  #
412
+ # @option req [Class, nil] :stream
413
+ #
444
414
  # @option req [ModernTreasury::Converter, Class, nil] :model
445
415
  #
446
416
  # @option req [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil] :options
447
417
  #
448
418
  # @raise [ModernTreasury::APIError]
449
419
  # @return [Object]
450
- #
451
420
  def request(req)
452
421
  self.class.validate!(req)
422
+ model = req.fetch(:model) { ModernTreasury::Unknown }
453
423
  opts = req[:options].to_h
454
424
  ModernTreasury::RequestOptions.validate!(opts)
455
425
  request = build_request(req.except(:options), opts)
426
+ url = request.fetch(:url)
456
427
 
457
428
  # Don't send the current retry count in the headers if the caller modified the header defaults.
458
429
  send_retry_header = request.fetch(:headers)["x-stainless-retry-count"] == "0"
459
- response, stream = send_request(
430
+ status, response, stream = send_request(
460
431
  request,
461
432
  redirect_count: 0,
462
433
  retry_count: 0,
463
434
  send_retry_header: send_retry_header
464
435
  )
465
- parse_response(req, headers: response, stream: stream)
436
+
437
+ decoded = ModernTreasury::Util.decode_content(response, stream: stream)
438
+ case req
439
+ in { stream: Class => st }
440
+ st.new(model: model, url: url, status: status, response: response, stream: decoded)
441
+ in { page: Class => page }
442
+ page.new(client: self, req: req, headers: response, page_data: decoded)
443
+ else
444
+ unwrapped = ModernTreasury::Util.dig(decoded, req[:unwrap])
445
+ ModernTreasury::Converter.coerce(model, unwrapped)
446
+ end
466
447
  end
467
448
 
468
449
  # @return [String]
469
- #
470
450
  def inspect
451
+ # rubocop:disable Layout/LineLength
471
452
  base_url = ModernTreasury::Util.unparse_uri(@base_url)
472
453
  "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>"
454
+ # rubocop:enable Layout/LineLength
473
455
  end
474
456
  end
475
457
  end