@spare-technologies/spare-api 1.0.0-beta.10

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 (987) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +423 -0
  3. package/dist/BaseClient.d.ts +50 -0
  4. package/dist/BaseClient.d.ts.map +1 -0
  5. package/dist/BaseClient.js +41 -0
  6. package/dist/BaseClient.js.map +1 -0
  7. package/dist/Client.d.ts +60 -0
  8. package/dist/Client.d.ts.map +1 -0
  9. package/dist/Client.js +77 -0
  10. package/dist/Client.js.map +1 -0
  11. package/dist/api/index.d.ts +3 -0
  12. package/dist/api/index.d.ts.map +1 -0
  13. package/dist/api/index.js +3 -0
  14. package/dist/api/index.js.map +1 -0
  15. package/dist/api/resources/auth/client/Client.d.ts +77 -0
  16. package/dist/api/resources/auth/client/Client.d.ts.map +1 -0
  17. package/dist/api/resources/auth/client/Client.js +221 -0
  18. package/dist/api/resources/auth/client/Client.js.map +1 -0
  19. package/dist/api/resources/auth/client/index.d.ts +2 -0
  20. package/dist/api/resources/auth/client/index.d.ts.map +1 -0
  21. package/dist/api/resources/auth/client/index.js +2 -0
  22. package/dist/api/resources/auth/client/index.js.map +1 -0
  23. package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.d.ts +14 -0
  24. package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.d.ts.map +1 -0
  25. package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.js +3 -0
  26. package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.js.map +1 -0
  27. package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.d.ts +10 -0
  28. package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.d.ts.map +1 -0
  29. package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.js +3 -0
  30. package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.js.map +1 -0
  31. package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.d.ts +10 -0
  32. package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.d.ts.map +1 -0
  33. package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.js +3 -0
  34. package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.js.map +1 -0
  35. package/dist/api/resources/auth/client/requests/index.d.ts +4 -0
  36. package/dist/api/resources/auth/client/requests/index.d.ts.map +1 -0
  37. package/dist/api/resources/auth/client/requests/index.js +2 -0
  38. package/dist/api/resources/auth/client/requests/index.js.map +1 -0
  39. package/dist/api/resources/auth/exports.d.ts +3 -0
  40. package/dist/api/resources/auth/exports.d.ts.map +1 -0
  41. package/dist/api/resources/auth/exports.js +4 -0
  42. package/dist/api/resources/auth/exports.js.map +1 -0
  43. package/dist/api/resources/auth/index.d.ts +3 -0
  44. package/dist/api/resources/auth/index.d.ts.map +1 -0
  45. package/dist/api/resources/auth/index.js +3 -0
  46. package/dist/api/resources/auth/index.js.map +1 -0
  47. package/dist/api/resources/auth/types/AuthenticateAuthResponse.d.ts +14 -0
  48. package/dist/api/resources/auth/types/AuthenticateAuthResponse.d.ts.map +1 -0
  49. package/dist/api/resources/auth/types/AuthenticateAuthResponse.js +8 -0
  50. package/dist/api/resources/auth/types/AuthenticateAuthResponse.js.map +1 -0
  51. package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.d.ts +5 -0
  52. package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.d.ts.map +1 -0
  53. package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.js +3 -0
  54. package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.js.map +1 -0
  55. package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.d.ts +5 -0
  56. package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.d.ts.map +1 -0
  57. package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.js +3 -0
  58. package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.js.map +1 -0
  59. package/dist/api/resources/auth/types/RefreshSessionAuthResponse.d.ts +14 -0
  60. package/dist/api/resources/auth/types/RefreshSessionAuthResponse.d.ts.map +1 -0
  61. package/dist/api/resources/auth/types/RefreshSessionAuthResponse.js +8 -0
  62. package/dist/api/resources/auth/types/RefreshSessionAuthResponse.js.map +1 -0
  63. package/dist/api/resources/auth/types/index.d.ts +5 -0
  64. package/dist/api/resources/auth/types/index.d.ts.map +1 -0
  65. package/dist/api/resources/auth/types/index.js +5 -0
  66. package/dist/api/resources/auth/types/index.js.map +1 -0
  67. package/dist/api/resources/bankAccounts/client/Client.d.ts +89 -0
  68. package/dist/api/resources/bankAccounts/client/Client.d.ts.map +1 -0
  69. package/dist/api/resources/bankAccounts/client/Client.js +325 -0
  70. package/dist/api/resources/bankAccounts/client/Client.js.map +1 -0
  71. package/dist/api/resources/bankAccounts/client/index.d.ts +2 -0
  72. package/dist/api/resources/bankAccounts/client/index.d.ts.map +1 -0
  73. package/dist/api/resources/bankAccounts/client/index.js +2 -0
  74. package/dist/api/resources/bankAccounts/client/index.js.map +1 -0
  75. package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.d.ts +38 -0
  76. package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.d.ts.map +1 -0
  77. package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.js +3 -0
  78. package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.js.map +1 -0
  79. package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.d.ts +12 -0
  80. package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.d.ts.map +1 -0
  81. package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.js +3 -0
  82. package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.js.map +1 -0
  83. package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.d.ts +12 -0
  84. package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.d.ts.map +1 -0
  85. package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.js +3 -0
  86. package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.js.map +1 -0
  87. package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.d.ts +10 -0
  88. package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.d.ts.map +1 -0
  89. package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.js +3 -0
  90. package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.js.map +1 -0
  91. package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.d.ts +12 -0
  92. package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.d.ts.map +1 -0
  93. package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.js +3 -0
  94. package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.js.map +1 -0
  95. package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.d.ts +12 -0
  96. package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.d.ts.map +1 -0
  97. package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.js +3 -0
  98. package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.js.map +1 -0
  99. package/dist/api/resources/bankAccounts/client/requests/index.d.ts +7 -0
  100. package/dist/api/resources/bankAccounts/client/requests/index.d.ts.map +1 -0
  101. package/dist/api/resources/bankAccounts/client/requests/index.js +2 -0
  102. package/dist/api/resources/bankAccounts/client/requests/index.js.map +1 -0
  103. package/dist/api/resources/bankAccounts/exports.d.ts +3 -0
  104. package/dist/api/resources/bankAccounts/exports.d.ts.map +1 -0
  105. package/dist/api/resources/bankAccounts/exports.js +4 -0
  106. package/dist/api/resources/bankAccounts/exports.js.map +1 -0
  107. package/dist/api/resources/bankAccounts/index.d.ts +3 -0
  108. package/dist/api/resources/bankAccounts/index.d.ts.map +1 -0
  109. package/dist/api/resources/bankAccounts/index.js +3 -0
  110. package/dist/api/resources/bankAccounts/index.js.map +1 -0
  111. package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.d.ts +7 -0
  112. package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.d.ts.map +1 -0
  113. package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.js +3 -0
  114. package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.js.map +1 -0
  115. package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.d.ts +7 -0
  116. package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.d.ts.map +1 -0
  117. package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.js +3 -0
  118. package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.js.map +1 -0
  119. package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.d.ts +7 -0
  120. package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.d.ts.map +1 -0
  121. package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.js +3 -0
  122. package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.js.map +1 -0
  123. package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.d.ts +8 -0
  124. package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.d.ts.map +1 -0
  125. package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.js +3 -0
  126. package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.js.map +1 -0
  127. package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.d.ts +7 -0
  128. package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.d.ts.map +1 -0
  129. package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.js +3 -0
  130. package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.js.map +1 -0
  131. package/dist/api/resources/bankAccounts/types/index.d.ts +6 -0
  132. package/dist/api/resources/bankAccounts/types/index.d.ts.map +1 -0
  133. package/dist/api/resources/bankAccounts/types/index.js +6 -0
  134. package/dist/api/resources/bankAccounts/types/index.js.map +1 -0
  135. package/dist/api/resources/index.d.ts +34 -0
  136. package/dist/api/resources/index.d.ts.map +1 -0
  137. package/dist/api/resources/index.js +34 -0
  138. package/dist/api/resources/index.js.map +1 -0
  139. package/dist/api/resources/link/client/Client.d.ts +57 -0
  140. package/dist/api/resources/link/client/Client.d.ts.map +1 -0
  141. package/dist/api/resources/link/client/Client.js +139 -0
  142. package/dist/api/resources/link/client/Client.js.map +1 -0
  143. package/dist/api/resources/link/client/index.d.ts +2 -0
  144. package/dist/api/resources/link/client/index.d.ts.map +1 -0
  145. package/dist/api/resources/link/client/index.js +2 -0
  146. package/dist/api/resources/link/client/index.js.map +1 -0
  147. package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.d.ts +26 -0
  148. package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.d.ts.map +1 -0
  149. package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.js +3 -0
  150. package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.js.map +1 -0
  151. package/dist/api/resources/link/client/requests/ExchangeLinkRequest.d.ts +10 -0
  152. package/dist/api/resources/link/client/requests/ExchangeLinkRequest.d.ts.map +1 -0
  153. package/dist/api/resources/link/client/requests/ExchangeLinkRequest.js +3 -0
  154. package/dist/api/resources/link/client/requests/ExchangeLinkRequest.js.map +1 -0
  155. package/dist/api/resources/link/client/requests/index.d.ts +3 -0
  156. package/dist/api/resources/link/client/requests/index.d.ts.map +1 -0
  157. package/dist/api/resources/link/client/requests/index.js +2 -0
  158. package/dist/api/resources/link/client/requests/index.js.map +1 -0
  159. package/dist/api/resources/link/exports.d.ts +3 -0
  160. package/dist/api/resources/link/exports.d.ts.map +1 -0
  161. package/dist/api/resources/link/exports.js +4 -0
  162. package/dist/api/resources/link/exports.js.map +1 -0
  163. package/dist/api/resources/link/index.d.ts +3 -0
  164. package/dist/api/resources/link/index.d.ts.map +1 -0
  165. package/dist/api/resources/link/index.js +3 -0
  166. package/dist/api/resources/link/index.js.map +1 -0
  167. package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.d.ts +7 -0
  168. package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.d.ts.map +1 -0
  169. package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.js +3 -0
  170. package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.js.map +1 -0
  171. package/dist/api/resources/link/types/ExchangeLinkResponse.d.ts +7 -0
  172. package/dist/api/resources/link/types/ExchangeLinkResponse.d.ts.map +1 -0
  173. package/dist/api/resources/link/types/ExchangeLinkResponse.js +3 -0
  174. package/dist/api/resources/link/types/ExchangeLinkResponse.js.map +1 -0
  175. package/dist/api/resources/link/types/index.d.ts +3 -0
  176. package/dist/api/resources/link/types/index.d.ts.map +1 -0
  177. package/dist/api/resources/link/types/index.js +3 -0
  178. package/dist/api/resources/link/types/index.js.map +1 -0
  179. package/dist/api/resources/mandates/client/Client.d.ts +55 -0
  180. package/dist/api/resources/mandates/client/Client.d.ts.map +1 -0
  181. package/dist/api/resources/mandates/client/Client.js +175 -0
  182. package/dist/api/resources/mandates/client/Client.js.map +1 -0
  183. package/dist/api/resources/mandates/client/index.d.ts +2 -0
  184. package/dist/api/resources/mandates/client/index.d.ts.map +1 -0
  185. package/dist/api/resources/mandates/client/index.js +2 -0
  186. package/dist/api/resources/mandates/client/index.js.map +1 -0
  187. package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.d.ts +18 -0
  188. package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.d.ts.map +1 -0
  189. package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.js +3 -0
  190. package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.js.map +1 -0
  191. package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.d.ts +12 -0
  192. package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.d.ts.map +1 -0
  193. package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.js +3 -0
  194. package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.js.map +1 -0
  195. package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.d.ts +22 -0
  196. package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.d.ts.map +1 -0
  197. package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.js +3 -0
  198. package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.js.map +1 -0
  199. package/dist/api/resources/mandates/client/requests/index.d.ts +4 -0
  200. package/dist/api/resources/mandates/client/requests/index.d.ts.map +1 -0
  201. package/dist/api/resources/mandates/client/requests/index.js +2 -0
  202. package/dist/api/resources/mandates/client/requests/index.js.map +1 -0
  203. package/dist/api/resources/mandates/exports.d.ts +3 -0
  204. package/dist/api/resources/mandates/exports.d.ts.map +1 -0
  205. package/dist/api/resources/mandates/exports.js +4 -0
  206. package/dist/api/resources/mandates/exports.js.map +1 -0
  207. package/dist/api/resources/mandates/index.d.ts +3 -0
  208. package/dist/api/resources/mandates/index.d.ts.map +1 -0
  209. package/dist/api/resources/mandates/index.js +3 -0
  210. package/dist/api/resources/mandates/index.js.map +1 -0
  211. package/dist/api/resources/mandates/types/ApproveMandatesResponse.d.ts +7 -0
  212. package/dist/api/resources/mandates/types/ApproveMandatesResponse.d.ts.map +1 -0
  213. package/dist/api/resources/mandates/types/ApproveMandatesResponse.js +3 -0
  214. package/dist/api/resources/mandates/types/ApproveMandatesResponse.js.map +1 -0
  215. package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.d.ts +7 -0
  216. package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.d.ts.map +1 -0
  217. package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.js +3 -0
  218. package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.js.map +1 -0
  219. package/dist/api/resources/mandates/types/ScheduleMandatesResponse.d.ts +7 -0
  220. package/dist/api/resources/mandates/types/ScheduleMandatesResponse.d.ts.map +1 -0
  221. package/dist/api/resources/mandates/types/ScheduleMandatesResponse.js +3 -0
  222. package/dist/api/resources/mandates/types/ScheduleMandatesResponse.js.map +1 -0
  223. package/dist/api/resources/mandates/types/index.d.ts +4 -0
  224. package/dist/api/resources/mandates/types/index.d.ts.map +1 -0
  225. package/dist/api/resources/mandates/types/index.js +4 -0
  226. package/dist/api/resources/mandates/types/index.js.map +1 -0
  227. package/dist/api/resources/paymentConsents/client/Client.d.ts +62 -0
  228. package/dist/api/resources/paymentConsents/client/Client.d.ts.map +1 -0
  229. package/dist/api/resources/paymentConsents/client/Client.js +229 -0
  230. package/dist/api/resources/paymentConsents/client/Client.js.map +1 -0
  231. package/dist/api/resources/paymentConsents/client/index.d.ts +2 -0
  232. package/dist/api/resources/paymentConsents/client/index.d.ts.map +1 -0
  233. package/dist/api/resources/paymentConsents/client/index.js +2 -0
  234. package/dist/api/resources/paymentConsents/client/index.js.map +1 -0
  235. package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.d.ts +12 -0
  236. package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.d.ts.map +1 -0
  237. package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.js +3 -0
  238. package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.js.map +1 -0
  239. package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.d.ts +15 -0
  240. package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.d.ts.map +1 -0
  241. package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.js +3 -0
  242. package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.js.map +1 -0
  243. package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.d.ts +11 -0
  244. package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.d.ts.map +1 -0
  245. package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.js +3 -0
  246. package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.js.map +1 -0
  247. package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.d.ts +14 -0
  248. package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.d.ts.map +1 -0
  249. package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.js +3 -0
  250. package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.js.map +1 -0
  251. package/dist/api/resources/paymentConsents/client/requests/index.d.ts +5 -0
  252. package/dist/api/resources/paymentConsents/client/requests/index.d.ts.map +1 -0
  253. package/dist/api/resources/paymentConsents/client/requests/index.js +2 -0
  254. package/dist/api/resources/paymentConsents/client/requests/index.js.map +1 -0
  255. package/dist/api/resources/paymentConsents/exports.d.ts +3 -0
  256. package/dist/api/resources/paymentConsents/exports.d.ts.map +1 -0
  257. package/dist/api/resources/paymentConsents/exports.js +4 -0
  258. package/dist/api/resources/paymentConsents/exports.js.map +1 -0
  259. package/dist/api/resources/paymentConsents/index.d.ts +3 -0
  260. package/dist/api/resources/paymentConsents/index.d.ts.map +1 -0
  261. package/dist/api/resources/paymentConsents/index.js +3 -0
  262. package/dist/api/resources/paymentConsents/index.js.map +1 -0
  263. package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.d.ts +7 -0
  264. package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.d.ts.map +1 -0
  265. package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.js +3 -0
  266. package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.js.map +1 -0
  267. package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.d.ts +8 -0
  268. package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.d.ts.map +1 -0
  269. package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.js +3 -0
  270. package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.js.map +1 -0
  271. package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.d.ts +7 -0
  272. package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.d.ts.map +1 -0
  273. package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.js +3 -0
  274. package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.js.map +1 -0
  275. package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.d.ts +7 -0
  276. package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.d.ts.map +1 -0
  277. package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.js +3 -0
  278. package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.js.map +1 -0
  279. package/dist/api/resources/paymentConsents/types/index.d.ts +5 -0
  280. package/dist/api/resources/paymentConsents/types/index.d.ts.map +1 -0
  281. package/dist/api/resources/paymentConsents/types/index.js +5 -0
  282. package/dist/api/resources/paymentConsents/types/index.js.map +1 -0
  283. package/dist/api/resources/paymentPurposeCodes/client/Client.d.ts +26 -0
  284. package/dist/api/resources/paymentPurposeCodes/client/Client.d.ts.map +1 -0
  285. package/dist/api/resources/paymentPurposeCodes/client/Client.js +78 -0
  286. package/dist/api/resources/paymentPurposeCodes/client/Client.js.map +1 -0
  287. package/dist/api/resources/paymentPurposeCodes/client/index.d.ts +2 -0
  288. package/dist/api/resources/paymentPurposeCodes/client/index.d.ts.map +1 -0
  289. package/dist/api/resources/paymentPurposeCodes/client/index.js +2 -0
  290. package/dist/api/resources/paymentPurposeCodes/client/index.js.map +1 -0
  291. package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.d.ts +12 -0
  292. package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.d.ts.map +1 -0
  293. package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.js +3 -0
  294. package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.js.map +1 -0
  295. package/dist/api/resources/paymentPurposeCodes/client/requests/index.d.ts +2 -0
  296. package/dist/api/resources/paymentPurposeCodes/client/requests/index.d.ts.map +1 -0
  297. package/dist/api/resources/paymentPurposeCodes/client/requests/index.js +2 -0
  298. package/dist/api/resources/paymentPurposeCodes/client/requests/index.js.map +1 -0
  299. package/dist/api/resources/paymentPurposeCodes/exports.d.ts +3 -0
  300. package/dist/api/resources/paymentPurposeCodes/exports.d.ts.map +1 -0
  301. package/dist/api/resources/paymentPurposeCodes/exports.js +4 -0
  302. package/dist/api/resources/paymentPurposeCodes/exports.js.map +1 -0
  303. package/dist/api/resources/paymentPurposeCodes/index.d.ts +3 -0
  304. package/dist/api/resources/paymentPurposeCodes/index.d.ts.map +1 -0
  305. package/dist/api/resources/paymentPurposeCodes/index.js +3 -0
  306. package/dist/api/resources/paymentPurposeCodes/index.js.map +1 -0
  307. package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.d.ts +7 -0
  308. package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.d.ts.map +1 -0
  309. package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.js +3 -0
  310. package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.js.map +1 -0
  311. package/dist/api/resources/paymentPurposeCodes/types/index.d.ts +2 -0
  312. package/dist/api/resources/paymentPurposeCodes/types/index.d.ts.map +1 -0
  313. package/dist/api/resources/paymentPurposeCodes/types/index.js +2 -0
  314. package/dist/api/resources/paymentPurposeCodes/types/index.js.map +1 -0
  315. package/dist/api/resources/paymentRequests/client/Client.d.ts +71 -0
  316. package/dist/api/resources/paymentRequests/client/Client.d.ts.map +1 -0
  317. package/dist/api/resources/paymentRequests/client/Client.js +231 -0
  318. package/dist/api/resources/paymentRequests/client/Client.js.map +1 -0
  319. package/dist/api/resources/paymentRequests/client/index.d.ts +2 -0
  320. package/dist/api/resources/paymentRequests/client/index.d.ts.map +1 -0
  321. package/dist/api/resources/paymentRequests/client/index.js +2 -0
  322. package/dist/api/resources/paymentRequests/client/index.js.map +1 -0
  323. package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.d.ts +47 -0
  324. package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.d.ts.map +1 -0
  325. package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.js +3 -0
  326. package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.js.map +1 -0
  327. package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.d.ts +12 -0
  328. package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.d.ts.map +1 -0
  329. package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.js +3 -0
  330. package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.js.map +1 -0
  331. package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.d.ts +12 -0
  332. package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.d.ts.map +1 -0
  333. package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.js +3 -0
  334. package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.js.map +1 -0
  335. package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.d.ts +13 -0
  336. package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.d.ts.map +1 -0
  337. package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.js +3 -0
  338. package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.js.map +1 -0
  339. package/dist/api/resources/paymentRequests/client/requests/index.d.ts +5 -0
  340. package/dist/api/resources/paymentRequests/client/requests/index.d.ts.map +1 -0
  341. package/dist/api/resources/paymentRequests/client/requests/index.js +2 -0
  342. package/dist/api/resources/paymentRequests/client/requests/index.js.map +1 -0
  343. package/dist/api/resources/paymentRequests/exports.d.ts +3 -0
  344. package/dist/api/resources/paymentRequests/exports.d.ts.map +1 -0
  345. package/dist/api/resources/paymentRequests/exports.js +4 -0
  346. package/dist/api/resources/paymentRequests/exports.js.map +1 -0
  347. package/dist/api/resources/paymentRequests/index.d.ts +3 -0
  348. package/dist/api/resources/paymentRequests/index.d.ts.map +1 -0
  349. package/dist/api/resources/paymentRequests/index.js +3 -0
  350. package/dist/api/resources/paymentRequests/index.js.map +1 -0
  351. package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.d.ts +7 -0
  352. package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.d.ts.map +1 -0
  353. package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.js +3 -0
  354. package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.js.map +1 -0
  355. package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.d.ts +7 -0
  356. package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.d.ts.map +1 -0
  357. package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.js +3 -0
  358. package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.js.map +1 -0
  359. package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.d.ts +8 -0
  360. package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.d.ts.map +1 -0
  361. package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.js +3 -0
  362. package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.js.map +1 -0
  363. package/dist/api/resources/paymentRequests/types/index.d.ts +4 -0
  364. package/dist/api/resources/paymentRequests/types/index.d.ts.map +1 -0
  365. package/dist/api/resources/paymentRequests/types/index.js +4 -0
  366. package/dist/api/resources/paymentRequests/types/index.js.map +1 -0
  367. package/dist/api/resources/payments/client/Client.d.ts +38 -0
  368. package/dist/api/resources/payments/client/Client.d.ts.map +1 -0
  369. package/dist/api/resources/payments/client/Client.js +122 -0
  370. package/dist/api/resources/payments/client/Client.js.map +1 -0
  371. package/dist/api/resources/payments/client/index.d.ts +2 -0
  372. package/dist/api/resources/payments/client/index.d.ts.map +1 -0
  373. package/dist/api/resources/payments/client/index.js +2 -0
  374. package/dist/api/resources/payments/client/index.js.map +1 -0
  375. package/dist/api/resources/payments/client/requests/GetPaymentsRequest.d.ts +12 -0
  376. package/dist/api/resources/payments/client/requests/GetPaymentsRequest.d.ts.map +1 -0
  377. package/dist/api/resources/payments/client/requests/GetPaymentsRequest.js +3 -0
  378. package/dist/api/resources/payments/client/requests/GetPaymentsRequest.js.map +1 -0
  379. package/dist/api/resources/payments/client/requests/ListPaymentsRequest.d.ts +13 -0
  380. package/dist/api/resources/payments/client/requests/ListPaymentsRequest.d.ts.map +1 -0
  381. package/dist/api/resources/payments/client/requests/ListPaymentsRequest.js +3 -0
  382. package/dist/api/resources/payments/client/requests/ListPaymentsRequest.js.map +1 -0
  383. package/dist/api/resources/payments/client/requests/index.d.ts +3 -0
  384. package/dist/api/resources/payments/client/requests/index.d.ts.map +1 -0
  385. package/dist/api/resources/payments/client/requests/index.js +2 -0
  386. package/dist/api/resources/payments/client/requests/index.js.map +1 -0
  387. package/dist/api/resources/payments/exports.d.ts +3 -0
  388. package/dist/api/resources/payments/exports.d.ts.map +1 -0
  389. package/dist/api/resources/payments/exports.js +4 -0
  390. package/dist/api/resources/payments/exports.js.map +1 -0
  391. package/dist/api/resources/payments/index.d.ts +3 -0
  392. package/dist/api/resources/payments/index.d.ts.map +1 -0
  393. package/dist/api/resources/payments/index.js +3 -0
  394. package/dist/api/resources/payments/index.js.map +1 -0
  395. package/dist/api/resources/payments/types/GetPaymentsResponse.d.ts +7 -0
  396. package/dist/api/resources/payments/types/GetPaymentsResponse.d.ts.map +1 -0
  397. package/dist/api/resources/payments/types/GetPaymentsResponse.js +3 -0
  398. package/dist/api/resources/payments/types/GetPaymentsResponse.js.map +1 -0
  399. package/dist/api/resources/payments/types/ListPaymentsResponse.d.ts +8 -0
  400. package/dist/api/resources/payments/types/ListPaymentsResponse.d.ts.map +1 -0
  401. package/dist/api/resources/payments/types/ListPaymentsResponse.js +3 -0
  402. package/dist/api/resources/payments/types/ListPaymentsResponse.js.map +1 -0
  403. package/dist/api/resources/payments/types/index.d.ts +3 -0
  404. package/dist/api/resources/payments/types/index.d.ts.map +1 -0
  405. package/dist/api/resources/payments/types/index.js +3 -0
  406. package/dist/api/resources/payments/types/index.js.map +1 -0
  407. package/dist/api/resources/providers/client/Client.d.ts +28 -0
  408. package/dist/api/resources/providers/client/Client.d.ts.map +1 -0
  409. package/dist/api/resources/providers/client/Client.js +76 -0
  410. package/dist/api/resources/providers/client/Client.js.map +1 -0
  411. package/dist/api/resources/providers/client/index.d.ts +2 -0
  412. package/dist/api/resources/providers/client/index.d.ts.map +1 -0
  413. package/dist/api/resources/providers/client/index.js +2 -0
  414. package/dist/api/resources/providers/client/index.js.map +1 -0
  415. package/dist/api/resources/providers/client/requests/ListProvidersRequest.d.ts +11 -0
  416. package/dist/api/resources/providers/client/requests/ListProvidersRequest.d.ts.map +1 -0
  417. package/dist/api/resources/providers/client/requests/ListProvidersRequest.js +3 -0
  418. package/dist/api/resources/providers/client/requests/ListProvidersRequest.js.map +1 -0
  419. package/dist/api/resources/providers/client/requests/index.d.ts +2 -0
  420. package/dist/api/resources/providers/client/requests/index.d.ts.map +1 -0
  421. package/dist/api/resources/providers/client/requests/index.js +2 -0
  422. package/dist/api/resources/providers/client/requests/index.js.map +1 -0
  423. package/dist/api/resources/providers/exports.d.ts +3 -0
  424. package/dist/api/resources/providers/exports.d.ts.map +1 -0
  425. package/dist/api/resources/providers/exports.js +4 -0
  426. package/dist/api/resources/providers/exports.js.map +1 -0
  427. package/dist/api/resources/providers/index.d.ts +3 -0
  428. package/dist/api/resources/providers/index.d.ts.map +1 -0
  429. package/dist/api/resources/providers/index.js +3 -0
  430. package/dist/api/resources/providers/index.js.map +1 -0
  431. package/dist/api/resources/providers/types/ListProvidersResponse.d.ts +7 -0
  432. package/dist/api/resources/providers/types/ListProvidersResponse.d.ts.map +1 -0
  433. package/dist/api/resources/providers/types/ListProvidersResponse.js +3 -0
  434. package/dist/api/resources/providers/types/ListProvidersResponse.js.map +1 -0
  435. package/dist/api/resources/providers/types/index.d.ts +2 -0
  436. package/dist/api/resources/providers/types/index.d.ts.map +1 -0
  437. package/dist/api/resources/providers/types/index.js +2 -0
  438. package/dist/api/resources/providers/types/index.js.map +1 -0
  439. package/dist/api/resources/savedDebtorAccounts/client/Client.d.ts +27 -0
  440. package/dist/api/resources/savedDebtorAccounts/client/Client.d.ts.map +1 -0
  441. package/dist/api/resources/savedDebtorAccounts/client/Client.js +80 -0
  442. package/dist/api/resources/savedDebtorAccounts/client/Client.js.map +1 -0
  443. package/dist/api/resources/savedDebtorAccounts/client/index.d.ts +2 -0
  444. package/dist/api/resources/savedDebtorAccounts/client/index.d.ts.map +1 -0
  445. package/dist/api/resources/savedDebtorAccounts/client/index.js +2 -0
  446. package/dist/api/resources/savedDebtorAccounts/client/index.js.map +1 -0
  447. package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.d.ts +15 -0
  448. package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.d.ts.map +1 -0
  449. package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.js +3 -0
  450. package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.js.map +1 -0
  451. package/dist/api/resources/savedDebtorAccounts/client/requests/index.d.ts +2 -0
  452. package/dist/api/resources/savedDebtorAccounts/client/requests/index.d.ts.map +1 -0
  453. package/dist/api/resources/savedDebtorAccounts/client/requests/index.js +2 -0
  454. package/dist/api/resources/savedDebtorAccounts/client/requests/index.js.map +1 -0
  455. package/dist/api/resources/savedDebtorAccounts/exports.d.ts +3 -0
  456. package/dist/api/resources/savedDebtorAccounts/exports.d.ts.map +1 -0
  457. package/dist/api/resources/savedDebtorAccounts/exports.js +4 -0
  458. package/dist/api/resources/savedDebtorAccounts/exports.js.map +1 -0
  459. package/dist/api/resources/savedDebtorAccounts/index.d.ts +3 -0
  460. package/dist/api/resources/savedDebtorAccounts/index.d.ts.map +1 -0
  461. package/dist/api/resources/savedDebtorAccounts/index.js +3 -0
  462. package/dist/api/resources/savedDebtorAccounts/index.js.map +1 -0
  463. package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.d.ts +8 -0
  464. package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.d.ts.map +1 -0
  465. package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.js +3 -0
  466. package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.js.map +1 -0
  467. package/dist/api/resources/savedDebtorAccounts/types/index.d.ts +2 -0
  468. package/dist/api/resources/savedDebtorAccounts/types/index.d.ts.map +1 -0
  469. package/dist/api/resources/savedDebtorAccounts/types/index.js +2 -0
  470. package/dist/api/resources/savedDebtorAccounts/types/index.js.map +1 -0
  471. package/dist/api/resources/verifications/client/Client.d.ts +27 -0
  472. package/dist/api/resources/verifications/client/Client.d.ts.map +1 -0
  473. package/dist/api/resources/verifications/client/Client.js +74 -0
  474. package/dist/api/resources/verifications/client/Client.js.map +1 -0
  475. package/dist/api/resources/verifications/client/index.d.ts +2 -0
  476. package/dist/api/resources/verifications/client/index.d.ts.map +1 -0
  477. package/dist/api/resources/verifications/client/index.js +2 -0
  478. package/dist/api/resources/verifications/client/index.js.map +1 -0
  479. package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.d.ts +14 -0
  480. package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.d.ts.map +1 -0
  481. package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.js +3 -0
  482. package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.js.map +1 -0
  483. package/dist/api/resources/verifications/client/requests/index.d.ts +2 -0
  484. package/dist/api/resources/verifications/client/requests/index.d.ts.map +1 -0
  485. package/dist/api/resources/verifications/client/requests/index.js +2 -0
  486. package/dist/api/resources/verifications/client/requests/index.js.map +1 -0
  487. package/dist/api/resources/verifications/exports.d.ts +3 -0
  488. package/dist/api/resources/verifications/exports.d.ts.map +1 -0
  489. package/dist/api/resources/verifications/exports.js +4 -0
  490. package/dist/api/resources/verifications/exports.js.map +1 -0
  491. package/dist/api/resources/verifications/index.d.ts +3 -0
  492. package/dist/api/resources/verifications/index.d.ts.map +1 -0
  493. package/dist/api/resources/verifications/index.js +3 -0
  494. package/dist/api/resources/verifications/index.js.map +1 -0
  495. package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.d.ts +7 -0
  496. package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.d.ts.map +1 -0
  497. package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.js +3 -0
  498. package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.js.map +1 -0
  499. package/dist/api/resources/verifications/types/index.d.ts +2 -0
  500. package/dist/api/resources/verifications/types/index.d.ts.map +1 -0
  501. package/dist/api/resources/verifications/types/index.js +2 -0
  502. package/dist/api/resources/verifications/types/index.js.map +1 -0
  503. package/dist/api/types/ApiError.d.ts +9 -0
  504. package/dist/api/types/ApiError.d.ts.map +1 -0
  505. package/dist/api/types/ApiError.js +3 -0
  506. package/dist/api/types/ApiError.js.map +1 -0
  507. package/dist/api/types/BankAccountIUaePaymentAccountDto.d.ts +7 -0
  508. package/dist/api/types/BankAccountIUaePaymentAccountDto.d.ts.map +1 -0
  509. package/dist/api/types/BankAccountIUaePaymentAccountDto.js +3 -0
  510. package/dist/api/types/BankAccountIUaePaymentAccountDto.js.map +1 -0
  511. package/dist/api/types/BaseIAdapterAccountModel.d.ts +10 -0
  512. package/dist/api/types/BaseIAdapterAccountModel.d.ts.map +1 -0
  513. package/dist/api/types/BaseIAdapterAccountModel.js +3 -0
  514. package/dist/api/types/BaseIAdapterAccountModel.js.map +1 -0
  515. package/dist/api/types/BaseIBahrainProviderListItem.d.ts +13 -0
  516. package/dist/api/types/BaseIBahrainProviderListItem.d.ts.map +1 -0
  517. package/dist/api/types/BaseIBahrainProviderListItem.js +3 -0
  518. package/dist/api/types/BaseIBahrainProviderListItem.js.map +1 -0
  519. package/dist/api/types/BaseIBankAccountRow.d.ts +12 -0
  520. package/dist/api/types/BaseIBankAccountRow.d.ts.map +1 -0
  521. package/dist/api/types/BaseIBankAccountRow.js +3 -0
  522. package/dist/api/types/BaseIBankAccountRow.js.map +1 -0
  523. package/dist/api/types/BaseIKsaProviderListItem.d.ts +13 -0
  524. package/dist/api/types/BaseIKsaProviderListItem.d.ts.map +1 -0
  525. package/dist/api/types/BaseIKsaProviderListItem.js +3 -0
  526. package/dist/api/types/BaseIKsaProviderListItem.js.map +1 -0
  527. package/dist/api/types/BaseIPaymentRequestRow.d.ts +48 -0
  528. package/dist/api/types/BaseIPaymentRequestRow.d.ts.map +1 -0
  529. package/dist/api/types/BaseIPaymentRequestRow.js +3 -0
  530. package/dist/api/types/BaseIPaymentRequestRow.js.map +1 -0
  531. package/dist/api/types/BaseIProviderCountryResponse.d.ts +12 -0
  532. package/dist/api/types/BaseIProviderCountryResponse.d.ts.map +1 -0
  533. package/dist/api/types/BaseIProviderCountryResponse.js +3 -0
  534. package/dist/api/types/BaseIProviderCountryResponse.js.map +1 -0
  535. package/dist/api/types/BaseISavedDebtorAccountDto.d.ts +18 -0
  536. package/dist/api/types/BaseISavedDebtorAccountDto.d.ts.map +1 -0
  537. package/dist/api/types/BaseISavedDebtorAccountDto.js +3 -0
  538. package/dist/api/types/BaseISavedDebtorAccountDto.js.map +1 -0
  539. package/dist/api/types/BaseIUaeProviderListItem.d.ts +10 -0
  540. package/dist/api/types/BaseIUaeProviderListItem.d.ts.map +1 -0
  541. package/dist/api/types/BaseIUaeProviderListItem.js +3 -0
  542. package/dist/api/types/BaseIUaeProviderListItem.js.map +1 -0
  543. package/dist/api/types/BaseTProviderListItem.d.ts +3 -0
  544. package/dist/api/types/BaseTProviderListItem.d.ts.map +1 -0
  545. package/dist/api/types/BaseTProviderListItem.js +3 -0
  546. package/dist/api/types/BaseTProviderListItem.js.map +1 -0
  547. package/dist/api/types/CommonIPurposeCodeModel.d.ts +6 -0
  548. package/dist/api/types/CommonIPurposeCodeModel.d.ts.map +1 -0
  549. package/dist/api/types/CommonIPurposeCodeModel.js +3 -0
  550. package/dist/api/types/CommonIPurposeCodeModel.js.map +1 -0
  551. package/dist/api/types/ConsentISyncConsentDetailsResponse.d.ts +11 -0
  552. package/dist/api/types/ConsentISyncConsentDetailsResponse.d.ts.map +1 -0
  553. package/dist/api/types/ConsentISyncConsentDetailsResponse.js +3 -0
  554. package/dist/api/types/ConsentISyncConsentDetailsResponse.js.map +1 -0
  555. package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.d.ts +7 -0
  556. package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.d.ts.map +1 -0
  557. package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.js +3 -0
  558. package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.js.map +1 -0
  559. package/dist/api/types/LinkILinkExchangeMultipaymentData.d.ts +12 -0
  560. package/dist/api/types/LinkILinkExchangeMultipaymentData.d.ts.map +1 -0
  561. package/dist/api/types/LinkILinkExchangeMultipaymentData.js +8 -0
  562. package/dist/api/types/LinkILinkExchangeMultipaymentData.js.map +1 -0
  563. package/dist/api/types/LinkILinkExchangeSipData.d.ts +13 -0
  564. package/dist/api/types/LinkILinkExchangeSipData.d.ts.map +1 -0
  565. package/dist/api/types/LinkILinkExchangeSipData.js +8 -0
  566. package/dist/api/types/LinkILinkExchangeSipData.js.map +1 -0
  567. package/dist/api/types/LinkTLinkExchangeResponseData.d.ts +11 -0
  568. package/dist/api/types/LinkTLinkExchangeResponseData.d.ts.map +1 -0
  569. package/dist/api/types/LinkTLinkExchangeResponseData.js +3 -0
  570. package/dist/api/types/LinkTLinkExchangeResponseData.js.map +1 -0
  571. package/dist/api/types/MandateIMandateTransactionResponse.d.ts +14 -0
  572. package/dist/api/types/MandateIMandateTransactionResponse.d.ts.map +1 -0
  573. package/dist/api/types/MandateIMandateTransactionResponse.js +3 -0
  574. package/dist/api/types/MandateIMandateTransactionResponse.js.map +1 -0
  575. package/dist/api/types/PaymentChargeBearerUae.d.ts +12 -0
  576. package/dist/api/types/PaymentChargeBearerUae.d.ts.map +1 -0
  577. package/dist/api/types/PaymentChargeBearerUae.js +12 -0
  578. package/dist/api/types/PaymentChargeBearerUae.js.map +1 -0
  579. package/dist/api/types/PaymentIAccountDto.d.ts +11 -0
  580. package/dist/api/types/PaymentIAccountDto.d.ts.map +1 -0
  581. package/dist/api/types/PaymentIAccountDto.js +3 -0
  582. package/dist/api/types/PaymentIAccountDto.js.map +1 -0
  583. package/dist/api/types/PaymentIAmountDtoUae.d.ts +8 -0
  584. package/dist/api/types/PaymentIAmountDtoUae.d.ts.map +1 -0
  585. package/dist/api/types/PaymentIAmountDtoUae.js +3 -0
  586. package/dist/api/types/PaymentIAmountDtoUae.js.map +1 -0
  587. package/dist/api/types/PaymentICopCreditorNamePartsUae.d.ts +6 -0
  588. package/dist/api/types/PaymentICopCreditorNamePartsUae.d.ts.map +1 -0
  589. package/dist/api/types/PaymentICopCreditorNamePartsUae.js +3 -0
  590. package/dist/api/types/PaymentICopCreditorNamePartsUae.js.map +1 -0
  591. package/dist/api/types/PaymentICurrencyRequestUae.d.ts +11 -0
  592. package/dist/api/types/PaymentICurrencyRequestUae.d.ts.map +1 -0
  593. package/dist/api/types/PaymentICurrencyRequestUae.js +3 -0
  594. package/dist/api/types/PaymentICurrencyRequestUae.js.map +1 -0
  595. package/dist/api/types/PaymentIDebtorAccountInputDto.d.ts +10 -0
  596. package/dist/api/types/PaymentIDebtorAccountInputDto.d.ts.map +1 -0
  597. package/dist/api/types/PaymentIDebtorAccountInputDto.js +3 -0
  598. package/dist/api/types/PaymentIDebtorAccountInputDto.js.map +1 -0
  599. package/dist/api/types/PaymentIExchangeRateInfoUae.d.ts +8 -0
  600. package/dist/api/types/PaymentIExchangeRateInfoUae.d.ts.map +1 -0
  601. package/dist/api/types/PaymentIExchangeRateInfoUae.js +3 -0
  602. package/dist/api/types/PaymentIExchangeRateInfoUae.js.map +1 -0
  603. package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.d.ts +28 -0
  604. package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.d.ts.map +1 -0
  605. package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.js +3 -0
  606. package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.js.map +1 -0
  607. package/dist/api/types/PaymentIObBankError.d.ts +8 -0
  608. package/dist/api/types/PaymentIObBankError.d.ts.map +1 -0
  609. package/dist/api/types/PaymentIObBankError.js +3 -0
  610. package/dist/api/types/PaymentIObBankError.js.map +1 -0
  611. package/dist/api/types/PaymentIObBankErrorItem.d.ts +7 -0
  612. package/dist/api/types/PaymentIObBankErrorItem.d.ts.map +1 -0
  613. package/dist/api/types/PaymentIObBankErrorItem.js +3 -0
  614. package/dist/api/types/PaymentIObBankErrorItem.js.map +1 -0
  615. package/dist/api/types/PaymentIObBankLinks.d.ts +5 -0
  616. package/dist/api/types/PaymentIObBankLinks.d.ts.map +1 -0
  617. package/dist/api/types/PaymentIObBankLinks.js +3 -0
  618. package/dist/api/types/PaymentIObBankLinks.js.map +1 -0
  619. package/dist/api/types/PaymentIObOpenFinanceBilling.d.ts +5 -0
  620. package/dist/api/types/PaymentIObOpenFinanceBilling.d.ts.map +1 -0
  621. package/dist/api/types/PaymentIObOpenFinanceBilling.js +3 -0
  622. package/dist/api/types/PaymentIObOpenFinanceBilling.js.map +1 -0
  623. package/dist/api/types/PaymentIObPaymentCharge.d.ts +12 -0
  624. package/dist/api/types/PaymentIObPaymentCharge.d.ts.map +1 -0
  625. package/dist/api/types/PaymentIObPaymentCharge.js +3 -0
  626. package/dist/api/types/PaymentIObPaymentCharge.js.map +1 -0
  627. package/dist/api/types/PaymentIObPaymentEnvelopeDto.d.ts +8 -0
  628. package/dist/api/types/PaymentIObPaymentEnvelopeDto.d.ts.map +1 -0
  629. package/dist/api/types/PaymentIObPaymentEnvelopeDto.js +3 -0
  630. package/dist/api/types/PaymentIObPaymentEnvelopeDto.js.map +1 -0
  631. package/dist/api/types/PaymentIObPaymentExchangeRate.d.ts +8 -0
  632. package/dist/api/types/PaymentIObPaymentExchangeRate.d.ts.map +1 -0
  633. package/dist/api/types/PaymentIObPaymentExchangeRate.js +3 -0
  634. package/dist/api/types/PaymentIObPaymentExchangeRate.js.map +1 -0
  635. package/dist/api/types/PaymentIObPaymentMessage.d.ts +15 -0
  636. package/dist/api/types/PaymentIObPaymentMessage.d.ts.map +1 -0
  637. package/dist/api/types/PaymentIObPaymentMessage.js +3 -0
  638. package/dist/api/types/PaymentIObPaymentMessage.js.map +1 -0
  639. package/dist/api/types/PaymentIObPaymentResponseData.d.ts +18 -0
  640. package/dist/api/types/PaymentIObPaymentResponseData.d.ts.map +1 -0
  641. package/dist/api/types/PaymentIObPaymentResponseData.js +3 -0
  642. package/dist/api/types/PaymentIObPaymentResponseData.js.map +1 -0
  643. package/dist/api/types/PaymentIObRejectReason.d.ts +5 -0
  644. package/dist/api/types/PaymentIObRejectReason.d.ts.map +1 -0
  645. package/dist/api/types/PaymentIObRejectReason.js +3 -0
  646. package/dist/api/types/PaymentIObRejectReason.js.map +1 -0
  647. package/dist/api/types/PaymentIObRequestMetadata.d.ts +10 -0
  648. package/dist/api/types/PaymentIObRequestMetadata.d.ts.map +1 -0
  649. package/dist/api/types/PaymentIObRequestMetadata.js +3 -0
  650. package/dist/api/types/PaymentIObRequestMetadata.js.map +1 -0
  651. package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.d.ts +10 -0
  652. package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.d.ts.map +1 -0
  653. package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.js +3 -0
  654. package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.js.map +1 -0
  655. package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.d.ts +10 -0
  656. package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.d.ts.map +1 -0
  657. package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.js +3 -0
  658. package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.js.map +1 -0
  659. package/dist/api/types/PaymentIPaymentInstructionsUae.d.ts +13 -0
  660. package/dist/api/types/PaymentIPaymentInstructionsUae.d.ts.map +1 -0
  661. package/dist/api/types/PaymentIPaymentInstructionsUae.js +3 -0
  662. package/dist/api/types/PaymentIPaymentInstructionsUae.js.map +1 -0
  663. package/dist/api/types/PaymentIPaymentPermissionsUae.d.ts +8 -0
  664. package/dist/api/types/PaymentIPaymentPermissionsUae.d.ts.map +1 -0
  665. package/dist/api/types/PaymentIPaymentPermissionsUae.js +3 -0
  666. package/dist/api/types/PaymentIPaymentPermissionsUae.js.map +1 -0
  667. package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.d.ts +8 -0
  668. package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.d.ts.map +1 -0
  669. package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.js +3 -0
  670. package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.js.map +1 -0
  671. package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.d.ts +10 -0
  672. package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.d.ts.map +1 -0
  673. package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.js +3 -0
  674. package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.js.map +1 -0
  675. package/dist/api/types/PaymentIPaymentRisks.d.ts +9 -0
  676. package/dist/api/types/PaymentIPaymentRisks.d.ts.map +1 -0
  677. package/dist/api/types/PaymentIPaymentRisks.js +3 -0
  678. package/dist/api/types/PaymentIPaymentRisks.js.map +1 -0
  679. package/dist/api/types/PaymentIPeriodicControlsUae.d.ts +9 -0
  680. package/dist/api/types/PaymentIPeriodicControlsUae.d.ts.map +1 -0
  681. package/dist/api/types/PaymentIPeriodicControlsUae.js +3 -0
  682. package/dist/api/types/PaymentIPeriodicControlsUae.js.map +1 -0
  683. package/dist/api/types/PaymentInstructionPriorityUae.d.ts +11 -0
  684. package/dist/api/types/PaymentInstructionPriorityUae.d.ts.map +1 -0
  685. package/dist/api/types/PaymentInstructionPriorityUae.js +11 -0
  686. package/dist/api/types/PaymentInstructionPriorityUae.js.map +1 -0
  687. package/dist/api/types/PaymentPeriodTypeUae.d.ts +13 -0
  688. package/dist/api/types/PaymentPeriodTypeUae.d.ts.map +1 -0
  689. package/dist/api/types/PaymentPeriodTypeUae.js +13 -0
  690. package/dist/api/types/PaymentPeriodTypeUae.js.map +1 -0
  691. package/dist/api/types/PaymentRateTypeUae.d.ts +12 -0
  692. package/dist/api/types/PaymentRateTypeUae.d.ts.map +1 -0
  693. package/dist/api/types/PaymentRateTypeUae.js +12 -0
  694. package/dist/api/types/PaymentRateTypeUae.js.map +1 -0
  695. package/dist/api/types/PaymentTPaymentRequestStatus.d.ts +11 -0
  696. package/dist/api/types/PaymentTPaymentRequestStatus.d.ts.map +1 -0
  697. package/dist/api/types/PaymentTPaymentRequestStatus.js +11 -0
  698. package/dist/api/types/PaymentTPaymentRequestStatus.js.map +1 -0
  699. package/dist/api/types/PaymentTPaymentType.d.ts +12 -0
  700. package/dist/api/types/PaymentTPaymentType.d.ts.map +1 -0
  701. package/dist/api/types/PaymentTPaymentType.js +12 -0
  702. package/dist/api/types/PaymentTPaymentType.js.map +1 -0
  703. package/dist/api/types/RequestICreatePaymentRequestInput.d.ts +21 -0
  704. package/dist/api/types/RequestICreatePaymentRequestInput.d.ts.map +1 -0
  705. package/dist/api/types/RequestICreatePaymentRequestInput.js +3 -0
  706. package/dist/api/types/RequestICreatePaymentRequestInput.js.map +1 -0
  707. package/dist/api/types/RequestTCreditorType.d.ts +7 -0
  708. package/dist/api/types/RequestTCreditorType.d.ts.map +1 -0
  709. package/dist/api/types/RequestTCreditorType.js +7 -0
  710. package/dist/api/types/RequestTCreditorType.js.map +1 -0
  711. package/dist/api/types/TypesICurrencyResponseModel.d.ts +8 -0
  712. package/dist/api/types/TypesICurrencyResponseModel.d.ts.map +1 -0
  713. package/dist/api/types/TypesICurrencyResponseModel.js +3 -0
  714. package/dist/api/types/TypesICurrencyResponseModel.js.map +1 -0
  715. package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.d.ts +24 -0
  716. package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.d.ts.map +1 -0
  717. package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.js +3 -0
  718. package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.js.map +1 -0
  719. package/dist/api/types/TypesIPagesModel.d.ts +6 -0
  720. package/dist/api/types/TypesIPagesModel.d.ts.map +1 -0
  721. package/dist/api/types/TypesIPagesModel.js +3 -0
  722. package/dist/api/types/TypesIPagesModel.js.map +1 -0
  723. package/dist/api/types/TypesIPaymentAccountModel.d.ts +8 -0
  724. package/dist/api/types/TypesIPaymentAccountModel.d.ts.map +1 -0
  725. package/dist/api/types/TypesIPaymentAccountModel.js +3 -0
  726. package/dist/api/types/TypesIPaymentAccountModel.js.map +1 -0
  727. package/dist/api/types/TypesIPaymentAmountResponseModel.d.ts +6 -0
  728. package/dist/api/types/TypesIPaymentAmountResponseModel.d.ts.map +1 -0
  729. package/dist/api/types/TypesIPaymentAmountResponseModel.js +3 -0
  730. package/dist/api/types/TypesIPaymentAmountResponseModel.js.map +1 -0
  731. package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.d.ts +9 -0
  732. package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.d.ts.map +1 -0
  733. package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.js +3 -0
  734. package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.js.map +1 -0
  735. package/dist/api/types/TypesIPaymentInitiationProviderModel.d.ts +12 -0
  736. package/dist/api/types/TypesIPaymentInitiationProviderModel.d.ts.map +1 -0
  737. package/dist/api/types/TypesIPaymentInitiationProviderModel.js +3 -0
  738. package/dist/api/types/TypesIPaymentInitiationProviderModel.js.map +1 -0
  739. package/dist/api/types/TypesTAccountIdentificationScheme.d.ts +6 -0
  740. package/dist/api/types/TypesTAccountIdentificationScheme.d.ts.map +1 -0
  741. package/dist/api/types/TypesTAccountIdentificationScheme.js +6 -0
  742. package/dist/api/types/TypesTAccountIdentificationScheme.js.map +1 -0
  743. package/dist/api/types/TypesTConnectionStatus.d.ts +6 -0
  744. package/dist/api/types/TypesTConnectionStatus.d.ts.map +1 -0
  745. package/dist/api/types/TypesTConnectionStatus.js +6 -0
  746. package/dist/api/types/TypesTConnectionStatus.js.map +1 -0
  747. package/dist/api/types/TypesTConsentPaymentType.d.ts +12 -0
  748. package/dist/api/types/TypesTConsentPaymentType.d.ts.map +1 -0
  749. package/dist/api/types/TypesTConsentPaymentType.js +12 -0
  750. package/dist/api/types/TypesTConsentPaymentType.js.map +1 -0
  751. package/dist/api/types/TypesTConsentScope.d.ts +6 -0
  752. package/dist/api/types/TypesTConsentScope.d.ts.map +1 -0
  753. package/dist/api/types/TypesTConsentScope.js +6 -0
  754. package/dist/api/types/TypesTConsentScope.js.map +1 -0
  755. package/dist/api/types/TypesTObConsentsStatus.d.ts +12 -0
  756. package/dist/api/types/TypesTObConsentsStatus.d.ts.map +1 -0
  757. package/dist/api/types/TypesTObConsentsStatus.js +12 -0
  758. package/dist/api/types/TypesTObConsentsStatus.js.map +1 -0
  759. package/dist/api/types/VerificationIBankModel.d.ts +7 -0
  760. package/dist/api/types/VerificationIBankModel.d.ts.map +1 -0
  761. package/dist/api/types/VerificationIBankModel.js +3 -0
  762. package/dist/api/types/VerificationIBankModel.js.map +1 -0
  763. package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.d.ts +17 -0
  764. package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.d.ts.map +1 -0
  765. package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.js +3 -0
  766. package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.js.map +1 -0
  767. package/dist/api/types/VerificationTVerificationResult.d.ts +7 -0
  768. package/dist/api/types/VerificationTVerificationResult.d.ts.map +1 -0
  769. package/dist/api/types/VerificationTVerificationResult.js +7 -0
  770. package/dist/api/types/VerificationTVerificationResult.js.map +1 -0
  771. package/dist/api/types/WellKnownTJsonWebKey.d.ts +19 -0
  772. package/dist/api/types/WellKnownTJsonWebKey.d.ts.map +1 -0
  773. package/dist/api/types/WellKnownTJsonWebKey.js +9 -0
  774. package/dist/api/types/WellKnownTJsonWebKey.js.map +1 -0
  775. package/dist/api/types/index.d.ts +69 -0
  776. package/dist/api/types/index.d.ts.map +1 -0
  777. package/dist/api/types/index.js +69 -0
  778. package/dist/api/types/index.js.map +1 -0
  779. package/dist/auth/BearerAuthProvider.d.ts +21 -0
  780. package/dist/auth/BearerAuthProvider.d.ts.map +1 -0
  781. package/dist/auth/BearerAuthProvider.js +32 -0
  782. package/dist/auth/BearerAuthProvider.js.map +1 -0
  783. package/dist/auth/index.d.ts +2 -0
  784. package/dist/auth/index.d.ts.map +1 -0
  785. package/dist/auth/index.js +2 -0
  786. package/dist/auth/index.js.map +1 -0
  787. package/dist/configuration.d.ts +206 -0
  788. package/dist/configuration.d.ts.map +1 -0
  789. package/dist/configuration.js +391 -0
  790. package/dist/configuration.js.map +1 -0
  791. package/dist/core/auth/AuthProvider.d.ts +8 -0
  792. package/dist/core/auth/AuthProvider.d.ts.map +1 -0
  793. package/dist/core/auth/AuthProvider.js +2 -0
  794. package/dist/core/auth/AuthProvider.js.map +1 -0
  795. package/dist/core/auth/AuthRequest.d.ts +10 -0
  796. package/dist/core/auth/AuthRequest.d.ts.map +1 -0
  797. package/dist/core/auth/AuthRequest.js +2 -0
  798. package/dist/core/auth/AuthRequest.js.map +1 -0
  799. package/dist/core/auth/BasicAuth.d.ts +9 -0
  800. package/dist/core/auth/BasicAuth.d.ts.map +1 -0
  801. package/dist/core/auth/BasicAuth.js +30 -0
  802. package/dist/core/auth/BasicAuth.js.map +1 -0
  803. package/dist/core/auth/BearerToken.d.ts +8 -0
  804. package/dist/core/auth/BearerToken.d.ts.map +1 -0
  805. package/dist/core/auth/BearerToken.js +14 -0
  806. package/dist/core/auth/BearerToken.js.map +1 -0
  807. package/dist/core/auth/NoOpAuthProvider.d.ts +6 -0
  808. package/dist/core/auth/NoOpAuthProvider.d.ts.map +1 -0
  809. package/dist/core/auth/NoOpAuthProvider.js +6 -0
  810. package/dist/core/auth/NoOpAuthProvider.js.map +1 -0
  811. package/dist/core/auth/index.d.ts +6 -0
  812. package/dist/core/auth/index.d.ts.map +1 -0
  813. package/dist/core/auth/index.js +4 -0
  814. package/dist/core/auth/index.js.map +1 -0
  815. package/dist/core/base64.d.ts +3 -0
  816. package/dist/core/base64.d.ts.map +1 -0
  817. package/dist/core/base64.js +23 -0
  818. package/dist/core/base64.js.map +1 -0
  819. package/dist/core/exports.d.ts +2 -0
  820. package/dist/core/exports.d.ts.map +1 -0
  821. package/dist/core/exports.js +2 -0
  822. package/dist/core/exports.js.map +1 -0
  823. package/dist/core/fetcher/APIResponse.d.ts +21 -0
  824. package/dist/core/fetcher/APIResponse.d.ts.map +1 -0
  825. package/dist/core/fetcher/APIResponse.js +2 -0
  826. package/dist/core/fetcher/APIResponse.js.map +1 -0
  827. package/dist/core/fetcher/BinaryResponse.d.ts +20 -0
  828. package/dist/core/fetcher/BinaryResponse.d.ts.map +1 -0
  829. package/dist/core/fetcher/BinaryResponse.js +15 -0
  830. package/dist/core/fetcher/BinaryResponse.js.map +1 -0
  831. package/dist/core/fetcher/EndpointMetadata.d.ts +14 -0
  832. package/dist/core/fetcher/EndpointMetadata.d.ts.map +1 -0
  833. package/dist/core/fetcher/EndpointMetadata.js +2 -0
  834. package/dist/core/fetcher/EndpointMetadata.js.map +1 -0
  835. package/dist/core/fetcher/EndpointSupplier.d.ts +13 -0
  836. package/dist/core/fetcher/EndpointSupplier.d.ts.map +1 -0
  837. package/dist/core/fetcher/EndpointSupplier.js +11 -0
  838. package/dist/core/fetcher/EndpointSupplier.js.map +1 -0
  839. package/dist/core/fetcher/Fetcher.d.ts +57 -0
  840. package/dist/core/fetcher/Fetcher.d.ts.map +1 -0
  841. package/dist/core/fetcher/Fetcher.js +307 -0
  842. package/dist/core/fetcher/Fetcher.js.map +1 -0
  843. package/dist/core/fetcher/Headers.d.ts +3 -0
  844. package/dist/core/fetcher/Headers.d.ts.map +1 -0
  845. package/dist/core/fetcher/Headers.js +83 -0
  846. package/dist/core/fetcher/Headers.js.map +1 -0
  847. package/dist/core/fetcher/HttpResponsePromise.d.ts +59 -0
  848. package/dist/core/fetcher/HttpResponsePromise.d.ts.map +1 -0
  849. package/dist/core/fetcher/HttpResponsePromise.js +89 -0
  850. package/dist/core/fetcher/HttpResponsePromise.js.map +1 -0
  851. package/dist/core/fetcher/RawResponse.d.ts +30 -0
  852. package/dist/core/fetcher/RawResponse.d.ts.map +1 -0
  853. package/dist/core/fetcher/RawResponse.js +41 -0
  854. package/dist/core/fetcher/RawResponse.js.map +1 -0
  855. package/dist/core/fetcher/Supplier.d.ts +5 -0
  856. package/dist/core/fetcher/Supplier.d.ts.map +1 -0
  857. package/dist/core/fetcher/Supplier.js +11 -0
  858. package/dist/core/fetcher/Supplier.js.map +1 -0
  859. package/dist/core/fetcher/createRequestUrl.d.ts +2 -0
  860. package/dist/core/fetcher/createRequestUrl.d.ts.map +1 -0
  861. package/dist/core/fetcher/createRequestUrl.js +6 -0
  862. package/dist/core/fetcher/createRequestUrl.js.map +1 -0
  863. package/dist/core/fetcher/getErrorResponseBody.d.ts +2 -0
  864. package/dist/core/fetcher/getErrorResponseBody.d.ts.map +1 -0
  865. package/dist/core/fetcher/getErrorResponseBody.js +31 -0
  866. package/dist/core/fetcher/getErrorResponseBody.js.map +1 -0
  867. package/dist/core/fetcher/getFetchFn.d.ts +2 -0
  868. package/dist/core/fetcher/getFetchFn.d.ts.map +1 -0
  869. package/dist/core/fetcher/getFetchFn.js +4 -0
  870. package/dist/core/fetcher/getFetchFn.js.map +1 -0
  871. package/dist/core/fetcher/getHeader.d.ts +2 -0
  872. package/dist/core/fetcher/getHeader.d.ts.map +1 -0
  873. package/dist/core/fetcher/getHeader.js +9 -0
  874. package/dist/core/fetcher/getHeader.js.map +1 -0
  875. package/dist/core/fetcher/getRequestBody.d.ts +8 -0
  876. package/dist/core/fetcher/getRequestBody.d.ts.map +1 -0
  877. package/dist/core/fetcher/getRequestBody.js +14 -0
  878. package/dist/core/fetcher/getRequestBody.js.map +1 -0
  879. package/dist/core/fetcher/getResponseBody.d.ts +2 -0
  880. package/dist/core/fetcher/getResponseBody.d.ts.map +1 -0
  881. package/dist/core/fetcher/getResponseBody.js +56 -0
  882. package/dist/core/fetcher/getResponseBody.js.map +1 -0
  883. package/dist/core/fetcher/index.d.ts +14 -0
  884. package/dist/core/fetcher/index.d.ts.map +1 -0
  885. package/dist/core/fetcher/index.js +8 -0
  886. package/dist/core/fetcher/index.js.map +1 -0
  887. package/dist/core/fetcher/makePassthroughRequest.d.ts +50 -0
  888. package/dist/core/fetcher/makePassthroughRequest.d.ts.map +1 -0
  889. package/dist/core/fetcher/makePassthroughRequest.js +120 -0
  890. package/dist/core/fetcher/makePassthroughRequest.js.map +1 -0
  891. package/dist/core/fetcher/makeRequest.d.ts +7 -0
  892. package/dist/core/fetcher/makeRequest.d.ts.map +1 -0
  893. package/dist/core/fetcher/makeRequest.js +54 -0
  894. package/dist/core/fetcher/makeRequest.js.map +1 -0
  895. package/dist/core/fetcher/requestWithRetries.d.ts +2 -0
  896. package/dist/core/fetcher/requestWithRetries.d.ts.map +1 -0
  897. package/dist/core/fetcher/requestWithRetries.js +54 -0
  898. package/dist/core/fetcher/requestWithRetries.js.map +1 -0
  899. package/dist/core/fetcher/signals.d.ts +6 -0
  900. package/dist/core/fetcher/signals.d.ts.map +1 -0
  901. package/dist/core/fetcher/signals.js +21 -0
  902. package/dist/core/fetcher/signals.js.map +1 -0
  903. package/dist/core/headers.d.ts +3 -0
  904. package/dist/core/headers.d.ts.map +1 -0
  905. package/dist/core/headers.js +28 -0
  906. package/dist/core/headers.js.map +1 -0
  907. package/dist/core/index.d.ts +7 -0
  908. package/dist/core/index.d.ts.map +1 -0
  909. package/dist/core/index.js +7 -0
  910. package/dist/core/index.js.map +1 -0
  911. package/dist/core/json.d.ts +16 -0
  912. package/dist/core/json.d.ts.map +1 -0
  913. package/dist/core/json.js +20 -0
  914. package/dist/core/json.js.map +1 -0
  915. package/dist/core/logging/exports.d.ts +19 -0
  916. package/dist/core/logging/exports.d.ts.map +1 -0
  917. package/dist/core/logging/exports.js +10 -0
  918. package/dist/core/logging/exports.js.map +1 -0
  919. package/dist/core/logging/index.d.ts +2 -0
  920. package/dist/core/logging/index.d.ts.map +1 -0
  921. package/dist/core/logging/index.js +2 -0
  922. package/dist/core/logging/index.js.map +1 -0
  923. package/dist/core/logging/logger.d.ts +127 -0
  924. package/dist/core/logging/logger.d.ts.map +1 -0
  925. package/dist/core/logging/logger.js +138 -0
  926. package/dist/core/logging/logger.js.map +1 -0
  927. package/dist/core/runtime/index.d.ts +2 -0
  928. package/dist/core/runtime/index.d.ts.map +1 -0
  929. package/dist/core/runtime/index.js +2 -0
  930. package/dist/core/runtime/index.js.map +1 -0
  931. package/dist/core/runtime/runtime.d.ts +10 -0
  932. package/dist/core/runtime/runtime.d.ts.map +1 -0
  933. package/dist/core/runtime/runtime.js +101 -0
  934. package/dist/core/runtime/runtime.js.map +1 -0
  935. package/dist/core/url/QueryStringBuilder.d.ts +48 -0
  936. package/dist/core/url/QueryStringBuilder.d.ts.map +1 -0
  937. package/dist/core/url/QueryStringBuilder.js +81 -0
  938. package/dist/core/url/QueryStringBuilder.js.map +1 -0
  939. package/dist/core/url/encodePathParam.d.ts +2 -0
  940. package/dist/core/url/encodePathParam.d.ts.map +1 -0
  941. package/dist/core/url/encodePathParam.js +19 -0
  942. package/dist/core/url/encodePathParam.js.map +1 -0
  943. package/dist/core/url/index.d.ts +5 -0
  944. package/dist/core/url/index.d.ts.map +1 -0
  945. package/dist/core/url/index.js +5 -0
  946. package/dist/core/url/index.js.map +1 -0
  947. package/dist/core/url/join.d.ts +2 -0
  948. package/dist/core/url/join.d.ts.map +1 -0
  949. package/dist/core/url/join.js +66 -0
  950. package/dist/core/url/join.js.map +1 -0
  951. package/dist/core/url/qs.d.ts +8 -0
  952. package/dist/core/url/qs.d.ts.map +1 -0
  953. package/dist/core/url/qs.js +77 -0
  954. package/dist/core/url/qs.js.map +1 -0
  955. package/dist/crypto.d.ts +36 -0
  956. package/dist/crypto.d.ts.map +1 -0
  957. package/dist/crypto.js +89 -0
  958. package/dist/crypto.js.map +1 -0
  959. package/dist/environments.d.ts +5 -0
  960. package/dist/environments.d.ts.map +1 -0
  961. package/dist/environments.js +5 -0
  962. package/dist/environments.js.map +1 -0
  963. package/dist/errors/SpareApiError.d.ts +15 -0
  964. package/dist/errors/SpareApiError.d.ts.map +1 -0
  965. package/dist/errors/SpareApiError.js +32 -0
  966. package/dist/errors/SpareApiError.js.map +1 -0
  967. package/dist/errors/SpareApiTimeoutError.d.ts +7 -0
  968. package/dist/errors/SpareApiTimeoutError.d.ts.map +1 -0
  969. package/dist/errors/SpareApiTimeoutError.js +15 -0
  970. package/dist/errors/SpareApiTimeoutError.js.map +1 -0
  971. package/dist/errors/handleNonStatusCodeError.d.ts +3 -0
  972. package/dist/errors/handleNonStatusCodeError.d.ts.map +1 -0
  973. package/dist/errors/handleNonStatusCodeError.js +33 -0
  974. package/dist/errors/handleNonStatusCodeError.js.map +1 -0
  975. package/dist/errors/index.d.ts +3 -0
  976. package/dist/errors/index.d.ts.map +1 -0
  977. package/dist/errors/index.js +3 -0
  978. package/dist/errors/index.js.map +1 -0
  979. package/dist/exports.d.ts +2 -0
  980. package/dist/exports.d.ts.map +1 -0
  981. package/dist/exports.js +2 -0
  982. package/dist/exports.js.map +1 -0
  983. package/dist/index.d.ts +9 -0
  984. package/dist/index.d.ts.map +1 -0
  985. package/dist/index.js +8 -0
  986. package/dist/index.js.map +1 -0
  987. package/package.json +41 -0
@@ -0,0 +1,206 @@
1
+ /**
2
+ * @module Configuration
3
+ * @description
4
+ * Configuration class for SpareApiClient implementing a auto-refresh credential pattern.
5
+ *
6
+ * Users provide credentials once (appId, apiKey, tenant) during instantiation.
7
+ * Configuration automatically handles:
8
+ * - Token exchange on first API request
9
+ * - Token caching in memory
10
+ * - Automatic token refresh when expiring (30-minute buffer)
11
+ * - Concurrent request safety (shared token across parallel requests)
12
+ *
13
+ * Client identity is derived from the JWT ob_account_id claim server-side — no clientId
14
+ * header is needed in SDK requests.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const config = new Configuration({
19
+ * appId: process.env.SPARE_APP_ID,
20
+ * apiKey: process.env.SPARE_API_KEY,
21
+ * tenant: 'UAE',
22
+ * environment: 'sandbox'
23
+ * });
24
+ *
25
+ * // Single step: pass Configuration as authProvider
26
+ * const client = new SpareApiClient({ authProvider: config });
27
+ *
28
+ * // Token exchange happens automatically on first request
29
+ * const providers = await client.providers.list({ countryCode: 'AE' });
30
+ * ```
31
+ */
32
+ /**
33
+ * Configuration options for SpareApiClient.
34
+ */
35
+ export interface IConfigurationOptions {
36
+ /** @description Spare App ID from your Spare dashboard */
37
+ appId: string;
38
+ /** @description Spare API Key from your Spare dashboard */
39
+ apiKey: string;
40
+ /** @description Target tenant. Currently "UAE". */
41
+ tenant: string;
42
+ /** @description Optional: Custom base URL (overrides environment default) */
43
+ baseUrl?: string;
44
+ /** @description Optional: API environment. Defaults to "sandbox". */
45
+ environment?: 'sandbox';
46
+ /** @description Optional: Milliseconds before expiry to refresh token. Defaults to 30 minutes. */
47
+ refreshThresholdMs?: number;
48
+ /** @description Optional: Timeout in milliseconds for token exchange requests. Defaults to 10 seconds. */
49
+ tokenExchangeTimeout?: number;
50
+ }
51
+ /**
52
+ * Configuration class for SpareApiClient.
53
+ *
54
+ * Manages credentials and token lifecycle (exchange, refresh, caching).
55
+ * Implements a Configuration pattern where users construct Configuration once
56
+ * and the client handles token management transparently.
57
+ *
58
+ * Client identity is derived from the JWT ob_account_id claim server-side.
59
+ * Only X-Tenant is injected into every request via getAuthRequest().
60
+ *
61
+ * @implements {IAuthProvider} Compatible with Fern-generated client's AuthProvider interface
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * const config = new Configuration({
66
+ * appId: 'app_prod_123',
67
+ * apiKey: 'sk_prod_456',
68
+ * tenant: 'UAE',
69
+ * environment: 'production'
70
+ * });
71
+ *
72
+ * const client = new SpareApiClient({ authProvider: config });
73
+ * const result = await client.providers.list({ countryCode: 'AE' });
74
+ * ```
75
+ */
76
+ export declare class Configuration {
77
+ readonly appId: string;
78
+ readonly apiKey: string;
79
+ readonly tenant: string;
80
+ readonly baseUrl: string;
81
+ readonly environment: 'sandbox';
82
+ readonly refreshThresholdMs: number;
83
+ readonly tokenExchangeTimeout: number;
84
+ private accessToken;
85
+ private refreshToken;
86
+ private tokenExpiresAt;
87
+ private isRefreshing;
88
+ private refreshPromise;
89
+ private isExchanging;
90
+ private exchangePromise;
91
+ /**
92
+ * Construct a Configuration instance with credentials.
93
+ *
94
+ * @param {IConfigurationOptions} options - Configuration options
95
+ * @param {string} options.appId - App identifier from Spare dashboard
96
+ * @param {string} options.apiKey - API key from Spare dashboard
97
+ * @param {string} options.tenant - Target tenant (currently "UAE")
98
+ * @param {string} [options.environment="sandbox"] - API environment ("sandbox" or "production")
99
+ * @param {string} [options.baseUrl] - Custom base URL (overrides environment default)
100
+ * @param {number} [options.refreshThresholdMs=1800000] - Milliseconds before expiry to refresh (default: 30 min)
101
+ * @param {number} [options.tokenExchangeTimeout=10000] - Timeout in milliseconds for token exchange (default: 10s)
102
+ *
103
+ * @throws {Error} If required options (appId, apiKey, tenant) are missing
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const config = new Configuration({
108
+ * appId: process.env.SPARE_APP_ID!,
109
+ * apiKey: process.env.SPARE_API_KEY!,
110
+ * tenant: 'UAE'
111
+ * });
112
+ * ```
113
+ */
114
+ constructor(options: IConfigurationOptions);
115
+ /**
116
+ * Get the base URL for API requests.
117
+ *
118
+ * Resolves the appropriate base URL based on environment or custom override.
119
+ *
120
+ * @returns {string} The resolved base URL (e.g., "https://api.sandbox.tryspare.ae")
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const config = new Configuration({ ..., environment: 'production' });
125
+ * config.getBaseUrl(); // "https://api.tryspare.ae"
126
+ * ```
127
+ */
128
+ getBaseUrl(): string;
129
+ /**
130
+ * Get authentication headers for API requests.
131
+ *
132
+ * This method is called automatically by the SDK on each API request.
133
+ * It handles token exchange on first call and auto-refresh when expired.
134
+ *
135
+ * @returns {Promise<Record<string, string>>} Authorization header with Bearer token
136
+ * @throws {Error} If token exchange fails or credentials are invalid
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const headers = await config.getAuthHeaders();
141
+ * // Returns: { Authorization: 'Bearer at_xyz...' }
142
+ * ```
143
+ */
144
+ getAuthHeaders(): Promise<Record<string, string>>;
145
+ /**
146
+ * Implements AuthProvider interface for Fern-generated SDK.
147
+ * Called by SpareApiClient on each request to get authentication headers.
148
+ *
149
+ * Returns Authorization header + multi-tenant headers (X-Tenant, X-Client-ID)
150
+ * so Configuration is the single source of truth for all credential-related headers.
151
+ *
152
+ * @returns {Promise<{ headers: Record<string, string> }>} AuthRequest with all headers
153
+ * @throws {Error} If token exchange fails or credentials are invalid
154
+ */
155
+ getAuthRequest(): Promise<{
156
+ headers: Record<string, string>;
157
+ }>;
158
+ /**
159
+ * Get access token, exchanging credentials if needed or refreshing if expired.
160
+ * Called internally by the client on each request.
161
+ * Handles token lifecycle with concurrent-safe refresh.
162
+ *
163
+ * @returns {Promise<string>} Valid access token
164
+ * @throws {Error} If token exchange or refresh fails
165
+ * @private
166
+ */
167
+ getAccessToken(): Promise<string>;
168
+ /**
169
+ * Exchange credentials for tokens (first-time setup).
170
+ * Called automatically on first API request.
171
+ * Implements timeout and comprehensive error handling.
172
+ * Uses a concurrent-safe lock to prevent duplicate exchanges.
173
+ *
174
+ * @returns {Promise<void>}
175
+ * @throws {Error} If API request fails, credentials are invalid, or timeout occurs
176
+ * @private
177
+ */
178
+ private exchangeCredentialsForToken;
179
+ /**
180
+ * Refresh access token before expiry.
181
+ * Handles concurrent refresh requests (multiple API calls in parallel).
182
+ * Uses a promise lock to ensure only one refresh happens at a time.
183
+ *
184
+ * @returns {Promise<void>}
185
+ * @throws {Error} If refresh fails
186
+ * @private
187
+ */
188
+ private refreshAccessToken;
189
+ /**
190
+ * Check if token is expired or about to expire (using refresh threshold buffer).
191
+ *
192
+ * @returns {boolean} True if token should be refreshed
193
+ * @private
194
+ */
195
+ private isTokenExpiredOrExpiring;
196
+ /**
197
+ * Get base options for HTTP requests (headers, baseUrl, etc).
198
+ * Used by the Fern-generated client to make authenticated requests.
199
+ *
200
+ * @returns {Record<string, unknown>} Base request options
201
+ *
202
+ * @internal
203
+ */
204
+ getBaseOptions(): Record<string, unknown>;
205
+ }
206
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../configuration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA0BH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IAEf,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,kGAAkG;IAClG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,0GAA0G;IAC1G,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAGtC,OAAO,CAAC,WAAW,CAAuB;IAE1C,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,cAAc,CAA8B;IAEpD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,eAAe,CAA8B;IAErD;;;;;;;;;;;;;;;;;;;;;;OAsBG;gBACS,OAAO,EAAE,qBAAqB;IAc1C;;;;;;;;;;;;OAYG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;;;;;OAcG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAYvD;;;;;;;;;OASG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAUpE;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBvC;;;;;;;;;OASG;YAEW,2BAA2B;IA2EzC;;;;;;;;OAQG;YAEW,kBAAkB;IA0EhC;;;;;OAKG;IAEH,OAAO,CAAC,wBAAwB;IAKhC;;;;;;;OAOG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAO1C"}
@@ -0,0 +1,391 @@
1
+ /**
2
+ * @module Configuration
3
+ * @description
4
+ * Configuration class for SpareApiClient implementing a auto-refresh credential pattern.
5
+ *
6
+ * Users provide credentials once (appId, apiKey, tenant) during instantiation.
7
+ * Configuration automatically handles:
8
+ * - Token exchange on first API request
9
+ * - Token caching in memory
10
+ * - Automatic token refresh when expiring (30-minute buffer)
11
+ * - Concurrent request safety (shared token across parallel requests)
12
+ *
13
+ * Client identity is derived from the JWT ob_account_id claim server-side — no clientId
14
+ * header is needed in SDK requests.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const config = new Configuration({
19
+ * appId: process.env.SPARE_APP_ID,
20
+ * apiKey: process.env.SPARE_API_KEY,
21
+ * tenant: 'UAE',
22
+ * environment: 'sandbox'
23
+ * });
24
+ *
25
+ * // Single step: pass Configuration as authProvider
26
+ * const client = new SpareApiClient({ authProvider: config });
27
+ *
28
+ * // Token exchange happens automatically on first request
29
+ * const providers = await client.providers.list({ countryCode: 'AE' });
30
+ * ```
31
+ */
32
+ /**
33
+ * API host per tenant (region) and environment. The base URL is resolved from the tenant and
34
+ * environment together, so the host always matches the X-Tenant header. Add a row per country
35
+ * as it launches; consumers can still pass an explicit `baseUrl` to override (local development,
36
+ * on-prem, or a region not yet listed here).
37
+ */
38
+ const TENANT_HOSTS = {
39
+ UAE: {
40
+ sandbox: 'https://api.sandbox.tryspare.ae',
41
+ },
42
+ };
43
+ /** Resolves the API base URL for a tenant and environment. */
44
+ function resolveTenantBaseUrl(tenant, environment) {
45
+ const hosts = TENANT_HOSTS[tenant];
46
+ if (!hosts) {
47
+ const supported = Object.keys(TENANT_HOSTS).join(', ');
48
+ throw new Error(`Unsupported tenant "${tenant}". Supported tenants: ${supported}. Pass an explicit baseUrl to override.`);
49
+ }
50
+ return hosts[environment];
51
+ }
52
+ /**
53
+ * Configuration class for SpareApiClient.
54
+ *
55
+ * Manages credentials and token lifecycle (exchange, refresh, caching).
56
+ * Implements a Configuration pattern where users construct Configuration once
57
+ * and the client handles token management transparently.
58
+ *
59
+ * Client identity is derived from the JWT ob_account_id claim server-side.
60
+ * Only X-Tenant is injected into every request via getAuthRequest().
61
+ *
62
+ * @implements {IAuthProvider} Compatible with Fern-generated client's AuthProvider interface
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const config = new Configuration({
67
+ * appId: 'app_prod_123',
68
+ * apiKey: 'sk_prod_456',
69
+ * tenant: 'UAE',
70
+ * environment: 'production'
71
+ * });
72
+ *
73
+ * const client = new SpareApiClient({ authProvider: config });
74
+ * const result = await client.providers.list({ countryCode: 'AE' });
75
+ * ```
76
+ */
77
+ export class Configuration {
78
+ /**
79
+ * Construct a Configuration instance with credentials.
80
+ *
81
+ * @param {IConfigurationOptions} options - Configuration options
82
+ * @param {string} options.appId - App identifier from Spare dashboard
83
+ * @param {string} options.apiKey - API key from Spare dashboard
84
+ * @param {string} options.tenant - Target tenant (currently "UAE")
85
+ * @param {string} [options.environment="sandbox"] - API environment ("sandbox" or "production")
86
+ * @param {string} [options.baseUrl] - Custom base URL (overrides environment default)
87
+ * @param {number} [options.refreshThresholdMs=1800000] - Milliseconds before expiry to refresh (default: 30 min)
88
+ * @param {number} [options.tokenExchangeTimeout=10000] - Timeout in milliseconds for token exchange (default: 10s)
89
+ *
90
+ * @throws {Error} If required options (appId, apiKey, tenant) are missing
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const config = new Configuration({
95
+ * appId: process.env.SPARE_APP_ID!,
96
+ * apiKey: process.env.SPARE_API_KEY!,
97
+ * tenant: 'UAE'
98
+ * });
99
+ * ```
100
+ */
101
+ constructor(options) {
102
+ // biome-ignore lint/style/useNamingConvention: private state management
103
+ this.accessToken = null;
104
+ // biome-ignore lint/style/useNamingConvention: private state management
105
+ this.refreshToken = null;
106
+ // biome-ignore lint/style/useNamingConvention: private state management
107
+ this.tokenExpiresAt = null;
108
+ // biome-ignore lint/style/useNamingConvention: private state management
109
+ this.isRefreshing = false;
110
+ // biome-ignore lint/style/useNamingConvention: private state management
111
+ this.refreshPromise = null;
112
+ // biome-ignore lint/style/useNamingConvention: private state management
113
+ this.isExchanging = false;
114
+ // biome-ignore lint/style/useNamingConvention: private state management
115
+ this.exchangePromise = null;
116
+ if (!options.appId)
117
+ throw new Error('appId is required');
118
+ if (!options.apiKey)
119
+ throw new Error('apiKey is required');
120
+ if (!options.tenant)
121
+ throw new Error('tenant is required');
122
+ this.appId = options.appId;
123
+ this.apiKey = options.apiKey;
124
+ this.tenant = options.tenant;
125
+ this.environment = options.environment ?? 'sandbox';
126
+ this.refreshThresholdMs = options.refreshThresholdMs ?? 30 * 60 * 1000;
127
+ this.tokenExchangeTimeout = options.tokenExchangeTimeout ?? 10 * 1000;
128
+ this.baseUrl = options.baseUrl ?? resolveTenantBaseUrl(this.tenant, this.environment);
129
+ }
130
+ /**
131
+ * Get the base URL for API requests.
132
+ *
133
+ * Resolves the appropriate base URL based on environment or custom override.
134
+ *
135
+ * @returns {string} The resolved base URL (e.g., "https://api.sandbox.tryspare.ae")
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * const config = new Configuration({ ..., environment: 'production' });
140
+ * config.getBaseUrl(); // "https://api.tryspare.ae"
141
+ * ```
142
+ */
143
+ getBaseUrl() {
144
+ return this.baseUrl;
145
+ }
146
+ /**
147
+ * Get authentication headers for API requests.
148
+ *
149
+ * This method is called automatically by the SDK on each API request.
150
+ * It handles token exchange on first call and auto-refresh when expired.
151
+ *
152
+ * @returns {Promise<Record<string, string>>} Authorization header with Bearer token
153
+ * @throws {Error} If token exchange fails or credentials are invalid
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * const headers = await config.getAuthHeaders();
158
+ * // Returns: { Authorization: 'Bearer at_xyz...' }
159
+ * ```
160
+ */
161
+ async getAuthHeaders() {
162
+ try {
163
+ const token = await this.getAccessToken();
164
+ return { Authorization: `Bearer ${token}` };
165
+ }
166
+ catch (error) {
167
+ throw new SpareApiError(error instanceof Error ? error.message : 'Failed to get auth headers', 500);
168
+ }
169
+ }
170
+ /**
171
+ * Implements AuthProvider interface for Fern-generated SDK.
172
+ * Called by SpareApiClient on each request to get authentication headers.
173
+ *
174
+ * Returns Authorization header + multi-tenant headers (X-Tenant, X-Client-ID)
175
+ * so Configuration is the single source of truth for all credential-related headers.
176
+ *
177
+ * @returns {Promise<{ headers: Record<string, string> }>} AuthRequest with all headers
178
+ * @throws {Error} If token exchange fails or credentials are invalid
179
+ */
180
+ async getAuthRequest() {
181
+ const authHeaders = await this.getAuthHeaders();
182
+ return {
183
+ headers: {
184
+ ...authHeaders,
185
+ 'x-tenant': this.tenant,
186
+ },
187
+ };
188
+ }
189
+ /**
190
+ * Get access token, exchanging credentials if needed or refreshing if expired.
191
+ * Called internally by the client on each request.
192
+ * Handles token lifecycle with concurrent-safe refresh.
193
+ *
194
+ * @returns {Promise<string>} Valid access token
195
+ * @throws {Error} If token exchange or refresh fails
196
+ * @private
197
+ */
198
+ async getAccessToken() {
199
+ // If token is not yet loaded, exchange credentials (with concurrent safety)
200
+ if (!this.accessToken) {
201
+ // Prevent concurrent exchange calls
202
+ if (this.isExchanging && this.exchangePromise) {
203
+ await this.exchangePromise;
204
+ }
205
+ else {
206
+ await this.exchangeCredentialsForToken();
207
+ }
208
+ }
209
+ // If token is expired or about to expire (refresh buffer), refresh
210
+ if (this.isTokenExpiredOrExpiring()) {
211
+ await this.refreshAccessToken();
212
+ }
213
+ // biome-ignore lint/style/noNonNullAssertion: token is guaranteed to exist after exchange or refresh
214
+ return this.accessToken;
215
+ }
216
+ /**
217
+ * Exchange credentials for tokens (first-time setup).
218
+ * Called automatically on first API request.
219
+ * Implements timeout and comprehensive error handling.
220
+ * Uses a concurrent-safe lock to prevent duplicate exchanges.
221
+ *
222
+ * @returns {Promise<void>}
223
+ * @throws {Error} If API request fails, credentials are invalid, or timeout occurs
224
+ * @private
225
+ */
226
+ // biome-ignore lint/style/useNamingConvention: private method
227
+ async exchangeCredentialsForToken() {
228
+ // Prevent concurrent exchange calls by returning shared promise
229
+ if (this.isExchanging && this.exchangePromise) {
230
+ return this.exchangePromise;
231
+ }
232
+ this.isExchanging = true;
233
+ this.exchangePromise = (async () => {
234
+ const controller = new AbortController();
235
+ const timeoutId = setTimeout(() => controller.abort(), this.tokenExchangeTimeout);
236
+ try {
237
+ const response = await fetch(`${this.baseUrl}/auth/api-keys/sessions`, {
238
+ method: 'POST',
239
+ headers: {
240
+ 'Content-Type': 'application/json',
241
+ 'X-Tenant': this.tenant,
242
+ 'app-id': this.appId,
243
+ 'x-api-key': this.apiKey,
244
+ },
245
+ signal: controller.signal,
246
+ });
247
+ if (!response.ok) {
248
+ const errorBody = await response.text();
249
+ throw new SpareApiError(`Token exchange failed: ${response.status} ${response.statusText}. ` +
250
+ `Verify appId, apiKey, and tenant are correct.\n${errorBody}`, response.status);
251
+ }
252
+ const data = (await response.json());
253
+ // API returns bare object with snake_case fields, not wrapped in { data }
254
+ // Expected: { access_token, refresh_token, expires_in, type: "Bearer" }
255
+ const accessToken = (data['access_token'] ?? data['accessToken']);
256
+ const refreshToken = (data['refresh_token'] ?? data['refreshToken']);
257
+ const expiresIn = (data['expires_in'] ?? data['expiresIn']);
258
+ if (!(accessToken && refreshToken)) {
259
+ throw new SpareApiError(`Missing accessToken or refreshToken in exchange response. Got keys: ${Object.keys(data).join(', ')}`, 500);
260
+ }
261
+ this.accessToken = accessToken;
262
+ this.refreshToken = refreshToken;
263
+ // Calculate expiresAt from expiresIn (seconds) or use default
264
+ this.tokenExpiresAt = expiresIn
265
+ ? Date.now() + expiresIn * 1000
266
+ : Date.now() + this.refreshThresholdMs * 2;
267
+ }
268
+ catch (error) {
269
+ if (error instanceof Error && error.name === 'AbortError') {
270
+ throw new SpareApiError(`Token exchange timed out after ${this.tokenExchangeTimeout}ms. ` +
271
+ 'Check appId, apiKey, tenant, and network connectivity.', 408);
272
+ }
273
+ if (error instanceof SpareApiError)
274
+ throw error;
275
+ throw new SpareApiError(`Token exchange failed: ${error instanceof Error ? error.message : String(error)}`, 500);
276
+ }
277
+ finally {
278
+ clearTimeout(timeoutId);
279
+ this.isExchanging = false;
280
+ this.exchangePromise = null;
281
+ }
282
+ })();
283
+ return this.exchangePromise;
284
+ }
285
+ /**
286
+ * Refresh access token before expiry.
287
+ * Handles concurrent refresh requests (multiple API calls in parallel).
288
+ * Uses a promise lock to ensure only one refresh happens at a time.
289
+ *
290
+ * @returns {Promise<void>}
291
+ * @throws {Error} If refresh fails
292
+ * @private
293
+ */
294
+ // biome-ignore lint/style/useNamingConvention: private method
295
+ async refreshAccessToken() {
296
+ // Prevent concurrent refresh calls by returning shared promise
297
+ if (this.isRefreshing && this.refreshPromise) {
298
+ return this.refreshPromise;
299
+ }
300
+ this.isRefreshing = true;
301
+ this.refreshPromise = (async () => {
302
+ const controller = new AbortController();
303
+ const timeoutId = setTimeout(() => controller.abort(), this.tokenExchangeTimeout);
304
+ try {
305
+ const response = await fetch(`${this.baseUrl}/auth/api-keys/sessions/refresh`, {
306
+ method: 'POST',
307
+ headers: {
308
+ 'Content-Type': 'application/json',
309
+ 'X-Tenant': this.tenant,
310
+ },
311
+ body: JSON.stringify({
312
+ refreshToken: this.refreshToken,
313
+ }),
314
+ signal: controller.signal,
315
+ });
316
+ if (!response.ok) {
317
+ const errorBody = await response.text();
318
+ throw new SpareApiError(`Token refresh failed: ${response.status} ${response.statusText}\n${errorBody}`, response.status);
319
+ }
320
+ const data = (await response.json());
321
+ // API returns bare object with snake_case fields
322
+ // Expected: { access_token, refresh_token, expires_in, type: "Bearer" }
323
+ const accessToken = (data['access_token'] ?? data['accessToken']);
324
+ const refreshToken = (data['refresh_token'] ?? data['refreshToken']);
325
+ const expiresIn = (data['expires_in'] ?? data['expiresIn']);
326
+ if (!(accessToken && refreshToken)) {
327
+ throw new SpareApiError(`Missing tokens in refresh response. Got keys: ${Object.keys(data).join(', ')}`, 500);
328
+ }
329
+ this.accessToken = accessToken;
330
+ this.refreshToken = refreshToken;
331
+ // Calculate expiresAt from expiresIn (seconds) or use default
332
+ this.tokenExpiresAt = expiresIn
333
+ ? Date.now() + expiresIn * 1000
334
+ : Date.now() + this.refreshThresholdMs * 2;
335
+ }
336
+ catch (error) {
337
+ if (error instanceof Error && error.name === 'AbortError') {
338
+ throw new SpareApiError(`Token refresh timed out after ${this.tokenExchangeTimeout}ms`, 408);
339
+ }
340
+ if (error instanceof SpareApiError)
341
+ throw error;
342
+ throw new SpareApiError(`Token refresh failed: ${error instanceof Error ? error.message : String(error)}`, 500);
343
+ }
344
+ finally {
345
+ clearTimeout(timeoutId);
346
+ this.isRefreshing = false;
347
+ this.refreshPromise = null;
348
+ }
349
+ })();
350
+ return this.refreshPromise;
351
+ }
352
+ /**
353
+ * Check if token is expired or about to expire (using refresh threshold buffer).
354
+ *
355
+ * @returns {boolean} True if token should be refreshed
356
+ * @private
357
+ */
358
+ // biome-ignore lint/style/useNamingConvention: private method
359
+ isTokenExpiredOrExpiring() {
360
+ if (!this.tokenExpiresAt)
361
+ return true;
362
+ return Date.now() >= this.tokenExpiresAt - this.refreshThresholdMs;
363
+ }
364
+ /**
365
+ * Get base options for HTTP requests (headers, baseUrl, etc).
366
+ * Used by the Fern-generated client to make authenticated requests.
367
+ *
368
+ * @returns {Record<string, unknown>} Base request options
369
+ *
370
+ * @internal
371
+ */
372
+ getBaseOptions() {
373
+ return {
374
+ headers: {
375
+ 'X-Tenant': this.tenant,
376
+ },
377
+ };
378
+ }
379
+ }
380
+ /**
381
+ * Custom error class for Spare API errors.
382
+ * Includes HTTP status code for better error handling.
383
+ */
384
+ class SpareApiError extends Error {
385
+ constructor(message, statusCode) {
386
+ super(message);
387
+ this.statusCode = statusCode;
388
+ this.name = 'SpareApiError';
389
+ }
390
+ }
391
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../configuration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @module Configuration\n * @description\n * Configuration class for SpareApiClient implementing a auto-refresh credential pattern.\n *\n * Users provide credentials once (appId, apiKey, tenant) during instantiation.\n * Configuration automatically handles:\n * - Token exchange on first API request\n * - Token caching in memory\n * - Automatic token refresh when expiring (30-minute buffer)\n * - Concurrent request safety (shared token across parallel requests)\n *\n * Client identity is derived from the JWT ob_account_id claim server-side — no clientId\n * header is needed in SDK requests.\n *\n * @example\n * ```ts\n * const config = new Configuration({\n * appId: process.env.SPARE_APP_ID,\n * apiKey: process.env.SPARE_API_KEY,\n * tenant: 'UAE',\n * environment: 'sandbox'\n * });\n *\n * // Single step: pass Configuration as authProvider\n * const client = new SpareApiClient({ authProvider: config });\n *\n * // Token exchange happens automatically on first request\n * const providers = await client.providers.list({ countryCode: 'AE' });\n * ```\n */\n\n/**\n * API host per tenant (region) and environment. The base URL is resolved from the tenant and\n * environment together, so the host always matches the X-Tenant header. Add a row per country\n * as it launches; consumers can still pass an explicit `baseUrl` to override (local development,\n * on-prem, or a region not yet listed here).\n */\nconst TENANT_HOSTS = {\n UAE: {\n sandbox: 'https://api.sandbox.tryspare.ae',\n },\n} as const;\n\n/** Resolves the API base URL for a tenant and environment. */\nfunction resolveTenantBaseUrl(tenant: string, environment: 'sandbox'): string {\n const hosts = TENANT_HOSTS[tenant as keyof typeof TENANT_HOSTS];\n if (!hosts) {\n const supported = Object.keys(TENANT_HOSTS).join(', ');\n throw new Error(\n `Unsupported tenant \"${tenant}\". Supported tenants: ${supported}. Pass an explicit baseUrl to override.`\n );\n }\n return hosts[environment];\n}\n\n/**\n * Configuration options for SpareApiClient.\n */\nexport interface IConfigurationOptions {\n /** @description Spare App ID from your Spare dashboard */\n appId: string;\n\n /** @description Spare API Key from your Spare dashboard */\n apiKey: string;\n\n /** @description Target tenant. Currently \"UAE\". */\n tenant: string;\n\n /** @description Optional: Custom base URL (overrides environment default) */\n baseUrl?: string;\n\n /** @description Optional: API environment. Defaults to \"sandbox\". */\n environment?: 'sandbox';\n\n /** @description Optional: Milliseconds before expiry to refresh token. Defaults to 30 minutes. */\n refreshThresholdMs?: number;\n\n /** @description Optional: Timeout in milliseconds for token exchange requests. Defaults to 10 seconds. */\n tokenExchangeTimeout?: number;\n}\n\n/**\n * Configuration class for SpareApiClient.\n *\n * Manages credentials and token lifecycle (exchange, refresh, caching).\n * Implements a Configuration pattern where users construct Configuration once\n * and the client handles token management transparently.\n *\n * Client identity is derived from the JWT ob_account_id claim server-side.\n * Only X-Tenant is injected into every request via getAuthRequest().\n *\n * @implements {IAuthProvider} Compatible with Fern-generated client's AuthProvider interface\n *\n * @example\n * ```ts\n * const config = new Configuration({\n * appId: 'app_prod_123',\n * apiKey: 'sk_prod_456',\n * tenant: 'UAE',\n * environment: 'production'\n * });\n *\n * const client = new SpareApiClient({ authProvider: config });\n * const result = await client.providers.list({ countryCode: 'AE' });\n * ```\n */\nexport class Configuration {\n readonly appId: string;\n readonly apiKey: string;\n readonly tenant: string;\n readonly baseUrl: string;\n readonly environment: 'sandbox';\n readonly refreshThresholdMs: number;\n readonly tokenExchangeTimeout: number;\n\n // biome-ignore lint/style/useNamingConvention: private state management\n private accessToken: string | null = null;\n // biome-ignore lint/style/useNamingConvention: private state management\n private refreshToken: string | null = null;\n // biome-ignore lint/style/useNamingConvention: private state management\n private tokenExpiresAt: number | null = null;\n // biome-ignore lint/style/useNamingConvention: private state management\n private isRefreshing = false;\n // biome-ignore lint/style/useNamingConvention: private state management\n private refreshPromise: Promise<void> | null = null;\n // biome-ignore lint/style/useNamingConvention: private state management\n private isExchanging = false;\n // biome-ignore lint/style/useNamingConvention: private state management\n private exchangePromise: Promise<void> | null = null;\n\n /**\n * Construct a Configuration instance with credentials.\n *\n * @param {IConfigurationOptions} options - Configuration options\n * @param {string} options.appId - App identifier from Spare dashboard\n * @param {string} options.apiKey - API key from Spare dashboard\n * @param {string} options.tenant - Target tenant (currently \"UAE\")\n * @param {string} [options.environment=\"sandbox\"] - API environment (\"sandbox\" or \"production\")\n * @param {string} [options.baseUrl] - Custom base URL (overrides environment default)\n * @param {number} [options.refreshThresholdMs=1800000] - Milliseconds before expiry to refresh (default: 30 min)\n * @param {number} [options.tokenExchangeTimeout=10000] - Timeout in milliseconds for token exchange (default: 10s)\n *\n * @throws {Error} If required options (appId, apiKey, tenant) are missing\n *\n * @example\n * ```ts\n * const config = new Configuration({\n * appId: process.env.SPARE_APP_ID!,\n * apiKey: process.env.SPARE_API_KEY!,\n * tenant: 'UAE'\n * });\n * ```\n */\n constructor(options: IConfigurationOptions) {\n if (!options.appId) throw new Error('appId is required');\n if (!options.apiKey) throw new Error('apiKey is required');\n if (!options.tenant) throw new Error('tenant is required');\n\n this.appId = options.appId;\n this.apiKey = options.apiKey;\n this.tenant = options.tenant;\n this.environment = options.environment ?? 'sandbox';\n this.refreshThresholdMs = options.refreshThresholdMs ?? 30 * 60 * 1000;\n this.tokenExchangeTimeout = options.tokenExchangeTimeout ?? 10 * 1000;\n this.baseUrl = options.baseUrl ?? resolveTenantBaseUrl(this.tenant, this.environment);\n }\n\n /**\n * Get the base URL for API requests.\n *\n * Resolves the appropriate base URL based on environment or custom override.\n *\n * @returns {string} The resolved base URL (e.g., \"https://api.sandbox.tryspare.ae\")\n *\n * @example\n * ```ts\n * const config = new Configuration({ ..., environment: 'production' });\n * config.getBaseUrl(); // \"https://api.tryspare.ae\"\n * ```\n */\n getBaseUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * Get authentication headers for API requests.\n *\n * This method is called automatically by the SDK on each API request.\n * It handles token exchange on first call and auto-refresh when expired.\n *\n * @returns {Promise<Record<string, string>>} Authorization header with Bearer token\n * @throws {Error} If token exchange fails or credentials are invalid\n *\n * @example\n * ```ts\n * const headers = await config.getAuthHeaders();\n * // Returns: { Authorization: 'Bearer at_xyz...' }\n * ```\n */\n async getAuthHeaders(): Promise<Record<string, string>> {\n try {\n const token = await this.getAccessToken();\n return { Authorization: `Bearer ${token}` };\n } catch (error) {\n throw new SpareApiError(\n error instanceof Error ? error.message : 'Failed to get auth headers',\n 500\n );\n }\n }\n\n /**\n * Implements AuthProvider interface for Fern-generated SDK.\n * Called by SpareApiClient on each request to get authentication headers.\n *\n * Returns Authorization header + multi-tenant headers (X-Tenant, X-Client-ID)\n * so Configuration is the single source of truth for all credential-related headers.\n *\n * @returns {Promise<{ headers: Record<string, string> }>} AuthRequest with all headers\n * @throws {Error} If token exchange fails or credentials are invalid\n */\n async getAuthRequest(): Promise<{ headers: Record<string, string> }> {\n const authHeaders = await this.getAuthHeaders();\n return {\n headers: {\n ...authHeaders,\n 'x-tenant': this.tenant,\n },\n };\n }\n\n /**\n * Get access token, exchanging credentials if needed or refreshing if expired.\n * Called internally by the client on each request.\n * Handles token lifecycle with concurrent-safe refresh.\n *\n * @returns {Promise<string>} Valid access token\n * @throws {Error} If token exchange or refresh fails\n * @private\n */\n async getAccessToken(): Promise<string> {\n // If token is not yet loaded, exchange credentials (with concurrent safety)\n if (!this.accessToken) {\n // Prevent concurrent exchange calls\n if (this.isExchanging && this.exchangePromise) {\n await this.exchangePromise;\n } else {\n await this.exchangeCredentialsForToken();\n }\n }\n\n // If token is expired or about to expire (refresh buffer), refresh\n if (this.isTokenExpiredOrExpiring()) {\n await this.refreshAccessToken();\n }\n\n // biome-ignore lint/style/noNonNullAssertion: token is guaranteed to exist after exchange or refresh\n return this.accessToken!;\n }\n\n /**\n * Exchange credentials for tokens (first-time setup).\n * Called automatically on first API request.\n * Implements timeout and comprehensive error handling.\n * Uses a concurrent-safe lock to prevent duplicate exchanges.\n *\n * @returns {Promise<void>}\n * @throws {Error} If API request fails, credentials are invalid, or timeout occurs\n * @private\n */\n // biome-ignore lint/style/useNamingConvention: private method\n private async exchangeCredentialsForToken(): Promise<void> {\n // Prevent concurrent exchange calls by returning shared promise\n if (this.isExchanging && this.exchangePromise) {\n return this.exchangePromise;\n }\n\n this.isExchanging = true;\n this.exchangePromise = (async () => {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.tokenExchangeTimeout);\n\n try {\n const response = await fetch(`${this.baseUrl}/auth/api-keys/sessions`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Tenant': this.tenant,\n 'app-id': this.appId,\n 'x-api-key': this.apiKey,\n },\n signal: controller.signal,\n });\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SpareApiError(\n `Token exchange failed: ${response.status} ${response.statusText}. ` +\n `Verify appId, apiKey, and tenant are correct.\\n${errorBody}`,\n response.status\n );\n }\n\n const data = (await response.json()) as Record<string, unknown>;\n // API returns bare object with snake_case fields, not wrapped in { data }\n // Expected: { access_token, refresh_token, expires_in, type: \"Bearer\" }\n const accessToken = (data['access_token'] ?? data['accessToken']) as string | undefined;\n const refreshToken = (data['refresh_token'] ?? data['refreshToken']) as string | undefined;\n const expiresIn = (data['expires_in'] ?? data['expiresIn']) as number | undefined;\n\n if (!(accessToken && refreshToken)) {\n throw new SpareApiError(\n `Missing accessToken or refreshToken in exchange response. Got keys: ${Object.keys(data).join(', ')}`,\n 500\n );\n }\n\n this.accessToken = accessToken;\n this.refreshToken = refreshToken;\n // Calculate expiresAt from expiresIn (seconds) or use default\n this.tokenExpiresAt = expiresIn\n ? Date.now() + expiresIn * 1000\n : Date.now() + this.refreshThresholdMs * 2;\n } catch (error) {\n if (error instanceof Error && error.name === 'AbortError') {\n throw new SpareApiError(\n `Token exchange timed out after ${this.tokenExchangeTimeout}ms. ` +\n 'Check appId, apiKey, tenant, and network connectivity.',\n 408\n );\n }\n if (error instanceof SpareApiError) throw error;\n throw new SpareApiError(\n `Token exchange failed: ${error instanceof Error ? error.message : String(error)}`,\n 500\n );\n } finally {\n clearTimeout(timeoutId);\n this.isExchanging = false;\n this.exchangePromise = null;\n }\n })();\n\n return this.exchangePromise;\n }\n\n /**\n * Refresh access token before expiry.\n * Handles concurrent refresh requests (multiple API calls in parallel).\n * Uses a promise lock to ensure only one refresh happens at a time.\n *\n * @returns {Promise<void>}\n * @throws {Error} If refresh fails\n * @private\n */\n // biome-ignore lint/style/useNamingConvention: private method\n private async refreshAccessToken(): Promise<void> {\n // Prevent concurrent refresh calls by returning shared promise\n if (this.isRefreshing && this.refreshPromise) {\n return this.refreshPromise;\n }\n\n this.isRefreshing = true;\n this.refreshPromise = (async () => {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.tokenExchangeTimeout);\n\n try {\n const response = await fetch(`${this.baseUrl}/auth/api-keys/sessions/refresh`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Tenant': this.tenant,\n },\n body: JSON.stringify({\n refreshToken: this.refreshToken,\n }),\n signal: controller.signal,\n });\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SpareApiError(\n `Token refresh failed: ${response.status} ${response.statusText}\\n${errorBody}`,\n response.status\n );\n }\n\n const data = (await response.json()) as Record<string, unknown>;\n // API returns bare object with snake_case fields\n // Expected: { access_token, refresh_token, expires_in, type: \"Bearer\" }\n const accessToken = (data['access_token'] ?? data['accessToken']) as string | undefined;\n const refreshToken = (data['refresh_token'] ?? data['refreshToken']) as string | undefined;\n const expiresIn = (data['expires_in'] ?? data['expiresIn']) as number | undefined;\n\n if (!(accessToken && refreshToken)) {\n throw new SpareApiError(\n `Missing tokens in refresh response. Got keys: ${Object.keys(data).join(', ')}`,\n 500\n );\n }\n\n this.accessToken = accessToken;\n this.refreshToken = refreshToken;\n // Calculate expiresAt from expiresIn (seconds) or use default\n this.tokenExpiresAt = expiresIn\n ? Date.now() + expiresIn * 1000\n : Date.now() + this.refreshThresholdMs * 2;\n } catch (error) {\n if (error instanceof Error && error.name === 'AbortError') {\n throw new SpareApiError(\n `Token refresh timed out after ${this.tokenExchangeTimeout}ms`,\n 408\n );\n }\n if (error instanceof SpareApiError) throw error;\n throw new SpareApiError(\n `Token refresh failed: ${error instanceof Error ? error.message : String(error)}`,\n 500\n );\n } finally {\n clearTimeout(timeoutId);\n this.isRefreshing = false;\n this.refreshPromise = null;\n }\n })();\n\n return this.refreshPromise;\n }\n\n /**\n * Check if token is expired or about to expire (using refresh threshold buffer).\n *\n * @returns {boolean} True if token should be refreshed\n * @private\n */\n // biome-ignore lint/style/useNamingConvention: private method\n private isTokenExpiredOrExpiring(): boolean {\n if (!this.tokenExpiresAt) return true;\n return Date.now() >= this.tokenExpiresAt - this.refreshThresholdMs;\n }\n\n /**\n * Get base options for HTTP requests (headers, baseUrl, etc).\n * Used by the Fern-generated client to make authenticated requests.\n *\n * @returns {Record<string, unknown>} Base request options\n *\n * @internal\n */\n getBaseOptions(): Record<string, unknown> {\n return {\n headers: {\n 'X-Tenant': this.tenant,\n },\n };\n }\n}\n\n/**\n * Custom error class for Spare API errors.\n * Includes HTTP status code for better error handling.\n */\nclass SpareApiError extends Error {\n constructor(\n message: string,\n readonly statusCode: number\n ) {\n super(message);\n this.name = 'SpareApiError';\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { EndpointMetadata } from "../fetcher/EndpointMetadata.js";
2
+ import type { AuthRequest } from "./AuthRequest.js";
3
+ export interface AuthProvider {
4
+ getAuthRequest(arg?: {
5
+ endpointMetadata?: EndpointMetadata;
6
+ }): Promise<AuthRequest>;
7
+ }
8
+ //# sourceMappingURL=AuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../core/auth/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IACzB,cAAc,CAAC,GAAG,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACvF"}