lithic 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -9
  3. data/lib/lithic/client.rb +1 -1
  4. data/lib/lithic/cursor_page.rb +3 -3
  5. data/lib/lithic/models/account_holder_create_params.rb +1 -1
  6. data/lib/lithic/models/account_holder_list_documents_params.rb +1 -1
  7. data/lib/lithic/models/account_holder_list_params.rb +1 -1
  8. data/lib/lithic/models/account_holder_retrieve_document_params.rb +1 -1
  9. data/lib/lithic/models/account_holder_retrieve_params.rb +1 -1
  10. data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +1 -1
  11. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -1
  12. data/lib/lithic/models/account_holder_update_params.rb +1 -1
  13. data/lib/lithic/models/account_holder_upload_document_params.rb +1 -1
  14. data/lib/lithic/models/account_list_params.rb +1 -1
  15. data/lib/lithic/models/account_retrieve_params.rb +1 -1
  16. data/lib/lithic/models/account_retrieve_spend_limits_params.rb +1 -1
  17. data/lib/lithic/models/account_update_params.rb +1 -1
  18. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -1
  19. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +3 -3
  20. data/lib/lithic/models/auth_rules/v2/backtest_create_params.rb +1 -1
  21. data/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rb +1 -1
  22. data/lib/lithic/models/auth_rules/v2_apply_params.rb +1 -1
  23. data/lib/lithic/models/auth_rules/v2_create_params.rb +1 -1
  24. data/lib/lithic/models/auth_rules/v2_delete_params.rb +1 -1
  25. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -1
  26. data/lib/lithic/models/auth_rules/v2_list_params.rb +1 -1
  27. data/lib/lithic/models/auth_rules/v2_promote_params.rb +1 -1
  28. data/lib/lithic/models/auth_rules/v2_report_params.rb +1 -1
  29. data/lib/lithic/models/auth_rules/v2_retrieve_params.rb +1 -1
  30. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -1
  31. data/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rb +1 -1
  32. data/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rb +1 -1
  33. data/lib/lithic/models/balance_list_params.rb +1 -1
  34. data/lib/lithic/models/book_transfer_create_params.rb +1 -1
  35. data/lib/lithic/models/book_transfer_list_params.rb +1 -1
  36. data/lib/lithic/models/book_transfer_retrieve_params.rb +1 -1
  37. data/lib/lithic/models/book_transfer_reverse_params.rb +1 -1
  38. data/lib/lithic/models/card_convert_physical_params.rb +1 -1
  39. data/lib/lithic/models/card_create_params.rb +1 -1
  40. data/lib/lithic/models/card_embed_params.rb +1 -1
  41. data/lib/lithic/models/card_list_params.rb +1 -1
  42. data/lib/lithic/models/card_program_list_params.rb +1 -1
  43. data/lib/lithic/models/card_program_retrieve_params.rb +1 -1
  44. data/lib/lithic/models/card_provision_params.rb +1 -1
  45. data/lib/lithic/models/card_reissue_params.rb +1 -1
  46. data/lib/lithic/models/card_renew_params.rb +1 -1
  47. data/lib/lithic/models/card_retrieve_params.rb +1 -1
  48. data/lib/lithic/models/card_retrieve_spend_limits_params.rb +1 -1
  49. data/lib/lithic/models/card_search_by_pan_params.rb +1 -1
  50. data/lib/lithic/models/card_update_params.rb +1 -1
  51. data/lib/lithic/models/cards/aggregate_balance_list_params.rb +1 -1
  52. data/lib/lithic/models/cards/balance_list_params.rb +1 -1
  53. data/lib/lithic/models/cards/financial_transaction_list_params.rb +1 -1
  54. data/lib/lithic/models/cards/financial_transaction_retrieve_params.rb +1 -1
  55. data/lib/lithic/models/client_api_status_params.rb +1 -1
  56. data/lib/lithic/models/credit_products/extended_credit_retrieve_params.rb +1 -1
  57. data/lib/lithic/models/credit_products/prime_rate_create_params.rb +1 -1
  58. data/lib/lithic/models/credit_products/prime_rate_retrieve_params.rb +1 -1
  59. data/lib/lithic/models/digital_card_art_list_params.rb +1 -1
  60. data/lib/lithic/models/digital_card_art_retrieve_params.rb +1 -1
  61. data/lib/lithic/models/dispute_create_params.rb +1 -1
  62. data/lib/lithic/models/dispute_delete_evidence_params.rb +1 -1
  63. data/lib/lithic/models/dispute_delete_params.rb +1 -1
  64. data/lib/lithic/models/dispute_initiate_evidence_upload_params.rb +1 -1
  65. data/lib/lithic/models/dispute_list_evidences_params.rb +1 -1
  66. data/lib/lithic/models/dispute_list_params.rb +1 -1
  67. data/lib/lithic/models/dispute_retrieve_evidence_params.rb +1 -1
  68. data/lib/lithic/models/dispute_retrieve_params.rb +1 -1
  69. data/lib/lithic/models/dispute_update_params.rb +1 -1
  70. data/lib/lithic/models/event_list_attempts_params.rb +1 -1
  71. data/lib/lithic/models/event_list_params.rb +1 -1
  72. data/lib/lithic/models/event_retrieve_params.rb +1 -1
  73. data/lib/lithic/models/events/subscription_create_params.rb +1 -1
  74. data/lib/lithic/models/events/subscription_delete_params.rb +1 -1
  75. data/lib/lithic/models/events/subscription_list_attempts_params.rb +1 -1
  76. data/lib/lithic/models/events/subscription_list_params.rb +1 -1
  77. data/lib/lithic/models/events/subscription_recover_params.rb +1 -1
  78. data/lib/lithic/models/events/subscription_replay_missing_params.rb +1 -1
  79. data/lib/lithic/models/events/subscription_retrieve_params.rb +1 -1
  80. data/lib/lithic/models/events/subscription_retrieve_secret_params.rb +1 -1
  81. data/lib/lithic/models/events/subscription_rotate_secret_params.rb +1 -1
  82. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -1
  83. data/lib/lithic/models/events/subscription_update_params.rb +1 -1
  84. data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
  85. data/lib/lithic/models/external_bank_account_list_params.rb +1 -1
  86. data/lib/lithic/models/external_bank_account_retrieve_params.rb +1 -1
  87. data/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rb +1 -1
  88. data/lib/lithic/models/external_bank_account_retry_prenote_params.rb +1 -1
  89. data/lib/lithic/models/external_bank_account_update_params.rb +1 -1
  90. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rb +1 -1
  91. data/lib/lithic/models/external_payment_cancel_params.rb +1 -1
  92. data/lib/lithic/models/external_payment_create_params.rb +1 -1
  93. data/lib/lithic/models/external_payment_list_params.rb +1 -1
  94. data/lib/lithic/models/external_payment_release_params.rb +1 -1
  95. data/lib/lithic/models/external_payment_retrieve_params.rb +1 -1
  96. data/lib/lithic/models/external_payment_reverse_params.rb +1 -1
  97. data/lib/lithic/models/external_payment_settle_params.rb +1 -1
  98. data/lib/lithic/models/financial_account_create_params.rb +1 -1
  99. data/lib/lithic/models/financial_account_list_params.rb +1 -1
  100. data/lib/lithic/models/financial_account_retrieve_params.rb +1 -1
  101. data/lib/lithic/models/financial_account_update_params.rb +1 -1
  102. data/lib/lithic/models/financial_account_update_status_params.rb +1 -1
  103. data/lib/lithic/models/financial_accounts/balance_list_params.rb +1 -1
  104. data/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rb +1 -1
  105. data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +1 -1
  106. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +1 -1
  107. data/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rb +1 -1
  108. data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +1 -1
  109. data/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rb +1 -1
  110. data/lib/lithic/models/financial_accounts/statement_list_params.rb +1 -1
  111. data/lib/lithic/models/financial_accounts/statement_retrieve_params.rb +1 -1
  112. data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +1 -1
  113. data/lib/lithic/models/management_operation_create_params.rb +1 -1
  114. data/lib/lithic/models/management_operation_list_params.rb +1 -1
  115. data/lib/lithic/models/management_operation_retrieve_params.rb +1 -1
  116. data/lib/lithic/models/management_operation_reverse_params.rb +1 -1
  117. data/lib/lithic/models/payment_create_params.rb +1 -1
  118. data/lib/lithic/models/payment_list_params.rb +1 -1
  119. data/lib/lithic/models/payment_retrieve_params.rb +1 -1
  120. data/lib/lithic/models/payment_retry_params.rb +1 -1
  121. data/lib/lithic/models/payment_simulate_action_params.rb +1 -1
  122. data/lib/lithic/models/payment_simulate_receipt_params.rb +1 -1
  123. data/lib/lithic/models/payment_simulate_release_params.rb +1 -1
  124. data/lib/lithic/models/payment_simulate_return_params.rb +1 -1
  125. data/lib/lithic/models/reports/settlement/network_total_list_params.rb +1 -1
  126. data/lib/lithic/models/reports/settlement/network_total_retrieve_params.rb +1 -1
  127. data/lib/lithic/models/reports/settlement_list_details_params.rb +1 -1
  128. data/lib/lithic/models/reports/settlement_summary_params.rb +1 -1
  129. data/lib/lithic/models/responder_endpoint_check_status_params.rb +1 -1
  130. data/lib/lithic/models/responder_endpoint_create_params.rb +1 -1
  131. data/lib/lithic/models/responder_endpoint_delete_params.rb +1 -1
  132. data/lib/lithic/models/three_ds/authentication_retrieve_params.rb +1 -1
  133. data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +1 -1
  134. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -1
  135. data/lib/lithic/models/three_ds/decisioning_challenge_response_params.rb +1 -1
  136. data/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rb +1 -1
  137. data/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rb +1 -1
  138. data/lib/lithic/models/tokenization_activate_params.rb +1 -1
  139. data/lib/lithic/models/tokenization_deactivate_params.rb +1 -1
  140. data/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rb +1 -1
  141. data/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rb +1 -1
  142. data/lib/lithic/models/tokenization_list_params.rb +1 -1
  143. data/lib/lithic/models/tokenization_pause_params.rb +1 -1
  144. data/lib/lithic/models/tokenization_resend_activation_code_params.rb +1 -1
  145. data/lib/lithic/models/tokenization_retrieve_params.rb +1 -1
  146. data/lib/lithic/models/tokenization_simulate_params.rb +1 -1
  147. data/lib/lithic/models/tokenization_unpause_params.rb +1 -1
  148. data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +1 -1
  149. data/lib/lithic/models/transaction_expire_authorization_params.rb +1 -1
  150. data/lib/lithic/models/transaction_list_params.rb +1 -1
  151. data/lib/lithic/models/transaction_retrieve_params.rb +1 -1
  152. data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +1 -1
  153. data/lib/lithic/models/transaction_simulate_authorization_params.rb +1 -1
  154. data/lib/lithic/models/transaction_simulate_clearing_params.rb +1 -1
  155. data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +1 -1
  156. data/lib/lithic/models/transaction_simulate_return_params.rb +1 -1
  157. data/lib/lithic/models/transaction_simulate_return_reversal_params.rb +1 -1
  158. data/lib/lithic/models/transaction_simulate_void_params.rb +1 -1
  159. data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rb +1 -1
  160. data/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rb +1 -1
  161. data/lib/lithic/models/transfer_create_params.rb +1 -1
  162. data/lib/lithic/request_options.rb +0 -33
  163. data/lib/lithic/resources/account_holders.rb +5 -5
  164. data/lib/lithic/resources/accounts.rb +3 -3
  165. data/lib/lithic/resources/auth_rules/v2/backtests.rb +2 -2
  166. data/lib/lithic/resources/auth_rules/v2.rb +7 -7
  167. data/lib/lithic/resources/book_transfers.rb +2 -2
  168. data/lib/lithic/resources/card_programs.rb +1 -1
  169. data/lib/lithic/resources/cards/balances.rb +1 -1
  170. data/lib/lithic/resources/cards/financial_transactions.rb +2 -2
  171. data/lib/lithic/resources/cards.rb +7 -7
  172. data/lib/lithic/resources/credit_products/extended_credit.rb +1 -1
  173. data/lib/lithic/resources/credit_products/prime_rates.rb +2 -2
  174. data/lib/lithic/resources/digital_card_art.rb +1 -1
  175. data/lib/lithic/resources/disputes.rb +7 -7
  176. data/lib/lithic/resources/events/subscriptions.rb +9 -9
  177. data/lib/lithic/resources/events.rb +2 -2
  178. data/lib/lithic/resources/external_bank_accounts/micro_deposits.rb +1 -1
  179. data/lib/lithic/resources/external_bank_accounts.rb +4 -4
  180. data/lib/lithic/resources/external_payments.rb +5 -5
  181. data/lib/lithic/resources/financial_accounts/balances.rb +1 -1
  182. data/lib/lithic/resources/financial_accounts/credit_configuration.rb +2 -2
  183. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +2 -2
  184. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +2 -2
  185. data/lib/lithic/resources/financial_accounts/statements/line_items.rb +1 -1
  186. data/lib/lithic/resources/financial_accounts/statements.rb +2 -2
  187. data/lib/lithic/resources/financial_accounts.rb +3 -3
  188. data/lib/lithic/resources/management_operations.rb +2 -2
  189. data/lib/lithic/resources/payments.rb +3 -3
  190. data/lib/lithic/resources/reports/settlement/network_totals.rb +1 -1
  191. data/lib/lithic/resources/reports/settlement.rb +2 -2
  192. data/lib/lithic/resources/three_ds/authentication.rb +1 -1
  193. data/lib/lithic/resources/tokenizations.rb +7 -7
  194. data/lib/lithic/resources/transactions/enhanced_commercial_data.rb +1 -1
  195. data/lib/lithic/resources/transactions/events/enhanced_commercial_data.rb +1 -1
  196. data/lib/lithic/resources/transactions.rb +2 -2
  197. data/lib/lithic/single_page.rb +3 -3
  198. data/lib/lithic/transport/base_client.rb +459 -0
  199. data/lib/lithic/transport/pooled_net_requester.rb +182 -0
  200. data/lib/lithic/type/array_of.rb +112 -0
  201. data/lib/lithic/type/base_model.rb +357 -0
  202. data/lib/lithic/type/base_page.rb +61 -0
  203. data/lib/lithic/type/boolean_model.rb +52 -0
  204. data/lib/lithic/type/converter.rb +217 -0
  205. data/lib/lithic/type/enum.rb +101 -0
  206. data/lib/lithic/type/hash_of.rb +132 -0
  207. data/lib/lithic/type/request_parameters.rb +38 -0
  208. data/lib/lithic/type/union.rb +196 -0
  209. data/lib/lithic/type/unknown.rb +56 -0
  210. data/lib/lithic/type.rb +23 -0
  211. data/lib/lithic/util.rb +5 -7
  212. data/lib/lithic/version.rb +1 -1
  213. data/lib/lithic.rb +29 -20
  214. data/manifest.yaml +1 -0
  215. data/rbi/lib/lithic/client.rbi +1 -1
  216. data/rbi/lib/lithic/cursor_page.rbi +1 -1
  217. data/rbi/lib/lithic/models/account_holder_create_params.rbi +1 -1
  218. data/rbi/lib/lithic/models/account_holder_create_response.rbi +9 -1
  219. data/rbi/lib/lithic/models/account_holder_list_documents_params.rbi +1 -1
  220. data/rbi/lib/lithic/models/account_holder_list_params.rbi +1 -1
  221. data/rbi/lib/lithic/models/account_holder_retrieve_document_params.rbi +1 -1
  222. data/rbi/lib/lithic/models/account_holder_retrieve_params.rbi +1 -1
  223. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +1 -1
  224. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +1 -1
  225. data/rbi/lib/lithic/models/account_holder_update_params.rbi +1 -1
  226. data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +1 -1
  227. data/rbi/lib/lithic/models/account_list_params.rbi +9 -2
  228. data/rbi/lib/lithic/models/account_retrieve_params.rbi +1 -1
  229. data/rbi/lib/lithic/models/account_retrieve_spend_limits_params.rbi +1 -1
  230. data/rbi/lib/lithic/models/account_update_params.rbi +1 -1
  231. data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +1 -1
  232. data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +2 -2
  233. data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_params.rbi +1 -1
  234. data/rbi/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rbi +1 -1
  235. data/rbi/lib/lithic/models/auth_rules/v2_apply_params.rbi +8 -2
  236. data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +1 -1
  237. data/rbi/lib/lithic/models/auth_rules/v2_delete_params.rbi +1 -1
  238. data/rbi/lib/lithic/models/auth_rules/v2_draft_params.rbi +1 -1
  239. data/rbi/lib/lithic/models/auth_rules/v2_list_params.rbi +1 -1
  240. data/rbi/lib/lithic/models/auth_rules/v2_promote_params.rbi +1 -1
  241. data/rbi/lib/lithic/models/auth_rules/v2_report_params.rbi +1 -1
  242. data/rbi/lib/lithic/models/auth_rules/v2_retrieve_params.rbi +1 -1
  243. data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +1 -1
  244. data/rbi/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rbi +1 -1
  245. data/rbi/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rbi +1 -1
  246. data/rbi/lib/lithic/models/balance_list_params.rbi +1 -1
  247. data/rbi/lib/lithic/models/book_transfer_create_params.rbi +1 -1
  248. data/rbi/lib/lithic/models/book_transfer_list_params.rbi +1 -1
  249. data/rbi/lib/lithic/models/book_transfer_retrieve_params.rbi +1 -1
  250. data/rbi/lib/lithic/models/book_transfer_reverse_params.rbi +1 -1
  251. data/rbi/lib/lithic/models/card_convert_physical_params.rbi +8 -2
  252. data/rbi/lib/lithic/models/card_create_params.rbi +1 -1
  253. data/rbi/lib/lithic/models/card_embed_params.rbi +1 -1
  254. data/rbi/lib/lithic/models/card_list_params.rbi +1 -1
  255. data/rbi/lib/lithic/models/card_program_list_params.rbi +1 -1
  256. data/rbi/lib/lithic/models/card_program_retrieve_params.rbi +1 -1
  257. data/rbi/lib/lithic/models/card_provision_params.rbi +1 -1
  258. data/rbi/lib/lithic/models/card_reissue_params.rbi +8 -2
  259. data/rbi/lib/lithic/models/card_renew_params.rbi +1 -1
  260. data/rbi/lib/lithic/models/card_retrieve_params.rbi +1 -1
  261. data/rbi/lib/lithic/models/card_retrieve_spend_limits_params.rbi +1 -1
  262. data/rbi/lib/lithic/models/card_search_by_pan_params.rbi +1 -1
  263. data/rbi/lib/lithic/models/card_update_params.rbi +1 -1
  264. data/rbi/lib/lithic/models/cards/aggregate_balance_list_params.rbi +1 -1
  265. data/rbi/lib/lithic/models/cards/balance_list_params.rbi +1 -1
  266. data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +1 -1
  267. data/rbi/lib/lithic/models/cards/financial_transaction_retrieve_params.rbi +1 -1
  268. data/rbi/lib/lithic/models/client_api_status_params.rbi +1 -1
  269. data/rbi/lib/lithic/models/credit_products/extended_credit_retrieve_params.rbi +1 -1
  270. data/rbi/lib/lithic/models/credit_products/prime_rate_create_params.rbi +1 -1
  271. data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_params.rbi +1 -1
  272. data/rbi/lib/lithic/models/digital_card_art.rbi +9 -1
  273. data/rbi/lib/lithic/models/digital_card_art_list_params.rbi +1 -1
  274. data/rbi/lib/lithic/models/digital_card_art_retrieve_params.rbi +1 -1
  275. data/rbi/lib/lithic/models/dispute_create_params.rbi +9 -2
  276. data/rbi/lib/lithic/models/dispute_delete_evidence_params.rbi +1 -1
  277. data/rbi/lib/lithic/models/dispute_delete_params.rbi +1 -1
  278. data/rbi/lib/lithic/models/dispute_evidence.rbi +9 -1
  279. data/rbi/lib/lithic/models/dispute_initiate_evidence_upload_params.rbi +1 -1
  280. data/rbi/lib/lithic/models/dispute_list_evidences_params.rbi +9 -2
  281. data/rbi/lib/lithic/models/dispute_list_params.rbi +1 -1
  282. data/rbi/lib/lithic/models/dispute_retrieve_evidence_params.rbi +1 -1
  283. data/rbi/lib/lithic/models/dispute_retrieve_params.rbi +1 -1
  284. data/rbi/lib/lithic/models/dispute_update_params.rbi +8 -2
  285. data/rbi/lib/lithic/models/event_list_attempts_params.rbi +1 -1
  286. data/rbi/lib/lithic/models/event_list_params.rbi +1 -1
  287. data/rbi/lib/lithic/models/event_retrieve_params.rbi +1 -1
  288. data/rbi/lib/lithic/models/events/subscription_create_params.rbi +1 -1
  289. data/rbi/lib/lithic/models/events/subscription_delete_params.rbi +1 -1
  290. data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +1 -1
  291. data/rbi/lib/lithic/models/events/subscription_list_params.rbi +1 -1
  292. data/rbi/lib/lithic/models/events/subscription_recover_params.rbi +1 -1
  293. data/rbi/lib/lithic/models/events/subscription_replay_missing_params.rbi +1 -1
  294. data/rbi/lib/lithic/models/events/subscription_retrieve_params.rbi +1 -1
  295. data/rbi/lib/lithic/models/events/subscription_retrieve_secret_params.rbi +1 -1
  296. data/rbi/lib/lithic/models/events/subscription_rotate_secret_params.rbi +1 -1
  297. data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +1 -1
  298. data/rbi/lib/lithic/models/events/subscription_update_params.rbi +1 -1
  299. data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +1 -1
  300. data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +1 -1
  301. data/rbi/lib/lithic/models/external_bank_account_retrieve_params.rbi +1 -1
  302. data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rbi +1 -1
  303. data/rbi/lib/lithic/models/external_bank_account_retry_prenote_params.rbi +1 -1
  304. data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +1 -1
  305. data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rbi +1 -1
  306. data/rbi/lib/lithic/models/external_payment_cancel_params.rbi +1 -1
  307. data/rbi/lib/lithic/models/external_payment_create_params.rbi +1 -1
  308. data/rbi/lib/lithic/models/external_payment_list_params.rbi +1 -1
  309. data/rbi/lib/lithic/models/external_payment_release_params.rbi +1 -1
  310. data/rbi/lib/lithic/models/external_payment_retrieve_params.rbi +1 -1
  311. data/rbi/lib/lithic/models/external_payment_reverse_params.rbi +1 -1
  312. data/rbi/lib/lithic/models/external_payment_settle_params.rbi +1 -1
  313. data/rbi/lib/lithic/models/financial_account_create_params.rbi +9 -2
  314. data/rbi/lib/lithic/models/financial_account_list_params.rbi +1 -1
  315. data/rbi/lib/lithic/models/financial_account_retrieve_params.rbi +1 -1
  316. data/rbi/lib/lithic/models/financial_account_update_params.rbi +1 -1
  317. data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +1 -1
  318. data/rbi/lib/lithic/models/financial_accounts/balance_list_params.rbi +1 -1
  319. data/rbi/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbi +1 -1
  320. data/rbi/lib/lithic/models/financial_accounts/credit_configuration_update_params.rbi +1 -1
  321. data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +1 -1
  322. data/rbi/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbi +1 -1
  323. data/rbi/lib/lithic/models/financial_accounts/loan_tape_list_params.rbi +9 -2
  324. data/rbi/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rbi +1 -1
  325. data/rbi/lib/lithic/models/financial_accounts/statement_list_params.rbi +1 -1
  326. data/rbi/lib/lithic/models/financial_accounts/statement_retrieve_params.rbi +1 -1
  327. data/rbi/lib/lithic/models/financial_accounts/statements/line_item_list_params.rbi +8 -2
  328. data/rbi/lib/lithic/models/management_operation_create_params.rbi +1 -1
  329. data/rbi/lib/lithic/models/management_operation_list_params.rbi +1 -1
  330. data/rbi/lib/lithic/models/management_operation_retrieve_params.rbi +1 -1
  331. data/rbi/lib/lithic/models/management_operation_reverse_params.rbi +1 -1
  332. data/rbi/lib/lithic/models/management_operation_transaction.rbi +11 -1
  333. data/rbi/lib/lithic/models/message_attempt.rbi +10 -1
  334. data/rbi/lib/lithic/models/payment.rbi +8 -1
  335. data/rbi/lib/lithic/models/payment_create_params.rbi +1 -1
  336. data/rbi/lib/lithic/models/payment_list_params.rbi +1 -1
  337. data/rbi/lib/lithic/models/payment_retrieve_params.rbi +1 -1
  338. data/rbi/lib/lithic/models/payment_retry_params.rbi +1 -1
  339. data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +1 -1
  340. data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +1 -1
  341. data/rbi/lib/lithic/models/payment_simulate_release_params.rbi +1 -1
  342. data/rbi/lib/lithic/models/payment_simulate_return_params.rbi +1 -1
  343. data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +1 -1
  344. data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_params.rbi +1 -1
  345. data/rbi/lib/lithic/models/reports/settlement_list_details_params.rbi +1 -1
  346. data/rbi/lib/lithic/models/reports/settlement_summary_params.rbi +1 -1
  347. data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +1 -1
  348. data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +1 -1
  349. data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +1 -1
  350. data/rbi/lib/lithic/models/three_ds/authentication_retrieve_params.rbi +1 -1
  351. data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +24 -3
  352. data/rbi/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rbi +1 -1
  353. data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +1 -1
  354. data/rbi/lib/lithic/models/three_ds/decisioning_challenge_response_params.rbi +1 -1
  355. data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rbi +1 -1
  356. data/rbi/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rbi +1 -1
  357. data/rbi/lib/lithic/models/tokenization_activate_params.rbi +1 -1
  358. data/rbi/lib/lithic/models/tokenization_deactivate_params.rbi +1 -1
  359. data/rbi/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rbi +1 -1
  360. data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rbi +1 -1
  361. data/rbi/lib/lithic/models/tokenization_list_params.rbi +1 -1
  362. data/rbi/lib/lithic/models/tokenization_pause_params.rbi +1 -1
  363. data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +1 -1
  364. data/rbi/lib/lithic/models/tokenization_retrieve_params.rbi +1 -1
  365. data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +1 -1
  366. data/rbi/lib/lithic/models/tokenization_unpause_params.rbi +1 -1
  367. data/rbi/lib/lithic/models/tokenization_update_digital_card_art_params.rbi +1 -1
  368. data/rbi/lib/lithic/models/transaction_expire_authorization_params.rbi +1 -1
  369. data/rbi/lib/lithic/models/transaction_list_params.rbi +1 -1
  370. data/rbi/lib/lithic/models/transaction_retrieve_params.rbi +1 -1
  371. data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_params.rbi +1 -1
  372. data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +1 -1
  373. data/rbi/lib/lithic/models/transaction_simulate_clearing_params.rbi +1 -1
  374. data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_params.rbi +1 -1
  375. data/rbi/lib/lithic/models/transaction_simulate_return_params.rbi +1 -1
  376. data/rbi/lib/lithic/models/transaction_simulate_return_reversal_params.rbi +1 -1
  377. data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +1 -1
  378. data/rbi/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbi +1 -1
  379. data/rbi/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbi +1 -1
  380. data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +15 -2
  381. data/rbi/lib/lithic/models/transfer_create_params.rbi +1 -1
  382. data/rbi/lib/lithic/request_options.rbi +0 -15
  383. data/rbi/lib/lithic/single_page.rbi +1 -1
  384. data/rbi/lib/lithic/transport/base_client.rbi +204 -0
  385. data/rbi/lib/lithic/transport/pooled_net_requester.rbi +64 -0
  386. data/rbi/lib/lithic/type/array_of.rbi +82 -0
  387. data/rbi/lib/lithic/type/base_model.rbi +189 -0
  388. data/rbi/lib/lithic/type/base_page.rbi +38 -0
  389. data/rbi/lib/lithic/type/boolean_model.rbi +41 -0
  390. data/rbi/lib/lithic/type/converter.rbi +99 -0
  391. data/rbi/lib/lithic/type/enum.rbi +58 -0
  392. data/rbi/lib/lithic/type/hash_of.rbi +86 -0
  393. data/rbi/lib/lithic/type/request_parameters.rbi +20 -0
  394. data/rbi/lib/lithic/type/union.rbi +66 -0
  395. data/rbi/lib/lithic/type/unknown.rbi +37 -0
  396. data/rbi/lib/lithic/type.rbi +23 -0
  397. data/rbi/lib/lithic/version.rbi +1 -1
  398. data/sig/lithic/client.rbs +1 -1
  399. data/sig/lithic/cursor_page.rbs +1 -1
  400. data/sig/lithic/models/account_holder_create_params.rbs +1 -1
  401. data/sig/lithic/models/account_holder_list_documents_params.rbs +1 -1
  402. data/sig/lithic/models/account_holder_list_params.rbs +1 -1
  403. data/sig/lithic/models/account_holder_retrieve_document_params.rbs +1 -1
  404. data/sig/lithic/models/account_holder_retrieve_params.rbs +1 -1
  405. data/sig/lithic/models/account_holder_simulate_enrollment_document_review_params.rbs +1 -1
  406. data/sig/lithic/models/account_holder_simulate_enrollment_review_params.rbs +1 -1
  407. data/sig/lithic/models/account_holder_update_params.rbs +1 -1
  408. data/sig/lithic/models/account_holder_upload_document_params.rbs +1 -1
  409. data/sig/lithic/models/account_list_params.rbs +1 -1
  410. data/sig/lithic/models/account_retrieve_params.rbs +1 -1
  411. data/sig/lithic/models/account_retrieve_spend_limits_params.rbs +1 -1
  412. data/sig/lithic/models/account_update_params.rbs +1 -1
  413. data/sig/lithic/models/aggregate_balance_list_params.rbs +1 -1
  414. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +2 -2
  415. data/sig/lithic/models/auth_rules/v2/backtest_create_params.rbs +1 -1
  416. data/sig/lithic/models/auth_rules/v2/backtest_retrieve_params.rbs +1 -1
  417. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +1 -1
  418. data/sig/lithic/models/auth_rules/v2_create_params.rbs +1 -1
  419. data/sig/lithic/models/auth_rules/v2_delete_params.rbs +1 -1
  420. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -1
  421. data/sig/lithic/models/auth_rules/v2_list_params.rbs +1 -1
  422. data/sig/lithic/models/auth_rules/v2_promote_params.rbs +1 -1
  423. data/sig/lithic/models/auth_rules/v2_report_params.rbs +1 -1
  424. data/sig/lithic/models/auth_rules/v2_retrieve_params.rbs +1 -1
  425. data/sig/lithic/models/auth_rules/v2_update_params.rbs +1 -1
  426. data/sig/lithic/models/auth_stream_enrollment_retrieve_secret_params.rbs +1 -1
  427. data/sig/lithic/models/auth_stream_enrollment_rotate_secret_params.rbs +1 -1
  428. data/sig/lithic/models/balance_list_params.rbs +1 -1
  429. data/sig/lithic/models/book_transfer_create_params.rbs +1 -1
  430. data/sig/lithic/models/book_transfer_list_params.rbs +1 -1
  431. data/sig/lithic/models/book_transfer_retrieve_params.rbs +1 -1
  432. data/sig/lithic/models/book_transfer_reverse_params.rbs +1 -1
  433. data/sig/lithic/models/card_convert_physical_params.rbs +1 -1
  434. data/sig/lithic/models/card_create_params.rbs +1 -1
  435. data/sig/lithic/models/card_embed_params.rbs +1 -1
  436. data/sig/lithic/models/card_list_params.rbs +1 -1
  437. data/sig/lithic/models/card_program_list_params.rbs +1 -1
  438. data/sig/lithic/models/card_program_retrieve_params.rbs +1 -1
  439. data/sig/lithic/models/card_provision_params.rbs +1 -1
  440. data/sig/lithic/models/card_reissue_params.rbs +1 -1
  441. data/sig/lithic/models/card_renew_params.rbs +1 -1
  442. data/sig/lithic/models/card_retrieve_params.rbs +1 -1
  443. data/sig/lithic/models/card_retrieve_spend_limits_params.rbs +1 -1
  444. data/sig/lithic/models/card_search_by_pan_params.rbs +1 -1
  445. data/sig/lithic/models/card_update_params.rbs +1 -1
  446. data/sig/lithic/models/cards/aggregate_balance_list_params.rbs +1 -1
  447. data/sig/lithic/models/cards/balance_list_params.rbs +1 -1
  448. data/sig/lithic/models/cards/financial_transaction_list_params.rbs +1 -1
  449. data/sig/lithic/models/cards/financial_transaction_retrieve_params.rbs +1 -1
  450. data/sig/lithic/models/client_api_status_params.rbs +1 -1
  451. data/sig/lithic/models/credit_products/extended_credit_retrieve_params.rbs +1 -1
  452. data/sig/lithic/models/credit_products/prime_rate_create_params.rbs +1 -1
  453. data/sig/lithic/models/credit_products/prime_rate_retrieve_params.rbs +1 -1
  454. data/sig/lithic/models/digital_card_art_list_params.rbs +1 -1
  455. data/sig/lithic/models/digital_card_art_retrieve_params.rbs +1 -1
  456. data/sig/lithic/models/dispute_create_params.rbs +1 -1
  457. data/sig/lithic/models/dispute_delete_evidence_params.rbs +1 -1
  458. data/sig/lithic/models/dispute_delete_params.rbs +1 -1
  459. data/sig/lithic/models/dispute_initiate_evidence_upload_params.rbs +1 -1
  460. data/sig/lithic/models/dispute_list_evidences_params.rbs +1 -1
  461. data/sig/lithic/models/dispute_list_params.rbs +1 -1
  462. data/sig/lithic/models/dispute_retrieve_evidence_params.rbs +1 -1
  463. data/sig/lithic/models/dispute_retrieve_params.rbs +1 -1
  464. data/sig/lithic/models/dispute_update_params.rbs +1 -1
  465. data/sig/lithic/models/event_list_attempts_params.rbs +1 -1
  466. data/sig/lithic/models/event_list_params.rbs +1 -1
  467. data/sig/lithic/models/event_retrieve_params.rbs +1 -1
  468. data/sig/lithic/models/events/subscription_create_params.rbs +1 -1
  469. data/sig/lithic/models/events/subscription_delete_params.rbs +1 -1
  470. data/sig/lithic/models/events/subscription_list_attempts_params.rbs +1 -1
  471. data/sig/lithic/models/events/subscription_list_params.rbs +1 -1
  472. data/sig/lithic/models/events/subscription_recover_params.rbs +1 -1
  473. data/sig/lithic/models/events/subscription_replay_missing_params.rbs +1 -1
  474. data/sig/lithic/models/events/subscription_retrieve_params.rbs +1 -1
  475. data/sig/lithic/models/events/subscription_retrieve_secret_params.rbs +1 -1
  476. data/sig/lithic/models/events/subscription_rotate_secret_params.rbs +1 -1
  477. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +1 -1
  478. data/sig/lithic/models/events/subscription_update_params.rbs +1 -1
  479. data/sig/lithic/models/external_bank_account_create_params.rbs +1 -1
  480. data/sig/lithic/models/external_bank_account_list_params.rbs +1 -1
  481. data/sig/lithic/models/external_bank_account_retrieve_params.rbs +1 -1
  482. data/sig/lithic/models/external_bank_account_retry_micro_deposits_params.rbs +1 -1
  483. data/sig/lithic/models/external_bank_account_retry_prenote_params.rbs +1 -1
  484. data/sig/lithic/models/external_bank_account_update_params.rbs +1 -1
  485. data/sig/lithic/models/external_bank_accounts/micro_deposit_create_params.rbs +1 -1
  486. data/sig/lithic/models/external_payment_cancel_params.rbs +1 -1
  487. data/sig/lithic/models/external_payment_create_params.rbs +1 -1
  488. data/sig/lithic/models/external_payment_list_params.rbs +1 -1
  489. data/sig/lithic/models/external_payment_release_params.rbs +1 -1
  490. data/sig/lithic/models/external_payment_retrieve_params.rbs +1 -1
  491. data/sig/lithic/models/external_payment_reverse_params.rbs +1 -1
  492. data/sig/lithic/models/external_payment_settle_params.rbs +1 -1
  493. data/sig/lithic/models/financial_account_create_params.rbs +1 -1
  494. data/sig/lithic/models/financial_account_list_params.rbs +1 -1
  495. data/sig/lithic/models/financial_account_retrieve_params.rbs +1 -1
  496. data/sig/lithic/models/financial_account_update_params.rbs +1 -1
  497. data/sig/lithic/models/financial_account_update_status_params.rbs +1 -1
  498. data/sig/lithic/models/financial_accounts/balance_list_params.rbs +1 -1
  499. data/sig/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbs +1 -1
  500. data/sig/lithic/models/financial_accounts/credit_configuration_update_params.rbs +1 -1
  501. data/sig/lithic/models/financial_accounts/financial_transaction_list_params.rbs +1 -1
  502. data/sig/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbs +1 -1
  503. data/sig/lithic/models/financial_accounts/loan_tape_list_params.rbs +1 -1
  504. data/sig/lithic/models/financial_accounts/loan_tape_retrieve_params.rbs +1 -1
  505. data/sig/lithic/models/financial_accounts/statement_list_params.rbs +1 -1
  506. data/sig/lithic/models/financial_accounts/statement_retrieve_params.rbs +1 -1
  507. data/sig/lithic/models/financial_accounts/statements/line_item_list_params.rbs +1 -1
  508. data/sig/lithic/models/management_operation_create_params.rbs +1 -1
  509. data/sig/lithic/models/management_operation_list_params.rbs +1 -1
  510. data/sig/lithic/models/management_operation_retrieve_params.rbs +1 -1
  511. data/sig/lithic/models/management_operation_reverse_params.rbs +1 -1
  512. data/sig/lithic/models/payment_create_params.rbs +1 -1
  513. data/sig/lithic/models/payment_list_params.rbs +1 -1
  514. data/sig/lithic/models/payment_retrieve_params.rbs +1 -1
  515. data/sig/lithic/models/payment_retry_params.rbs +1 -1
  516. data/sig/lithic/models/payment_simulate_action_params.rbs +1 -1
  517. data/sig/lithic/models/payment_simulate_receipt_params.rbs +1 -1
  518. data/sig/lithic/models/payment_simulate_release_params.rbs +1 -1
  519. data/sig/lithic/models/payment_simulate_return_params.rbs +1 -1
  520. data/sig/lithic/models/reports/settlement/network_total_list_params.rbs +1 -1
  521. data/sig/lithic/models/reports/settlement/network_total_retrieve_params.rbs +1 -1
  522. data/sig/lithic/models/reports/settlement_list_details_params.rbs +1 -1
  523. data/sig/lithic/models/reports/settlement_summary_params.rbs +1 -1
  524. data/sig/lithic/models/responder_endpoint_check_status_params.rbs +1 -1
  525. data/sig/lithic/models/responder_endpoint_create_params.rbs +1 -1
  526. data/sig/lithic/models/responder_endpoint_delete_params.rbs +1 -1
  527. data/sig/lithic/models/three_ds/authentication_retrieve_params.rbs +1 -1
  528. data/sig/lithic/models/three_ds/authentication_simulate_otp_entry_params.rbs +1 -1
  529. data/sig/lithic/models/three_ds/authentication_simulate_params.rbs +1 -1
  530. data/sig/lithic/models/three_ds/decisioning_challenge_response_params.rbs +1 -1
  531. data/sig/lithic/models/three_ds/decisioning_retrieve_secret_params.rbs +1 -1
  532. data/sig/lithic/models/three_ds/decisioning_rotate_secret_params.rbs +1 -1
  533. data/sig/lithic/models/tokenization_activate_params.rbs +1 -1
  534. data/sig/lithic/models/tokenization_deactivate_params.rbs +1 -1
  535. data/sig/lithic/models/tokenization_decisioning_retrieve_secret_params.rbs +1 -1
  536. data/sig/lithic/models/tokenization_decisioning_rotate_secret_params.rbs +1 -1
  537. data/sig/lithic/models/tokenization_list_params.rbs +1 -1
  538. data/sig/lithic/models/tokenization_pause_params.rbs +1 -1
  539. data/sig/lithic/models/tokenization_resend_activation_code_params.rbs +1 -1
  540. data/sig/lithic/models/tokenization_retrieve_params.rbs +1 -1
  541. data/sig/lithic/models/tokenization_simulate_params.rbs +1 -1
  542. data/sig/lithic/models/tokenization_unpause_params.rbs +1 -1
  543. data/sig/lithic/models/tokenization_update_digital_card_art_params.rbs +1 -1
  544. data/sig/lithic/models/transaction_expire_authorization_params.rbs +1 -1
  545. data/sig/lithic/models/transaction_list_params.rbs +1 -1
  546. data/sig/lithic/models/transaction_retrieve_params.rbs +1 -1
  547. data/sig/lithic/models/transaction_simulate_authorization_advice_params.rbs +1 -1
  548. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +1 -1
  549. data/sig/lithic/models/transaction_simulate_clearing_params.rbs +1 -1
  550. data/sig/lithic/models/transaction_simulate_credit_authorization_params.rbs +1 -1
  551. data/sig/lithic/models/transaction_simulate_return_params.rbs +1 -1
  552. data/sig/lithic/models/transaction_simulate_return_reversal_params.rbs +1 -1
  553. data/sig/lithic/models/transaction_simulate_void_params.rbs +1 -1
  554. data/sig/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbs +1 -1
  555. data/sig/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbs +1 -1
  556. data/sig/lithic/models/transfer_create_params.rbs +1 -1
  557. data/sig/lithic/request_options.rbs +0 -10
  558. data/sig/lithic/single_page.rbs +1 -1
  559. data/sig/lithic/transport/base_client.rbs +110 -0
  560. data/sig/lithic/transport/pooled_net_requester.rbs +39 -0
  561. data/sig/lithic/type/array_of.rbs +36 -0
  562. data/sig/lithic/type/base_model.rbs +73 -0
  563. data/sig/lithic/type/base_page.rbs +22 -0
  564. data/sig/lithic/type/boolean_model.rbs +18 -0
  565. data/sig/lithic/type/converter.rbs +36 -0
  566. data/sig/lithic/type/enum.rbs +22 -0
  567. data/sig/lithic/type/hash_of.rbs +36 -0
  568. data/sig/lithic/type/request_parameters.rbs +13 -0
  569. data/sig/lithic/type/union.rbs +37 -0
  570. data/sig/lithic/type/unknown.rbs +15 -0
  571. data/sig/lithic/type.rbs +22 -0
  572. data/sig/lithic/version.rbs +1 -1
  573. metadata +41 -17
  574. data/lib/lithic/base_client.rb +0 -457
  575. data/lib/lithic/base_model.rb +0 -1212
  576. data/lib/lithic/base_page.rb +0 -59
  577. data/lib/lithic/extern.rb +0 -7
  578. data/lib/lithic/pooled_net_requester.rb +0 -180
  579. data/rbi/lib/lithic/base_client.rbi +0 -196
  580. data/rbi/lib/lithic/base_model.rbi +0 -640
  581. data/rbi/lib/lithic/base_page.rbi +0 -36
  582. data/rbi/lib/lithic/extern.rbi +0 -7
  583. data/rbi/lib/lithic/pooled_net_requester.rbi +0 -59
  584. data/sig/lithic/base_client.rbs +0 -106
  585. data/sig/lithic/base_model.rbs +0 -260
  586. data/sig/lithic/base_page.rbs +0 -20
  587. data/sig/lithic/extern.rbs +0 -4
  588. data/sig/lithic/pooled_net_requester.rbs +0 -37
@@ -0,0 +1,182 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Transport
5
+ # @api private
6
+ class PooledNetRequester
7
+ # from the golang stdlib
8
+ # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
9
+ KEEP_ALIVE_TIMEOUT = 30
10
+
11
+ class << self
12
+ # @api private
13
+ #
14
+ # @param url [URI::Generic]
15
+ #
16
+ # @return [Net::HTTP]
17
+ def connect(url)
18
+ port =
19
+ case [url.port, url.scheme]
20
+ in [Integer, _]
21
+ url.port
22
+ in [nil, "http" | "ws"]
23
+ Net::HTTP.http_default_port
24
+ in [nil, "https" | "wss"]
25
+ Net::HTTP.https_default_port
26
+ end
27
+
28
+ Net::HTTP.new(url.host, port).tap do
29
+ _1.use_ssl = %w[https wss].include?(url.scheme)
30
+ _1.max_retries = 0
31
+ end
32
+ end
33
+
34
+ # @api private
35
+ #
36
+ # @param conn [Net::HTTP]
37
+ # @param deadline [Float]
38
+ def calibrate_socket_timeout(conn, deadline)
39
+ timeout = deadline - Lithic::Util.monotonic_secs
40
+ conn.open_timeout = conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # @param request [Hash{Symbol=>Object}] .
46
+ #
47
+ # @option request [Symbol] :method
48
+ #
49
+ # @option request [URI::Generic] :url
50
+ #
51
+ # @option request [Hash{String=>String}] :headers
52
+ #
53
+ # @param blk [Proc]
54
+ #
55
+ # @yieldparam [String]
56
+ # @return [Net::HTTPGenericRequest]
57
+ def build_request(request, &blk)
58
+ method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
59
+ req = Net::HTTPGenericRequest.new(
60
+ method.to_s.upcase,
61
+ !body.nil?,
62
+ method != :head,
63
+ url.to_s
64
+ )
65
+
66
+ headers.each { req[_1] = _2 }
67
+
68
+ case body
69
+ in nil
70
+ nil
71
+ in String
72
+ req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
73
+ req.body_stream = Lithic::Util::ReadIOAdapter.new(body, &blk)
74
+ in StringIO
75
+ req["content-length"] ||= body.size.to_s unless req["transfer-encoding"]
76
+ req.body_stream = Lithic::Util::ReadIOAdapter.new(body, &blk)
77
+ in IO | Enumerator
78
+ req["transfer-encoding"] ||= "chunked" unless req["content-length"]
79
+ req.body_stream = Lithic::Util::ReadIOAdapter.new(body, &blk)
80
+ end
81
+
82
+ req
83
+ end
84
+ end
85
+
86
+ # @api private
87
+ #
88
+ # @param url [URI::Generic]
89
+ # @param deadline [Float]
90
+ # @param blk [Proc]
91
+ #
92
+ # @raise [Timeout::Error]
93
+ # @yieldparam [Net::HTTP]
94
+ private def with_pool(url, deadline:, &blk)
95
+ origin = Lithic::Util.uri_origin(url)
96
+ timeout = deadline - Lithic::Util.monotonic_secs
97
+ pool =
98
+ @mutex.synchronize do
99
+ @pools[origin] ||= ConnectionPool.new(size: @size) do
100
+ self.class.connect(url)
101
+ end
102
+ end
103
+
104
+ pool.with(timeout: timeout, &blk)
105
+ end
106
+
107
+ # @api private
108
+ #
109
+ # @param request [Hash{Symbol=>Object}] .
110
+ #
111
+ # @option request [Symbol] :method
112
+ #
113
+ # @option request [URI::Generic] :url
114
+ #
115
+ # @option request [Hash{String=>String}] :headers
116
+ #
117
+ # @option request [Object] :body
118
+ #
119
+ # @option request [Float] :deadline
120
+ #
121
+ # @return [Array(Integer, Net::HTTPResponse, Enumerable)]
122
+ def execute(request)
123
+ url, deadline = request.fetch_values(:url, :deadline)
124
+
125
+ eof = false
126
+ finished = false
127
+ enum = Enumerator.new do |y|
128
+ with_pool(url, deadline: deadline) do |conn|
129
+ next if finished
130
+
131
+ req = self.class.build_request(request) do
132
+ self.class.calibrate_socket_timeout(conn, deadline)
133
+ end
134
+
135
+ self.class.calibrate_socket_timeout(conn, deadline)
136
+ unless conn.started?
137
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
138
+ conn.start
139
+ end
140
+
141
+ self.class.calibrate_socket_timeout(conn, deadline)
142
+ conn.request(req) do |rsp|
143
+ y << [conn, req, rsp]
144
+ break if finished
145
+
146
+ rsp.read_body do |bytes|
147
+ y << bytes
148
+ break if finished
149
+
150
+ self.class.calibrate_socket_timeout(conn, deadline)
151
+ end
152
+ eof = true
153
+ end
154
+ end
155
+ rescue Timeout::Error
156
+ raise Lithic::APITimeoutError
157
+ end
158
+
159
+ conn, _, response = enum.next
160
+ body = Lithic::Util.fused_enum(enum, external: true) do
161
+ finished = true
162
+ tap do
163
+ enum.next
164
+ rescue StopIteration
165
+ nil
166
+ end
167
+ conn.finish if !eof && conn&.started?
168
+ end
169
+ [Integer(response.code), response, (response.body = body)]
170
+ end
171
+
172
+ # @api private
173
+ #
174
+ # @param size [Integer]
175
+ def initialize(size: Etc.nprocessors)
176
+ @mutex = Mutex.new
177
+ @size = size
178
+ @pools = {}
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Type
5
+ # @api private
6
+ #
7
+ # @abstract
8
+ #
9
+ # Array of items of a given type.
10
+ class ArrayOf
11
+ include Lithic::Type::Converter
12
+
13
+ # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Type::Converter, Class]
14
+ #
15
+ # @param spec [Hash{Symbol=>Object}] .
16
+ #
17
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
18
+ #
19
+ # @option spec [Proc] :enum
20
+ #
21
+ # @option spec [Proc] :union
22
+ #
23
+ # @option spec [Boolean] :"nil?"
24
+ def self.[](type_info, spec = {}) = new(type_info, spec)
25
+
26
+ # @param other [Object]
27
+ #
28
+ # @return [Boolean]
29
+ def ===(other) = other.is_a?(Array) && other.all?(item_type)
30
+
31
+ # @param other [Object]
32
+ #
33
+ # @return [Boolean]
34
+ def ==(other)
35
+ other.is_a?(Lithic::ArrayOf) && other.nilable? == nilable? && other.item_type == item_type
36
+ end
37
+
38
+ # @api private
39
+ #
40
+ # @param value [Enumerable, Object]
41
+ #
42
+ # @param state [Hash{Symbol=>Object}] .
43
+ #
44
+ # @option state [Boolean, :strong] :strictness
45
+ #
46
+ # @option state [Hash{Symbol=>Object}] :exactness
47
+ #
48
+ # @option state [Integer] :branched
49
+ #
50
+ # @return [Array<Object>, Object]
51
+ def coerce(value, state:)
52
+ exactness = state.fetch(:exactness)
53
+
54
+ unless value.is_a?(Array)
55
+ exactness[:no] += 1
56
+ return value
57
+ end
58
+
59
+ target = item_type
60
+ exactness[:yes] += 1
61
+ value
62
+ .map do |item|
63
+ case [nilable?, item]
64
+ in [true, nil]
65
+ exactness[:yes] += 1
66
+ nil
67
+ else
68
+ Lithic::Type::Converter.coerce(target, item, state: state)
69
+ end
70
+ end
71
+ end
72
+
73
+ # @api private
74
+ #
75
+ # @param value [Enumerable, Object]
76
+ #
77
+ # @return [Array<Object>, Object]
78
+ def dump(value)
79
+ target = item_type
80
+ value.is_a?(Array) ? value.map { Lithic::Type::Converter.dump(target, _1) } : super
81
+ end
82
+
83
+ # @api private
84
+ #
85
+ # @return [Lithic::Type::Converter, Class]
86
+ protected def item_type = @item_type_fn.call
87
+
88
+ # @api private
89
+ #
90
+ # @return [Boolean]
91
+ protected def nilable? = @nilable
92
+
93
+ # @api private
94
+ #
95
+ # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Type::Converter, Class]
96
+ #
97
+ # @param spec [Hash{Symbol=>Object}] .
98
+ #
99
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
100
+ #
101
+ # @option spec [Proc] :enum
102
+ #
103
+ # @option spec [Proc] :union
104
+ #
105
+ # @option spec [Boolean] :"nil?"
106
+ def initialize(type_info, spec = {})
107
+ @item_type_fn = Lithic::Type::Converter.type_info(type_info || spec)
108
+ @nilable = spec[:nil?]
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,357 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Type
5
+ # @abstract
6
+ #
7
+ # @example
8
+ # # `address` is a `Lithic::Models::Address`
9
+ # address => {
10
+ # address1: address1,
11
+ # city: city,
12
+ # country: country
13
+ # }
14
+ class BaseModel
15
+ extend Lithic::Type::Converter
16
+
17
+ class << self
18
+ # @api private
19
+ #
20
+ # Assumes superclass fields are totally defined before fields are accessed /
21
+ # defined on subclasses.
22
+ #
23
+ # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
24
+ def known_fields
25
+ @known_fields ||= (self < Lithic::BaseModel ? superclass.known_fields.dup : {})
26
+ end
27
+
28
+ # @api private
29
+ #
30
+ # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
31
+ def fields
32
+ known_fields.transform_values do |field|
33
+ {**field.except(:type_fn), type: field.fetch(:type_fn).call}
34
+ end
35
+ end
36
+
37
+ # @api private
38
+ #
39
+ # @param name_sym [Symbol]
40
+ #
41
+ # @param required [Boolean]
42
+ #
43
+ # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Type::Converter, Class]
44
+ #
45
+ # @param spec [Hash{Symbol=>Object}] .
46
+ #
47
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
48
+ #
49
+ # @option spec [Proc] :enum
50
+ #
51
+ # @option spec [Proc] :union
52
+ #
53
+ # @option spec [Boolean] :"nil?"
54
+ private def add_field(name_sym, required:, type_info:, spec:)
55
+ type_fn, info =
56
+ case type_info
57
+ in Proc | Lithic::Type::Converter | Class
58
+ [Lithic::Type::Converter.type_info({**spec, union: type_info}), spec]
59
+ in Hash
60
+ [Lithic::Type::Converter.type_info(type_info), type_info]
61
+ end
62
+
63
+ setter = "#{name_sym}="
64
+ api_name = info.fetch(:api_name, name_sym)
65
+ nilable = info[:nil?]
66
+ const = required && !nilable ? info.fetch(:const, Lithic::Util::OMIT) : Lithic::Util::OMIT
67
+
68
+ [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym)
69
+
70
+ known_fields[name_sym] =
71
+ {
72
+ mode: @mode,
73
+ api_name: api_name,
74
+ required: required,
75
+ nilable: nilable,
76
+ const: const,
77
+ type_fn: type_fn
78
+ }
79
+
80
+ define_method(setter) { @data.store(name_sym, _1) }
81
+
82
+ define_method(name_sym) do
83
+ target = type_fn.call
84
+ value = @data.fetch(name_sym) { const == Lithic::Util::OMIT ? nil : const }
85
+ state = {strictness: :strong, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
86
+ if (nilable || !required) && value.nil?
87
+ nil
88
+ else
89
+ Lithic::Type::Converter.coerce(
90
+ target,
91
+ value,
92
+ state: state
93
+ )
94
+ end
95
+ rescue StandardError
96
+ cls = self.class.name.split("::").last
97
+ # rubocop:disable Layout/LineLength
98
+ message = "Failed to parse #{cls}.#{__method__} from #{value.class} to #{target.inspect}. To get the unparsed API response, use #{cls}[:#{__method__}]."
99
+ # rubocop:enable Layout/LineLength
100
+ raise Lithic::ConversionError.new(message)
101
+ end
102
+ end
103
+
104
+ # @api private
105
+ #
106
+ # @param name_sym [Symbol]
107
+ #
108
+ # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Type::Converter, Class]
109
+ #
110
+ # @param spec [Hash{Symbol=>Object}] .
111
+ #
112
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
113
+ #
114
+ # @option spec [Proc] :enum
115
+ #
116
+ # @option spec [Proc] :union
117
+ #
118
+ # @option spec [Boolean] :"nil?"
119
+ def required(name_sym, type_info, spec = {})
120
+ add_field(name_sym, required: true, type_info: type_info, spec: spec)
121
+ end
122
+
123
+ # @api private
124
+ #
125
+ # @param name_sym [Symbol]
126
+ #
127
+ # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Type::Converter, Class]
128
+ #
129
+ # @param spec [Hash{Symbol=>Object}] .
130
+ #
131
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
132
+ #
133
+ # @option spec [Proc] :enum
134
+ #
135
+ # @option spec [Proc] :union
136
+ #
137
+ # @option spec [Boolean] :"nil?"
138
+ def optional(name_sym, type_info, spec = {})
139
+ add_field(name_sym, required: false, type_info: type_info, spec: spec)
140
+ end
141
+
142
+ # @api private
143
+ #
144
+ # `request_only` attributes not excluded from `.#coerce` when receiving responses
145
+ # even if well behaved servers should not send them
146
+ #
147
+ # @param blk [Proc]
148
+ private def request_only(&blk)
149
+ @mode = :dump
150
+ blk.call
151
+ ensure
152
+ @mode = nil
153
+ end
154
+
155
+ # @api private
156
+ #
157
+ # `response_only` attributes are omitted from `.#dump` when making requests
158
+ #
159
+ # @param blk [Proc]
160
+ private def response_only(&blk)
161
+ @mode = :coerce
162
+ blk.call
163
+ ensure
164
+ @mode = nil
165
+ end
166
+
167
+ # @param other [Object]
168
+ #
169
+ # @return [Boolean]
170
+ def ==(other) = other.is_a?(Class) && other <= Lithic::BaseModel && other.fields == fields
171
+ end
172
+
173
+ # @param other [Object]
174
+ #
175
+ # @return [Boolean]
176
+ def ==(other) = self.class == other.class && @data == other.to_h
177
+
178
+ class << self
179
+ # @api private
180
+ #
181
+ # @param value [Lithic::BaseModel, Hash{Object=>Object}, Object]
182
+ #
183
+ # @param state [Hash{Symbol=>Object}] .
184
+ #
185
+ # @option state [Boolean, :strong] :strictness
186
+ #
187
+ # @option state [Hash{Symbol=>Object}] :exactness
188
+ #
189
+ # @option state [Integer] :branched
190
+ #
191
+ # @return [Lithic::BaseModel, Object]
192
+ def coerce(value, state:)
193
+ exactness = state.fetch(:exactness)
194
+
195
+ if value.is_a?(self.class)
196
+ exactness[:yes] += 1
197
+ return value
198
+ end
199
+
200
+ unless (val = Lithic::Util.coerce_hash(value)).is_a?(Hash)
201
+ exactness[:no] += 1
202
+ return value
203
+ end
204
+ exactness[:yes] += 1
205
+
206
+ keys = val.keys.to_set
207
+ instance = new
208
+ data = instance.to_h
209
+
210
+ # rubocop:disable Metrics/BlockLength
211
+ fields.each do |name, field|
212
+ mode, required, target = field.fetch_values(:mode, :required, :type)
213
+ api_name, nilable, const = field.fetch_values(:api_name, :nilable, :const)
214
+
215
+ unless val.key?(api_name)
216
+ if required && mode != :dump && const == Lithic::Util::OMIT
217
+ exactness[nilable ? :maybe : :no] += 1
218
+ else
219
+ exactness[:yes] += 1
220
+ end
221
+ next
222
+ end
223
+
224
+ item = val.fetch(api_name)
225
+ keys.delete(api_name)
226
+
227
+ converted =
228
+ if item.nil? && (nilable || !required)
229
+ exactness[nilable ? :yes : :maybe] += 1
230
+ nil
231
+ else
232
+ coerced = Lithic::Type::Converter.coerce(target, item, state: state)
233
+ case target
234
+ in Lithic::Type::Converter | Symbol
235
+ coerced
236
+ else
237
+ item
238
+ end
239
+ end
240
+ data.store(name, converted)
241
+ end
242
+ # rubocop:enable Metrics/BlockLength
243
+
244
+ keys.each { data.store(_1, val.fetch(_1)) }
245
+ instance
246
+ end
247
+
248
+ # @api private
249
+ #
250
+ # @param value [Lithic::BaseModel, Object]
251
+ #
252
+ # @return [Hash{Object=>Object}, Object]
253
+ def dump(value)
254
+ unless (coerced = Lithic::Util.coerce_hash(value)).is_a?(Hash)
255
+ return super
256
+ end
257
+
258
+ acc = {}
259
+
260
+ coerced.each do |key, val|
261
+ name = key.is_a?(String) ? key.to_sym : key
262
+ case (field = known_fields[name])
263
+ in nil
264
+ acc.store(name, super(val))
265
+ else
266
+ mode, api_name, type_fn = field.fetch_values(:mode, :api_name, :type_fn)
267
+ case mode
268
+ in :coerce
269
+ next
270
+ else
271
+ target = type_fn.call
272
+ acc.store(api_name, Lithic::Type::Converter.dump(target, val))
273
+ end
274
+ end
275
+ end
276
+
277
+ known_fields.each_value do |field|
278
+ mode, api_name, const = field.fetch_values(:mode, :api_name, :const)
279
+ next if mode == :coerce || acc.key?(api_name) || const == Lithic::Util::OMIT
280
+ acc.store(api_name, const)
281
+ end
282
+
283
+ acc
284
+ end
285
+ end
286
+
287
+ # Returns the raw value associated with the given key, if found. Otherwise, nil is
288
+ # returned.
289
+ #
290
+ # It is valid to lookup keys that are not in the API spec, for example to access
291
+ # undocumented features. This method does not parse response data into
292
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
293
+ #
294
+ # @param key [Symbol]
295
+ #
296
+ # @return [Object, nil]
297
+ def [](key)
298
+ unless key.instance_of?(Symbol)
299
+ raise ArgumentError.new("Expected symbol key for lookup, got #{key.inspect}")
300
+ end
301
+
302
+ @data[key]
303
+ end
304
+
305
+ # Returns a Hash of the data underlying this object. O(1)
306
+ #
307
+ # Keys are Symbols and values are the raw values from the response. The return
308
+ # value indicates which values were ever set on the object. i.e. there will be a
309
+ # key in this hash if they ever were, even if the set value was nil.
310
+ #
311
+ # This method is not recursive. The returned value is shared by the object, so it
312
+ # should not be mutated.
313
+ #
314
+ # @return [Hash{Symbol=>Object}]
315
+ def to_h = @data
316
+
317
+ alias_method :to_hash, :to_h
318
+
319
+ # @param keys [Array<Symbol>, nil]
320
+ #
321
+ # @return [Hash{Symbol=>Object}]
322
+ def deconstruct_keys(keys)
323
+ (keys || self.class.known_fields.keys)
324
+ .filter_map do |k|
325
+ unless self.class.known_fields.key?(k)
326
+ next
327
+ end
328
+
329
+ [k, public_send(k)]
330
+ end
331
+ .to_h
332
+ end
333
+
334
+ # Create a new instance of a model.
335
+ #
336
+ # @param data [Hash{Symbol=>Object}, Lithic::BaseModel]
337
+ def initialize(data = {})
338
+ case Lithic::Util.coerce_hash(data)
339
+ in Hash => coerced
340
+ @data = coerced
341
+ else
342
+ raise ArgumentError.new("Expected a #{Hash} or #{Lithic::BaseModel}, got #{data.inspect}")
343
+ end
344
+ end
345
+
346
+ # @return [String]
347
+ def inspect
348
+ rows = self.class.known_fields.keys.map do
349
+ "#{_1}=#{@data.key?(_1) ? public_send(_1) : ''}"
350
+ rescue Lithic::ConversionError
351
+ "#{_1}=#{@data.fetch(_1)}"
352
+ end
353
+ "#<#{self.class.name}:0x#{object_id.to_s(16)} #{rows.join(' ')}>"
354
+ end
355
+ end
356
+ end
357
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Type
5
+ # @example
6
+ # if page.has_next?
7
+ # page = page.next_page
8
+ # end
9
+ #
10
+ # @example
11
+ # page.auto_paging_each do |client|
12
+ # puts(client)
13
+ # end
14
+ #
15
+ # @example
16
+ # clients =
17
+ # page
18
+ # .to_enum
19
+ # .lazy
20
+ # .select { _1.object_id.even? }
21
+ # .map(&:itself)
22
+ # .take(2)
23
+ # .to_a
24
+ #
25
+ # clients => Array
26
+ module BasePage
27
+ # rubocop:disable Lint/UnusedMethodArgument
28
+
29
+ # @return [Boolean]
30
+ def next_page? = (raise NotImplementedError)
31
+
32
+ # @raise [Lithic::APIError]
33
+ # @return [Lithic::Type::BasePage]
34
+ def next_page = (raise NotImplementedError)
35
+
36
+ # @param blk [Proc]
37
+ #
38
+ # @return [void]
39
+ def auto_paging_each(&blk) = (raise NotImplementedError)
40
+
41
+ # @return [Enumerable]
42
+ def to_enum = super(:auto_paging_each)
43
+
44
+ alias_method :enum_for, :to_enum
45
+
46
+ # @api private
47
+ #
48
+ # @param client [Lithic::Transport::BaseClient]
49
+ # @param req [Hash{Symbol=>Object}]
50
+ # @param headers [Hash{String=>String}, Net::HTTPHeader]
51
+ # @param page_data [Object]
52
+ def initialize(client:, req:, headers:, page_data:)
53
+ @client = client
54
+ @req = req
55
+ super()
56
+ end
57
+
58
+ # rubocop:enable Lint/UnusedMethodArgument
59
+ end
60
+ end
61
+ end