auth0 3.4.0 → 4.0.0-beta.1

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 (327) hide show
  1. package/README.md +19 -15
  2. package/dist/cjs/auth/base-auth-api.js +60 -0
  3. package/dist/cjs/auth/base-auth-api.js.map +1 -0
  4. package/dist/cjs/auth/client-authentication.js +64 -0
  5. package/dist/cjs/auth/client-authentication.js.map +1 -0
  6. package/dist/cjs/auth/database.js +73 -0
  7. package/dist/cjs/auth/database.js.map +1 -0
  8. package/dist/cjs/auth/id-token-validator.js +135 -0
  9. package/dist/cjs/auth/id-token-validator.js.map +1 -0
  10. package/dist/cjs/auth/index.js +40 -0
  11. package/dist/cjs/auth/index.js.map +1 -0
  12. package/dist/cjs/auth/oauth.js +199 -0
  13. package/dist/cjs/auth/oauth.js.map +1 -0
  14. package/dist/cjs/auth/passwordless.js +154 -0
  15. package/dist/cjs/auth/passwordless.js.map +1 -0
  16. package/dist/cjs/index.js +19 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/lib/errors.js +49 -0
  19. package/dist/cjs/lib/errors.js.map +1 -0
  20. package/dist/cjs/lib/index.js +19 -0
  21. package/dist/cjs/lib/index.js.map +1 -0
  22. package/dist/cjs/lib/middleware/telemetry-middleware.js +27 -0
  23. package/dist/cjs/lib/middleware/telemetry-middleware.js.map +1 -0
  24. package/dist/cjs/lib/models.js +41 -0
  25. package/dist/cjs/lib/models.js.map +1 -0
  26. package/dist/cjs/lib/retry.js +55 -0
  27. package/dist/cjs/lib/retry.js.map +1 -0
  28. package/dist/cjs/lib/runtime.js +250 -0
  29. package/dist/cjs/lib/runtime.js.map +1 -0
  30. package/dist/cjs/management/__generated/index.js +58 -0
  31. package/dist/cjs/management/__generated/index.js.map +1 -0
  32. package/dist/cjs/management/__generated/managers/actions-manager.js +336 -0
  33. package/dist/cjs/management/__generated/managers/actions-manager.js.map +1 -0
  34. package/dist/cjs/management/__generated/managers/anomaly-manager.js +63 -0
  35. package/dist/cjs/management/__generated/managers/anomaly-manager.js.map +1 -0
  36. package/dist/cjs/management/__generated/managers/attack-protection-manager.js +131 -0
  37. package/dist/cjs/management/__generated/managers/attack-protection-manager.js.map +1 -0
  38. package/dist/cjs/management/__generated/managers/blacklists-manager.js +76 -0
  39. package/dist/cjs/management/__generated/managers/blacklists-manager.js.map +1 -0
  40. package/dist/cjs/management/__generated/managers/branding-manager.js +207 -0
  41. package/dist/cjs/management/__generated/managers/branding-manager.js.map +1 -0
  42. package/dist/cjs/management/__generated/managers/client-grants-manager.js +114 -0
  43. package/dist/cjs/management/__generated/managers/client-grants-manager.js.map +1 -0
  44. package/dist/cjs/management/__generated/managers/clients-manager.js +238 -0
  45. package/dist/cjs/management/__generated/managers/clients-manager.js.map +1 -0
  46. package/dist/cjs/management/__generated/managers/connections-manager.js +193 -0
  47. package/dist/cjs/management/__generated/managers/connections-manager.js.map +1 -0
  48. package/dist/cjs/management/__generated/managers/custom-domains-manager.js +179 -0
  49. package/dist/cjs/management/__generated/managers/custom-domains-manager.js.map +1 -0
  50. package/dist/cjs/management/__generated/managers/device-credentials-manager.js +112 -0
  51. package/dist/cjs/management/__generated/managers/device-credentials-manager.js.map +1 -0
  52. package/dist/cjs/management/__generated/managers/email-templates-manager.js +102 -0
  53. package/dist/cjs/management/__generated/managers/email-templates-manager.js.map +1 -0
  54. package/dist/cjs/management/__generated/managers/emails-manager.js +102 -0
  55. package/dist/cjs/management/__generated/managers/emails-manager.js.map +1 -0
  56. package/dist/cjs/management/__generated/managers/grants-manager.js +103 -0
  57. package/dist/cjs/management/__generated/managers/grants-manager.js.map +1 -0
  58. package/dist/cjs/management/__generated/managers/guardian-manager.js +518 -0
  59. package/dist/cjs/management/__generated/managers/guardian-manager.js.map +1 -0
  60. package/dist/cjs/management/__generated/managers/hooks-manager.js +214 -0
  61. package/dist/cjs/management/__generated/managers/hooks-manager.js.map +1 -0
  62. package/dist/cjs/management/__generated/managers/index.js +48 -0
  63. package/dist/cjs/management/__generated/managers/index.js.map +1 -0
  64. package/dist/cjs/management/__generated/managers/jobs-manager.js +139 -0
  65. package/dist/cjs/management/__generated/managers/jobs-manager.js.map +1 -0
  66. package/dist/cjs/management/__generated/managers/keys-manager.js +85 -0
  67. package/dist/cjs/management/__generated/managers/keys-manager.js.map +1 -0
  68. package/dist/cjs/management/__generated/managers/log-streams-manager.js +392 -0
  69. package/dist/cjs/management/__generated/managers/log-streams-manager.js.map +1 -0
  70. package/dist/cjs/management/__generated/managers/logs-manager.js +95 -0
  71. package/dist/cjs/management/__generated/managers/logs-manager.js.map +1 -0
  72. package/dist/cjs/management/__generated/managers/organizations-manager.js +463 -0
  73. package/dist/cjs/management/__generated/managers/organizations-manager.js.map +1 -0
  74. package/dist/cjs/management/__generated/managers/prompts-manager.js +101 -0
  75. package/dist/cjs/management/__generated/managers/prompts-manager.js.map +1 -0
  76. package/dist/cjs/management/__generated/managers/resource-servers-manager.js +131 -0
  77. package/dist/cjs/management/__generated/managers/resource-servers-manager.js.map +1 -0
  78. package/dist/cjs/management/__generated/managers/roles-manager.js +238 -0
  79. package/dist/cjs/management/__generated/managers/roles-manager.js.map +1 -0
  80. package/dist/cjs/management/__generated/managers/rules-configs-manager.js +82 -0
  81. package/dist/cjs/management/__generated/managers/rules-configs-manager.js.map +1 -0
  82. package/dist/cjs/management/__generated/managers/rules-manager.js +149 -0
  83. package/dist/cjs/management/__generated/managers/rules-manager.js.map +1 -0
  84. package/dist/cjs/management/__generated/managers/stats-manager.js +72 -0
  85. package/dist/cjs/management/__generated/managers/stats-manager.js.map +1 -0
  86. package/dist/cjs/management/__generated/managers/tenants-manager.js +76 -0
  87. package/dist/cjs/management/__generated/managers/tenants-manager.js.map +1 -0
  88. package/dist/cjs/management/__generated/managers/tickets-manager.js +69 -0
  89. package/dist/cjs/management/__generated/managers/tickets-manager.js.map +1 -0
  90. package/dist/cjs/management/__generated/managers/user-blocks-manager.js +123 -0
  91. package/dist/cjs/management/__generated/managers/user-blocks-manager.js.map +1 -0
  92. package/dist/cjs/management/__generated/managers/users-by-email-manager.js +69 -0
  93. package/dist/cjs/management/__generated/managers/users-by-email-manager.js.map +1 -0
  94. package/dist/cjs/management/__generated/managers/users-manager.js +634 -0
  95. package/dist/cjs/management/__generated/managers/users-manager.js.map +1 -0
  96. package/dist/cjs/management/__generated/models/index.js +1581 -0
  97. package/dist/cjs/management/__generated/models/index.js.map +1 -0
  98. package/dist/cjs/management/index.js +20 -0
  99. package/dist/cjs/management/index.js.map +1 -0
  100. package/dist/cjs/management/management-client-options.js +3 -0
  101. package/dist/cjs/management/management-client-options.js.map +1 -0
  102. package/dist/cjs/management/management-client.js +54 -0
  103. package/dist/cjs/management/management-client.js.map +1 -0
  104. package/dist/cjs/management/token-provider-middleware.js +39 -0
  105. package/dist/cjs/management/token-provider-middleware.js.map +1 -0
  106. package/dist/cjs/management/token-provider.js +36 -0
  107. package/dist/cjs/management/token-provider.js.map +1 -0
  108. package/dist/cjs/package.json +1 -0
  109. package/dist/cjs/utils.js +16 -0
  110. package/dist/cjs/utils.js.map +1 -0
  111. package/dist/cjs/version.js +5 -0
  112. package/dist/cjs/version.js.map +1 -0
  113. package/dist/esm/auth/base-auth-api.js +55 -0
  114. package/dist/esm/auth/base-auth-api.js.map +1 -0
  115. package/dist/esm/auth/client-authentication.js +37 -0
  116. package/dist/esm/auth/client-authentication.js.map +1 -0
  117. package/dist/esm/auth/database.js +69 -0
  118. package/dist/esm/auth/database.js.map +1 -0
  119. package/dist/esm/auth/id-token-validator.js +107 -0
  120. package/dist/esm/auth/id-token-validator.js.map +1 -0
  121. package/dist/esm/auth/index.js +20 -0
  122. package/dist/esm/auth/index.js.map +1 -0
  123. package/dist/esm/auth/oauth.js +195 -0
  124. package/dist/esm/auth/oauth.js.map +1 -0
  125. package/dist/esm/auth/passwordless.js +150 -0
  126. package/dist/esm/auth/passwordless.js.map +1 -0
  127. package/dist/esm/index.js +3 -0
  128. package/dist/esm/index.js.map +1 -0
  129. package/dist/esm/lib/errors.js +42 -0
  130. package/dist/esm/lib/errors.js.map +1 -0
  131. package/dist/esm/lib/index.js +3 -0
  132. package/dist/esm/lib/index.js.map +1 -0
  133. package/dist/esm/lib/middleware/telemetry-middleware.js +23 -0
  134. package/dist/esm/lib/middleware/telemetry-middleware.js.map +1 -0
  135. package/dist/esm/lib/models.js +35 -0
  136. package/dist/esm/lib/models.js.map +1 -0
  137. package/dist/esm/lib/retry.js +51 -0
  138. package/dist/esm/lib/retry.js.map +1 -0
  139. package/dist/esm/lib/runtime.js +225 -0
  140. package/dist/esm/lib/runtime.js.map +1 -0
  141. package/dist/esm/management/__generated/index.js +40 -0
  142. package/dist/esm/management/__generated/index.js.map +1 -0
  143. package/dist/esm/management/__generated/managers/actions-manager.js +309 -0
  144. package/dist/esm/management/__generated/managers/actions-manager.js.map +1 -0
  145. package/dist/esm/management/__generated/managers/anomaly-manager.js +36 -0
  146. package/dist/esm/management/__generated/managers/anomaly-manager.js.map +1 -0
  147. package/dist/esm/management/__generated/managers/attack-protection-manager.js +104 -0
  148. package/dist/esm/management/__generated/managers/attack-protection-manager.js.map +1 -0
  149. package/dist/esm/management/__generated/managers/blacklists-manager.js +49 -0
  150. package/dist/esm/management/__generated/managers/blacklists-manager.js.map +1 -0
  151. package/dist/esm/management/__generated/managers/branding-manager.js +180 -0
  152. package/dist/esm/management/__generated/managers/branding-manager.js.map +1 -0
  153. package/dist/esm/management/__generated/managers/client-grants-manager.js +87 -0
  154. package/dist/esm/management/__generated/managers/client-grants-manager.js.map +1 -0
  155. package/dist/esm/management/__generated/managers/clients-manager.js +211 -0
  156. package/dist/esm/management/__generated/managers/clients-manager.js.map +1 -0
  157. package/dist/esm/management/__generated/managers/connections-manager.js +166 -0
  158. package/dist/esm/management/__generated/managers/connections-manager.js.map +1 -0
  159. package/dist/esm/management/__generated/managers/custom-domains-manager.js +152 -0
  160. package/dist/esm/management/__generated/managers/custom-domains-manager.js.map +1 -0
  161. package/dist/esm/management/__generated/managers/device-credentials-manager.js +85 -0
  162. package/dist/esm/management/__generated/managers/device-credentials-manager.js.map +1 -0
  163. package/dist/esm/management/__generated/managers/email-templates-manager.js +75 -0
  164. package/dist/esm/management/__generated/managers/email-templates-manager.js.map +1 -0
  165. package/dist/esm/management/__generated/managers/emails-manager.js +75 -0
  166. package/dist/esm/management/__generated/managers/emails-manager.js.map +1 -0
  167. package/dist/esm/management/__generated/managers/grants-manager.js +76 -0
  168. package/dist/esm/management/__generated/managers/grants-manager.js.map +1 -0
  169. package/dist/esm/management/__generated/managers/guardian-manager.js +491 -0
  170. package/dist/esm/management/__generated/managers/guardian-manager.js.map +1 -0
  171. package/dist/esm/management/__generated/managers/hooks-manager.js +187 -0
  172. package/dist/esm/management/__generated/managers/hooks-manager.js.map +1 -0
  173. package/dist/esm/management/__generated/managers/index.js +32 -0
  174. package/dist/esm/management/__generated/managers/index.js.map +1 -0
  175. package/dist/esm/management/__generated/managers/jobs-manager.js +112 -0
  176. package/dist/esm/management/__generated/managers/jobs-manager.js.map +1 -0
  177. package/dist/esm/management/__generated/managers/keys-manager.js +58 -0
  178. package/dist/esm/management/__generated/managers/keys-manager.js.map +1 -0
  179. package/dist/esm/management/__generated/managers/log-streams-manager.js +365 -0
  180. package/dist/esm/management/__generated/managers/log-streams-manager.js.map +1 -0
  181. package/dist/esm/management/__generated/managers/logs-manager.js +68 -0
  182. package/dist/esm/management/__generated/managers/logs-manager.js.map +1 -0
  183. package/dist/esm/management/__generated/managers/organizations-manager.js +436 -0
  184. package/dist/esm/management/__generated/managers/organizations-manager.js.map +1 -0
  185. package/dist/esm/management/__generated/managers/prompts-manager.js +74 -0
  186. package/dist/esm/management/__generated/managers/prompts-manager.js.map +1 -0
  187. package/dist/esm/management/__generated/managers/resource-servers-manager.js +104 -0
  188. package/dist/esm/management/__generated/managers/resource-servers-manager.js.map +1 -0
  189. package/dist/esm/management/__generated/managers/roles-manager.js +211 -0
  190. package/dist/esm/management/__generated/managers/roles-manager.js.map +1 -0
  191. package/dist/esm/management/__generated/managers/rules-configs-manager.js +55 -0
  192. package/dist/esm/management/__generated/managers/rules-configs-manager.js.map +1 -0
  193. package/dist/esm/management/__generated/managers/rules-manager.js +122 -0
  194. package/dist/esm/management/__generated/managers/rules-manager.js.map +1 -0
  195. package/dist/esm/management/__generated/managers/stats-manager.js +45 -0
  196. package/dist/esm/management/__generated/managers/stats-manager.js.map +1 -0
  197. package/dist/esm/management/__generated/managers/tenants-manager.js +49 -0
  198. package/dist/esm/management/__generated/managers/tenants-manager.js.map +1 -0
  199. package/dist/esm/management/__generated/managers/tickets-manager.js +42 -0
  200. package/dist/esm/management/__generated/managers/tickets-manager.js.map +1 -0
  201. package/dist/esm/management/__generated/managers/user-blocks-manager.js +96 -0
  202. package/dist/esm/management/__generated/managers/user-blocks-manager.js.map +1 -0
  203. package/dist/esm/management/__generated/managers/users-by-email-manager.js +42 -0
  204. package/dist/esm/management/__generated/managers/users-by-email-manager.js.map +1 -0
  205. package/dist/esm/management/__generated/managers/users-manager.js +607 -0
  206. package/dist/esm/management/__generated/managers/users-manager.js.map +1 -0
  207. package/dist/esm/management/__generated/models/index.js +1575 -0
  208. package/dist/esm/management/__generated/models/index.js.map +1 -0
  209. package/dist/esm/management/index.js +4 -0
  210. package/dist/esm/management/index.js.map +1 -0
  211. package/dist/esm/management/management-client-options.js +2 -0
  212. package/dist/esm/management/management-client-options.js.map +1 -0
  213. package/dist/esm/management/management-client.js +49 -0
  214. package/dist/esm/management/management-client.js.map +1 -0
  215. package/dist/esm/management/token-provider-middleware.js +35 -0
  216. package/dist/esm/management/token-provider-middleware.js.map +1 -0
  217. package/dist/esm/management/token-provider.js +32 -0
  218. package/dist/esm/management/token-provider.js.map +1 -0
  219. package/dist/esm/utils.js +12 -0
  220. package/dist/esm/utils.js.map +1 -0
  221. package/dist/esm/version.js +2 -0
  222. package/dist/esm/version.js.map +1 -0
  223. package/dist/typings/auth/base-auth-api.d.ts +33 -0
  224. package/dist/typings/auth/client-authentication.d.ts +26 -0
  225. package/dist/typings/auth/database.d.ts +153 -0
  226. package/dist/typings/auth/id-token-validator.d.ts +18 -0
  227. package/dist/typings/auth/index.d.ts +15 -0
  228. package/dist/typings/auth/oauth.d.ts +295 -0
  229. package/dist/typings/auth/passwordless.d.ts +165 -0
  230. package/dist/typings/index.d.ts +2 -0
  231. package/dist/typings/lib/errors.d.ts +34 -0
  232. package/dist/typings/lib/index.d.ts +3 -0
  233. package/dist/typings/lib/middleware/telemetry-middleware.d.ts +12 -0
  234. package/dist/typings/lib/models.d.ts +124 -0
  235. package/dist/typings/lib/retry.d.ts +27 -0
  236. package/dist/typings/lib/runtime.d.ts +69 -0
  237. package/dist/typings/management/__generated/index.d.ts +39 -0
  238. package/dist/typings/management/__generated/managers/actions-manager.d.ts +136 -0
  239. package/dist/typings/management/__generated/managers/anomaly-manager.d.ts +24 -0
  240. package/dist/typings/management/__generated/managers/attack-protection-manager.d.ts +52 -0
  241. package/dist/typings/management/__generated/managers/blacklists-manager.d.ts +28 -0
  242. package/dist/typings/management/__generated/managers/branding-manager.d.ts +103 -0
  243. package/dist/typings/management/__generated/managers/client-grants-manager.d.ts +42 -0
  244. package/dist/typings/management/__generated/managers/clients-manager.d.ts +119 -0
  245. package/dist/typings/management/__generated/managers/connections-manager.d.ts +71 -0
  246. package/dist/typings/management/__generated/managers/custom-domains-manager.d.ts +106 -0
  247. package/dist/typings/management/__generated/managers/device-credentials-manager.d.ts +42 -0
  248. package/dist/typings/management/__generated/managers/email-templates-manager.d.ts +38 -0
  249. package/dist/typings/management/__generated/managers/emails-manager.d.ts +40 -0
  250. package/dist/typings/management/__generated/managers/grants-manager.d.ts +34 -0
  251. package/dist/typings/management/__generated/managers/guardian-manager.d.ts +240 -0
  252. package/dist/typings/management/__generated/managers/hooks-manager.d.ts +94 -0
  253. package/dist/typings/management/__generated/managers/index.d.ts +31 -0
  254. package/dist/typings/management/__generated/managers/jobs-manager.d.ts +47 -0
  255. package/dist/typings/management/__generated/managers/keys-manager.d.ts +34 -0
  256. package/dist/typings/management/__generated/managers/log-streams-manager.d.ts +326 -0
  257. package/dist/typings/management/__generated/managers/logs-manager.d.ts +56 -0
  258. package/dist/typings/management/__generated/managers/organizations-manager.d.ts +191 -0
  259. package/dist/typings/management/__generated/managers/prompts-manager.d.ts +42 -0
  260. package/dist/typings/management/__generated/managers/resource-servers-manager.d.ts +48 -0
  261. package/dist/typings/management/__generated/managers/roles-manager.d.ts +110 -0
  262. package/dist/typings/management/__generated/managers/rules-configs-manager.d.ts +33 -0
  263. package/dist/typings/management/__generated/managers/rules-manager.d.ts +55 -0
  264. package/dist/typings/management/__generated/managers/stats-manager.d.ts +24 -0
  265. package/dist/typings/management/__generated/managers/tenants-manager.d.ts +24 -0
  266. package/dist/typings/management/__generated/managers/tickets-manager.d.ts +24 -0
  267. package/dist/typings/management/__generated/managers/user-blocks-manager.d.ts +45 -0
  268. package/dist/typings/management/__generated/managers/users-by-email-manager.d.ts +22 -0
  269. package/dist/typings/management/__generated/managers/users-manager.d.ts +323 -0
  270. package/dist/typings/management/__generated/models/index.d.ts +12704 -0
  271. package/dist/typings/management/index.d.ts +3 -0
  272. package/dist/typings/management/management-client-options.d.ts +17 -0
  273. package/dist/typings/management/management-client.d.ts +17 -0
  274. package/dist/typings/management/token-provider-middleware.d.ts +7 -0
  275. package/dist/typings/management/token-provider.d.ts +21 -0
  276. package/dist/typings/utils.d.ts +10 -0
  277. package/dist/typings/version.d.ts +1 -0
  278. package/package.json +47 -33
  279. package/CHANGELOG.md +0 -685
  280. package/src/Auth0RestClient.js +0 -123
  281. package/src/RetryRestClient.js +0 -105
  282. package/src/auth/DatabaseAuthenticator.js +0 -282
  283. package/src/auth/OAUthWithIDTokenValidation.js +0 -124
  284. package/src/auth/OAuthAuthenticator.js +0 -405
  285. package/src/auth/PasswordlessAuthenticator.js +0 -303
  286. package/src/auth/TokensManager.js +0 -254
  287. package/src/auth/UsersManager.js +0 -161
  288. package/src/auth/clientAuthentication.js +0 -86
  289. package/src/auth/idToken.js +0 -167
  290. package/src/auth/index.js +0 -573
  291. package/src/errors.js +0 -60
  292. package/src/index.js +0 -11
  293. package/src/index.mjs +0 -4
  294. package/src/management/ActionsManager.js +0 -526
  295. package/src/management/AttackProtectionManager.js +0 -158
  296. package/src/management/BaseManager.js +0 -41
  297. package/src/management/BlacklistedTokensManager.js +0 -67
  298. package/src/management/BrandingManager.js +0 -250
  299. package/src/management/ClientCredentialsManager.js +0 -112
  300. package/src/management/ClientGrantsManager.js +0 -124
  301. package/src/management/ClientsManager.js +0 -184
  302. package/src/management/ConnectionsManager.js +0 -213
  303. package/src/management/CustomDomainsManager.js +0 -141
  304. package/src/management/DeviceCredentialsManager.js +0 -91
  305. package/src/management/EmailProviderManager.js +0 -101
  306. package/src/management/EmailTemplatesManager.js +0 -90
  307. package/src/management/GrantsManager.js +0 -84
  308. package/src/management/GuardianManager.js +0 -361
  309. package/src/management/HooksManager.js +0 -295
  310. package/src/management/JobsManager.js +0 -324
  311. package/src/management/LogStreamsManager.js +0 -136
  312. package/src/management/LogsManager.js +0 -82
  313. package/src/management/ManagementTokenProvider.js +0 -144
  314. package/src/management/MigrationsManager.js +0 -76
  315. package/src/management/OrganizationsManager.js +0 -721
  316. package/src/management/PromptsManager.js +0 -162
  317. package/src/management/ResourceServersManager.js +0 -143
  318. package/src/management/RolesManager.js +0 -329
  319. package/src/management/RulesConfigsManager.js +0 -86
  320. package/src/management/RulesManager.js +0 -148
  321. package/src/management/StatsManager.js +0 -84
  322. package/src/management/TenantManager.js +0 -76
  323. package/src/management/TicketsManager.js +0 -104
  324. package/src/management/UserBlocksManager.js +0 -121
  325. package/src/management/UsersManager.js +0 -882
  326. package/src/management/index.js +0 -3409
  327. package/src/utils.js +0 -60
@@ -0,0 +1,295 @@
1
+ import { InitOverride, JSONApiResponse, VoidApiResponse } from '../lib/runtime.js';
2
+ import { BaseAuthAPI, AuthenticationClientOptions } from './base-auth-api.js';
3
+ import { IDTokenValidateOptions } from './id-token-validator.js';
4
+ export interface TokenSet {
5
+ /**
6
+ * The access token.
7
+ */
8
+ access_token: string;
9
+ /**
10
+ * The refresh token, vavailable with the `offline_access` scope.
11
+ */
12
+ refresh_token?: string;
13
+ /**
14
+ * The user's ID Token.
15
+ */
16
+ id_token?: string;
17
+ /**
18
+ * The token type of the access token.
19
+ */
20
+ token_type: 'Bearer';
21
+ /**
22
+ * The duration in secs that that the access token is valid.
23
+ */
24
+ expires_in: number;
25
+ }
26
+ export interface GrantOptions {
27
+ idTokenValidateOptions?: Pick<IDTokenValidateOptions, 'organization'>;
28
+ initOverrides?: InitOverride;
29
+ }
30
+ export interface AuthorizationCodeGrantOptions {
31
+ idTokenValidateOptions?: IDTokenValidateOptions;
32
+ initOverrides?: InitOverride;
33
+ }
34
+ export interface ClientCredentials {
35
+ /**
36
+ * Specify this to override the parent class's `clientId`
37
+ */
38
+ client_id?: string;
39
+ /**
40
+ * Specify this to override the parent class's `clientSecret`
41
+ */
42
+ client_secret?: string;
43
+ /**
44
+ * Specify this to provide your own client assertion JWT rather than
45
+ * the class creating one for you from the `clientAssertionSigningKey`.
46
+ */
47
+ client_assertion?: string;
48
+ /**
49
+ * If you provide your own `client_assertion` you should also provide
50
+ * the `client_assertion_type`.
51
+ */
52
+ client_assertion_type?: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
53
+ }
54
+ export interface AuthorizationCodeGrantRequest extends ClientCredentials {
55
+ /**
56
+ * The Authorization Code received from the initial `/authorize` call.
57
+ */
58
+ code: string;
59
+ /**
60
+ * This is required only if it was set at the `/authorize` endpoint. The values must match.
61
+ */
62
+ redirect_uri?: string;
63
+ }
64
+ export interface AuthorizationCodeGrantWithPKCERequest extends AuthorizationCodeGrantRequest {
65
+ /**
66
+ * Cryptographically random key that was used to generate the code_challenge passed to `/authorize`.
67
+ */
68
+ code_verifier: string;
69
+ }
70
+ export interface ClientCredentialsGrantRequest extends ClientCredentials {
71
+ /**
72
+ * The unique identifier of the target API you want to access.
73
+ */
74
+ audience: string;
75
+ }
76
+ export interface PasswordGrantRequest extends ClientCredentials {
77
+ /**
78
+ * The unique identifier of the target API you want to access.
79
+ */
80
+ audience?: string;
81
+ /**
82
+ * Resource Owner's identifier, such as a username or email address.
83
+ */
84
+ username: string;
85
+ /**
86
+ * Resource Owner's secret.
87
+ */
88
+ password: string;
89
+ /**
90
+ * String value of the different scopes the application is asking for. Multiple scopes are separated with whitespace.
91
+ */
92
+ scope?: string;
93
+ /**
94
+ * String value of the realm the user belongs. Set this if you want to add realm support at this grant.
95
+ * For more information on what realms are refer to https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow#realm-support.
96
+ */
97
+ realm?: string;
98
+ }
99
+ export interface DeviceCodeGrantRequest {
100
+ /**
101
+ * Specify this to override the parent class's `clientId`
102
+ */
103
+ client_id?: string;
104
+ /**
105
+ * The device code previously returned from the `/oauth/device/code` endpoint.
106
+ */
107
+ device_code: string;
108
+ }
109
+ export interface RefreshTokenGrantRequest extends ClientCredentials {
110
+ /**
111
+ * The Refresh Token to use.
112
+ */
113
+ refresh_token: string;
114
+ /**
115
+ * A space-delimited list of requested scope permissions.
116
+ * If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes.
117
+ */
118
+ scope?: string;
119
+ }
120
+ export interface RevokeRefreshTokenRequest extends ClientCredentials {
121
+ /**
122
+ * The Refresh Token you want to revoke.
123
+ */
124
+ token: string;
125
+ }
126
+ export interface TokenExchangeGrantRequest {
127
+ /**
128
+ * Specify this to override the parent class's `clientId`
129
+ */
130
+ client_id?: string;
131
+ /**
132
+ * Externally-issued identity artifact, representing the user.
133
+ */
134
+ subject_token: string;
135
+ /**
136
+ * The unique identifier of the target API you want to access.
137
+ */
138
+ audience?: string;
139
+ /**
140
+ * String value of the different scopes the application is requesting.
141
+ * Multiple scopes are separated with whitespace.
142
+ */
143
+ scope?: string;
144
+ /**
145
+ * Optional element used for native iOS interactions for which profile updates can occur.
146
+ * Expected parameter value will be JSON in the form of: `{ name: { firstName: 'John', lastName: 'Smith }}`
147
+ */
148
+ user_profile: string;
149
+ }
150
+ /**
151
+ * OAuth 2.0 flows.
152
+ */
153
+ export declare class OAuth extends BaseAuthAPI {
154
+ private idTokenValidator;
155
+ constructor(options: AuthenticationClientOptions);
156
+ private validateIdToken;
157
+ /**
158
+ * Perform an OAuth 2.0 grant.
159
+ * (You should only need this if you can't find the grant you need in this library.)
160
+ */
161
+ grant(grantType: string, bodyParameters: Record<string, any>, { idTokenValidateOptions, initOverrides }?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
162
+ /**
163
+ * This is the flow that regular web apps use to access an API.
164
+ *
165
+ * Use this endpoint to exchange an Authorization Code for a Token.
166
+ *
167
+ * See: https://auth0.com/docs/api/authentication#authorization-code-flow44
168
+ *
169
+ * @example
170
+ * ```js
171
+ * const auth0 = new AuthenticationApi({
172
+ * domain: 'my-domain.auth0.com',
173
+ * clientId: 'myClientId',
174
+ * clientSecret: 'myClientSecret'
175
+ * });
176
+ *
177
+ * await auth0.oauth.authorizationCodeGrant({ code: 'mycode' });
178
+ * ```
179
+ */
180
+ authorizationCodeGrant(bodyParameters: AuthorizationCodeGrantRequest, options?: AuthorizationCodeGrantOptions): Promise<JSONApiResponse<TokenSet>>;
181
+ /**
182
+ * PKCE was originally designed to protect the authorization code flow in mobile apps,
183
+ * but its ability to prevent authorization code injection makes it useful for every type of OAuth client,
184
+ * even web apps that use client authentication.
185
+ *
186
+ * See: https://auth0.com/docs/api/authentication#authorization-code-flow-with-pkce45
187
+ *
188
+ * @example
189
+ * ```js
190
+ * const auth0 = new AuthenticationApi({
191
+ * domain: 'my-domain.auth0.com',
192
+ * clientId: 'myClientId',
193
+ * clientSecret: 'myClientSecret'
194
+ * });
195
+ *
196
+ * await auth0.oauth.authorizationCodeGrantWithPKCE({
197
+ * code: 'mycode',
198
+ * code_verifier: 'mycodeverifier'
199
+ * });
200
+ * ```
201
+ */
202
+ authorizationCodeGrantWithPKCE(bodyParameters: AuthorizationCodeGrantWithPKCERequest, options?: AuthorizationCodeGrantOptions): Promise<JSONApiResponse<TokenSet>>;
203
+ /**
204
+ * This is the OAuth 2.0 grant that server processes use to access an API.
205
+ *
206
+ * Use this endpoint to directly request an Access Token by using the Client's credentials
207
+ * (a Client ID and a Client Secret or a Client Assertion).
208
+ *
209
+ * See: https://auth0.com/docs/api/authentication#client-credentials-flow
210
+ *
211
+ * @example
212
+ * ```js
213
+ * const auth0 = new AuthenticationApi({
214
+ * domain: 'my-domain.auth0.com',
215
+ * clientId: 'myClientId',
216
+ * clientSecret: 'myClientSecret'
217
+ * });
218
+ *
219
+ * await auth0.oauth.clientCredentialsGrant({ audience: 'myaudience' });
220
+ * ```
221
+ */
222
+ clientCredentialsGrant(bodyParameters: ClientCredentialsGrantRequest, options?: {
223
+ initOverrides?: InitOverride;
224
+ }): Promise<JSONApiResponse<TokenSet>>;
225
+ /**
226
+ * This information is typically received from a highly trusted public client like a SPA*.
227
+ * (<strong>*Note:</string> For single-page applications and native/mobile apps, we recommend using web flows instead.)
228
+ *
229
+ * See: https://auth0.com/docs/api/authentication#resource-owner-password
230
+ *
231
+ * @example
232
+ * ```js
233
+ * const auth0 = new AuthenticationApi({
234
+ * domain: 'my-domain.auth0.com',
235
+ * clientId: 'myClientId'
236
+ * clientSecret: 'myClientSecret'
237
+ * });
238
+ *
239
+ * await auth0.oauth.clientCredentialsGrant({
240
+ * username: 'myusername@example.com',
241
+ * password: 'mypassword'
242
+ * },
243
+ * { headers: { 'auth0-forwarded-for': 'END.USER.IP.123' } }
244
+ * );
245
+ * ```
246
+ *
247
+ * Set the'auth0-forwarded-for' header to the end-user IP as a string value if you want
248
+ * brute-force protection to work in server-side scenarios.
249
+ *
250
+ * See https://auth0.com/docs/get-started/authentication-and-authorization-flow/avoid-common-issues-with-resource-owner-password-flow-and-attack-protection
251
+ *
252
+ */
253
+ passwordGrant(bodyParameters: PasswordGrantRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
254
+ /**
255
+ * Use this endpoint to refresh an Access Token using the Refresh Token you got during authorization.
256
+ *
257
+ * See: https://auth0.com/docs/api/authentication#refresh-token
258
+ *
259
+ * @example
260
+ * ```js
261
+ * const auth0 = new AuthenticationApi({
262
+ * domain: 'my-domain.auth0.com',
263
+ * clientId: 'myClientId'
264
+ * clientSecret: 'myClientSecret'
265
+ * });
266
+ *
267
+ * await auth0.oauth.refreshTokenGrant({ refresh_token: 'myrefreshtoken' })
268
+ * ```
269
+ */
270
+ refreshTokenGrant(bodyParameters: RefreshTokenGrantRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
271
+ /**
272
+ * Use this endpoint to invalidate a Refresh Token if it has been compromised.
273
+ *
274
+ * The behaviour of this endpoint depends on the state of the <a href="https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens#refresh-tokens-and-grants">Refresh Token Revocation Deletes Grant</a> toggle.
275
+ * If this toggle is enabled, then each revocation request invalidates not only the specific token, but all other tokens based on the same authorization grant.
276
+ * This means that all Refresh Tokens that have been issued for the same user, application, and audience will be revoked.
277
+ * If this toggle is disabled, then only the refresh token is revoked, while the grant is left intact.
278
+ *
279
+ * See: https://auth0.com/docs/api/authentication#revoke-refresh-token
280
+ *
281
+ * @example
282
+ * ```js
283
+ * const auth0 = new AuthenticationApi({
284
+ * domain: 'my-domain.auth0.com',
285
+ * clientId: 'myClientId'
286
+ * clientSecret: 'myClientSecret'
287
+ * });
288
+ *
289
+ * await auth0.oauth.revokeRefreshToken({ token: 'myrefreshtoken' })
290
+ * ```
291
+ */
292
+ revokeRefreshToken(bodyParameters: RevokeRefreshTokenRequest, options?: {
293
+ initOverrides?: InitOverride;
294
+ }): Promise<VoidApiResponse>;
295
+ }
@@ -0,0 +1,165 @@
1
+ import { InitOverride, JSONApiResponse, VoidApiResponse } from '../lib/runtime.js';
2
+ import { BaseAuthAPI, AuthenticationClientOptions } from './base-auth-api.js';
3
+ import { ClientCredentials, GrantOptions, TokenSet } from './oauth.js';
4
+ export interface SendEmailLinkRequest {
5
+ /**
6
+ * The user's email address
7
+ */
8
+ email: string;
9
+ /**
10
+ * Use `link` to send a link or `code` to send a verification code.
11
+ * If omitted, a `link` will be sent.
12
+ */
13
+ send?: 'link';
14
+ /**
15
+ * Append or override the link parameters (like `scope`, `redirect_uri`, `protocol`, `response_type`),
16
+ * when you send a link using email.
17
+ */
18
+ authParams?: Record<string, unknown>;
19
+ }
20
+ export interface SendEmailCodeRequest {
21
+ /**
22
+ * The user's email address
23
+ */
24
+ email: string;
25
+ /**
26
+ * Use `link` to send a link or `code` to send a verification code.
27
+ * If omitted, a `link` will be sent.
28
+ */
29
+ send?: 'code';
30
+ }
31
+ export type SendEmailRequest = SendEmailLinkRequest | SendEmailCodeRequest;
32
+ export interface SendSmsRequest {
33
+ /**
34
+ * The users phone number.
35
+ */
36
+ phone_number: string;
37
+ }
38
+ export interface LoginWithEmailRequest extends ClientCredentials {
39
+ /**
40
+ * The user's email address.
41
+ */
42
+ email: string;
43
+ /**
44
+ * The user's verification code.
45
+ */
46
+ code: string;
47
+ /**
48
+ * API Identifier of the API for which you want to get an Access Token.
49
+ */
50
+ audience?: string;
51
+ /**
52
+ * Use openid to get an ID Token, or openid profile email to also include user profile information in the ID Token.
53
+ */
54
+ scope?: string;
55
+ }
56
+ export interface LoginWithSMSRequest extends Omit<LoginWithEmailRequest, 'email'> {
57
+ /**
58
+ * The user's phone number.
59
+ */
60
+ phone_number: string;
61
+ }
62
+ /**
63
+ * Handles passwordless flows using Email and SMS.
64
+ */
65
+ export declare class Passwordless extends BaseAuthAPI {
66
+ private oauth;
67
+ constructor(configuration: AuthenticationClientOptions);
68
+ /**
69
+ * Start passwordless flow sending an email.
70
+ *
71
+ * Given the user `email` address, it will send an email with:
72
+ *
73
+ * <ul>
74
+ * <li>A link (default, `send:"link"`). You can then authenticate with this
75
+ * user opening the link and he will be automatically logged in to the
76
+ * application. Optionally, you can append/override parameters to the link
77
+ * (like `scope`, `redirect_uri`, `protocol`, `response_type`, etc.) using
78
+ * `authParams` object.
79
+ * </li>
80
+ * <li>
81
+ * A verification code (`send:"code"`). You can then authenticate with
82
+ * this user using the `/oauth/token` endpoint specifying `email` as
83
+ * `username` and `code` as `password`.
84
+ * </li>
85
+ * </ul>
86
+ *
87
+ * See: https://auth0.com/docs/api/authentication#get-code-or-link
88
+ *
89
+ * @example
90
+ * ```js
91
+ * const auth0 = new AuthenticationApi({
92
+ * domain: 'my-domain.auth0.com',
93
+ * clientId: 'myClientId',
94
+ * clientSecret: 'myClientSecret'
95
+ * });
96
+ *
97
+ * await auth0.passwordless.sendEmail({
98
+ * email: '{EMAIL}',
99
+ * send: 'link',
100
+ * authParams: {} // Optional auth params.
101
+ * });
102
+ * ```
103
+ */
104
+ sendEmail(bodyParameters: SendEmailRequest, initOverrides?: InitOverride): Promise<VoidApiResponse>;
105
+ /**
106
+ * Start passwordless flow sending an SMS.
107
+ *
108
+ * Given the user `phone_number`, it will send a SMS message with a
109
+ * verification code. You can then authenticate with this user using the
110
+ * `/oauth/token` endpoint specifying `phone_number` as `username` and `code` as
111
+ * `password`:
112
+ *
113
+ * See: https://auth0.com/docs/api/authentication#get-code-or-link
114
+ *
115
+ * @example
116
+ * ```js
117
+ * const auth0 = new AuthenticationApi({
118
+ * domain: 'my-domain.auth0.com',
119
+ * clientId: 'myClientId',
120
+ * clientSecret: 'myClientSecret'
121
+ * });
122
+ *
123
+ * await auth0.passwordless.sendSMS({
124
+ * phone_number: '{PHONE}'
125
+ * });
126
+ * ```
127
+ */
128
+ sendSMS(bodyParameters: SendSmsRequest, initOverrides?: InitOverride): Promise<VoidApiResponse>;
129
+ /**
130
+ * Once you have a verification code, use this endpoint to login the user with their email and verification code.
131
+ *
132
+ * @example
133
+ * ```js
134
+ * const auth0 = new AuthenticationApi({
135
+ * domain: 'my-domain.auth0.com',
136
+ * clientId: 'myClientId',
137
+ * clientSecret: 'myClientSecret'
138
+ * });
139
+ *
140
+ * await auth0.passwordless.loginWithEmail({
141
+ * email: 'foo@example.com',
142
+ * code: 'ABC123'
143
+ * });
144
+ * ```
145
+ */
146
+ loginWithEmail(bodyParameters: LoginWithEmailRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
147
+ /**
148
+ * Once you have a verification code, use this endpoint to login the user with their phone number and verification code.
149
+ *
150
+ * @example
151
+ * ```js
152
+ * const auth0 = new AuthenticationApi({
153
+ * domain: 'my-domain.auth0.com',
154
+ * clientId: 'myClientId',
155
+ * clientSecret: 'myClientSecret'
156
+ * });
157
+ *
158
+ * await auth0.passwordless.loginWithSMS({
159
+ * phone_number: '0777777777',
160
+ * code: 'ABC123'
161
+ * });
162
+ * ```
163
+ */
164
+ loginWithSMS(bodyParameters: LoginWithSMSRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
165
+ }
@@ -0,0 +1,2 @@
1
+ export * from './management/index.js';
2
+ export * from './auth/index.js';
@@ -0,0 +1,34 @@
1
+ import type { Headers } from 'node-fetch';
2
+ /**
3
+ * Error thrown when the API returns an error response that can't be parsed to a more specific Error instance.
4
+ */
5
+ export declare class ResponseError extends Error {
6
+ statusCode: number;
7
+ body: string;
8
+ headers: Headers;
9
+ name: "ResponseError";
10
+ constructor(statusCode: number, body: string, headers: Headers, msg?: string);
11
+ }
12
+ /**
13
+ * Error thrown when the request is aborted due to a timeout.
14
+ */
15
+ export declare class TimeoutError extends Error {
16
+ name: "TimeoutError";
17
+ constructor();
18
+ }
19
+ /**
20
+ * Error thrown when there is a network error.
21
+ */
22
+ export declare class FetchError extends Error {
23
+ cause: Error;
24
+ name: "FetchError";
25
+ constructor(cause: Error, msg?: string);
26
+ }
27
+ /**
28
+ * Error thrown when a required argument was not provided.
29
+ */
30
+ export declare class RequiredError extends Error {
31
+ field: string;
32
+ name: "RequiredError";
33
+ constructor(field: string, msg?: string);
34
+ }
@@ -0,0 +1,3 @@
1
+ export * from './errors.js';
2
+ export * from './models.js';
3
+ export { RetryConfiguration } from './retry.js';
@@ -0,0 +1,12 @@
1
+ import { Middleware, ClientOptions, FetchParams, RequestContext } from '../runtime.js';
2
+ /**
3
+ * @private
4
+ */
5
+ export declare class TelemetryMiddleware implements Middleware {
6
+ clientInfo: {
7
+ name: string;
8
+ [key: string]: unknown;
9
+ };
10
+ constructor(options: ClientOptions);
11
+ pre?(context: RequestContext): Promise<FetchParams | void>;
12
+ }
@@ -0,0 +1,124 @@
1
+ import type { RequestInit, RequestInfo, Response, Headers } from 'node-fetch';
2
+ import { RetryConfiguration } from './retry.js';
3
+ /**
4
+ * @private
5
+ */
6
+ export type FetchAPI = (url: URL | RequestInfo, init: RequestInit) => Promise<Response>;
7
+ export interface ClientOptions extends Omit<Configuration, 'baseUrl' | 'parseError'> {
8
+ telemetry?: boolean;
9
+ clientInfo?: {
10
+ name: string;
11
+ [key: string]: unknown;
12
+ };
13
+ }
14
+ export interface Configuration {
15
+ baseUrl: string;
16
+ parseError: (response: Response) => Promise<Error>;
17
+ /**
18
+ * Provide your own fetch implementation.
19
+ */
20
+ fetchApi?: FetchAPI;
21
+ /**
22
+ * Provide a middleware that will run either before the request, after the request or when the request fails.
23
+ */
24
+ middleware?: Middleware[];
25
+ /**
26
+ * Pass your own http agent to support proxies.
27
+ */
28
+ agent?: RequestInit['agent'];
29
+ /**
30
+ * Custom headers that will be added to every request.
31
+ */
32
+ headers?: HTTPHeaders;
33
+ /**
34
+ * Timeout in ms before aborting the request (default 10,000)
35
+ */
36
+ timeoutDuration?: number;
37
+ /**
38
+ * Retry configuration.
39
+ */
40
+ retry?: RetryConfiguration;
41
+ }
42
+ export interface RequestOpts {
43
+ path: string;
44
+ method: HTTPMethod;
45
+ headers?: HTTPHeaders;
46
+ query?: HTTPQuery;
47
+ body?: HTTPBody;
48
+ }
49
+ export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';
50
+ export type HTTPHeaders = {
51
+ [key: string]: string;
52
+ };
53
+ export type HTTPQuery = {
54
+ [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | HTTPQuery;
55
+ };
56
+ export type HTTPBody = any | FormData | URLSearchParams;
57
+ export type HTTPRequestInit = {
58
+ headers?: HTTPHeaders;
59
+ method: HTTPMethod;
60
+ credentials?: RequestCredentials;
61
+ body?: HTTPBody;
62
+ };
63
+ export type InitOverrideFunction = (requestContext: {
64
+ init: HTTPRequestInit;
65
+ context: RequestOpts;
66
+ }) => Promise<RequestInit>;
67
+ export type InitOverride = RequestInit | InitOverrideFunction;
68
+ export interface ApiResponse<T> {
69
+ data: T;
70
+ headers: Headers;
71
+ status: number;
72
+ statusText: string;
73
+ }
74
+ export declare class JSONApiResponse<T> implements ApiResponse<T> {
75
+ data: T;
76
+ headers: Headers;
77
+ readonly status: number;
78
+ readonly statusText: string;
79
+ constructor(data: T, headers: Headers, status: number, statusText: string);
80
+ static fromResponse<T = unknown>(raw: Response): Promise<JSONApiResponse<T>>;
81
+ }
82
+ export declare class VoidApiResponse implements ApiResponse<undefined> {
83
+ headers: Headers;
84
+ readonly status: number;
85
+ readonly statusText: string;
86
+ data: undefined;
87
+ constructor(headers: Headers, status: number, statusText: string);
88
+ static fromResponse(raw: Response): Promise<VoidApiResponse>;
89
+ }
90
+ export declare class TextApiResponse implements ApiResponse<string> {
91
+ data: string;
92
+ headers: Headers;
93
+ readonly status: number;
94
+ readonly statusText: string;
95
+ constructor(data: string, headers: Headers, status: number, statusText: string);
96
+ static fromResponse(raw: Response): Promise<TextApiResponse>;
97
+ }
98
+ export interface FetchParams {
99
+ url: URL | RequestInfo;
100
+ init: RequestInit;
101
+ }
102
+ export interface RequestContext {
103
+ fetch: FetchAPI;
104
+ url: URL | RequestInfo;
105
+ init: RequestInit;
106
+ }
107
+ export interface ResponseContext {
108
+ fetch: FetchAPI;
109
+ url: URL | RequestInfo;
110
+ init: RequestInit;
111
+ response: Response;
112
+ }
113
+ export interface ErrorContext {
114
+ fetch: FetchAPI;
115
+ url: URL | RequestInfo;
116
+ init: RequestInit;
117
+ error: unknown;
118
+ response?: Response;
119
+ }
120
+ export interface Middleware {
121
+ pre?(context: RequestContext): Promise<FetchParams | void> | FetchParams | void;
122
+ post?(context: ResponseContext): Promise<Response | void> | Response | void;
123
+ onError?(context: ErrorContext): Promise<Response | void> | Response | void;
124
+ }
@@ -0,0 +1,27 @@
1
+ import type { Response } from 'node-fetch';
2
+ /**
3
+ * Configure the retry logic for http calls.
4
+ * By default, this retries any request that returns a 429 3 times.
5
+ */
6
+ export interface RetryConfiguration {
7
+ /**
8
+ * Configure the usage of retries.
9
+ * Defaults to true.
10
+ */
11
+ enabled?: boolean;
12
+ /**
13
+ * Configure the max amount of retries the SDK should do.
14
+ * Defaults to 5.
15
+ */
16
+ maxRetries?: number;
17
+ /**
18
+ * Status Codes on which the SDK should trigger retries.
19
+ * Defaults to [429].
20
+ */
21
+ retryWhen?: number[];
22
+ }
23
+ /**
24
+ * @private
25
+ * Function that retries the provided action callback for a configurable amount of time, defaults to 3.
26
+ */
27
+ export declare function retry(action: () => Promise<Response>, { maxRetries, retryWhen }: RetryConfiguration): Promise<Response>;