@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.
- package/LICENSE +21 -0
- package/README.md +423 -0
- package/dist/BaseClient.d.ts +50 -0
- package/dist/BaseClient.d.ts.map +1 -0
- package/dist/BaseClient.js +41 -0
- package/dist/BaseClient.js.map +1 -0
- package/dist/Client.d.ts +60 -0
- package/dist/Client.d.ts.map +1 -0
- package/dist/Client.js +77 -0
- package/dist/Client.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/resources/auth/client/Client.d.ts +77 -0
- package/dist/api/resources/auth/client/Client.d.ts.map +1 -0
- package/dist/api/resources/auth/client/Client.js +221 -0
- package/dist/api/resources/auth/client/Client.js.map +1 -0
- package/dist/api/resources/auth/client/index.d.ts +2 -0
- package/dist/api/resources/auth/client/index.d.ts.map +1 -0
- package/dist/api/resources/auth/client/index.js +2 -0
- package/dist/api/resources/auth/client/index.js.map +1 -0
- package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.d.ts +14 -0
- package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.d.ts.map +1 -0
- package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.js +3 -0
- package/dist/api/resources/auth/client/requests/AuthenticateAuthRequest.js.map +1 -0
- package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.d.ts +10 -0
- package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.d.ts.map +1 -0
- package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.js +3 -0
- package/dist/api/resources/auth/client/requests/GetProviderJwksAuthRequest.js.map +1 -0
- package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.d.ts +10 -0
- package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.d.ts.map +1 -0
- package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.js +3 -0
- package/dist/api/resources/auth/client/requests/RefreshSessionAuthRequest.js.map +1 -0
- package/dist/api/resources/auth/client/requests/index.d.ts +4 -0
- package/dist/api/resources/auth/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/auth/client/requests/index.js +2 -0
- package/dist/api/resources/auth/client/requests/index.js.map +1 -0
- package/dist/api/resources/auth/exports.d.ts +3 -0
- package/dist/api/resources/auth/exports.d.ts.map +1 -0
- package/dist/api/resources/auth/exports.js +4 -0
- package/dist/api/resources/auth/exports.js.map +1 -0
- package/dist/api/resources/auth/index.d.ts +3 -0
- package/dist/api/resources/auth/index.d.ts.map +1 -0
- package/dist/api/resources/auth/index.js +3 -0
- package/dist/api/resources/auth/index.js.map +1 -0
- package/dist/api/resources/auth/types/AuthenticateAuthResponse.d.ts +14 -0
- package/dist/api/resources/auth/types/AuthenticateAuthResponse.d.ts.map +1 -0
- package/dist/api/resources/auth/types/AuthenticateAuthResponse.js +8 -0
- package/dist/api/resources/auth/types/AuthenticateAuthResponse.js.map +1 -0
- package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.d.ts +5 -0
- package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.d.ts.map +1 -0
- package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.js +3 -0
- package/dist/api/resources/auth/types/GetPlatformJwksAuthResponse.js.map +1 -0
- package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.d.ts +5 -0
- package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.d.ts.map +1 -0
- package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.js +3 -0
- package/dist/api/resources/auth/types/GetProviderJwksAuthResponse.js.map +1 -0
- package/dist/api/resources/auth/types/RefreshSessionAuthResponse.d.ts +14 -0
- package/dist/api/resources/auth/types/RefreshSessionAuthResponse.d.ts.map +1 -0
- package/dist/api/resources/auth/types/RefreshSessionAuthResponse.js +8 -0
- package/dist/api/resources/auth/types/RefreshSessionAuthResponse.js.map +1 -0
- package/dist/api/resources/auth/types/index.d.ts +5 -0
- package/dist/api/resources/auth/types/index.d.ts.map +1 -0
- package/dist/api/resources/auth/types/index.js +5 -0
- package/dist/api/resources/auth/types/index.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/Client.d.ts +89 -0
- package/dist/api/resources/bankAccounts/client/Client.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/Client.js +325 -0
- package/dist/api/resources/bankAccounts/client/Client.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/index.d.ts +2 -0
- package/dist/api/resources/bankAccounts/client/index.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/index.js +2 -0
- package/dist/api/resources/bankAccounts/client/index.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.d.ts +38 -0
- package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/CreateBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.d.ts +12 -0
- package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/DeleteBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.d.ts +12 -0
- package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/GetBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.d.ts +10 -0
- package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/GetDefaultBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.d.ts +12 -0
- package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.d.ts +12 -0
- package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.js +3 -0
- package/dist/api/resources/bankAccounts/client/requests/SetDefaultBankAccountsRequest.js.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/index.d.ts +7 -0
- package/dist/api/resources/bankAccounts/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/client/requests/index.js +2 -0
- package/dist/api/resources/bankAccounts/client/requests/index.js.map +1 -0
- package/dist/api/resources/bankAccounts/exports.d.ts +3 -0
- package/dist/api/resources/bankAccounts/exports.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/exports.js +4 -0
- package/dist/api/resources/bankAccounts/exports.js.map +1 -0
- package/dist/api/resources/bankAccounts/index.d.ts +3 -0
- package/dist/api/resources/bankAccounts/index.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/index.js +3 -0
- package/dist/api/resources/bankAccounts/index.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.d.ts +7 -0
- package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.js +3 -0
- package/dist/api/resources/bankAccounts/types/CreateBankAccountsResponse.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.d.ts +7 -0
- package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.js +3 -0
- package/dist/api/resources/bankAccounts/types/GetBankAccountsResponse.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.d.ts +7 -0
- package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.js +3 -0
- package/dist/api/resources/bankAccounts/types/GetDefaultBankAccountsResponse.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.d.ts +8 -0
- package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.js +3 -0
- package/dist/api/resources/bankAccounts/types/ListBankAccountsResponse.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.d.ts +7 -0
- package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.js +3 -0
- package/dist/api/resources/bankAccounts/types/SetDefaultBankAccountsResponse.js.map +1 -0
- package/dist/api/resources/bankAccounts/types/index.d.ts +6 -0
- package/dist/api/resources/bankAccounts/types/index.d.ts.map +1 -0
- package/dist/api/resources/bankAccounts/types/index.js +6 -0
- package/dist/api/resources/bankAccounts/types/index.js.map +1 -0
- package/dist/api/resources/index.d.ts +34 -0
- package/dist/api/resources/index.d.ts.map +1 -0
- package/dist/api/resources/index.js +34 -0
- package/dist/api/resources/index.js.map +1 -0
- package/dist/api/resources/link/client/Client.d.ts +57 -0
- package/dist/api/resources/link/client/Client.d.ts.map +1 -0
- package/dist/api/resources/link/client/Client.js +139 -0
- package/dist/api/resources/link/client/Client.js.map +1 -0
- package/dist/api/resources/link/client/index.d.ts +2 -0
- package/dist/api/resources/link/client/index.d.ts.map +1 -0
- package/dist/api/resources/link/client/index.js +2 -0
- package/dist/api/resources/link/client/index.js.map +1 -0
- package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.d.ts +26 -0
- package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.d.ts.map +1 -0
- package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.js +3 -0
- package/dist/api/resources/link/client/requests/CreatePaymentTokenLinkRequest.js.map +1 -0
- package/dist/api/resources/link/client/requests/ExchangeLinkRequest.d.ts +10 -0
- package/dist/api/resources/link/client/requests/ExchangeLinkRequest.d.ts.map +1 -0
- package/dist/api/resources/link/client/requests/ExchangeLinkRequest.js +3 -0
- package/dist/api/resources/link/client/requests/ExchangeLinkRequest.js.map +1 -0
- package/dist/api/resources/link/client/requests/index.d.ts +3 -0
- package/dist/api/resources/link/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/link/client/requests/index.js +2 -0
- package/dist/api/resources/link/client/requests/index.js.map +1 -0
- package/dist/api/resources/link/exports.d.ts +3 -0
- package/dist/api/resources/link/exports.d.ts.map +1 -0
- package/dist/api/resources/link/exports.js +4 -0
- package/dist/api/resources/link/exports.js.map +1 -0
- package/dist/api/resources/link/index.d.ts +3 -0
- package/dist/api/resources/link/index.d.ts.map +1 -0
- package/dist/api/resources/link/index.js +3 -0
- package/dist/api/resources/link/index.js.map +1 -0
- package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.d.ts +7 -0
- package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.d.ts.map +1 -0
- package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.js +3 -0
- package/dist/api/resources/link/types/CreatePaymentTokenLinkResponse.js.map +1 -0
- package/dist/api/resources/link/types/ExchangeLinkResponse.d.ts +7 -0
- package/dist/api/resources/link/types/ExchangeLinkResponse.d.ts.map +1 -0
- package/dist/api/resources/link/types/ExchangeLinkResponse.js +3 -0
- package/dist/api/resources/link/types/ExchangeLinkResponse.js.map +1 -0
- package/dist/api/resources/link/types/index.d.ts +3 -0
- package/dist/api/resources/link/types/index.d.ts.map +1 -0
- package/dist/api/resources/link/types/index.js +3 -0
- package/dist/api/resources/link/types/index.js.map +1 -0
- package/dist/api/resources/mandates/client/Client.d.ts +55 -0
- package/dist/api/resources/mandates/client/Client.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/Client.js +175 -0
- package/dist/api/resources/mandates/client/Client.js.map +1 -0
- package/dist/api/resources/mandates/client/index.d.ts +2 -0
- package/dist/api/resources/mandates/client/index.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/index.js +2 -0
- package/dist/api/resources/mandates/client/index.js.map +1 -0
- package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.d.ts +18 -0
- package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.js +3 -0
- package/dist/api/resources/mandates/client/requests/ApproveMandatesRequest.js.map +1 -0
- package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.d.ts +12 -0
- package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.js +3 -0
- package/dist/api/resources/mandates/client/requests/ListTransactionsMandatesRequest.js.map +1 -0
- package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.d.ts +22 -0
- package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.js +3 -0
- package/dist/api/resources/mandates/client/requests/ScheduleMandatesRequest.js.map +1 -0
- package/dist/api/resources/mandates/client/requests/index.d.ts +4 -0
- package/dist/api/resources/mandates/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/mandates/client/requests/index.js +2 -0
- package/dist/api/resources/mandates/client/requests/index.js.map +1 -0
- package/dist/api/resources/mandates/exports.d.ts +3 -0
- package/dist/api/resources/mandates/exports.d.ts.map +1 -0
- package/dist/api/resources/mandates/exports.js +4 -0
- package/dist/api/resources/mandates/exports.js.map +1 -0
- package/dist/api/resources/mandates/index.d.ts +3 -0
- package/dist/api/resources/mandates/index.d.ts.map +1 -0
- package/dist/api/resources/mandates/index.js +3 -0
- package/dist/api/resources/mandates/index.js.map +1 -0
- package/dist/api/resources/mandates/types/ApproveMandatesResponse.d.ts +7 -0
- package/dist/api/resources/mandates/types/ApproveMandatesResponse.d.ts.map +1 -0
- package/dist/api/resources/mandates/types/ApproveMandatesResponse.js +3 -0
- package/dist/api/resources/mandates/types/ApproveMandatesResponse.js.map +1 -0
- package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.d.ts +7 -0
- package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.d.ts.map +1 -0
- package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.js +3 -0
- package/dist/api/resources/mandates/types/ListTransactionsMandatesResponse.js.map +1 -0
- package/dist/api/resources/mandates/types/ScheduleMandatesResponse.d.ts +7 -0
- package/dist/api/resources/mandates/types/ScheduleMandatesResponse.d.ts.map +1 -0
- package/dist/api/resources/mandates/types/ScheduleMandatesResponse.js +3 -0
- package/dist/api/resources/mandates/types/ScheduleMandatesResponse.js.map +1 -0
- package/dist/api/resources/mandates/types/index.d.ts +4 -0
- package/dist/api/resources/mandates/types/index.d.ts.map +1 -0
- package/dist/api/resources/mandates/types/index.js +4 -0
- package/dist/api/resources/mandates/types/index.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/Client.d.ts +62 -0
- package/dist/api/resources/paymentConsents/client/Client.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/Client.js +229 -0
- package/dist/api/resources/paymentConsents/client/Client.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/index.d.ts +2 -0
- package/dist/api/resources/paymentConsents/client/index.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/index.js +2 -0
- package/dist/api/resources/paymentConsents/client/index.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.d.ts +12 -0
- package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.js +3 -0
- package/dist/api/resources/paymentConsents/client/requests/GetPaymentConsentsRequest.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.d.ts +15 -0
- package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.js +3 -0
- package/dist/api/resources/paymentConsents/client/requests/ListPaymentConsentsRequest.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.d.ts +11 -0
- package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.js +3 -0
- package/dist/api/resources/paymentConsents/client/requests/SyncPaymentConsentsRequest.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.d.ts +14 -0
- package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.js +3 -0
- package/dist/api/resources/paymentConsents/client/requests/UpdatePaymentConsentsRequest.js.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/index.d.ts +5 -0
- package/dist/api/resources/paymentConsents/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/client/requests/index.js +2 -0
- package/dist/api/resources/paymentConsents/client/requests/index.js.map +1 -0
- package/dist/api/resources/paymentConsents/exports.d.ts +3 -0
- package/dist/api/resources/paymentConsents/exports.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/exports.js +4 -0
- package/dist/api/resources/paymentConsents/exports.js.map +1 -0
- package/dist/api/resources/paymentConsents/index.d.ts +3 -0
- package/dist/api/resources/paymentConsents/index.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/index.js +3 -0
- package/dist/api/resources/paymentConsents/index.js.map +1 -0
- package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.d.ts +7 -0
- package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.js +3 -0
- package/dist/api/resources/paymentConsents/types/GetPaymentConsentsResponse.js.map +1 -0
- package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.d.ts +8 -0
- package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.js +3 -0
- package/dist/api/resources/paymentConsents/types/ListPaymentConsentsResponse.js.map +1 -0
- package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.d.ts +7 -0
- package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.js +3 -0
- package/dist/api/resources/paymentConsents/types/SyncPaymentConsentsResponse.js.map +1 -0
- package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.d.ts +7 -0
- package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.js +3 -0
- package/dist/api/resources/paymentConsents/types/UpdatePaymentConsentsResponse.js.map +1 -0
- package/dist/api/resources/paymentConsents/types/index.d.ts +5 -0
- package/dist/api/resources/paymentConsents/types/index.d.ts.map +1 -0
- package/dist/api/resources/paymentConsents/types/index.js +5 -0
- package/dist/api/resources/paymentConsents/types/index.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/Client.d.ts +26 -0
- package/dist/api/resources/paymentPurposeCodes/client/Client.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/Client.js +78 -0
- package/dist/api/resources/paymentPurposeCodes/client/Client.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/index.d.ts +2 -0
- package/dist/api/resources/paymentPurposeCodes/client/index.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/index.js +2 -0
- package/dist/api/resources/paymentPurposeCodes/client/index.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.d.ts +12 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.js +3 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/ListPaymentPurposeCodesRequest.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/index.d.ts +2 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/index.js +2 -0
- package/dist/api/resources/paymentPurposeCodes/client/requests/index.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/exports.d.ts +3 -0
- package/dist/api/resources/paymentPurposeCodes/exports.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/exports.js +4 -0
- package/dist/api/resources/paymentPurposeCodes/exports.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/index.d.ts +3 -0
- package/dist/api/resources/paymentPurposeCodes/index.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/index.js +3 -0
- package/dist/api/resources/paymentPurposeCodes/index.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.d.ts +7 -0
- package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.js +3 -0
- package/dist/api/resources/paymentPurposeCodes/types/ListPaymentPurposeCodesResponse.js.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/types/index.d.ts +2 -0
- package/dist/api/resources/paymentPurposeCodes/types/index.d.ts.map +1 -0
- package/dist/api/resources/paymentPurposeCodes/types/index.js +2 -0
- package/dist/api/resources/paymentPurposeCodes/types/index.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/Client.d.ts +71 -0
- package/dist/api/resources/paymentRequests/client/Client.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/Client.js +231 -0
- package/dist/api/resources/paymentRequests/client/Client.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/index.d.ts +2 -0
- package/dist/api/resources/paymentRequests/client/index.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/index.js +2 -0
- package/dist/api/resources/paymentRequests/client/index.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.d.ts +47 -0
- package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.js +3 -0
- package/dist/api/resources/paymentRequests/client/requests/CreatePaymentRequestsRequest.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.d.ts +12 -0
- package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.js +3 -0
- package/dist/api/resources/paymentRequests/client/requests/DeletePaymentRequestsRequest.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.d.ts +12 -0
- package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.js +3 -0
- package/dist/api/resources/paymentRequests/client/requests/GetPaymentRequestsRequest.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.d.ts +13 -0
- package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.js +3 -0
- package/dist/api/resources/paymentRequests/client/requests/ListPaymentRequestsRequest.js.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/index.d.ts +5 -0
- package/dist/api/resources/paymentRequests/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/client/requests/index.js +2 -0
- package/dist/api/resources/paymentRequests/client/requests/index.js.map +1 -0
- package/dist/api/resources/paymentRequests/exports.d.ts +3 -0
- package/dist/api/resources/paymentRequests/exports.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/exports.js +4 -0
- package/dist/api/resources/paymentRequests/exports.js.map +1 -0
- package/dist/api/resources/paymentRequests/index.d.ts +3 -0
- package/dist/api/resources/paymentRequests/index.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/index.js +3 -0
- package/dist/api/resources/paymentRequests/index.js.map +1 -0
- package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.d.ts +7 -0
- package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.js +3 -0
- package/dist/api/resources/paymentRequests/types/CreatePaymentRequestsResponse.js.map +1 -0
- package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.d.ts +7 -0
- package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.js +3 -0
- package/dist/api/resources/paymentRequests/types/GetPaymentRequestsResponse.js.map +1 -0
- package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.d.ts +8 -0
- package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.js +3 -0
- package/dist/api/resources/paymentRequests/types/ListPaymentRequestsResponse.js.map +1 -0
- package/dist/api/resources/paymentRequests/types/index.d.ts +4 -0
- package/dist/api/resources/paymentRequests/types/index.d.ts.map +1 -0
- package/dist/api/resources/paymentRequests/types/index.js +4 -0
- package/dist/api/resources/paymentRequests/types/index.js.map +1 -0
- package/dist/api/resources/payments/client/Client.d.ts +38 -0
- package/dist/api/resources/payments/client/Client.d.ts.map +1 -0
- package/dist/api/resources/payments/client/Client.js +122 -0
- package/dist/api/resources/payments/client/Client.js.map +1 -0
- package/dist/api/resources/payments/client/index.d.ts +2 -0
- package/dist/api/resources/payments/client/index.d.ts.map +1 -0
- package/dist/api/resources/payments/client/index.js +2 -0
- package/dist/api/resources/payments/client/index.js.map +1 -0
- package/dist/api/resources/payments/client/requests/GetPaymentsRequest.d.ts +12 -0
- package/dist/api/resources/payments/client/requests/GetPaymentsRequest.d.ts.map +1 -0
- package/dist/api/resources/payments/client/requests/GetPaymentsRequest.js +3 -0
- package/dist/api/resources/payments/client/requests/GetPaymentsRequest.js.map +1 -0
- package/dist/api/resources/payments/client/requests/ListPaymentsRequest.d.ts +13 -0
- package/dist/api/resources/payments/client/requests/ListPaymentsRequest.d.ts.map +1 -0
- package/dist/api/resources/payments/client/requests/ListPaymentsRequest.js +3 -0
- package/dist/api/resources/payments/client/requests/ListPaymentsRequest.js.map +1 -0
- package/dist/api/resources/payments/client/requests/index.d.ts +3 -0
- package/dist/api/resources/payments/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/payments/client/requests/index.js +2 -0
- package/dist/api/resources/payments/client/requests/index.js.map +1 -0
- package/dist/api/resources/payments/exports.d.ts +3 -0
- package/dist/api/resources/payments/exports.d.ts.map +1 -0
- package/dist/api/resources/payments/exports.js +4 -0
- package/dist/api/resources/payments/exports.js.map +1 -0
- package/dist/api/resources/payments/index.d.ts +3 -0
- package/dist/api/resources/payments/index.d.ts.map +1 -0
- package/dist/api/resources/payments/index.js +3 -0
- package/dist/api/resources/payments/index.js.map +1 -0
- package/dist/api/resources/payments/types/GetPaymentsResponse.d.ts +7 -0
- package/dist/api/resources/payments/types/GetPaymentsResponse.d.ts.map +1 -0
- package/dist/api/resources/payments/types/GetPaymentsResponse.js +3 -0
- package/dist/api/resources/payments/types/GetPaymentsResponse.js.map +1 -0
- package/dist/api/resources/payments/types/ListPaymentsResponse.d.ts +8 -0
- package/dist/api/resources/payments/types/ListPaymentsResponse.d.ts.map +1 -0
- package/dist/api/resources/payments/types/ListPaymentsResponse.js +3 -0
- package/dist/api/resources/payments/types/ListPaymentsResponse.js.map +1 -0
- package/dist/api/resources/payments/types/index.d.ts +3 -0
- package/dist/api/resources/payments/types/index.d.ts.map +1 -0
- package/dist/api/resources/payments/types/index.js +3 -0
- package/dist/api/resources/payments/types/index.js.map +1 -0
- package/dist/api/resources/providers/client/Client.d.ts +28 -0
- package/dist/api/resources/providers/client/Client.d.ts.map +1 -0
- package/dist/api/resources/providers/client/Client.js +76 -0
- package/dist/api/resources/providers/client/Client.js.map +1 -0
- package/dist/api/resources/providers/client/index.d.ts +2 -0
- package/dist/api/resources/providers/client/index.d.ts.map +1 -0
- package/dist/api/resources/providers/client/index.js +2 -0
- package/dist/api/resources/providers/client/index.js.map +1 -0
- package/dist/api/resources/providers/client/requests/ListProvidersRequest.d.ts +11 -0
- package/dist/api/resources/providers/client/requests/ListProvidersRequest.d.ts.map +1 -0
- package/dist/api/resources/providers/client/requests/ListProvidersRequest.js +3 -0
- package/dist/api/resources/providers/client/requests/ListProvidersRequest.js.map +1 -0
- package/dist/api/resources/providers/client/requests/index.d.ts +2 -0
- package/dist/api/resources/providers/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/providers/client/requests/index.js +2 -0
- package/dist/api/resources/providers/client/requests/index.js.map +1 -0
- package/dist/api/resources/providers/exports.d.ts +3 -0
- package/dist/api/resources/providers/exports.d.ts.map +1 -0
- package/dist/api/resources/providers/exports.js +4 -0
- package/dist/api/resources/providers/exports.js.map +1 -0
- package/dist/api/resources/providers/index.d.ts +3 -0
- package/dist/api/resources/providers/index.d.ts.map +1 -0
- package/dist/api/resources/providers/index.js +3 -0
- package/dist/api/resources/providers/index.js.map +1 -0
- package/dist/api/resources/providers/types/ListProvidersResponse.d.ts +7 -0
- package/dist/api/resources/providers/types/ListProvidersResponse.d.ts.map +1 -0
- package/dist/api/resources/providers/types/ListProvidersResponse.js +3 -0
- package/dist/api/resources/providers/types/ListProvidersResponse.js.map +1 -0
- package/dist/api/resources/providers/types/index.d.ts +2 -0
- package/dist/api/resources/providers/types/index.d.ts.map +1 -0
- package/dist/api/resources/providers/types/index.js +2 -0
- package/dist/api/resources/providers/types/index.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/Client.d.ts +27 -0
- package/dist/api/resources/savedDebtorAccounts/client/Client.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/Client.js +80 -0
- package/dist/api/resources/savedDebtorAccounts/client/Client.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/index.d.ts +2 -0
- package/dist/api/resources/savedDebtorAccounts/client/index.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/index.js +2 -0
- package/dist/api/resources/savedDebtorAccounts/client/index.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.d.ts +15 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.js +3 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/ListSavedDebtorAccountsRequest.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/index.d.ts +2 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/index.js +2 -0
- package/dist/api/resources/savedDebtorAccounts/client/requests/index.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/exports.d.ts +3 -0
- package/dist/api/resources/savedDebtorAccounts/exports.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/exports.js +4 -0
- package/dist/api/resources/savedDebtorAccounts/exports.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/index.d.ts +3 -0
- package/dist/api/resources/savedDebtorAccounts/index.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/index.js +3 -0
- package/dist/api/resources/savedDebtorAccounts/index.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.d.ts +8 -0
- package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.js +3 -0
- package/dist/api/resources/savedDebtorAccounts/types/ListSavedDebtorAccountsResponse.js.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/types/index.d.ts +2 -0
- package/dist/api/resources/savedDebtorAccounts/types/index.d.ts.map +1 -0
- package/dist/api/resources/savedDebtorAccounts/types/index.js +2 -0
- package/dist/api/resources/savedDebtorAccounts/types/index.js.map +1 -0
- package/dist/api/resources/verifications/client/Client.d.ts +27 -0
- package/dist/api/resources/verifications/client/Client.d.ts.map +1 -0
- package/dist/api/resources/verifications/client/Client.js +74 -0
- package/dist/api/resources/verifications/client/Client.js.map +1 -0
- package/dist/api/resources/verifications/client/index.d.ts +2 -0
- package/dist/api/resources/verifications/client/index.d.ts.map +1 -0
- package/dist/api/resources/verifications/client/index.js +2 -0
- package/dist/api/resources/verifications/client/index.js.map +1 -0
- package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.d.ts +14 -0
- package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.d.ts.map +1 -0
- package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.js +3 -0
- package/dist/api/resources/verifications/client/requests/VerifyBeneficiaryVerificationsRequest.js.map +1 -0
- package/dist/api/resources/verifications/client/requests/index.d.ts +2 -0
- package/dist/api/resources/verifications/client/requests/index.d.ts.map +1 -0
- package/dist/api/resources/verifications/client/requests/index.js +2 -0
- package/dist/api/resources/verifications/client/requests/index.js.map +1 -0
- package/dist/api/resources/verifications/exports.d.ts +3 -0
- package/dist/api/resources/verifications/exports.d.ts.map +1 -0
- package/dist/api/resources/verifications/exports.js +4 -0
- package/dist/api/resources/verifications/exports.js.map +1 -0
- package/dist/api/resources/verifications/index.d.ts +3 -0
- package/dist/api/resources/verifications/index.d.ts.map +1 -0
- package/dist/api/resources/verifications/index.js +3 -0
- package/dist/api/resources/verifications/index.js.map +1 -0
- package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.d.ts +7 -0
- package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.d.ts.map +1 -0
- package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.js +3 -0
- package/dist/api/resources/verifications/types/VerifyBeneficiaryVerificationsResponse.js.map +1 -0
- package/dist/api/resources/verifications/types/index.d.ts +2 -0
- package/dist/api/resources/verifications/types/index.d.ts.map +1 -0
- package/dist/api/resources/verifications/types/index.js +2 -0
- package/dist/api/resources/verifications/types/index.js.map +1 -0
- package/dist/api/types/ApiError.d.ts +9 -0
- package/dist/api/types/ApiError.d.ts.map +1 -0
- package/dist/api/types/ApiError.js +3 -0
- package/dist/api/types/ApiError.js.map +1 -0
- package/dist/api/types/BankAccountIUaePaymentAccountDto.d.ts +7 -0
- package/dist/api/types/BankAccountIUaePaymentAccountDto.d.ts.map +1 -0
- package/dist/api/types/BankAccountIUaePaymentAccountDto.js +3 -0
- package/dist/api/types/BankAccountIUaePaymentAccountDto.js.map +1 -0
- package/dist/api/types/BaseIAdapterAccountModel.d.ts +10 -0
- package/dist/api/types/BaseIAdapterAccountModel.d.ts.map +1 -0
- package/dist/api/types/BaseIAdapterAccountModel.js +3 -0
- package/dist/api/types/BaseIAdapterAccountModel.js.map +1 -0
- package/dist/api/types/BaseIBahrainProviderListItem.d.ts +13 -0
- package/dist/api/types/BaseIBahrainProviderListItem.d.ts.map +1 -0
- package/dist/api/types/BaseIBahrainProviderListItem.js +3 -0
- package/dist/api/types/BaseIBahrainProviderListItem.js.map +1 -0
- package/dist/api/types/BaseIBankAccountRow.d.ts +12 -0
- package/dist/api/types/BaseIBankAccountRow.d.ts.map +1 -0
- package/dist/api/types/BaseIBankAccountRow.js +3 -0
- package/dist/api/types/BaseIBankAccountRow.js.map +1 -0
- package/dist/api/types/BaseIKsaProviderListItem.d.ts +13 -0
- package/dist/api/types/BaseIKsaProviderListItem.d.ts.map +1 -0
- package/dist/api/types/BaseIKsaProviderListItem.js +3 -0
- package/dist/api/types/BaseIKsaProviderListItem.js.map +1 -0
- package/dist/api/types/BaseIPaymentRequestRow.d.ts +48 -0
- package/dist/api/types/BaseIPaymentRequestRow.d.ts.map +1 -0
- package/dist/api/types/BaseIPaymentRequestRow.js +3 -0
- package/dist/api/types/BaseIPaymentRequestRow.js.map +1 -0
- package/dist/api/types/BaseIProviderCountryResponse.d.ts +12 -0
- package/dist/api/types/BaseIProviderCountryResponse.d.ts.map +1 -0
- package/dist/api/types/BaseIProviderCountryResponse.js +3 -0
- package/dist/api/types/BaseIProviderCountryResponse.js.map +1 -0
- package/dist/api/types/BaseISavedDebtorAccountDto.d.ts +18 -0
- package/dist/api/types/BaseISavedDebtorAccountDto.d.ts.map +1 -0
- package/dist/api/types/BaseISavedDebtorAccountDto.js +3 -0
- package/dist/api/types/BaseISavedDebtorAccountDto.js.map +1 -0
- package/dist/api/types/BaseIUaeProviderListItem.d.ts +10 -0
- package/dist/api/types/BaseIUaeProviderListItem.d.ts.map +1 -0
- package/dist/api/types/BaseIUaeProviderListItem.js +3 -0
- package/dist/api/types/BaseIUaeProviderListItem.js.map +1 -0
- package/dist/api/types/BaseTProviderListItem.d.ts +3 -0
- package/dist/api/types/BaseTProviderListItem.d.ts.map +1 -0
- package/dist/api/types/BaseTProviderListItem.js +3 -0
- package/dist/api/types/BaseTProviderListItem.js.map +1 -0
- package/dist/api/types/CommonIPurposeCodeModel.d.ts +6 -0
- package/dist/api/types/CommonIPurposeCodeModel.d.ts.map +1 -0
- package/dist/api/types/CommonIPurposeCodeModel.js +3 -0
- package/dist/api/types/CommonIPurposeCodeModel.js.map +1 -0
- package/dist/api/types/ConsentISyncConsentDetailsResponse.d.ts +11 -0
- package/dist/api/types/ConsentISyncConsentDetailsResponse.d.ts.map +1 -0
- package/dist/api/types/ConsentISyncConsentDetailsResponse.js +3 -0
- package/dist/api/types/ConsentISyncConsentDetailsResponse.js.map +1 -0
- package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.d.ts +7 -0
- package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.d.ts.map +1 -0
- package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.js +3 -0
- package/dist/api/types/LinkICreateLinkPaymentTokenResponseData.js.map +1 -0
- package/dist/api/types/LinkILinkExchangeMultipaymentData.d.ts +12 -0
- package/dist/api/types/LinkILinkExchangeMultipaymentData.d.ts.map +1 -0
- package/dist/api/types/LinkILinkExchangeMultipaymentData.js +8 -0
- package/dist/api/types/LinkILinkExchangeMultipaymentData.js.map +1 -0
- package/dist/api/types/LinkILinkExchangeSipData.d.ts +13 -0
- package/dist/api/types/LinkILinkExchangeSipData.d.ts.map +1 -0
- package/dist/api/types/LinkILinkExchangeSipData.js +8 -0
- package/dist/api/types/LinkILinkExchangeSipData.js.map +1 -0
- package/dist/api/types/LinkTLinkExchangeResponseData.d.ts +11 -0
- package/dist/api/types/LinkTLinkExchangeResponseData.d.ts.map +1 -0
- package/dist/api/types/LinkTLinkExchangeResponseData.js +3 -0
- package/dist/api/types/LinkTLinkExchangeResponseData.js.map +1 -0
- package/dist/api/types/MandateIMandateTransactionResponse.d.ts +14 -0
- package/dist/api/types/MandateIMandateTransactionResponse.d.ts.map +1 -0
- package/dist/api/types/MandateIMandateTransactionResponse.js +3 -0
- package/dist/api/types/MandateIMandateTransactionResponse.js.map +1 -0
- package/dist/api/types/PaymentChargeBearerUae.d.ts +12 -0
- package/dist/api/types/PaymentChargeBearerUae.d.ts.map +1 -0
- package/dist/api/types/PaymentChargeBearerUae.js +12 -0
- package/dist/api/types/PaymentChargeBearerUae.js.map +1 -0
- package/dist/api/types/PaymentIAccountDto.d.ts +11 -0
- package/dist/api/types/PaymentIAccountDto.d.ts.map +1 -0
- package/dist/api/types/PaymentIAccountDto.js +3 -0
- package/dist/api/types/PaymentIAccountDto.js.map +1 -0
- package/dist/api/types/PaymentIAmountDtoUae.d.ts +8 -0
- package/dist/api/types/PaymentIAmountDtoUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIAmountDtoUae.js +3 -0
- package/dist/api/types/PaymentIAmountDtoUae.js.map +1 -0
- package/dist/api/types/PaymentICopCreditorNamePartsUae.d.ts +6 -0
- package/dist/api/types/PaymentICopCreditorNamePartsUae.d.ts.map +1 -0
- package/dist/api/types/PaymentICopCreditorNamePartsUae.js +3 -0
- package/dist/api/types/PaymentICopCreditorNamePartsUae.js.map +1 -0
- package/dist/api/types/PaymentICurrencyRequestUae.d.ts +11 -0
- package/dist/api/types/PaymentICurrencyRequestUae.d.ts.map +1 -0
- package/dist/api/types/PaymentICurrencyRequestUae.js +3 -0
- package/dist/api/types/PaymentICurrencyRequestUae.js.map +1 -0
- package/dist/api/types/PaymentIDebtorAccountInputDto.d.ts +10 -0
- package/dist/api/types/PaymentIDebtorAccountInputDto.d.ts.map +1 -0
- package/dist/api/types/PaymentIDebtorAccountInputDto.js +3 -0
- package/dist/api/types/PaymentIDebtorAccountInputDto.js.map +1 -0
- package/dist/api/types/PaymentIExchangeRateInfoUae.d.ts +8 -0
- package/dist/api/types/PaymentIExchangeRateInfoUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIExchangeRateInfoUae.js +3 -0
- package/dist/api/types/PaymentIExchangeRateInfoUae.js.map +1 -0
- package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.d.ts +28 -0
- package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.d.ts.map +1 -0
- package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.js +3 -0
- package/dist/api/types/PaymentIInitiatePaymentRequestResponseDto.js.map +1 -0
- package/dist/api/types/PaymentIObBankError.d.ts +8 -0
- package/dist/api/types/PaymentIObBankError.d.ts.map +1 -0
- package/dist/api/types/PaymentIObBankError.js +3 -0
- package/dist/api/types/PaymentIObBankError.js.map +1 -0
- package/dist/api/types/PaymentIObBankErrorItem.d.ts +7 -0
- package/dist/api/types/PaymentIObBankErrorItem.d.ts.map +1 -0
- package/dist/api/types/PaymentIObBankErrorItem.js +3 -0
- package/dist/api/types/PaymentIObBankErrorItem.js.map +1 -0
- package/dist/api/types/PaymentIObBankLinks.d.ts +5 -0
- package/dist/api/types/PaymentIObBankLinks.d.ts.map +1 -0
- package/dist/api/types/PaymentIObBankLinks.js +3 -0
- package/dist/api/types/PaymentIObBankLinks.js.map +1 -0
- package/dist/api/types/PaymentIObOpenFinanceBilling.d.ts +5 -0
- package/dist/api/types/PaymentIObOpenFinanceBilling.d.ts.map +1 -0
- package/dist/api/types/PaymentIObOpenFinanceBilling.js +3 -0
- package/dist/api/types/PaymentIObOpenFinanceBilling.js.map +1 -0
- package/dist/api/types/PaymentIObPaymentCharge.d.ts +12 -0
- package/dist/api/types/PaymentIObPaymentCharge.d.ts.map +1 -0
- package/dist/api/types/PaymentIObPaymentCharge.js +3 -0
- package/dist/api/types/PaymentIObPaymentCharge.js.map +1 -0
- package/dist/api/types/PaymentIObPaymentEnvelopeDto.d.ts +8 -0
- package/dist/api/types/PaymentIObPaymentEnvelopeDto.d.ts.map +1 -0
- package/dist/api/types/PaymentIObPaymentEnvelopeDto.js +3 -0
- package/dist/api/types/PaymentIObPaymentEnvelopeDto.js.map +1 -0
- package/dist/api/types/PaymentIObPaymentExchangeRate.d.ts +8 -0
- package/dist/api/types/PaymentIObPaymentExchangeRate.d.ts.map +1 -0
- package/dist/api/types/PaymentIObPaymentExchangeRate.js +3 -0
- package/dist/api/types/PaymentIObPaymentExchangeRate.js.map +1 -0
- package/dist/api/types/PaymentIObPaymentMessage.d.ts +15 -0
- package/dist/api/types/PaymentIObPaymentMessage.d.ts.map +1 -0
- package/dist/api/types/PaymentIObPaymentMessage.js +3 -0
- package/dist/api/types/PaymentIObPaymentMessage.js.map +1 -0
- package/dist/api/types/PaymentIObPaymentResponseData.d.ts +18 -0
- package/dist/api/types/PaymentIObPaymentResponseData.d.ts.map +1 -0
- package/dist/api/types/PaymentIObPaymentResponseData.js +3 -0
- package/dist/api/types/PaymentIObPaymentResponseData.js.map +1 -0
- package/dist/api/types/PaymentIObRejectReason.d.ts +5 -0
- package/dist/api/types/PaymentIObRejectReason.d.ts.map +1 -0
- package/dist/api/types/PaymentIObRejectReason.js +3 -0
- package/dist/api/types/PaymentIObRejectReason.js.map +1 -0
- package/dist/api/types/PaymentIObRequestMetadata.d.ts +10 -0
- package/dist/api/types/PaymentIObRequestMetadata.d.ts.map +1 -0
- package/dist/api/types/PaymentIObRequestMetadata.js +3 -0
- package/dist/api/types/PaymentIObRequestMetadata.js.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.d.ts +10 -0
- package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.js +3 -0
- package/dist/api/types/PaymentIPaymentInstructionPaymentScheduleUae.js.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.d.ts +10 -0
- package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.js +3 -0
- package/dist/api/types/PaymentIPaymentInstructionPeriodicScheduleUae.js.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionsUae.d.ts +13 -0
- package/dist/api/types/PaymentIPaymentInstructionsUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentInstructionsUae.js +3 -0
- package/dist/api/types/PaymentIPaymentInstructionsUae.js.map +1 -0
- package/dist/api/types/PaymentIPaymentPermissionsUae.d.ts +8 -0
- package/dist/api/types/PaymentIPaymentPermissionsUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentPermissionsUae.js +3 -0
- package/dist/api/types/PaymentIPaymentPermissionsUae.js.map +1 -0
- package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.d.ts +8 -0
- package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.js +3 -0
- package/dist/api/types/PaymentIPaymentRequestResolvedProviderDto.js.map +1 -0
- package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.d.ts +10 -0
- package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.js +3 -0
- package/dist/api/types/PaymentIPaymentRiskDeliveryAddress.js.map +1 -0
- package/dist/api/types/PaymentIPaymentRisks.d.ts +9 -0
- package/dist/api/types/PaymentIPaymentRisks.d.ts.map +1 -0
- package/dist/api/types/PaymentIPaymentRisks.js +3 -0
- package/dist/api/types/PaymentIPaymentRisks.js.map +1 -0
- package/dist/api/types/PaymentIPeriodicControlsUae.d.ts +9 -0
- package/dist/api/types/PaymentIPeriodicControlsUae.d.ts.map +1 -0
- package/dist/api/types/PaymentIPeriodicControlsUae.js +3 -0
- package/dist/api/types/PaymentIPeriodicControlsUae.js.map +1 -0
- package/dist/api/types/PaymentInstructionPriorityUae.d.ts +11 -0
- package/dist/api/types/PaymentInstructionPriorityUae.d.ts.map +1 -0
- package/dist/api/types/PaymentInstructionPriorityUae.js +11 -0
- package/dist/api/types/PaymentInstructionPriorityUae.js.map +1 -0
- package/dist/api/types/PaymentPeriodTypeUae.d.ts +13 -0
- package/dist/api/types/PaymentPeriodTypeUae.d.ts.map +1 -0
- package/dist/api/types/PaymentPeriodTypeUae.js +13 -0
- package/dist/api/types/PaymentPeriodTypeUae.js.map +1 -0
- package/dist/api/types/PaymentRateTypeUae.d.ts +12 -0
- package/dist/api/types/PaymentRateTypeUae.d.ts.map +1 -0
- package/dist/api/types/PaymentRateTypeUae.js +12 -0
- package/dist/api/types/PaymentRateTypeUae.js.map +1 -0
- package/dist/api/types/PaymentTPaymentRequestStatus.d.ts +11 -0
- package/dist/api/types/PaymentTPaymentRequestStatus.d.ts.map +1 -0
- package/dist/api/types/PaymentTPaymentRequestStatus.js +11 -0
- package/dist/api/types/PaymentTPaymentRequestStatus.js.map +1 -0
- package/dist/api/types/PaymentTPaymentType.d.ts +12 -0
- package/dist/api/types/PaymentTPaymentType.d.ts.map +1 -0
- package/dist/api/types/PaymentTPaymentType.js +12 -0
- package/dist/api/types/PaymentTPaymentType.js.map +1 -0
- package/dist/api/types/RequestICreatePaymentRequestInput.d.ts +21 -0
- package/dist/api/types/RequestICreatePaymentRequestInput.d.ts.map +1 -0
- package/dist/api/types/RequestICreatePaymentRequestInput.js +3 -0
- package/dist/api/types/RequestICreatePaymentRequestInput.js.map +1 -0
- package/dist/api/types/RequestTCreditorType.d.ts +7 -0
- package/dist/api/types/RequestTCreditorType.d.ts.map +1 -0
- package/dist/api/types/RequestTCreditorType.js +7 -0
- package/dist/api/types/RequestTCreditorType.js.map +1 -0
- package/dist/api/types/TypesICurrencyResponseModel.d.ts +8 -0
- package/dist/api/types/TypesICurrencyResponseModel.d.ts.map +1 -0
- package/dist/api/types/TypesICurrencyResponseModel.js +3 -0
- package/dist/api/types/TypesICurrencyResponseModel.js.map +1 -0
- package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.d.ts +24 -0
- package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.d.ts.map +1 -0
- package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.js +3 -0
- package/dist/api/types/TypesIDomesticPaymentConsentResponseModel.js.map +1 -0
- package/dist/api/types/TypesIPagesModel.d.ts +6 -0
- package/dist/api/types/TypesIPagesModel.d.ts.map +1 -0
- package/dist/api/types/TypesIPagesModel.js +3 -0
- package/dist/api/types/TypesIPagesModel.js.map +1 -0
- package/dist/api/types/TypesIPaymentAccountModel.d.ts +8 -0
- package/dist/api/types/TypesIPaymentAccountModel.d.ts.map +1 -0
- package/dist/api/types/TypesIPaymentAccountModel.js +3 -0
- package/dist/api/types/TypesIPaymentAccountModel.js.map +1 -0
- package/dist/api/types/TypesIPaymentAmountResponseModel.d.ts +6 -0
- package/dist/api/types/TypesIPaymentAmountResponseModel.d.ts.map +1 -0
- package/dist/api/types/TypesIPaymentAmountResponseModel.js +3 -0
- package/dist/api/types/TypesIPaymentAmountResponseModel.js.map +1 -0
- package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.d.ts +9 -0
- package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.d.ts.map +1 -0
- package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.js +3 -0
- package/dist/api/types/TypesIPaymentInitiationConnectionResponseModel.js.map +1 -0
- package/dist/api/types/TypesIPaymentInitiationProviderModel.d.ts +12 -0
- package/dist/api/types/TypesIPaymentInitiationProviderModel.d.ts.map +1 -0
- package/dist/api/types/TypesIPaymentInitiationProviderModel.js +3 -0
- package/dist/api/types/TypesIPaymentInitiationProviderModel.js.map +1 -0
- package/dist/api/types/TypesTAccountIdentificationScheme.d.ts +6 -0
- package/dist/api/types/TypesTAccountIdentificationScheme.d.ts.map +1 -0
- package/dist/api/types/TypesTAccountIdentificationScheme.js +6 -0
- package/dist/api/types/TypesTAccountIdentificationScheme.js.map +1 -0
- package/dist/api/types/TypesTConnectionStatus.d.ts +6 -0
- package/dist/api/types/TypesTConnectionStatus.d.ts.map +1 -0
- package/dist/api/types/TypesTConnectionStatus.js +6 -0
- package/dist/api/types/TypesTConnectionStatus.js.map +1 -0
- package/dist/api/types/TypesTConsentPaymentType.d.ts +12 -0
- package/dist/api/types/TypesTConsentPaymentType.d.ts.map +1 -0
- package/dist/api/types/TypesTConsentPaymentType.js +12 -0
- package/dist/api/types/TypesTConsentPaymentType.js.map +1 -0
- package/dist/api/types/TypesTConsentScope.d.ts +6 -0
- package/dist/api/types/TypesTConsentScope.d.ts.map +1 -0
- package/dist/api/types/TypesTConsentScope.js +6 -0
- package/dist/api/types/TypesTConsentScope.js.map +1 -0
- package/dist/api/types/TypesTObConsentsStatus.d.ts +12 -0
- package/dist/api/types/TypesTObConsentsStatus.d.ts.map +1 -0
- package/dist/api/types/TypesTObConsentsStatus.js +12 -0
- package/dist/api/types/TypesTObConsentsStatus.js.map +1 -0
- package/dist/api/types/VerificationIBankModel.d.ts +7 -0
- package/dist/api/types/VerificationIBankModel.d.ts.map +1 -0
- package/dist/api/types/VerificationIBankModel.js +3 -0
- package/dist/api/types/VerificationIBankModel.js.map +1 -0
- package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.d.ts +17 -0
- package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.d.ts.map +1 -0
- package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.js +3 -0
- package/dist/api/types/VerificationIBeneficiaryVerificationResponseDto.js.map +1 -0
- package/dist/api/types/VerificationTVerificationResult.d.ts +7 -0
- package/dist/api/types/VerificationTVerificationResult.d.ts.map +1 -0
- package/dist/api/types/VerificationTVerificationResult.js +7 -0
- package/dist/api/types/VerificationTVerificationResult.js.map +1 -0
- package/dist/api/types/WellKnownTJsonWebKey.d.ts +19 -0
- package/dist/api/types/WellKnownTJsonWebKey.d.ts.map +1 -0
- package/dist/api/types/WellKnownTJsonWebKey.js +9 -0
- package/dist/api/types/WellKnownTJsonWebKey.js.map +1 -0
- package/dist/api/types/index.d.ts +69 -0
- package/dist/api/types/index.d.ts.map +1 -0
- package/dist/api/types/index.js +69 -0
- package/dist/api/types/index.js.map +1 -0
- package/dist/auth/BearerAuthProvider.d.ts +21 -0
- package/dist/auth/BearerAuthProvider.d.ts.map +1 -0
- package/dist/auth/BearerAuthProvider.js +32 -0
- package/dist/auth/BearerAuthProvider.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/configuration.d.ts +206 -0
- package/dist/configuration.d.ts.map +1 -0
- package/dist/configuration.js +391 -0
- package/dist/configuration.js.map +1 -0
- package/dist/core/auth/AuthProvider.d.ts +8 -0
- package/dist/core/auth/AuthProvider.d.ts.map +1 -0
- package/dist/core/auth/AuthProvider.js +2 -0
- package/dist/core/auth/AuthProvider.js.map +1 -0
- package/dist/core/auth/AuthRequest.d.ts +10 -0
- package/dist/core/auth/AuthRequest.d.ts.map +1 -0
- package/dist/core/auth/AuthRequest.js +2 -0
- package/dist/core/auth/AuthRequest.js.map +1 -0
- package/dist/core/auth/BasicAuth.d.ts +9 -0
- package/dist/core/auth/BasicAuth.d.ts.map +1 -0
- package/dist/core/auth/BasicAuth.js +30 -0
- package/dist/core/auth/BasicAuth.js.map +1 -0
- package/dist/core/auth/BearerToken.d.ts +8 -0
- package/dist/core/auth/BearerToken.d.ts.map +1 -0
- package/dist/core/auth/BearerToken.js +14 -0
- package/dist/core/auth/BearerToken.js.map +1 -0
- package/dist/core/auth/NoOpAuthProvider.d.ts +6 -0
- package/dist/core/auth/NoOpAuthProvider.d.ts.map +1 -0
- package/dist/core/auth/NoOpAuthProvider.js +6 -0
- package/dist/core/auth/NoOpAuthProvider.js.map +1 -0
- package/dist/core/auth/index.d.ts +6 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/auth/index.js +4 -0
- package/dist/core/auth/index.js.map +1 -0
- package/dist/core/base64.d.ts +3 -0
- package/dist/core/base64.d.ts.map +1 -0
- package/dist/core/base64.js +23 -0
- package/dist/core/base64.js.map +1 -0
- package/dist/core/exports.d.ts +2 -0
- package/dist/core/exports.d.ts.map +1 -0
- package/dist/core/exports.js +2 -0
- package/dist/core/exports.js.map +1 -0
- package/dist/core/fetcher/APIResponse.d.ts +21 -0
- package/dist/core/fetcher/APIResponse.d.ts.map +1 -0
- package/dist/core/fetcher/APIResponse.js +2 -0
- package/dist/core/fetcher/APIResponse.js.map +1 -0
- package/dist/core/fetcher/BinaryResponse.d.ts +20 -0
- package/dist/core/fetcher/BinaryResponse.d.ts.map +1 -0
- package/dist/core/fetcher/BinaryResponse.js +15 -0
- package/dist/core/fetcher/BinaryResponse.js.map +1 -0
- package/dist/core/fetcher/EndpointMetadata.d.ts +14 -0
- package/dist/core/fetcher/EndpointMetadata.d.ts.map +1 -0
- package/dist/core/fetcher/EndpointMetadata.js +2 -0
- package/dist/core/fetcher/EndpointMetadata.js.map +1 -0
- package/dist/core/fetcher/EndpointSupplier.d.ts +13 -0
- package/dist/core/fetcher/EndpointSupplier.d.ts.map +1 -0
- package/dist/core/fetcher/EndpointSupplier.js +11 -0
- package/dist/core/fetcher/EndpointSupplier.js.map +1 -0
- package/dist/core/fetcher/Fetcher.d.ts +57 -0
- package/dist/core/fetcher/Fetcher.d.ts.map +1 -0
- package/dist/core/fetcher/Fetcher.js +307 -0
- package/dist/core/fetcher/Fetcher.js.map +1 -0
- package/dist/core/fetcher/Headers.d.ts +3 -0
- package/dist/core/fetcher/Headers.d.ts.map +1 -0
- package/dist/core/fetcher/Headers.js +83 -0
- package/dist/core/fetcher/Headers.js.map +1 -0
- package/dist/core/fetcher/HttpResponsePromise.d.ts +59 -0
- package/dist/core/fetcher/HttpResponsePromise.d.ts.map +1 -0
- package/dist/core/fetcher/HttpResponsePromise.js +89 -0
- package/dist/core/fetcher/HttpResponsePromise.js.map +1 -0
- package/dist/core/fetcher/RawResponse.d.ts +30 -0
- package/dist/core/fetcher/RawResponse.d.ts.map +1 -0
- package/dist/core/fetcher/RawResponse.js +41 -0
- package/dist/core/fetcher/RawResponse.js.map +1 -0
- package/dist/core/fetcher/Supplier.d.ts +5 -0
- package/dist/core/fetcher/Supplier.d.ts.map +1 -0
- package/dist/core/fetcher/Supplier.js +11 -0
- package/dist/core/fetcher/Supplier.js.map +1 -0
- package/dist/core/fetcher/createRequestUrl.d.ts +2 -0
- package/dist/core/fetcher/createRequestUrl.d.ts.map +1 -0
- package/dist/core/fetcher/createRequestUrl.js +6 -0
- package/dist/core/fetcher/createRequestUrl.js.map +1 -0
- package/dist/core/fetcher/getErrorResponseBody.d.ts +2 -0
- package/dist/core/fetcher/getErrorResponseBody.d.ts.map +1 -0
- package/dist/core/fetcher/getErrorResponseBody.js +31 -0
- package/dist/core/fetcher/getErrorResponseBody.js.map +1 -0
- package/dist/core/fetcher/getFetchFn.d.ts +2 -0
- package/dist/core/fetcher/getFetchFn.d.ts.map +1 -0
- package/dist/core/fetcher/getFetchFn.js +4 -0
- package/dist/core/fetcher/getFetchFn.js.map +1 -0
- package/dist/core/fetcher/getHeader.d.ts +2 -0
- package/dist/core/fetcher/getHeader.d.ts.map +1 -0
- package/dist/core/fetcher/getHeader.js +9 -0
- package/dist/core/fetcher/getHeader.js.map +1 -0
- package/dist/core/fetcher/getRequestBody.d.ts +8 -0
- package/dist/core/fetcher/getRequestBody.d.ts.map +1 -0
- package/dist/core/fetcher/getRequestBody.js +14 -0
- package/dist/core/fetcher/getRequestBody.js.map +1 -0
- package/dist/core/fetcher/getResponseBody.d.ts +2 -0
- package/dist/core/fetcher/getResponseBody.d.ts.map +1 -0
- package/dist/core/fetcher/getResponseBody.js +56 -0
- package/dist/core/fetcher/getResponseBody.js.map +1 -0
- package/dist/core/fetcher/index.d.ts +14 -0
- package/dist/core/fetcher/index.d.ts.map +1 -0
- package/dist/core/fetcher/index.js +8 -0
- package/dist/core/fetcher/index.js.map +1 -0
- package/dist/core/fetcher/makePassthroughRequest.d.ts +50 -0
- package/dist/core/fetcher/makePassthroughRequest.d.ts.map +1 -0
- package/dist/core/fetcher/makePassthroughRequest.js +120 -0
- package/dist/core/fetcher/makePassthroughRequest.js.map +1 -0
- package/dist/core/fetcher/makeRequest.d.ts +7 -0
- package/dist/core/fetcher/makeRequest.d.ts.map +1 -0
- package/dist/core/fetcher/makeRequest.js +54 -0
- package/dist/core/fetcher/makeRequest.js.map +1 -0
- package/dist/core/fetcher/requestWithRetries.d.ts +2 -0
- package/dist/core/fetcher/requestWithRetries.d.ts.map +1 -0
- package/dist/core/fetcher/requestWithRetries.js +54 -0
- package/dist/core/fetcher/requestWithRetries.js.map +1 -0
- package/dist/core/fetcher/signals.d.ts +6 -0
- package/dist/core/fetcher/signals.d.ts.map +1 -0
- package/dist/core/fetcher/signals.js +21 -0
- package/dist/core/fetcher/signals.js.map +1 -0
- package/dist/core/headers.d.ts +3 -0
- package/dist/core/headers.d.ts.map +1 -0
- package/dist/core/headers.js +28 -0
- package/dist/core/headers.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/json.d.ts +16 -0
- package/dist/core/json.d.ts.map +1 -0
- package/dist/core/json.js +20 -0
- package/dist/core/json.js.map +1 -0
- package/dist/core/logging/exports.d.ts +19 -0
- package/dist/core/logging/exports.d.ts.map +1 -0
- package/dist/core/logging/exports.js +10 -0
- package/dist/core/logging/exports.js.map +1 -0
- package/dist/core/logging/index.d.ts +2 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +2 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/logging/logger.d.ts +127 -0
- package/dist/core/logging/logger.d.ts.map +1 -0
- package/dist/core/logging/logger.js +138 -0
- package/dist/core/logging/logger.js.map +1 -0
- package/dist/core/runtime/index.d.ts +2 -0
- package/dist/core/runtime/index.d.ts.map +1 -0
- package/dist/core/runtime/index.js +2 -0
- package/dist/core/runtime/index.js.map +1 -0
- package/dist/core/runtime/runtime.d.ts +10 -0
- package/dist/core/runtime/runtime.d.ts.map +1 -0
- package/dist/core/runtime/runtime.js +101 -0
- package/dist/core/runtime/runtime.js.map +1 -0
- package/dist/core/url/QueryStringBuilder.d.ts +48 -0
- package/dist/core/url/QueryStringBuilder.d.ts.map +1 -0
- package/dist/core/url/QueryStringBuilder.js +81 -0
- package/dist/core/url/QueryStringBuilder.js.map +1 -0
- package/dist/core/url/encodePathParam.d.ts +2 -0
- package/dist/core/url/encodePathParam.d.ts.map +1 -0
- package/dist/core/url/encodePathParam.js +19 -0
- package/dist/core/url/encodePathParam.js.map +1 -0
- package/dist/core/url/index.d.ts +5 -0
- package/dist/core/url/index.d.ts.map +1 -0
- package/dist/core/url/index.js +5 -0
- package/dist/core/url/index.js.map +1 -0
- package/dist/core/url/join.d.ts +2 -0
- package/dist/core/url/join.d.ts.map +1 -0
- package/dist/core/url/join.js +66 -0
- package/dist/core/url/join.js.map +1 -0
- package/dist/core/url/qs.d.ts +8 -0
- package/dist/core/url/qs.d.ts.map +1 -0
- package/dist/core/url/qs.js +77 -0
- package/dist/core/url/qs.js.map +1 -0
- package/dist/crypto.d.ts +36 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +89 -0
- package/dist/crypto.js.map +1 -0
- package/dist/environments.d.ts +5 -0
- package/dist/environments.d.ts.map +1 -0
- package/dist/environments.js +5 -0
- package/dist/environments.js.map +1 -0
- package/dist/errors/SpareApiError.d.ts +15 -0
- package/dist/errors/SpareApiError.d.ts.map +1 -0
- package/dist/errors/SpareApiError.js +32 -0
- package/dist/errors/SpareApiError.js.map +1 -0
- package/dist/errors/SpareApiTimeoutError.d.ts +7 -0
- package/dist/errors/SpareApiTimeoutError.d.ts.map +1 -0
- package/dist/errors/SpareApiTimeoutError.js +15 -0
- package/dist/errors/SpareApiTimeoutError.js.map +1 -0
- package/dist/errors/handleNonStatusCodeError.d.ts +3 -0
- package/dist/errors/handleNonStatusCodeError.d.ts.map +1 -0
- package/dist/errors/handleNonStatusCodeError.js +33 -0
- package/dist/errors/handleNonStatusCodeError.js.map +1 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/exports.d.ts +2 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +2 -0
- package/dist/exports.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- 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"}
|