@crylabsorg/suward-sdk 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/README.md +308 -0
  2. package/dist/cjs/BaseClient.d.ts +42 -0
  3. package/dist/cjs/BaseClient.js +77 -0
  4. package/dist/cjs/Client.d.ts +29 -0
  5. package/dist/cjs/Client.js +88 -0
  6. package/dist/cjs/api/errors/BadRequestError.d.ts +6 -0
  7. package/dist/cjs/api/errors/BadRequestError.js +54 -0
  8. package/dist/cjs/api/errors/InternalServerError.d.ts +6 -0
  9. package/dist/cjs/api/errors/InternalServerError.js +54 -0
  10. package/dist/cjs/api/errors/NotFoundError.d.ts +6 -0
  11. package/dist/cjs/api/errors/NotFoundError.js +54 -0
  12. package/dist/cjs/api/errors/UnauthorizedError.d.ts +6 -0
  13. package/dist/cjs/api/errors/UnauthorizedError.js +54 -0
  14. package/dist/cjs/api/errors/index.d.ts +4 -0
  15. package/dist/cjs/api/errors/index.js +20 -0
  16. package/dist/cjs/api/index.d.ts +3 -0
  17. package/dist/cjs/api/index.js +19 -0
  18. package/dist/cjs/api/resources/index.d.ts +6 -0
  19. package/dist/cjs/api/resources/index.js +45 -0
  20. package/dist/cjs/api/resources/payments/client/Client.d.ts +107 -0
  21. package/dist/cjs/api/resources/payments/client/Client.js +416 -0
  22. package/dist/cjs/api/resources/payments/client/index.d.ts +1 -0
  23. package/dist/cjs/api/resources/payments/client/index.js +17 -0
  24. package/dist/cjs/api/resources/payments/client/requests/CryptopayCreatePaymentRequest.d.ts +17 -0
  25. package/dist/cjs/api/resources/payments/client/requests/CryptopayCreatePaymentRequest.js +3 -0
  26. package/dist/cjs/api/resources/payments/client/requests/CryptopaySimulatePaymentRequest.d.ts +13 -0
  27. package/dist/cjs/api/resources/payments/client/requests/CryptopaySimulatePaymentRequest.js +3 -0
  28. package/dist/cjs/api/resources/payments/client/requests/GetV1PaymentsPaymentIdRequest.d.ts +10 -0
  29. package/dist/cjs/api/resources/payments/client/requests/GetV1PaymentsPaymentIdRequest.js +3 -0
  30. package/dist/cjs/api/resources/payments/client/requests/GetV1PaymentsRequest.d.ts +13 -0
  31. package/dist/cjs/api/resources/payments/client/requests/GetV1PaymentsRequest.js +3 -0
  32. package/dist/cjs/api/resources/payments/client/requests/PostV1PaymentsPaymentIdActivateRequest.d.ts +10 -0
  33. package/dist/cjs/api/resources/payments/client/requests/PostV1PaymentsPaymentIdActivateRequest.js +3 -0
  34. package/dist/cjs/api/resources/payments/client/requests/PostV1PaymentsPaymentIdCancelRequest.d.ts +10 -0
  35. package/dist/cjs/api/resources/payments/client/requests/PostV1PaymentsPaymentIdCancelRequest.js +3 -0
  36. package/dist/cjs/api/resources/payments/client/requests/index.d.ts +6 -0
  37. package/dist/cjs/api/resources/payments/client/requests/index.js +2 -0
  38. package/dist/cjs/api/resources/payments/exports.d.ts +2 -0
  39. package/dist/cjs/api/resources/payments/exports.js +21 -0
  40. package/dist/cjs/api/resources/payments/index.d.ts +2 -0
  41. package/dist/cjs/api/resources/payments/index.js +18 -0
  42. package/dist/cjs/api/resources/payments/types/GetV1PaymentsPaymentIdResponse.d.ts +2 -0
  43. package/dist/cjs/api/resources/payments/types/GetV1PaymentsPaymentIdResponse.js +3 -0
  44. package/dist/cjs/api/resources/payments/types/GetV1PaymentsRequestOrder.d.ts +5 -0
  45. package/dist/cjs/api/resources/payments/types/GetV1PaymentsRequestOrder.js +8 -0
  46. package/dist/cjs/api/resources/payments/types/index.d.ts +2 -0
  47. package/dist/cjs/api/resources/payments/types/index.js +18 -0
  48. package/dist/cjs/api/resources/staticWallets/client/Client.d.ts +106 -0
  49. package/dist/cjs/api/resources/staticWallets/client/Client.js +463 -0
  50. package/dist/cjs/api/resources/staticWallets/client/index.d.ts +1 -0
  51. package/dist/cjs/api/resources/staticWallets/client/index.js +17 -0
  52. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopayCreateStaticWalletRequest.d.ts +12 -0
  53. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopayCreateStaticWalletRequest.js +3 -0
  54. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopaySimulateStaticDepositRequest.d.ts +25 -0
  55. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopaySimulateStaticDepositRequest.js +13 -0
  56. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopayUpdateStaticWalletRequest.d.ts +14 -0
  57. package/dist/cjs/api/resources/staticWallets/client/requests/CryptopayUpdateStaticWalletRequest.js +3 -0
  58. package/dist/cjs/api/resources/staticWallets/client/requests/DeleteV1StaticWalletsStaticWalletIdRequest.d.ts +10 -0
  59. package/dist/cjs/api/resources/staticWallets/client/requests/DeleteV1StaticWalletsStaticWalletIdRequest.js +3 -0
  60. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsRequest.d.ts +13 -0
  61. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsRequest.js +3 -0
  62. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdDepositsRequest.d.ts +17 -0
  63. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdDepositsRequest.js +3 -0
  64. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdRequest.d.ts +10 -0
  65. package/dist/cjs/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdRequest.js +3 -0
  66. package/dist/cjs/api/resources/staticWallets/client/requests/index.d.ts +7 -0
  67. package/dist/cjs/api/resources/staticWallets/client/requests/index.js +5 -0
  68. package/dist/cjs/api/resources/staticWallets/exports.d.ts +2 -0
  69. package/dist/cjs/api/resources/staticWallets/exports.js +21 -0
  70. package/dist/cjs/api/resources/staticWallets/index.d.ts +2 -0
  71. package/dist/cjs/api/resources/staticWallets/index.js +18 -0
  72. package/dist/cjs/api/resources/staticWallets/types/GetV1StaticWalletsRequestOrder.d.ts +5 -0
  73. package/dist/cjs/api/resources/staticWallets/types/GetV1StaticWalletsRequestOrder.js +8 -0
  74. package/dist/cjs/api/resources/staticWallets/types/GetV1StaticWalletsStaticWalletIdDepositsRequestOrder.d.ts +5 -0
  75. package/dist/cjs/api/resources/staticWallets/types/GetV1StaticWalletsStaticWalletIdDepositsRequestOrder.js +8 -0
  76. package/dist/cjs/api/resources/staticWallets/types/index.d.ts +2 -0
  77. package/dist/cjs/api/resources/staticWallets/types/index.js +18 -0
  78. package/dist/cjs/api/types/ControllerErrorResponse.d.ts +5 -0
  79. package/dist/cjs/api/types/ControllerErrorResponse.js +3 -0
  80. package/dist/cjs/api/types/CryptopayAssetId.d.ts +32 -0
  81. package/dist/cjs/api/types/CryptopayAssetId.js +35 -0
  82. package/dist/cjs/api/types/CryptopayListPaymentsResponse.d.ts +6 -0
  83. package/dist/cjs/api/types/CryptopayListPaymentsResponse.js +3 -0
  84. package/dist/cjs/api/types/CryptopayListStaticDepositsResponse.d.ts +6 -0
  85. package/dist/cjs/api/types/CryptopayListStaticDepositsResponse.js +3 -0
  86. package/dist/cjs/api/types/CryptopayListStaticWalletsResponse.d.ts +6 -0
  87. package/dist/cjs/api/types/CryptopayListStaticWalletsResponse.js +3 -0
  88. package/dist/cjs/api/types/CryptopayPaymentResponse.d.ts +28 -0
  89. package/dist/cjs/api/types/CryptopayPaymentResponse.js +3 -0
  90. package/dist/cjs/api/types/CryptopayPaymentStatusEnum.d.ts +7 -0
  91. package/dist/cjs/api/types/CryptopayPaymentStatusEnum.js +10 -0
  92. package/dist/cjs/api/types/CryptopayPaymentSubStatusEnum.d.ts +16 -0
  93. package/dist/cjs/api/types/CryptopayPaymentSubStatusEnum.js +19 -0
  94. package/dist/cjs/api/types/CryptopayPublicPaymentResponse.d.ts +18 -0
  95. package/dist/cjs/api/types/CryptopayPublicPaymentResponse.js +3 -0
  96. package/dist/cjs/api/types/CryptopayPublicRedirect.d.ts +4 -0
  97. package/dist/cjs/api/types/CryptopayPublicRedirect.js +3 -0
  98. package/dist/cjs/api/types/CryptopayRedirectConfigDto.d.ts +15 -0
  99. package/dist/cjs/api/types/CryptopayRedirectConfigDto.js +14 -0
  100. package/dist/cjs/api/types/CryptopayStaticDepositResponse.d.ts +31 -0
  101. package/dist/cjs/api/types/CryptopayStaticDepositResponse.js +14 -0
  102. package/dist/cjs/api/types/CryptopayStaticWalletResponse.d.ts +13 -0
  103. package/dist/cjs/api/types/CryptopayStaticWalletResponse.js +3 -0
  104. package/dist/cjs/api/types/CryptopayTransactionResponse.d.ts +6 -0
  105. package/dist/cjs/api/types/CryptopayTransactionResponse.js +3 -0
  106. package/dist/cjs/api/types/WebhookPaymentEvent.d.ts +26 -0
  107. package/dist/cjs/api/types/WebhookPaymentEvent.js +12 -0
  108. package/dist/cjs/api/types/WebhookStaticDepositEvent.d.ts +29 -0
  109. package/dist/cjs/api/types/WebhookStaticDepositEvent.js +11 -0
  110. package/dist/cjs/api/types/index.d.ts +16 -0
  111. package/dist/cjs/api/types/index.js +32 -0
  112. package/dist/cjs/auth/HeaderAuthProvider.d.ts +20 -0
  113. package/dist/cjs/auth/HeaderAuthProvider.js +80 -0
  114. package/dist/cjs/auth/index.d.ts +1 -0
  115. package/dist/cjs/auth/index.js +5 -0
  116. package/dist/cjs/core/auth/AuthProvider.d.ts +8 -0
  117. package/dist/cjs/core/auth/AuthProvider.js +9 -0
  118. package/dist/cjs/core/auth/AuthRequest.d.ts +9 -0
  119. package/dist/cjs/core/auth/AuthRequest.js +2 -0
  120. package/dist/cjs/core/auth/BasicAuth.d.ts +8 -0
  121. package/dist/cjs/core/auth/BasicAuth.js +33 -0
  122. package/dist/cjs/core/auth/BearerToken.d.ts +7 -0
  123. package/dist/cjs/core/auth/BearerToken.js +16 -0
  124. package/dist/cjs/core/auth/NoOpAuthProvider.d.ts +5 -0
  125. package/dist/cjs/core/auth/NoOpAuthProvider.js +9 -0
  126. package/dist/cjs/core/auth/index.d.ts +5 -0
  127. package/dist/cjs/core/auth/index.js +11 -0
  128. package/dist/cjs/core/base64.d.ts +2 -0
  129. package/dist/cjs/core/base64.js +26 -0
  130. package/dist/cjs/core/exports.d.ts +1 -0
  131. package/dist/cjs/core/exports.js +17 -0
  132. package/dist/cjs/core/fetcher/APIResponse.d.ts +20 -0
  133. package/dist/cjs/core/fetcher/APIResponse.js +2 -0
  134. package/dist/cjs/core/fetcher/BinaryResponse.d.ts +19 -0
  135. package/dist/cjs/core/fetcher/BinaryResponse.js +17 -0
  136. package/dist/cjs/core/fetcher/EndpointMetadata.d.ts +13 -0
  137. package/dist/cjs/core/fetcher/EndpointMetadata.js +2 -0
  138. package/dist/cjs/core/fetcher/EndpointSupplier.d.ts +12 -0
  139. package/dist/cjs/core/fetcher/EndpointSupplier.js +22 -0
  140. package/dist/cjs/core/fetcher/Fetcher.d.ts +56 -0
  141. package/dist/cjs/core/fetcher/Fetcher.js +327 -0
  142. package/dist/cjs/core/fetcher/Headers.d.ts +2 -0
  143. package/dist/cjs/core/fetcher/Headers.js +84 -0
  144. package/dist/cjs/core/fetcher/HttpResponsePromise.d.ts +58 -0
  145. package/dist/cjs/core/fetcher/HttpResponsePromise.js +103 -0
  146. package/dist/cjs/core/fetcher/RawResponse.d.ts +29 -0
  147. package/dist/cjs/core/fetcher/RawResponse.js +44 -0
  148. package/dist/cjs/core/fetcher/Supplier.d.ts +4 -0
  149. package/dist/cjs/core/fetcher/Supplier.js +22 -0
  150. package/dist/cjs/core/fetcher/createRequestUrl.d.ts +1 -0
  151. package/dist/cjs/core/fetcher/createRequestUrl.js +8 -0
  152. package/dist/cjs/core/fetcher/getErrorResponseBody.d.ts +1 -0
  153. package/dist/cjs/core/fetcher/getErrorResponseBody.js +45 -0
  154. package/dist/cjs/core/fetcher/getFetchFn.d.ts +1 -0
  155. package/dist/cjs/core/fetcher/getFetchFn.js +17 -0
  156. package/dist/cjs/core/fetcher/getHeader.d.ts +1 -0
  157. package/dist/cjs/core/fetcher/getHeader.js +11 -0
  158. package/dist/cjs/core/fetcher/getRequestBody.d.ts +7 -0
  159. package/dist/cjs/core/fetcher/getRequestBody.js +27 -0
  160. package/dist/cjs/core/fetcher/getResponseBody.d.ts +1 -0
  161. package/dist/cjs/core/fetcher/getResponseBody.js +80 -0
  162. package/dist/cjs/core/fetcher/index.d.ts +13 -0
  163. package/dist/cjs/core/fetcher/index.js +19 -0
  164. package/dist/cjs/core/fetcher/makePassthroughRequest.d.ts +49 -0
  165. package/dist/cjs/core/fetcher/makePassthroughRequest.js +135 -0
  166. package/dist/cjs/core/fetcher/makeRequest.d.ts +6 -0
  167. package/dist/cjs/core/fetcher/makeRequest.js +61 -0
  168. package/dist/cjs/core/fetcher/requestWithRetries.d.ts +1 -0
  169. package/dist/cjs/core/fetcher/requestWithRetries.js +70 -0
  170. package/dist/cjs/core/fetcher/signals.d.ts +5 -0
  171. package/dist/cjs/core/fetcher/signals.js +32 -0
  172. package/dist/cjs/core/headers.d.ts +2 -0
  173. package/dist/cjs/core/headers.js +31 -0
  174. package/dist/cjs/core/index.d.ts +7 -0
  175. package/dist/cjs/core/index.js +46 -0
  176. package/dist/cjs/core/json.d.ts +15 -0
  177. package/dist/cjs/core/json.js +24 -0
  178. package/dist/cjs/core/logging/exports.d.ts +18 -0
  179. package/dist/cjs/core/logging/exports.js +45 -0
  180. package/dist/cjs/core/logging/index.d.ts +1 -0
  181. package/dist/cjs/core/logging/index.js +17 -0
  182. package/dist/cjs/core/logging/logger.d.ts +126 -0
  183. package/dist/cjs/core/logging/logger.js +144 -0
  184. package/dist/cjs/core/runtime/index.d.ts +1 -0
  185. package/dist/cjs/core/runtime/index.js +5 -0
  186. package/dist/cjs/core/runtime/runtime.d.ts +9 -0
  187. package/dist/cjs/core/runtime/runtime.js +104 -0
  188. package/dist/cjs/core/url/QueryStringBuilder.d.ts +47 -0
  189. package/dist/cjs/core/url/QueryStringBuilder.js +83 -0
  190. package/dist/cjs/core/url/encodePathParam.d.ts +1 -0
  191. package/dist/cjs/core/url/encodePathParam.js +21 -0
  192. package/dist/cjs/core/url/index.d.ts +4 -0
  193. package/dist/cjs/core/url/index.js +11 -0
  194. package/dist/cjs/core/url/join.d.ts +1 -0
  195. package/dist/cjs/core/url/join.js +68 -0
  196. package/dist/cjs/core/url/qs.d.ts +7 -0
  197. package/dist/cjs/core/url/qs.js +76 -0
  198. package/dist/cjs/core/webhooks/computeHmacSignature.d.ts +9 -0
  199. package/dist/cjs/core/webhooks/computeHmacSignature.js +84 -0
  200. package/dist/cjs/core/webhooks/fetchJwks.d.ts +15 -0
  201. package/dist/cjs/core/webhooks/fetchJwks.js +156 -0
  202. package/dist/cjs/core/webhooks/index.d.ts +8 -0
  203. package/dist/cjs/core/webhooks/index.js +11 -0
  204. package/dist/cjs/core/webhooks/timingSafeEqual.d.ts +1 -0
  205. package/dist/cjs/core/webhooks/timingSafeEqual.js +85 -0
  206. package/dist/cjs/core/webhooks/types.d.ts +1 -0
  207. package/dist/cjs/core/webhooks/types.js +2 -0
  208. package/dist/cjs/core/webhooks/verifyAsymmetricSignature.d.ts +10 -0
  209. package/dist/cjs/core/webhooks/verifyAsymmetricSignature.js +210 -0
  210. package/dist/cjs/environments.d.ts +4 -0
  211. package/dist/cjs/environments.js +7 -0
  212. package/dist/cjs/errors/SuwardSDKError.d.ts +14 -0
  213. package/dist/cjs/errors/SuwardSDKError.js +35 -0
  214. package/dist/cjs/errors/SuwardSDKTimeoutError.d.ts +6 -0
  215. package/dist/cjs/errors/SuwardSDKTimeoutError.js +18 -0
  216. package/dist/cjs/errors/handleNonStatusCodeError.d.ts +2 -0
  217. package/dist/cjs/errors/handleNonStatusCodeError.js +68 -0
  218. package/dist/cjs/errors/index.d.ts +2 -0
  219. package/dist/cjs/errors/index.js +7 -0
  220. package/dist/cjs/exports.d.ts +1 -0
  221. package/dist/cjs/exports.js +17 -0
  222. package/dist/cjs/index.d.ts +7 -0
  223. package/dist/cjs/index.js +49 -0
  224. package/dist/cjs/version.d.ts +1 -0
  225. package/dist/cjs/version.js +4 -0
  226. package/dist/cjs/webhooks/WebhooksHelper.d.ts +9 -0
  227. package/dist/cjs/webhooks/WebhooksHelper.js +87 -0
  228. package/dist/cjs/webhooks/index.d.ts +1 -0
  229. package/dist/cjs/webhooks/index.js +5 -0
  230. package/dist/esm/BaseClient.d.mts +42 -0
  231. package/dist/esm/BaseClient.mjs +40 -0
  232. package/dist/esm/Client.d.mts +29 -0
  233. package/dist/esm/Client.mjs +51 -0
  234. package/dist/esm/api/errors/BadRequestError.d.mts +6 -0
  235. package/dist/esm/api/errors/BadRequestError.mjs +17 -0
  236. package/dist/esm/api/errors/InternalServerError.d.mts +6 -0
  237. package/dist/esm/api/errors/InternalServerError.mjs +17 -0
  238. package/dist/esm/api/errors/NotFoundError.d.mts +6 -0
  239. package/dist/esm/api/errors/NotFoundError.mjs +17 -0
  240. package/dist/esm/api/errors/UnauthorizedError.d.mts +6 -0
  241. package/dist/esm/api/errors/UnauthorizedError.mjs +17 -0
  242. package/dist/esm/api/errors/index.d.mts +4 -0
  243. package/dist/esm/api/errors/index.mjs +4 -0
  244. package/dist/esm/api/index.d.mts +3 -0
  245. package/dist/esm/api/index.mjs +3 -0
  246. package/dist/esm/api/resources/index.d.mts +6 -0
  247. package/dist/esm/api/resources/index.mjs +6 -0
  248. package/dist/esm/api/resources/payments/client/Client.d.mts +107 -0
  249. package/dist/esm/api/resources/payments/client/Client.mjs +379 -0
  250. package/dist/esm/api/resources/payments/client/index.d.mts +1 -0
  251. package/dist/esm/api/resources/payments/client/index.mjs +1 -0
  252. package/dist/esm/api/resources/payments/client/requests/CryptopayCreatePaymentRequest.d.mts +17 -0
  253. package/dist/esm/api/resources/payments/client/requests/CryptopayCreatePaymentRequest.mjs +2 -0
  254. package/dist/esm/api/resources/payments/client/requests/CryptopaySimulatePaymentRequest.d.mts +13 -0
  255. package/dist/esm/api/resources/payments/client/requests/CryptopaySimulatePaymentRequest.mjs +2 -0
  256. package/dist/esm/api/resources/payments/client/requests/GetV1PaymentsPaymentIdRequest.d.mts +10 -0
  257. package/dist/esm/api/resources/payments/client/requests/GetV1PaymentsPaymentIdRequest.mjs +2 -0
  258. package/dist/esm/api/resources/payments/client/requests/GetV1PaymentsRequest.d.mts +13 -0
  259. package/dist/esm/api/resources/payments/client/requests/GetV1PaymentsRequest.mjs +2 -0
  260. package/dist/esm/api/resources/payments/client/requests/PostV1PaymentsPaymentIdActivateRequest.d.mts +10 -0
  261. package/dist/esm/api/resources/payments/client/requests/PostV1PaymentsPaymentIdActivateRequest.mjs +2 -0
  262. package/dist/esm/api/resources/payments/client/requests/PostV1PaymentsPaymentIdCancelRequest.d.mts +10 -0
  263. package/dist/esm/api/resources/payments/client/requests/PostV1PaymentsPaymentIdCancelRequest.mjs +2 -0
  264. package/dist/esm/api/resources/payments/client/requests/index.d.mts +6 -0
  265. package/dist/esm/api/resources/payments/client/requests/index.mjs +1 -0
  266. package/dist/esm/api/resources/payments/exports.d.mts +2 -0
  267. package/dist/esm/api/resources/payments/exports.mjs +3 -0
  268. package/dist/esm/api/resources/payments/index.d.mts +2 -0
  269. package/dist/esm/api/resources/payments/index.mjs +2 -0
  270. package/dist/esm/api/resources/payments/types/GetV1PaymentsPaymentIdResponse.d.mts +2 -0
  271. package/dist/esm/api/resources/payments/types/GetV1PaymentsPaymentIdResponse.mjs +2 -0
  272. package/dist/esm/api/resources/payments/types/GetV1PaymentsRequestOrder.d.mts +5 -0
  273. package/dist/esm/api/resources/payments/types/GetV1PaymentsRequestOrder.mjs +5 -0
  274. package/dist/esm/api/resources/payments/types/index.d.mts +2 -0
  275. package/dist/esm/api/resources/payments/types/index.mjs +2 -0
  276. package/dist/esm/api/resources/staticWallets/client/Client.d.mts +106 -0
  277. package/dist/esm/api/resources/staticWallets/client/Client.mjs +426 -0
  278. package/dist/esm/api/resources/staticWallets/client/index.d.mts +1 -0
  279. package/dist/esm/api/resources/staticWallets/client/index.mjs +1 -0
  280. package/dist/esm/api/resources/staticWallets/client/requests/CryptopayCreateStaticWalletRequest.d.mts +12 -0
  281. package/dist/esm/api/resources/staticWallets/client/requests/CryptopayCreateStaticWalletRequest.mjs +2 -0
  282. package/dist/esm/api/resources/staticWallets/client/requests/CryptopaySimulateStaticDepositRequest.d.mts +25 -0
  283. package/dist/esm/api/resources/staticWallets/client/requests/CryptopaySimulateStaticDepositRequest.mjs +10 -0
  284. package/dist/esm/api/resources/staticWallets/client/requests/CryptopayUpdateStaticWalletRequest.d.mts +14 -0
  285. package/dist/esm/api/resources/staticWallets/client/requests/CryptopayUpdateStaticWalletRequest.mjs +2 -0
  286. package/dist/esm/api/resources/staticWallets/client/requests/DeleteV1StaticWalletsStaticWalletIdRequest.d.mts +10 -0
  287. package/dist/esm/api/resources/staticWallets/client/requests/DeleteV1StaticWalletsStaticWalletIdRequest.mjs +2 -0
  288. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsRequest.d.mts +13 -0
  289. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsRequest.mjs +2 -0
  290. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdDepositsRequest.d.mts +17 -0
  291. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdDepositsRequest.mjs +2 -0
  292. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdRequest.d.mts +10 -0
  293. package/dist/esm/api/resources/staticWallets/client/requests/GetV1StaticWalletsStaticWalletIdRequest.mjs +2 -0
  294. package/dist/esm/api/resources/staticWallets/client/requests/index.d.mts +7 -0
  295. package/dist/esm/api/resources/staticWallets/client/requests/index.mjs +1 -0
  296. package/dist/esm/api/resources/staticWallets/exports.d.mts +2 -0
  297. package/dist/esm/api/resources/staticWallets/exports.mjs +3 -0
  298. package/dist/esm/api/resources/staticWallets/index.d.mts +2 -0
  299. package/dist/esm/api/resources/staticWallets/index.mjs +2 -0
  300. package/dist/esm/api/resources/staticWallets/types/GetV1StaticWalletsRequestOrder.d.mts +5 -0
  301. package/dist/esm/api/resources/staticWallets/types/GetV1StaticWalletsRequestOrder.mjs +5 -0
  302. package/dist/esm/api/resources/staticWallets/types/GetV1StaticWalletsStaticWalletIdDepositsRequestOrder.d.mts +5 -0
  303. package/dist/esm/api/resources/staticWallets/types/GetV1StaticWalletsStaticWalletIdDepositsRequestOrder.mjs +5 -0
  304. package/dist/esm/api/resources/staticWallets/types/index.d.mts +2 -0
  305. package/dist/esm/api/resources/staticWallets/types/index.mjs +2 -0
  306. package/dist/esm/api/types/ControllerErrorResponse.d.mts +5 -0
  307. package/dist/esm/api/types/ControllerErrorResponse.mjs +2 -0
  308. package/dist/esm/api/types/CryptopayAssetId.d.mts +32 -0
  309. package/dist/esm/api/types/CryptopayAssetId.mjs +32 -0
  310. package/dist/esm/api/types/CryptopayListPaymentsResponse.d.mts +6 -0
  311. package/dist/esm/api/types/CryptopayListPaymentsResponse.mjs +2 -0
  312. package/dist/esm/api/types/CryptopayListStaticDepositsResponse.d.mts +6 -0
  313. package/dist/esm/api/types/CryptopayListStaticDepositsResponse.mjs +2 -0
  314. package/dist/esm/api/types/CryptopayListStaticWalletsResponse.d.mts +6 -0
  315. package/dist/esm/api/types/CryptopayListStaticWalletsResponse.mjs +2 -0
  316. package/dist/esm/api/types/CryptopayPaymentResponse.d.mts +28 -0
  317. package/dist/esm/api/types/CryptopayPaymentResponse.mjs +2 -0
  318. package/dist/esm/api/types/CryptopayPaymentStatusEnum.d.mts +7 -0
  319. package/dist/esm/api/types/CryptopayPaymentStatusEnum.mjs +7 -0
  320. package/dist/esm/api/types/CryptopayPaymentSubStatusEnum.d.mts +16 -0
  321. package/dist/esm/api/types/CryptopayPaymentSubStatusEnum.mjs +16 -0
  322. package/dist/esm/api/types/CryptopayPublicPaymentResponse.d.mts +18 -0
  323. package/dist/esm/api/types/CryptopayPublicPaymentResponse.mjs +2 -0
  324. package/dist/esm/api/types/CryptopayPublicRedirect.d.mts +4 -0
  325. package/dist/esm/api/types/CryptopayPublicRedirect.mjs +2 -0
  326. package/dist/esm/api/types/CryptopayRedirectConfigDto.d.mts +15 -0
  327. package/dist/esm/api/types/CryptopayRedirectConfigDto.mjs +11 -0
  328. package/dist/esm/api/types/CryptopayStaticDepositResponse.d.mts +31 -0
  329. package/dist/esm/api/types/CryptopayStaticDepositResponse.mjs +11 -0
  330. package/dist/esm/api/types/CryptopayStaticWalletResponse.d.mts +13 -0
  331. package/dist/esm/api/types/CryptopayStaticWalletResponse.mjs +2 -0
  332. package/dist/esm/api/types/CryptopayTransactionResponse.d.mts +6 -0
  333. package/dist/esm/api/types/CryptopayTransactionResponse.mjs +2 -0
  334. package/dist/esm/api/types/WebhookPaymentEvent.d.mts +26 -0
  335. package/dist/esm/api/types/WebhookPaymentEvent.mjs +9 -0
  336. package/dist/esm/api/types/WebhookStaticDepositEvent.d.mts +29 -0
  337. package/dist/esm/api/types/WebhookStaticDepositEvent.mjs +8 -0
  338. package/dist/esm/api/types/index.d.mts +16 -0
  339. package/dist/esm/api/types/index.mjs +16 -0
  340. package/dist/esm/auth/HeaderAuthProvider.d.mts +20 -0
  341. package/dist/esm/auth/HeaderAuthProvider.mjs +43 -0
  342. package/dist/esm/auth/index.d.mts +1 -0
  343. package/dist/esm/auth/index.mjs +1 -0
  344. package/dist/esm/core/auth/AuthProvider.d.mts +8 -0
  345. package/dist/esm/core/auth/AuthProvider.mjs +6 -0
  346. package/dist/esm/core/auth/AuthRequest.d.mts +9 -0
  347. package/dist/esm/core/auth/AuthRequest.mjs +1 -0
  348. package/dist/esm/core/auth/BasicAuth.d.mts +8 -0
  349. package/dist/esm/core/auth/BasicAuth.mjs +30 -0
  350. package/dist/esm/core/auth/BearerToken.d.mts +7 -0
  351. package/dist/esm/core/auth/BearerToken.mjs +13 -0
  352. package/dist/esm/core/auth/NoOpAuthProvider.d.mts +5 -0
  353. package/dist/esm/core/auth/NoOpAuthProvider.mjs +5 -0
  354. package/dist/esm/core/auth/index.d.mts +5 -0
  355. package/dist/esm/core/auth/index.mjs +4 -0
  356. package/dist/esm/core/base64.d.mts +2 -0
  357. package/dist/esm/core/base64.mjs +22 -0
  358. package/dist/esm/core/exports.d.mts +1 -0
  359. package/dist/esm/core/exports.mjs +1 -0
  360. package/dist/esm/core/fetcher/APIResponse.d.mts +20 -0
  361. package/dist/esm/core/fetcher/APIResponse.mjs +1 -0
  362. package/dist/esm/core/fetcher/BinaryResponse.d.mts +19 -0
  363. package/dist/esm/core/fetcher/BinaryResponse.mjs +14 -0
  364. package/dist/esm/core/fetcher/EndpointMetadata.d.mts +13 -0
  365. package/dist/esm/core/fetcher/EndpointMetadata.mjs +1 -0
  366. package/dist/esm/core/fetcher/EndpointSupplier.d.mts +12 -0
  367. package/dist/esm/core/fetcher/EndpointSupplier.mjs +19 -0
  368. package/dist/esm/core/fetcher/Fetcher.d.mts +56 -0
  369. package/dist/esm/core/fetcher/Fetcher.mjs +323 -0
  370. package/dist/esm/core/fetcher/Headers.d.mts +2 -0
  371. package/dist/esm/core/fetcher/Headers.mjs +82 -0
  372. package/dist/esm/core/fetcher/HttpResponsePromise.d.mts +58 -0
  373. package/dist/esm/core/fetcher/HttpResponsePromise.mjs +99 -0
  374. package/dist/esm/core/fetcher/RawResponse.d.mts +29 -0
  375. package/dist/esm/core/fetcher/RawResponse.mjs +40 -0
  376. package/dist/esm/core/fetcher/Supplier.d.mts +4 -0
  377. package/dist/esm/core/fetcher/Supplier.mjs +19 -0
  378. package/dist/esm/core/fetcher/createRequestUrl.d.mts +1 -0
  379. package/dist/esm/core/fetcher/createRequestUrl.mjs +5 -0
  380. package/dist/esm/core/fetcher/getErrorResponseBody.d.mts +1 -0
  381. package/dist/esm/core/fetcher/getErrorResponseBody.mjs +42 -0
  382. package/dist/esm/core/fetcher/getFetchFn.d.mts +1 -0
  383. package/dist/esm/core/fetcher/getFetchFn.mjs +14 -0
  384. package/dist/esm/core/fetcher/getHeader.d.mts +1 -0
  385. package/dist/esm/core/fetcher/getHeader.mjs +8 -0
  386. package/dist/esm/core/fetcher/getRequestBody.d.mts +7 -0
  387. package/dist/esm/core/fetcher/getRequestBody.mjs +24 -0
  388. package/dist/esm/core/fetcher/getResponseBody.d.mts +1 -0
  389. package/dist/esm/core/fetcher/getResponseBody.mjs +77 -0
  390. package/dist/esm/core/fetcher/index.d.mts +13 -0
  391. package/dist/esm/core/fetcher/index.mjs +7 -0
  392. package/dist/esm/core/fetcher/makePassthroughRequest.d.mts +49 -0
  393. package/dist/esm/core/fetcher/makePassthroughRequest.mjs +132 -0
  394. package/dist/esm/core/fetcher/makeRequest.d.mts +6 -0
  395. package/dist/esm/core/fetcher/makeRequest.mjs +55 -0
  396. package/dist/esm/core/fetcher/requestWithRetries.d.mts +1 -0
  397. package/dist/esm/core/fetcher/requestWithRetries.mjs +67 -0
  398. package/dist/esm/core/fetcher/signals.d.mts +5 -0
  399. package/dist/esm/core/fetcher/signals.mjs +28 -0
  400. package/dist/esm/core/headers.d.mts +2 -0
  401. package/dist/esm/core/headers.mjs +27 -0
  402. package/dist/esm/core/index.d.mts +7 -0
  403. package/dist/esm/core/index.mjs +7 -0
  404. package/dist/esm/core/json.d.mts +15 -0
  405. package/dist/esm/core/json.mjs +19 -0
  406. package/dist/esm/core/logging/exports.d.mts +18 -0
  407. package/dist/esm/core/logging/exports.mjs +9 -0
  408. package/dist/esm/core/logging/index.d.mts +1 -0
  409. package/dist/esm/core/logging/index.mjs +1 -0
  410. package/dist/esm/core/logging/logger.d.mts +126 -0
  411. package/dist/esm/core/logging/logger.mjs +138 -0
  412. package/dist/esm/core/runtime/index.d.mts +1 -0
  413. package/dist/esm/core/runtime/index.mjs +1 -0
  414. package/dist/esm/core/runtime/runtime.d.mts +9 -0
  415. package/dist/esm/core/runtime/runtime.mjs +101 -0
  416. package/dist/esm/core/url/QueryStringBuilder.d.mts +47 -0
  417. package/dist/esm/core/url/QueryStringBuilder.mjs +80 -0
  418. package/dist/esm/core/url/encodePathParam.d.mts +1 -0
  419. package/dist/esm/core/url/encodePathParam.mjs +18 -0
  420. package/dist/esm/core/url/index.d.mts +4 -0
  421. package/dist/esm/core/url/index.mjs +4 -0
  422. package/dist/esm/core/url/join.d.mts +1 -0
  423. package/dist/esm/core/url/join.mjs +65 -0
  424. package/dist/esm/core/url/qs.d.mts +7 -0
  425. package/dist/esm/core/url/qs.mjs +73 -0
  426. package/dist/esm/core/webhooks/computeHmacSignature.d.mts +9 -0
  427. package/dist/esm/core/webhooks/computeHmacSignature.mjs +48 -0
  428. package/dist/esm/core/webhooks/fetchJwks.d.mts +15 -0
  429. package/dist/esm/core/webhooks/fetchJwks.mjs +153 -0
  430. package/dist/esm/core/webhooks/index.d.mts +8 -0
  431. package/dist/esm/core/webhooks/index.mjs +4 -0
  432. package/dist/esm/core/webhooks/timingSafeEqual.d.mts +1 -0
  433. package/dist/esm/core/webhooks/timingSafeEqual.mjs +49 -0
  434. package/dist/esm/core/webhooks/types.d.mts +1 -0
  435. package/dist/esm/core/webhooks/types.mjs +1 -0
  436. package/dist/esm/core/webhooks/verifyAsymmetricSignature.d.mts +10 -0
  437. package/dist/esm/core/webhooks/verifyAsymmetricSignature.mjs +174 -0
  438. package/dist/esm/environments.d.mts +4 -0
  439. package/dist/esm/environments.mjs +4 -0
  440. package/dist/esm/errors/SuwardSDKError.d.mts +14 -0
  441. package/dist/esm/errors/SuwardSDKError.mjs +31 -0
  442. package/dist/esm/errors/SuwardSDKTimeoutError.d.mts +6 -0
  443. package/dist/esm/errors/SuwardSDKTimeoutError.mjs +14 -0
  444. package/dist/esm/errors/handleNonStatusCodeError.d.mts +2 -0
  445. package/dist/esm/errors/handleNonStatusCodeError.mjs +32 -0
  446. package/dist/esm/errors/index.d.mts +2 -0
  447. package/dist/esm/errors/index.mjs +2 -0
  448. package/dist/esm/exports.d.mts +1 -0
  449. package/dist/esm/exports.mjs +1 -0
  450. package/dist/esm/index.d.mts +7 -0
  451. package/dist/esm/index.mjs +6 -0
  452. package/dist/esm/version.d.mts +1 -0
  453. package/dist/esm/version.mjs +1 -0
  454. package/dist/esm/webhooks/WebhooksHelper.d.mts +9 -0
  455. package/dist/esm/webhooks/WebhooksHelper.mjs +50 -0
  456. package/dist/esm/webhooks/index.d.mts +1 -0
  457. package/dist/esm/webhooks/index.mjs +1 -0
  458. package/package.json +90 -0
  459. package/reference.md +771 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryBuilder = queryBuilder;
4
+ const qs_js_1 = require("./qs.js");
5
+ /**
6
+ * Creates a fluent builder for constructing URL query strings.
7
+ *
8
+ * Each `.add()` call serializes its value immediately (like C#'s builder),
9
+ * so no format tracking is needed — the style is applied at add-time.
10
+ *
11
+ * Usage (generated code):
12
+ *
13
+ * const qs = core.url.queryBuilder()
14
+ * .add("limit", limit)
15
+ * .add("tags", tags, { style: "comma" }) // explode: false
16
+ * .mergeAdditional(requestOptions?.queryParams)
17
+ * .build();
18
+ */
19
+ function queryBuilder() {
20
+ return new QueryStringBuilder();
21
+ }
22
+ class QueryStringBuilder {
23
+ constructor() {
24
+ this.parts = new Map();
25
+ }
26
+ /**
27
+ * Adds a query parameter, serializing it immediately.
28
+ *
29
+ * By default arrays use "repeat" format (`key=a&key=b`).
30
+ * Pass `{ style: "comma" }` for OpenAPI `explode: false` parameters
31
+ * to get comma-separated values (`key=a,b,c`).
32
+ *
33
+ * Null / undefined values are silently skipped.
34
+ */
35
+ add(key, value, options) {
36
+ if (value === undefined || value === null) {
37
+ return this;
38
+ }
39
+ const serialized = (0, qs_js_1.toQueryString)({ [key]: value }, { arrayFormat: (options === null || options === void 0 ? void 0 : options.style) === "comma" ? "comma" : "repeat" });
40
+ if (serialized.length > 0) {
41
+ this.parts.set(key, serialized);
42
+ }
43
+ return this;
44
+ }
45
+ /**
46
+ * Adds multiple query parameters at once from a record.
47
+ * All parameters use the default "repeat" array format.
48
+ * Null / undefined values are silently skipped.
49
+ */
50
+ addMany(params) {
51
+ if (params != null) {
52
+ for (const [key, value] of Object.entries(params)) {
53
+ this.add(key, value);
54
+ }
55
+ }
56
+ return this;
57
+ }
58
+ /**
59
+ * Merges additional query parameters supplied at call-time via
60
+ * `requestOptions.queryParams`. Overrides existing keys (last-write-wins).
61
+ */
62
+ mergeAdditional(additionalParams) {
63
+ if (additionalParams != null) {
64
+ for (const [key, value] of Object.entries(additionalParams)) {
65
+ if (value === undefined || value === null) {
66
+ continue;
67
+ }
68
+ const serialized = (0, qs_js_1.toQueryString)({ [key]: value }, { arrayFormat: "repeat" });
69
+ if (serialized.length > 0) {
70
+ this.parts.set(key, serialized);
71
+ }
72
+ }
73
+ }
74
+ return this;
75
+ }
76
+ /**
77
+ * Returns the assembled query string (without the leading `?`).
78
+ * Returns an empty string when no parameters were added.
79
+ */
80
+ build() {
81
+ return [...this.parts.values()].join("&");
82
+ }
83
+ }
@@ -0,0 +1 @@
1
+ export declare function encodePathParam(param: unknown): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodePathParam = encodePathParam;
4
+ function encodePathParam(param) {
5
+ if (param === null) {
6
+ return "null";
7
+ }
8
+ const typeofParam = typeof param;
9
+ switch (typeofParam) {
10
+ case "undefined":
11
+ return "undefined";
12
+ case "string":
13
+ case "number":
14
+ case "boolean":
15
+ break;
16
+ default:
17
+ param = String(param);
18
+ break;
19
+ }
20
+ return encodeURIComponent(param);
21
+ }
@@ -0,0 +1,4 @@
1
+ export { encodePathParam } from "./encodePathParam.js";
2
+ export { join } from "./join.js";
3
+ export { queryBuilder } from "./QueryStringBuilder.js";
4
+ export { toQueryString } from "./qs.js";
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toQueryString = exports.queryBuilder = exports.join = exports.encodePathParam = void 0;
4
+ var encodePathParam_js_1 = require("./encodePathParam.js");
5
+ Object.defineProperty(exports, "encodePathParam", { enumerable: true, get: function () { return encodePathParam_js_1.encodePathParam; } });
6
+ var join_js_1 = require("./join.js");
7
+ Object.defineProperty(exports, "join", { enumerable: true, get: function () { return join_js_1.join; } });
8
+ var QueryStringBuilder_js_1 = require("./QueryStringBuilder.js");
9
+ Object.defineProperty(exports, "queryBuilder", { enumerable: true, get: function () { return QueryStringBuilder_js_1.queryBuilder; } });
10
+ var qs_js_1 = require("./qs.js");
11
+ Object.defineProperty(exports, "toQueryString", { enumerable: true, get: function () { return qs_js_1.toQueryString; } });
@@ -0,0 +1 @@
1
+ export declare function join(base: string, ...segments: string[]): string;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.join = join;
4
+ function join(base, ...segments) {
5
+ if (!base) {
6
+ return "";
7
+ }
8
+ if (segments.length === 0) {
9
+ return base;
10
+ }
11
+ if (base.includes("://")) {
12
+ let url;
13
+ try {
14
+ url = new URL(base);
15
+ }
16
+ catch (_a) {
17
+ return joinPath(base, ...segments);
18
+ }
19
+ const lastSegment = segments[segments.length - 1];
20
+ const shouldPreserveTrailingSlash = lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.endsWith("/");
21
+ for (const segment of segments) {
22
+ const cleanSegment = trimSlashes(segment);
23
+ if (cleanSegment) {
24
+ url.pathname = joinPathSegments(url.pathname, cleanSegment);
25
+ }
26
+ }
27
+ if (shouldPreserveTrailingSlash && !url.pathname.endsWith("/")) {
28
+ url.pathname += "/";
29
+ }
30
+ return url.toString();
31
+ }
32
+ return joinPath(base, ...segments);
33
+ }
34
+ function joinPath(base, ...segments) {
35
+ if (segments.length === 0) {
36
+ return base;
37
+ }
38
+ let result = base;
39
+ const lastSegment = segments[segments.length - 1];
40
+ const shouldPreserveTrailingSlash = lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.endsWith("/");
41
+ for (const segment of segments) {
42
+ const cleanSegment = trimSlashes(segment);
43
+ if (cleanSegment) {
44
+ result = joinPathSegments(result, cleanSegment);
45
+ }
46
+ }
47
+ if (shouldPreserveTrailingSlash && !result.endsWith("/")) {
48
+ result += "/";
49
+ }
50
+ return result;
51
+ }
52
+ function joinPathSegments(left, right) {
53
+ if (left.endsWith("/")) {
54
+ return left + right;
55
+ }
56
+ return `${left}/${right}`;
57
+ }
58
+ function trimSlashes(str) {
59
+ if (!str)
60
+ return str;
61
+ let start = 0;
62
+ let end = str.length;
63
+ if (str.startsWith("/"))
64
+ start = 1;
65
+ if (str.endsWith("/"))
66
+ end = str.length - 1;
67
+ return start === 0 && end === str.length ? str : str.slice(start, end);
68
+ }
@@ -0,0 +1,7 @@
1
+ type ArrayFormat = "indices" | "repeat" | "comma";
2
+ interface QueryStringOptions {
3
+ arrayFormat?: ArrayFormat;
4
+ encode?: boolean;
5
+ }
6
+ export declare function toQueryString(obj: unknown, options?: QueryStringOptions): string;
7
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toQueryString = toQueryString;
4
+ const defaultQsOptions = {
5
+ arrayFormat: "indices",
6
+ encode: true,
7
+ };
8
+ function encodeValue(value, shouldEncode) {
9
+ if (value === undefined) {
10
+ return "";
11
+ }
12
+ if (value === null) {
13
+ return "";
14
+ }
15
+ const stringValue = String(value);
16
+ return shouldEncode ? encodeURIComponent(stringValue) : stringValue;
17
+ }
18
+ function stringifyObject(obj, prefix = "", options) {
19
+ const parts = [];
20
+ for (const [key, value] of Object.entries(obj)) {
21
+ const fullKey = prefix ? `${prefix}[${key}]` : key;
22
+ if (value == null) {
23
+ continue;
24
+ }
25
+ if (Array.isArray(value)) {
26
+ if (value.length === 0) {
27
+ continue;
28
+ }
29
+ const effectiveFormat = options.arrayFormat;
30
+ if (effectiveFormat === "comma") {
31
+ const encodedKey = options.encode ? encodeURIComponent(fullKey) : fullKey;
32
+ const encodedValues = value
33
+ .filter((item) => item !== undefined && item !== null)
34
+ .map((item) => encodeValue(item, options.encode));
35
+ if (encodedValues.length > 0) {
36
+ parts.push(`${encodedKey}=${encodedValues.join(",")}`);
37
+ }
38
+ }
39
+ else {
40
+ for (let i = 0; i < value.length; i++) {
41
+ const item = value[i];
42
+ if (item == null) {
43
+ continue;
44
+ }
45
+ if (typeof item === "object" && !Array.isArray(item) && item !== null) {
46
+ const arrayKey = effectiveFormat === "indices" ? `${fullKey}[${i}]` : fullKey;
47
+ parts.push(...stringifyObject(item, arrayKey, options));
48
+ }
49
+ else {
50
+ const arrayKey = effectiveFormat === "indices" ? `${fullKey}[${i}]` : fullKey;
51
+ const encodedKey = options.encode ? encodeURIComponent(arrayKey) : arrayKey;
52
+ parts.push(`${encodedKey}=${encodeValue(item, options.encode)}`);
53
+ }
54
+ }
55
+ }
56
+ }
57
+ else if (typeof value === "object" && value !== null) {
58
+ if (Object.keys(value).length === 0) {
59
+ continue;
60
+ }
61
+ parts.push(...stringifyObject(value, fullKey, options));
62
+ }
63
+ else {
64
+ const encodedKey = options.encode ? encodeURIComponent(fullKey) : fullKey;
65
+ parts.push(`${encodedKey}=${encodeValue(value, options.encode)}`);
66
+ }
67
+ }
68
+ return parts;
69
+ }
70
+ function toQueryString(obj, options) {
71
+ if (obj == null || typeof obj !== "object") {
72
+ return "";
73
+ }
74
+ const parts = stringifyObject(obj, "", Object.assign(Object.assign({}, defaultQsOptions), options));
75
+ return parts.join("&");
76
+ }
@@ -0,0 +1,9 @@
1
+ import type { SignatureEncoding } from "./types.js";
2
+ export type HmacAlgorithm = "sha256" | "sha1" | "sha384" | "sha512";
3
+ export interface ComputeHmacSignatureArgs {
4
+ payload: string;
5
+ secret: string;
6
+ algorithm: HmacAlgorithm;
7
+ encoding: SignatureEncoding;
8
+ }
9
+ export declare function computeHmacSignature(args: ComputeHmacSignatureArgs): Promise<string>;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.computeHmacSignature = computeHmacSignature;
46
+ const index_js_1 = require("../runtime/index.js");
47
+ function hmacAlgorithmToSubtleName(algorithm) {
48
+ switch (algorithm) {
49
+ case "sha1":
50
+ return "SHA-1";
51
+ case "sha256":
52
+ return "SHA-256";
53
+ case "sha384":
54
+ return "SHA-384";
55
+ case "sha512":
56
+ return "SHA-512";
57
+ }
58
+ }
59
+ function computeHmacSignature(args) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ if (index_js_1.RUNTIME.type === "node") {
62
+ const crypto = yield Promise.resolve().then(() => __importStar(require("crypto")));
63
+ const hmac = crypto.createHmac(args.algorithm, args.secret);
64
+ hmac.update(args.payload);
65
+ return hmac.digest(args.encoding);
66
+ }
67
+ const subtle = globalThis.crypto.subtle;
68
+ const enc = new TextEncoder();
69
+ const keyMaterial = yield subtle.importKey("raw", enc.encode(args.secret), { name: "HMAC", hash: hmacAlgorithmToSubtleName(args.algorithm) }, false, ["sign"]);
70
+ const signatureBuffer = yield subtle.sign("HMAC", keyMaterial, enc.encode(args.payload));
71
+ const bytes = new Uint8Array(signatureBuffer);
72
+ if (args.encoding === "hex") {
73
+ return Array.from(bytes)
74
+ .map((b) => b.toString(16).padStart(2, "0"))
75
+ .join("");
76
+ }
77
+ // base64
78
+ let binary = "";
79
+ for (const byte of bytes) {
80
+ binary += String.fromCharCode(byte);
81
+ }
82
+ return btoa(binary);
83
+ });
84
+ }
@@ -0,0 +1,15 @@
1
+ export interface FetchJwksArgs {
2
+ url: string;
3
+ keyId?: string;
4
+ }
5
+ /**
6
+ * Fetches a public key from a JWKS endpoint and returns it as a PEM string.
7
+ *
8
+ * Only RSA keys (reconstructed from `n`/`e`) and keys with an `x5c` certificate chain are supported.
9
+ * EC (kty: "EC") and OKP (kty: "OKP") keys are **not** supported and will throw an error.
10
+ *
11
+ * @throws {Error} If the JWKS endpoint returns a non-OK response.
12
+ * @throws {Error} If no key matching `keyId` is found (after one cache-busting retry).
13
+ * @throws {Error} If the selected key has an unsupported type (e.g. EC or OKP).
14
+ */
15
+ export declare function fetchJwks(args: FetchJwksArgs): Promise<string>;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchJwks = fetchJwks;
13
+ const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
14
+ const CACHE_MAX_SIZE = 50;
15
+ const cache = new Map();
16
+ function base64UrlToBase64(base64url) {
17
+ let base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
18
+ while (base64.length % 4 !== 0) {
19
+ base64 += "=";
20
+ }
21
+ return base64;
22
+ }
23
+ function jwkToPem(jwk) {
24
+ if (jwk.x5c != null && jwk.x5c.length > 0) {
25
+ const cert = jwk.x5c[0];
26
+ return `-----BEGIN CERTIFICATE-----\n${cert}\n-----END CERTIFICATE-----`;
27
+ }
28
+ if (jwk.kty === "RSA" && jwk.n != null && jwk.e != null) {
29
+ return constructRsaPem(jwk.n, jwk.e);
30
+ }
31
+ throw new Error(`Unsupported JWK key type for PEM conversion: ${jwk.kty}`);
32
+ }
33
+ function base64UrlToBytes(base64url) {
34
+ const binary = atob(base64UrlToBase64(base64url));
35
+ const bytes = new Uint8Array(binary.length);
36
+ for (let i = 0; i < binary.length; i++) {
37
+ bytes[i] = binary.charCodeAt(i);
38
+ }
39
+ return bytes;
40
+ }
41
+ function concatBytes(arrays) {
42
+ const total = arrays.reduce((sum, a) => sum + a.length, 0);
43
+ const result = new Uint8Array(total);
44
+ let offset = 0;
45
+ for (const array of arrays) {
46
+ result.set(array, offset);
47
+ offset += array.length;
48
+ }
49
+ return result;
50
+ }
51
+ function constructRsaPem(nBase64Url, eBase64Url) {
52
+ const nBytes = base64UrlToBytes(nBase64Url);
53
+ const eBytes = base64UrlToBytes(eBase64Url);
54
+ // ASN.1 DER encoding of RSA public key
55
+ const nEncoded = asn1Integer(nBytes);
56
+ const eEncoded = asn1Integer(eBytes);
57
+ const sequence = asn1Sequence(concatBytes([nEncoded, eEncoded]));
58
+ const bitString = asn1BitString(sequence);
59
+ const algorithmIdentifier = asn1Sequence(new Uint8Array([
60
+ // OID for rsaEncryption (1.2.840.113549.1.1.1)
61
+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
62
+ // NULL
63
+ 0x05, 0x00,
64
+ ]));
65
+ const spki = asn1Sequence(concatBytes([algorithmIdentifier, bitString]));
66
+ let binary = "";
67
+ for (const byte of spki) {
68
+ binary += String.fromCharCode(byte);
69
+ }
70
+ const base64 = btoa(binary);
71
+ const lines = [];
72
+ for (let i = 0; i < base64.length; i += 64) {
73
+ lines.push(base64.substring(i, i + 64));
74
+ }
75
+ return `-----BEGIN PUBLIC KEY-----\n${lines.join("\n")}\n-----END PUBLIC KEY-----`;
76
+ }
77
+ function asn1Length(length) {
78
+ if (length < 0x80) {
79
+ return new Uint8Array([length]);
80
+ }
81
+ const bytes = [];
82
+ let temp = length;
83
+ while (temp > 0) {
84
+ bytes.unshift(temp & 0xff);
85
+ temp >>= 8;
86
+ }
87
+ return new Uint8Array([0x80 | bytes.length, ...bytes]);
88
+ }
89
+ function asn1Integer(bytes) {
90
+ // Add leading zero if high bit is set (to ensure positive integer)
91
+ const needsPadding = bytes[0] >= 0x80;
92
+ const content = needsPadding ? concatBytes([new Uint8Array([0x00]), bytes]) : bytes;
93
+ return concatBytes([new Uint8Array([0x02]), asn1Length(content.length), content]);
94
+ }
95
+ function asn1Sequence(content) {
96
+ return concatBytes([new Uint8Array([0x30]), asn1Length(content.length), content]);
97
+ }
98
+ function asn1BitString(content) {
99
+ // Prepend a zero byte for unused bits
100
+ return concatBytes([new Uint8Array([0x03]), asn1Length(content.length + 1), new Uint8Array([0x00]), content]);
101
+ }
102
+ function fetchKeys(url) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ const cached = cache.get(url);
105
+ if (cached != null && Date.now() - cached.fetchedAt < CACHE_TTL_MS) {
106
+ return cached.keys;
107
+ }
108
+ const response = yield fetch(url);
109
+ if (!response.ok) {
110
+ throw new Error(`Failed to fetch JWKS from ${url}: ${response.status} ${response.statusText}`);
111
+ }
112
+ const jwks = (yield response.json());
113
+ if (cache.size >= CACHE_MAX_SIZE) {
114
+ for (const key of cache.keys()) {
115
+ cache.delete(key);
116
+ break;
117
+ }
118
+ }
119
+ cache.set(url, { keys: jwks.keys, fetchedAt: Date.now() });
120
+ return jwks.keys;
121
+ });
122
+ }
123
+ /**
124
+ * Fetches a public key from a JWKS endpoint and returns it as a PEM string.
125
+ *
126
+ * Only RSA keys (reconstructed from `n`/`e`) and keys with an `x5c` certificate chain are supported.
127
+ * EC (kty: "EC") and OKP (kty: "OKP") keys are **not** supported and will throw an error.
128
+ *
129
+ * @throws {Error} If the JWKS endpoint returns a non-OK response.
130
+ * @throws {Error} If no key matching `keyId` is found (after one cache-busting retry).
131
+ * @throws {Error} If the selected key has an unsupported type (e.g. EC or OKP).
132
+ */
133
+ function fetchJwks(args) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ const keys = yield fetchKeys(args.url);
136
+ let selectedKey;
137
+ if (args.keyId != null) {
138
+ selectedKey = keys.find((k) => k.kid === args.keyId);
139
+ if (selectedKey == null) {
140
+ // Invalidate cache and retry once
141
+ cache.delete(args.url);
142
+ const refreshedKeys = yield fetchKeys(args.url);
143
+ selectedKey = refreshedKeys.find((k) => k.kid === args.keyId);
144
+ }
145
+ }
146
+ else {
147
+ selectedKey = keys[0];
148
+ }
149
+ if (selectedKey == null) {
150
+ throw new Error(args.keyId != null
151
+ ? `No key found with kid "${args.keyId}" in JWKS at ${args.url}`
152
+ : `No keys found in JWKS at ${args.url}`);
153
+ }
154
+ return jwkToPem(selectedKey);
155
+ });
156
+ }
@@ -0,0 +1,8 @@
1
+ export type { ComputeHmacSignatureArgs, HmacAlgorithm } from "./computeHmacSignature.js";
2
+ export { computeHmacSignature } from "./computeHmacSignature.js";
3
+ export type { FetchJwksArgs } from "./fetchJwks.js";
4
+ export { fetchJwks } from "./fetchJwks.js";
5
+ export { timingSafeEqual } from "./timingSafeEqual.js";
6
+ export type { SignatureEncoding } from "./types.js";
7
+ export type { AsymmetricAlgorithm, VerifyAsymmetricSignatureArgs } from "./verifyAsymmetricSignature.js";
8
+ export { verifyAsymmetricSignature } from "./verifyAsymmetricSignature.js";
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyAsymmetricSignature = exports.timingSafeEqual = exports.fetchJwks = exports.computeHmacSignature = void 0;
4
+ var computeHmacSignature_js_1 = require("./computeHmacSignature.js");
5
+ Object.defineProperty(exports, "computeHmacSignature", { enumerable: true, get: function () { return computeHmacSignature_js_1.computeHmacSignature; } });
6
+ var fetchJwks_js_1 = require("./fetchJwks.js");
7
+ Object.defineProperty(exports, "fetchJwks", { enumerable: true, get: function () { return fetchJwks_js_1.fetchJwks; } });
8
+ var timingSafeEqual_js_1 = require("./timingSafeEqual.js");
9
+ Object.defineProperty(exports, "timingSafeEqual", { enumerable: true, get: function () { return timingSafeEqual_js_1.timingSafeEqual; } });
10
+ var verifyAsymmetricSignature_js_1 = require("./verifyAsymmetricSignature.js");
11
+ Object.defineProperty(exports, "verifyAsymmetricSignature", { enumerable: true, get: function () { return verifyAsymmetricSignature_js_1.verifyAsymmetricSignature; } });
@@ -0,0 +1 @@
1
+ export declare function timingSafeEqual(a: string, b: string): Promise<boolean>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.timingSafeEqual = timingSafeEqual;
46
+ const index_js_1 = require("../runtime/index.js");
47
+ function timingSafeEqual(a, b) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ var _a;
50
+ if (index_js_1.RUNTIME.type === "node") {
51
+ const crypto = yield Promise.resolve().then(() => __importStar(require("crypto")));
52
+ const bufA = Buffer.from(a);
53
+ const bufB = Buffer.from(b);
54
+ if (bufA.length !== bufB.length) {
55
+ // Still perform comparison to avoid leaking length via timing
56
+ const dummy = Buffer.alloc(bufA.length);
57
+ crypto.timingSafeEqual(bufA, dummy);
58
+ return false;
59
+ }
60
+ return crypto.timingSafeEqual(bufA, bufB);
61
+ }
62
+ // Fallback: constant-time XOR comparison using Uint8Array
63
+ const enc = new TextEncoder();
64
+ const bytesA = enc.encode(a);
65
+ const bytesB = enc.encode(b);
66
+ if (bytesA.length !== bytesB.length) {
67
+ // XOR each byte of bytesA against bytesB[0] (a runtime value) so the
68
+ // loop cannot be trivially folded to a constant by the engine. This is
69
+ // best-effort timing-stability: JS has no guarantee, but we avoid an
70
+ // obvious early-exit that would trivially leak length via timing.
71
+ const pivot = (_a = bytesB[0]) !== null && _a !== void 0 ? _a : 0;
72
+ let sink = 0;
73
+ for (let i = 0; i < bytesA.length; i++) {
74
+ sink |= bytesA[i] ^ pivot;
75
+ }
76
+ void sink;
77
+ return false;
78
+ }
79
+ let result = 0;
80
+ for (let i = 0; i < bytesA.length; i++) {
81
+ result |= bytesA[i] ^ bytesB[i];
82
+ }
83
+ return result === 0;
84
+ });
85
+ }
@@ -0,0 +1 @@
1
+ export type SignatureEncoding = "base64" | "hex";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });