@atlasauth/cli 0.24.0 → 0.25.0

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 (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +4 -4
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -104
  25. package/dist/commands/config.js +0 -1506
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/define-config.d.ts +0 -9
  115. package/dist/define-config.js +0 -8
  116. package/dist/define-config.js.map +0 -1
  117. package/dist/errors.d.ts +0 -15
  118. package/dist/errors.js +0 -25
  119. package/dist/errors.js.map +0 -1
  120. package/dist/help.d.ts +0 -8
  121. package/dist/help.js +0 -868
  122. package/dist/help.js.map +0 -1
  123. package/dist/import/csv.d.ts +0 -6
  124. package/dist/import/csv.js +0 -63
  125. package/dist/import/csv.js.map +0 -1
  126. package/dist/import/vendors.d.ts +0 -57
  127. package/dist/import/vendors.js +0 -568
  128. package/dist/import/vendors.js.map +0 -1
  129. package/dist/index.d.ts +0 -33
  130. package/dist/index.js +0 -81
  131. package/dist/index.js.map +0 -1
  132. package/dist/io.d.ts +0 -21
  133. package/dist/io.js +0 -28
  134. package/dist/io.js.map +0 -1
  135. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  136. package/dist/migrate/appwrite/plugin.js +0 -103
  137. package/dist/migrate/appwrite/plugin.js.map +0 -1
  138. package/dist/migrate/auth0/plugin.d.ts +0 -2
  139. package/dist/migrate/auth0/plugin.js +0 -126
  140. package/dist/migrate/auth0/plugin.js.map +0 -1
  141. package/dist/migrate/authentik/plugin.d.ts +0 -2
  142. package/dist/migrate/authentik/plugin.js +0 -135
  143. package/dist/migrate/authentik/plugin.js.map +0 -1
  144. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  145. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  146. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  147. package/dist/migrate/better-auth/integration.d.ts +0 -59
  148. package/dist/migrate/better-auth/integration.js +0 -81
  149. package/dist/migrate/better-auth/integration.js.map +0 -1
  150. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  151. package/dist/migrate/better-auth/orchestrator.js +0 -525
  152. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  153. package/dist/migrate/better-auth/output.d.ts +0 -20
  154. package/dist/migrate/better-auth/output.js +0 -146
  155. package/dist/migrate/better-auth/output.js.map +0 -1
  156. package/dist/migrate/better-auth/translate.d.ts +0 -77
  157. package/dist/migrate/better-auth/translate.js +0 -1989
  158. package/dist/migrate/better-auth/translate.js.map +0 -1
  159. package/dist/migrate/clerk/plugin.d.ts +0 -2
  160. package/dist/migrate/clerk/plugin.js +0 -76
  161. package/dist/migrate/clerk/plugin.js.map +0 -1
  162. package/dist/migrate/cognito/plugin.d.ts +0 -5
  163. package/dist/migrate/cognito/plugin.js +0 -170
  164. package/dist/migrate/cognito/plugin.js.map +0 -1
  165. package/dist/migrate/corbado/plugin.d.ts +0 -2
  166. package/dist/migrate/corbado/plugin.js +0 -63
  167. package/dist/migrate/corbado/plugin.js.map +0 -1
  168. package/dist/migrate/descope/plugin.d.ts +0 -2
  169. package/dist/migrate/descope/plugin.js +0 -83
  170. package/dist/migrate/descope/plugin.js.map +0 -1
  171. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  172. package/dist/migrate/entra-external-id/plugin.js +0 -12
  173. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  174. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  175. package/dist/migrate/export/appwrite-config.js +0 -170
  176. package/dist/migrate/export/appwrite-config.js.map +0 -1
  177. package/dist/migrate/export/appwrite.d.ts +0 -51
  178. package/dist/migrate/export/appwrite.js +0 -288
  179. package/dist/migrate/export/appwrite.js.map +0 -1
  180. package/dist/migrate/export/auth0-config.d.ts +0 -29
  181. package/dist/migrate/export/auth0-config.js +0 -249
  182. package/dist/migrate/export/auth0-config.js.map +0 -1
  183. package/dist/migrate/export/auth0.d.ts +0 -62
  184. package/dist/migrate/export/auth0.js +0 -575
  185. package/dist/migrate/export/auth0.js.map +0 -1
  186. package/dist/migrate/export/authentik-config.d.ts +0 -45
  187. package/dist/migrate/export/authentik-config.js +0 -357
  188. package/dist/migrate/export/authentik-config.js.map +0 -1
  189. package/dist/migrate/export/authentik.d.ts +0 -110
  190. package/dist/migrate/export/authentik.js +0 -838
  191. package/dist/migrate/export/authentik.js.map +0 -1
  192. package/dist/migrate/export/azure-config.d.ts +0 -58
  193. package/dist/migrate/export/azure-config.js +0 -344
  194. package/dist/migrate/export/azure-config.js.map +0 -1
  195. package/dist/migrate/export/azure.d.ts +0 -85
  196. package/dist/migrate/export/azure.js +0 -373
  197. package/dist/migrate/export/azure.js.map +0 -1
  198. package/dist/migrate/export/clerk-config.d.ts +0 -26
  199. package/dist/migrate/export/clerk-config.js +0 -227
  200. package/dist/migrate/export/clerk-config.js.map +0 -1
  201. package/dist/migrate/export/clerk.d.ts +0 -46
  202. package/dist/migrate/export/clerk.js +0 -486
  203. package/dist/migrate/export/clerk.js.map +0 -1
  204. package/dist/migrate/export/cognito-config.d.ts +0 -25
  205. package/dist/migrate/export/cognito-config.js +0 -273
  206. package/dist/migrate/export/cognito-config.js.map +0 -1
  207. package/dist/migrate/export/cognito.d.ts +0 -103
  208. package/dist/migrate/export/cognito.js +0 -441
  209. package/dist/migrate/export/cognito.js.map +0 -1
  210. package/dist/migrate/export/corbado-config.d.ts +0 -20
  211. package/dist/migrate/export/corbado-config.js +0 -63
  212. package/dist/migrate/export/corbado-config.js.map +0 -1
  213. package/dist/migrate/export/corbado.d.ts +0 -37
  214. package/dist/migrate/export/corbado.js +0 -132
  215. package/dist/migrate/export/corbado.js.map +0 -1
  216. package/dist/migrate/export/descope.d.ts +0 -35
  217. package/dist/migrate/export/descope.js +0 -208
  218. package/dist/migrate/export/descope.js.map +0 -1
  219. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  220. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  221. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  222. package/dist/migrate/export/firebase-config.d.ts +0 -24
  223. package/dist/migrate/export/firebase-config.js +0 -215
  224. package/dist/migrate/export/firebase-config.js.map +0 -1
  225. package/dist/migrate/export/firebase.d.ts +0 -102
  226. package/dist/migrate/export/firebase.js +0 -464
  227. package/dist/migrate/export/firebase.js.map +0 -1
  228. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  229. package/dist/migrate/export/frameworks/app-users.js +0 -161
  230. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  231. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  232. package/dist/migrate/export/frameworks/authjs.js +0 -146
  233. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  234. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  235. package/dist/migrate/export/frameworks/devise.js +0 -218
  236. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  237. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  238. package/dist/migrate/export/frameworks/django.js +0 -315
  239. package/dist/migrate/export/frameworks/django.js.map +0 -1
  240. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  241. package/dist/migrate/export/frameworks/lucia.js +0 -263
  242. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  243. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  244. package/dist/migrate/export/frameworks/tables.js +0 -325
  245. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  246. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  247. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  248. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  249. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  250. package/dist/migrate/export/frontegg-config.js +0 -238
  251. package/dist/migrate/export/frontegg-config.js.map +0 -1
  252. package/dist/migrate/export/frontegg.d.ts +0 -67
  253. package/dist/migrate/export/frontegg.js +0 -410
  254. package/dist/migrate/export/frontegg.js.map +0 -1
  255. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  256. package/dist/migrate/export/fusionauth-config.js +0 -226
  257. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  258. package/dist/migrate/export/fusionauth.d.ts +0 -99
  259. package/dist/migrate/export/fusionauth.js +0 -642
  260. package/dist/migrate/export/fusionauth.js.map +0 -1
  261. package/dist/migrate/export/hanko-config.d.ts +0 -27
  262. package/dist/migrate/export/hanko-config.js +0 -265
  263. package/dist/migrate/export/hanko-config.js.map +0 -1
  264. package/dist/migrate/export/hanko.d.ts +0 -52
  265. package/dist/migrate/export/hanko.js +0 -605
  266. package/dist/migrate/export/hanko.js.map +0 -1
  267. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  268. package/dist/migrate/export/keycloak-config.js +0 -219
  269. package/dist/migrate/export/keycloak-config.js.map +0 -1
  270. package/dist/migrate/export/keycloak.d.ts +0 -155
  271. package/dist/migrate/export/keycloak.js +0 -878
  272. package/dist/migrate/export/keycloak.js.map +0 -1
  273. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  274. package/dist/migrate/export/kinde-descope-config.js +0 -172
  275. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  276. package/dist/migrate/export/kinde.d.ts +0 -57
  277. package/dist/migrate/export/kinde.js +0 -333
  278. package/dist/migrate/export/kinde.js.map +0 -1
  279. package/dist/migrate/export/ldap.d.ts +0 -53
  280. package/dist/migrate/export/ldap.js +0 -277
  281. package/dist/migrate/export/ldap.js.map +0 -1
  282. package/dist/migrate/export/logto-config.d.ts +0 -27
  283. package/dist/migrate/export/logto-config.js +0 -264
  284. package/dist/migrate/export/logto-config.js.map +0 -1
  285. package/dist/migrate/export/logto.d.ts +0 -150
  286. package/dist/migrate/export/logto.js +0 -809
  287. package/dist/migrate/export/logto.js.map +0 -1
  288. package/dist/migrate/export/magic-config.d.ts +0 -14
  289. package/dist/migrate/export/magic-config.js +0 -28
  290. package/dist/migrate/export/magic-config.js.map +0 -1
  291. package/dist/migrate/export/magic.d.ts +0 -31
  292. package/dist/migrate/export/magic.js +0 -93
  293. package/dist/migrate/export/magic.js.map +0 -1
  294. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  295. package/dist/migrate/export/mini-yaml.js +0 -581
  296. package/dist/migrate/export/mini-yaml.js.map +0 -1
  297. package/dist/migrate/export/nhost-config.d.ts +0 -26
  298. package/dist/migrate/export/nhost-config.js +0 -360
  299. package/dist/migrate/export/nhost-config.js.map +0 -1
  300. package/dist/migrate/export/nhost.d.ts +0 -64
  301. package/dist/migrate/export/nhost.js +0 -304
  302. package/dist/migrate/export/nhost.js.map +0 -1
  303. package/dist/migrate/export/okta-config.d.ts +0 -30
  304. package/dist/migrate/export/okta-config.js +0 -205
  305. package/dist/migrate/export/okta-config.js.map +0 -1
  306. package/dist/migrate/export/okta.d.ts +0 -43
  307. package/dist/migrate/export/okta.js +0 -337
  308. package/dist/migrate/export/okta.js.map +0 -1
  309. package/dist/migrate/export/onelogin.d.ts +0 -22
  310. package/dist/migrate/export/onelogin.js +0 -123
  311. package/dist/migrate/export/onelogin.js.map +0 -1
  312. package/dist/migrate/export/ory-config.d.ts +0 -58
  313. package/dist/migrate/export/ory-config.js +0 -451
  314. package/dist/migrate/export/ory-config.js.map +0 -1
  315. package/dist/migrate/export/ory.d.ts +0 -81
  316. package/dist/migrate/export/ory.js +0 -555
  317. package/dist/migrate/export/ory.js.map +0 -1
  318. package/dist/migrate/export/password-detect.d.ts +0 -29
  319. package/dist/migrate/export/password-detect.js +0 -81
  320. package/dist/migrate/export/password-detect.js.map +0 -1
  321. package/dist/migrate/export/pingone.d.ts +0 -36
  322. package/dist/migrate/export/pingone.js +0 -218
  323. package/dist/migrate/export/pingone.js.map +0 -1
  324. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  325. package/dist/migrate/export/plugin-kit.js +0 -82
  326. package/dist/migrate/export/plugin-kit.js.map +0 -1
  327. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  328. package/dist/migrate/export/pocketbase-config.js +0 -180
  329. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  330. package/dist/migrate/export/pocketbase.d.ts +0 -52
  331. package/dist/migrate/export/pocketbase.js +0 -243
  332. package/dist/migrate/export/pocketbase.js.map +0 -1
  333. package/dist/migrate/export/project-files.d.ts +0 -15
  334. package/dist/migrate/export/project-files.js +0 -43
  335. package/dist/migrate/export/project-files.js.map +0 -1
  336. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  337. package/dist/migrate/export/propelauth-config.js +0 -58
  338. package/dist/migrate/export/propelauth-config.js.map +0 -1
  339. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  340. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  341. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  342. package/dist/migrate/export/propelauth.d.ts +0 -48
  343. package/dist/migrate/export/propelauth.js +0 -255
  344. package/dist/migrate/export/propelauth.js.map +0 -1
  345. package/dist/migrate/export/record-set.d.ts +0 -44
  346. package/dist/migrate/export/record-set.js +0 -98
  347. package/dist/migrate/export/record-set.js.map +0 -1
  348. package/dist/migrate/export/source-lines.d.ts +0 -17
  349. package/dist/migrate/export/source-lines.js +0 -43
  350. package/dist/migrate/export/source-lines.js.map +0 -1
  351. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  352. package/dist/migrate/export/sso-metadata.js +0 -180
  353. package/dist/migrate/export/sso-metadata.js.map +0 -1
  354. package/dist/migrate/export/stytch-config.d.ts +0 -22
  355. package/dist/migrate/export/stytch-config.js +0 -102
  356. package/dist/migrate/export/stytch-config.js.map +0 -1
  357. package/dist/migrate/export/stytch.d.ts +0 -68
  358. package/dist/migrate/export/stytch.js +0 -510
  359. package/dist/migrate/export/stytch.js.map +0 -1
  360. package/dist/migrate/export/supabase-config.d.ts +0 -48
  361. package/dist/migrate/export/supabase-config.js +0 -408
  362. package/dist/migrate/export/supabase-config.js.map +0 -1
  363. package/dist/migrate/export/supabase.d.ts +0 -86
  364. package/dist/migrate/export/supabase.js +0 -524
  365. package/dist/migrate/export/supabase.js.map +0 -1
  366. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  367. package/dist/migrate/export/supertokens-config.js +0 -150
  368. package/dist/migrate/export/supertokens-config.js.map +0 -1
  369. package/dist/migrate/export/supertokens.d.ts +0 -125
  370. package/dist/migrate/export/supertokens.js +0 -464
  371. package/dist/migrate/export/supertokens.js.map +0 -1
  372. package/dist/migrate/export/table.d.ts +0 -35
  373. package/dist/migrate/export/table.js +0 -248
  374. package/dist/migrate/export/table.js.map +0 -1
  375. package/dist/migrate/export/translate-kit.d.ts +0 -46
  376. package/dist/migrate/export/translate-kit.js +0 -148
  377. package/dist/migrate/export/translate-kit.js.map +0 -1
  378. package/dist/migrate/export/userfront-config.d.ts +0 -15
  379. package/dist/migrate/export/userfront-config.js +0 -49
  380. package/dist/migrate/export/userfront-config.js.map +0 -1
  381. package/dist/migrate/export/userfront.d.ts +0 -38
  382. package/dist/migrate/export/userfront.js +0 -189
  383. package/dist/migrate/export/userfront.js.map +0 -1
  384. package/dist/migrate/export/vendor-http.d.ts +0 -46
  385. package/dist/migrate/export/vendor-http.js +0 -138
  386. package/dist/migrate/export/vendor-http.js.map +0 -1
  387. package/dist/migrate/export/workos-config.d.ts +0 -23
  388. package/dist/migrate/export/workos-config.js +0 -125
  389. package/dist/migrate/export/workos-config.js.map +0 -1
  390. package/dist/migrate/export/workos.d.ts +0 -46
  391. package/dist/migrate/export/workos.js +0 -272
  392. package/dist/migrate/export/workos.js.map +0 -1
  393. package/dist/migrate/export/zip.d.ts +0 -8
  394. package/dist/migrate/export/zip.js +0 -66
  395. package/dist/migrate/export/zip.js.map +0 -1
  396. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  397. package/dist/migrate/export/zitadel-config.js +0 -279
  398. package/dist/migrate/export/zitadel-config.js.map +0 -1
  399. package/dist/migrate/export/zitadel.d.ts +0 -82
  400. package/dist/migrate/export/zitadel.js +0 -447
  401. package/dist/migrate/export/zitadel.js.map +0 -1
  402. package/dist/migrate/firebase/plugin.d.ts +0 -2
  403. package/dist/migrate/firebase/plugin.js +0 -152
  404. package/dist/migrate/firebase/plugin.js.map +0 -1
  405. package/dist/migrate/framework/builtins.d.ts +0 -2
  406. package/dist/migrate/framework/builtins.js +0 -52
  407. package/dist/migrate/framework/builtins.js.map +0 -1
  408. package/dist/migrate/framework/commands.d.ts +0 -20
  409. package/dist/migrate/framework/commands.js +0 -58
  410. package/dist/migrate/framework/commands.js.map +0 -1
  411. package/dist/migrate/framework/custom.d.ts +0 -12
  412. package/dist/migrate/framework/custom.js +0 -96
  413. package/dist/migrate/framework/custom.js.map +0 -1
  414. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  415. package/dist/migrate/framework/orchestrator.js +0 -532
  416. package/dist/migrate/framework/orchestrator.js.map +0 -1
  417. package/dist/migrate/framework/plugin.d.ts +0 -167
  418. package/dist/migrate/framework/plugin.js +0 -3
  419. package/dist/migrate/framework/plugin.js.map +0 -1
  420. package/dist/migrate/framework/registry.d.ts +0 -11
  421. package/dist/migrate/framework/registry.js +0 -44
  422. package/dist/migrate/framework/registry.js.map +0 -1
  423. package/dist/migrate/framework/report.d.ts +0 -17
  424. package/dist/migrate/framework/report.js +0 -103
  425. package/dist/migrate/framework/report.js.map +0 -1
  426. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  427. package/dist/migrate/frameworks/plugins.js +0 -402
  428. package/dist/migrate/frameworks/plugins.js.map +0 -1
  429. package/dist/migrate/frameworks/report.d.ts +0 -92
  430. package/dist/migrate/frameworks/report.js +0 -207
  431. package/dist/migrate/frameworks/report.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  433. package/dist/migrate/frameworks/translate-js.js +0 -503
  434. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  435. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  436. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  437. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  438. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  439. package/dist/migrate/frontegg/plugin.js +0 -78
  440. package/dist/migrate/frontegg/plugin.js.map +0 -1
  441. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  442. package/dist/migrate/fusionauth/plugin.js +0 -109
  443. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  444. package/dist/migrate/hanko/plugin.d.ts +0 -2
  445. package/dist/migrate/hanko/plugin.js +0 -100
  446. package/dist/migrate/hanko/plugin.js.map +0 -1
  447. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  448. package/dist/migrate/keycloak/plugin.js +0 -148
  449. package/dist/migrate/keycloak/plugin.js.map +0 -1
  450. package/dist/migrate/kinde/plugin.d.ts +0 -2
  451. package/dist/migrate/kinde/plugin.js +0 -105
  452. package/dist/migrate/kinde/plugin.js.map +0 -1
  453. package/dist/migrate/ldap/plugin.d.ts +0 -2
  454. package/dist/migrate/ldap/plugin.js +0 -73
  455. package/dist/migrate/ldap/plugin.js.map +0 -1
  456. package/dist/migrate/logto/plugin.d.ts +0 -2
  457. package/dist/migrate/logto/plugin.js +0 -131
  458. package/dist/migrate/logto/plugin.js.map +0 -1
  459. package/dist/migrate/magic/plugin.d.ts +0 -2
  460. package/dist/migrate/magic/plugin.js +0 -56
  461. package/dist/migrate/magic/plugin.js.map +0 -1
  462. package/dist/migrate/nhost/plugin.d.ts +0 -2
  463. package/dist/migrate/nhost/plugin.js +0 -115
  464. package/dist/migrate/nhost/plugin.js.map +0 -1
  465. package/dist/migrate/oidc/plugin.d.ts +0 -2
  466. package/dist/migrate/oidc/plugin.js +0 -73
  467. package/dist/migrate/oidc/plugin.js.map +0 -1
  468. package/dist/migrate/okta/plugin.d.ts +0 -2
  469. package/dist/migrate/okta/plugin.js +0 -105
  470. package/dist/migrate/okta/plugin.js.map +0 -1
  471. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  472. package/dist/migrate/onelogin/plugin.js +0 -61
  473. package/dist/migrate/onelogin/plugin.js.map +0 -1
  474. package/dist/migrate/ory/plugin.d.ts +0 -2
  475. package/dist/migrate/ory/plugin.js +0 -186
  476. package/dist/migrate/ory/plugin.js.map +0 -1
  477. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  478. package/dist/migrate/ping-identity/plugin.js +0 -100
  479. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  480. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  481. package/dist/migrate/pocketbase/plugin.js +0 -99
  482. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  483. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  484. package/dist/migrate/propelauth/plugin.js +0 -65
  485. package/dist/migrate/propelauth/plugin.js.map +0 -1
  486. package/dist/migrate/saml/plugin.d.ts +0 -2
  487. package/dist/migrate/saml/plugin.js +0 -79
  488. package/dist/migrate/saml/plugin.js.map +0 -1
  489. package/dist/migrate/stytch/plugin.d.ts +0 -2
  490. package/dist/migrate/stytch/plugin.js +0 -97
  491. package/dist/migrate/stytch/plugin.js.map +0 -1
  492. package/dist/migrate/supabase/plugin.d.ts +0 -2
  493. package/dist/migrate/supabase/plugin.js +0 -149
  494. package/dist/migrate/supabase/plugin.js.map +0 -1
  495. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  496. package/dist/migrate/supertokens/plugin.js +0 -114
  497. package/dist/migrate/supertokens/plugin.js.map +0 -1
  498. package/dist/migrate/user-table/plugin.d.ts +0 -2
  499. package/dist/migrate/user-table/plugin.js +0 -62
  500. package/dist/migrate/user-table/plugin.js.map +0 -1
  501. package/dist/migrate/userfront/plugin.d.ts +0 -2
  502. package/dist/migrate/userfront/plugin.js +0 -60
  503. package/dist/migrate/userfront/plugin.js.map +0 -1
  504. package/dist/migrate/workos/plugin.d.ts +0 -2
  505. package/dist/migrate/workos/plugin.js +0 -81
  506. package/dist/migrate/workos/plugin.js.map +0 -1
  507. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  508. package/dist/migrate/zitadel/plugin.js +0 -114
  509. package/dist/migrate/zitadel/plugin.js.map +0 -1
  510. package/dist/output.d.ts +0 -41
  511. package/dist/output.js +0 -72
  512. package/dist/output.js.map +0 -1
  513. package/dist/project.d.ts +0 -64
  514. package/dist/project.js +0 -86
  515. package/dist/project.js.map +0 -1
  516. package/dist/prompt.d.ts +0 -15
  517. package/dist/prompt.js +0 -46
  518. package/dist/prompt.js.map +0 -1
  519. package/dist/run.d.ts +0 -12
  520. package/dist/run.js +0 -157
  521. package/dist/run.js.map +0 -1
  522. package/dist/secrets.d.ts +0 -41
  523. package/dist/secrets.js +0 -142
  524. package/dist/secrets.js.map +0 -1
  525. package/dist/serialize.d.ts +0 -30
  526. package/dist/serialize.js +0 -131
  527. package/dist/serialize.js.map +0 -1
  528. package/dist/version.d.ts +0 -7
  529. package/dist/version.js +0 -21
  530. package/dist/version.js.map +0 -1
@@ -1,441 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CognitoApi = void 0;
4
- exports.regionOfPool = regionOfPool;
5
- exports.amzDate = amzDate;
6
- exports.sigV4Key = sigV4Key;
7
- exports.signAwsRequest = signAwsRequest;
8
- exports.attributesOf = attributesOf;
9
- exports.parseIdentities = parseIdentities;
10
- exports.mapCognitoUser = mapCognitoUser;
11
- exports.cognitoIdentities = cognitoIdentities;
12
- exports.cognitoFactors = cognitoFactors;
13
- exports.parseListUsersOutput = parseListUsersOutput;
14
- exports.cognitoSsoConnection = cognitoSsoConnection;
15
- exports.exportCognito = exportCognito;
16
- const node_crypto_1 = require("node:crypto");
17
- const record_set_1 = require("./record-set");
18
- const translate_kit_1 = require("./translate-kit");
19
- const vendor_http_1 = require("./vendor-http");
20
- const POOL_ID = /^([a-z]{2}(?:-[a-z]+)+-\d)_[0-9A-Za-z]+$/;
21
- /** The region of a user pool id (`us-east-1_AbC123` → `us-east-1`), or undefined. */
22
- function regionOfPool(poolId) {
23
- return POOL_ID.exec(poolId.trim())?.[1];
24
- }
25
- // ── AWS Signature Version 4 ─────────────────────────────────────────────────
26
- const sha256Hex = (data) => (0, node_crypto_1.createHash)('sha256').update(data).digest('hex');
27
- const hmac = (key, data) => (0, node_crypto_1.createHmac)('sha256', key).update(data, 'utf8').digest();
28
- /** `20150830T123600Z`. */
29
- function amzDate(d) {
30
- return d.toISOString().replace(/[-:]/g, '').replace(/\.\d{3}/, '');
31
- }
32
- /** The SigV4 signing key: HMAC chain over date, region, service. */
33
- function sigV4Key(secret, date, region, service) {
34
- return hmac(hmac(hmac(hmac(`AWS4${secret}`, date), region), service), 'aws4_request');
35
- }
36
- /**
37
- * Sign a request with AWS Signature Version 4 (header form). `headers` must
38
- * not yet carry `authorization`; the result adds `host`, `x-amz-date`, the
39
- * session token when there is one, and `authorization`. Only a path without
40
- * a query string is signed (every Cognito call is `POST /`).
41
- */
42
- function signAwsRequest(o) {
43
- const url = new URL(o.url);
44
- const stamp = amzDate(o.now);
45
- const date = stamp.slice(0, 8);
46
- const headers = {};
47
- for (const [k, v] of Object.entries(o.headers))
48
- headers[k.toLowerCase()] = v;
49
- headers.host = url.host;
50
- headers['x-amz-date'] = stamp;
51
- if (o.credentials.sessionToken)
52
- headers['x-amz-security-token'] = o.credentials.sessionToken;
53
- const names = Object.keys(headers).sort();
54
- const canonicalHeaders = names.map((n) => `${n}:${headers[n].trim().replace(/\s+/g, ' ')}\n`).join('');
55
- const signedHeaders = names.join(';');
56
- const canonical = [o.method.toUpperCase(), url.pathname || '/', url.search.slice(1), canonicalHeaders, signedHeaders, sha256Hex(o.body)].join('\n');
57
- const scope = `${date}/${o.region}/${o.service}/aws4_request`;
58
- const toSign = ['AWS4-HMAC-SHA256', stamp, scope, sha256Hex(canonical)].join('\n');
59
- const signature = (0, node_crypto_1.createHmac)('sha256', sigV4Key(o.credentials.secretAccessKey, date, o.region, o.service)).update(toSign, 'utf8').digest('hex');
60
- headers.authorization = `AWS4-HMAC-SHA256 Credential=${o.credentials.accessKeyId}/${scope}, SignedHeaders=${signedHeaders}, Signature=${signature}`;
61
- return headers;
62
- }
63
- // ── the cognito-idp JSON API ────────────────────────────────────────────────
64
- const RETRYABLE = new Set(['TooManyRequestsException', 'LimitExceededException', 'InternalErrorException', 'ThrottlingException']);
65
- class CognitoApi {
66
- o;
67
- endpoint;
68
- constructor(o) {
69
- this.o = o;
70
- this.endpoint = `https://cognito-idp.${o.region}.amazonaws.com/`;
71
- }
72
- /** One API call (`ListUsers`, `DescribeUserPool` …). Throttling and 5xx are retried. */
73
- async call(action, input) {
74
- const fetchImpl = this.o.fetchImpl ?? fetch;
75
- const sleep = this.o.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
76
- const attempts = Math.max(1, this.o.attempts ?? 6);
77
- const body = JSON.stringify(input);
78
- for (let attempt = 1;; attempt++) {
79
- const headers = signAwsRequest({
80
- method: 'POST',
81
- url: this.endpoint,
82
- headers: { 'content-type': 'application/x-amz-json-1.1', 'x-amz-target': `AWSCognitoIdentityProviderService.${action}` },
83
- body,
84
- region: this.o.region,
85
- service: 'cognito-idp',
86
- credentials: this.o.credentials,
87
- now: (this.o.now ?? (() => new Date()))(),
88
- });
89
- delete headers.host; // fetch sets it (and refuses a manual one)
90
- let res;
91
- try {
92
- res = await fetchImpl(this.endpoint, { method: 'POST', headers, body });
93
- }
94
- catch (err) {
95
- if (attempt < attempts) {
96
- await sleep(backoff(attempt));
97
- continue;
98
- }
99
- throw new vendor_http_1.VendorApiError('Cognito', 0, action, err instanceof Error ? err.message : String(err));
100
- }
101
- const text = await res.text();
102
- let parsed = {};
103
- try {
104
- parsed = text ? JSON.parse(text) : {};
105
- }
106
- catch {
107
- parsed = { message: text.slice(0, 200) };
108
- }
109
- if (res.ok)
110
- return parsed;
111
- const o = (0, record_set_1.isObj)(parsed) ? parsed : {};
112
- const type = ((0, record_set_1.str)(o.__type) ?? '').split('#').pop() ?? '';
113
- if ((res.status >= 500 || RETRYABLE.has(type)) && attempt < attempts) {
114
- await sleep(backoff(attempt));
115
- continue;
116
- }
117
- throw new vendor_http_1.VendorApiError('Cognito', res.status, action, [type, (0, record_set_1.str)(o.message) ?? (0, record_set_1.str)(o.Message)].filter(Boolean).join(': '));
118
- }
119
- }
120
- /** Every page of a token-paged list. */
121
- async all(action, input, listKey, tokenKey) {
122
- const out = [];
123
- let token;
124
- do {
125
- const page = await this.call(action, { ...input, ...(token ? { [tokenKey]: token } : {}) });
126
- out.push(...(0, record_set_1.objs)(page[listKey]));
127
- token = (0, record_set_1.str)(page[tokenKey]);
128
- } while (token);
129
- return out;
130
- }
131
- }
132
- exports.CognitoApi = CognitoApi;
133
- function backoff(attempt) {
134
- return Math.min(250 * 2 ** (attempt - 1), 20_000);
135
- }
136
- // ── mapping ─────────────────────────────────────────────────────────────────
137
- /** Attributes the user record carries itself (the rest of the standard ones go to private metadata). */
138
- const MAPPED = new Set(['sub', 'email', 'email_verified', 'phone_number', 'phone_number_verified', 'given_name', 'family_name', 'name', 'picture', 'preferred_username', 'identities']);
139
- /** Cognito provider names → the provider an identity record carries. */
140
- const SOCIAL = { Google: 'google', Facebook: 'facebook', SignInWithApple: 'apple', LoginWithAmazon: 'amazon' };
141
- const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
142
- function attributesOf(u) {
143
- const out = {};
144
- // ListUsers says Attributes, AdminGetUser says UserAttributes.
145
- for (const a of [...(0, record_set_1.objs)(u.Attributes), ...(0, record_set_1.objs)(u.UserAttributes)]) {
146
- const name = (0, record_set_1.str)(a.Name);
147
- if (name && typeof a.Value === 'string')
148
- out[name] = a.Value;
149
- }
150
- return out;
151
- }
152
- /** Epoch seconds (the API) or an ISO string (the AWS CLI) → a bundle timestamp. */
153
- function cognitoTime(v) {
154
- if (typeof v === 'number' && Number.isFinite(v))
155
- return Math.round(v * 1000);
156
- return (0, record_set_1.str)(v);
157
- }
158
- /** The `identities` attribute (a JSON string; `primary` / `dateCreated` typed loosely). */
159
- function parseIdentities(raw) {
160
- if (!raw)
161
- return [];
162
- try {
163
- const parsed = JSON.parse(raw);
164
- return (0, record_set_1.objs)(parsed);
165
- }
166
- catch {
167
- return [];
168
- }
169
- }
170
- /** Map one Cognito UserType onto a user record (null when it has no sub or no identifier). */
171
- function mapCognitoUser(u) {
172
- const a = attributesOf(u);
173
- const sub = (0, record_set_1.str)(a.sub);
174
- if (!sub)
175
- return null;
176
- const cognitoUsername = (0, record_set_1.str)(u.Username);
177
- const federated = (0, record_set_1.str)(u.UserStatus) === 'EXTERNAL_PROVIDER';
178
- const email = (0, record_set_1.str)(a.email)?.toLowerCase();
179
- const phone = (0, record_set_1.e164)(a.phone_number);
180
- // A username Cognito users typed (not the generated sub / UUID, an email or a federated `Google_…` id).
181
- const typed = cognitoUsername && !UUID.test(cognitoUsername) && !cognitoUsername.includes('@') && !federated && !/^\+\d+$/.test(cognitoUsername) ? cognitoUsername : undefined;
182
- const username = (0, record_set_1.str)(a.preferred_username) ?? typed;
183
- const custom = {};
184
- const standard = {};
185
- for (const [k, v] of Object.entries(a)) {
186
- if (k.startsWith('custom:'))
187
- custom[k.slice(7)] = v;
188
- else if (k.startsWith('dev:'))
189
- continue;
190
- else if (!MAPPED.has(k))
191
- standard[k] = v;
192
- }
193
- const user = (0, record_set_1.compact)({
194
- id: sub,
195
- emails: email ? [{ email, verified: a.email_verified === 'true', primary: true }] : undefined,
196
- phones: phone ? [{ phone, verified: a.phone_number_verified === 'true', primary: !email }] : undefined,
197
- username,
198
- first_name: (0, record_set_1.str)(a.given_name),
199
- last_name: (0, record_set_1.str)(a.family_name),
200
- name: (0, record_set_1.str)(a.name),
201
- image_url: (0, record_set_1.str)(a.picture),
202
- banned: u.Enabled === false ? true : undefined,
203
- public_metadata: Object.keys(custom).length ? custom : undefined,
204
- private_metadata: (0, record_set_1.compact)({ cognito_username: cognitoUsername, cognito_status: (0, record_set_1.str)(u.UserStatus), cognito_attributes: Object.keys(standard).length ? standard : undefined }),
205
- created_at: cognitoTime(u.UserCreateDate),
206
- });
207
- if (!user.emails && !user.phones && !user.username) {
208
- // A pool keyed on a bare username nobody typed (federated users without an email): keep the Cognito username.
209
- if (!cognitoUsername)
210
- return null;
211
- user.username = cognitoUsername;
212
- }
213
- return user;
214
- }
215
- /** The identity records of one user's `identities` attribute. */
216
- function cognitoIdentities(userId, raw) {
217
- const out = [];
218
- for (const i of parseIdentities(raw)) {
219
- const providerName = (0, record_set_1.str)(i.providerName);
220
- const providerUserId = (0, record_set_1.str)(i.userId);
221
- if (!providerName || !providerUserId)
222
- continue;
223
- const type = (0, record_set_1.str)(i.providerType) ?? providerName;
224
- const kind = type === 'SAML' ? 'saml' : type === 'OIDC' ? 'oidc' : 'oauth';
225
- out.push((0, record_set_1.compact)({
226
- user_id: userId,
227
- provider: SOCIAL[providerName] ?? providerName,
228
- provider_user_id: providerUserId,
229
- kind: kind,
230
- sso_connection_id: kind === 'saml' || kind === 'oidc' ? providerName : undefined,
231
- }));
232
- }
233
- return out;
234
- }
235
- /** SMS / email factors from legacy MFAOptions or a UserMFASettingList. */
236
- function cognitoFactors(userId, u, attrs) {
237
- const settings = new Set((0, record_set_1.strs)(u.UserMFASettingList));
238
- for (const o of (0, record_set_1.objs)(u.MFAOptions))
239
- if ((0, record_set_1.str)(o.DeliveryMedium) === 'SMS')
240
- settings.add('SMS_MFA');
241
- const factors = [];
242
- const phone = (0, record_set_1.e164)(attrs.phone_number);
243
- if (settings.has('SMS_MFA') && phone)
244
- factors.push({ user_id: userId, type: 'phone', phone, verified: true });
245
- if (settings.has('EMAIL_OTP') && attrs.email)
246
- factors.push({ user_id: userId, type: 'email', verified: true });
247
- return { factors, totp: settings.has('SOFTWARE_TOKEN_MFA') };
248
- }
249
- /** The users of `aws cognito-idp list-users` output (`{ "Users": [...] }`, or a bare array). */
250
- function parseListUsersOutput(text) {
251
- let parsed;
252
- try {
253
- parsed = JSON.parse(text);
254
- }
255
- catch {
256
- throw new Error('The users file is not `aws cognito-idp list-users --output json` output.');
257
- }
258
- if (Array.isArray(parsed))
259
- return (0, record_set_1.objs)(parsed);
260
- if ((0, record_set_1.isObj)(parsed) && Array.isArray(parsed.Users))
261
- return (0, record_set_1.objs)(parsed.Users);
262
- throw new Error('The users file has no "Users" list (expected `aws cognito-idp list-users --output json` output).');
263
- }
264
- /** A SAML / OIDC identity provider → an SSO connection record (social providers are null). */
265
- function cognitoSsoConnection(idp) {
266
- const name = (0, record_set_1.str)(idp.ProviderName);
267
- const type = (0, record_set_1.str)(idp.ProviderType);
268
- if (!name || (type !== 'SAML' && type !== 'OIDC'))
269
- return null;
270
- const d = (0, record_set_1.isObj)(idp.ProviderDetails) ? idp.ProviderDetails : {};
271
- const mapping = {};
272
- if ((0, record_set_1.isObj)(idp.AttributeMapping))
273
- for (const [k, v] of Object.entries(idp.AttributeMapping))
274
- if (typeof v === 'string')
275
- mapping[k] = v;
276
- const domains = (0, record_set_1.strs)(idp.IdpIdentifiers).filter((x) => /^[a-z0-9-]+(\.[a-z0-9-]+)+$/i.test(x));
277
- if (type === 'SAML') {
278
- return (0, record_set_1.compact)({
279
- id: name,
280
- name,
281
- protocol: 'saml',
282
- domains,
283
- saml: (0, record_set_1.compact)({ idp_metadata_url: (0, record_set_1.str)(d.MetadataURL), idp_metadata_xml: (0, record_set_1.str)(d.MetadataFile), attribute_mapping: Object.keys(mapping).length ? mapping : undefined }),
284
- enabled: true,
285
- });
286
- }
287
- const issuer = (0, record_set_1.str)(d.oidc_issuer);
288
- return (0, record_set_1.compact)({
289
- id: name,
290
- name,
291
- protocol: 'oidc',
292
- domains,
293
- oidc: (0, record_set_1.compact)({
294
- issuer,
295
- discovery_url: issuer ? `${issuer.replace(/\/+$/, '')}/.well-known/openid-configuration` : undefined,
296
- client_id: (0, record_set_1.str)(d.client_id),
297
- client_secret: (0, record_set_1.str)(d.client_secret),
298
- scopes: (0, record_set_1.str)(d.authorize_scopes)?.split(/[\s,]+/).filter(Boolean),
299
- }),
300
- enabled: true,
301
- });
302
- }
303
- // ── the export ──────────────────────────────────────────────────────────────
304
- async function exportCognito(opts) {
305
- const set = new record_set_1.RecordSet();
306
- const poolId = opts.userPoolId.trim();
307
- const region = opts.region ?? regionOfPool(poolId);
308
- if (!region)
309
- throw new Error(`Not a Cognito user pool id: ${opts.userPoolId} (expected <region>_<id>, e.g. us-east-1_AbC123xyz).`);
310
- if (!opts.usersText && !opts.credentials)
311
- throw new Error('Cognito export needs AWS credentials (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY) or a list-users output file.');
312
- const progress = opts.onProgress ?? (() => undefined);
313
- const api = opts.credentials ? new CognitoApi({ region, credentials: opts.credentials, fetchImpl: opts.fetchImpl, sleep: opts.sleep, now: opts.now }) : undefined;
314
- set.manifest.origin = `Cognito user pool ${poolId}`;
315
- // Groups → app roles.
316
- const groupKeys = new Map();
317
- if (api && opts.groups !== 'skip') {
318
- progress('groups');
319
- for (const g of await api.all('ListGroups', { UserPoolId: poolId, Limit: 60 }, 'Groups', 'NextToken')) {
320
- const name = (0, record_set_1.str)(g.GroupName);
321
- if (!name)
322
- continue;
323
- const key = (0, translate_kit_1.keyOf)(name);
324
- groupKeys.set(name, key);
325
- set.add('role', (0, record_set_1.compact)({ key, name, description: (0, record_set_1.str)(g.Description), scope: 'app' }), key);
326
- }
327
- }
328
- // Identity providers → SSO connections.
329
- const providers = new Set();
330
- if (api) {
331
- progress('identity providers');
332
- let idps = [];
333
- try {
334
- idps = await api.all('ListIdentityProviders', { UserPoolId: poolId, MaxResults: 60 }, 'Providers', 'NextToken');
335
- }
336
- catch (err) {
337
- if (!(err instanceof vendor_http_1.VendorApiError && (err.status === 400 || err.status === 403)))
338
- throw err;
339
- set.warn(`Could not list identity providers (${err.message}); enterprise connections were not exported.`);
340
- }
341
- for (const summary of idps) {
342
- const name = (0, record_set_1.str)(summary.ProviderName);
343
- if (!name)
344
- continue;
345
- providers.add(SOCIAL[name] ?? name);
346
- if ((0, record_set_1.str)(summary.ProviderType) !== 'SAML' && (0, record_set_1.str)(summary.ProviderType) !== 'OIDC')
347
- continue;
348
- const res = await api.call('DescribeIdentityProvider', { UserPoolId: poolId, ProviderName: name });
349
- const conn = cognitoSsoConnection((0, record_set_1.isObj)(res.IdentityProvider) ? res.IdentityProvider : {});
350
- if (conn)
351
- set.add('sso_connection', conn, conn.id);
352
- }
353
- }
354
- // Users.
355
- progress('users');
356
- const raw = opts.usersText !== undefined ? parseListUsersOutput(opts.usersText) : await api.all('ListUsers', { UserPoolId: poolId, Limit: 60 }, 'Users', 'PaginationToken');
357
- const byUsername = new Map();
358
- const status = {};
359
- let totpUsers = 0;
360
- for (const u of raw) {
361
- const user = mapCognitoUser(u);
362
- if (!user) {
363
- set.omit('user', 'no sub, or no email, phone number or username');
364
- continue;
365
- }
366
- const username = (0, record_set_1.str)(u.Username);
367
- if (username)
368
- byUsername.set(username, user.id);
369
- const st = (0, record_set_1.str)(u.UserStatus) ?? 'UNKNOWN';
370
- status[st] = (status[st] ?? 0) + 1;
371
- set.add('user', user, user.id);
372
- const attrs = attributesOf(u);
373
- for (const identity of cognitoIdentities(user.id, attrs.identities)) {
374
- set.add('identity', identity, `${identity.provider}:${identity.provider_user_id}`);
375
- providers.add(identity.provider);
376
- }
377
- let detail = u;
378
- if (opts.mfa && api && username && st !== 'EXTERNAL_PROVIDER') {
379
- detail = { ...u, ...(await api.call('AdminGetUser', { UserPoolId: poolId, Username: username })) };
380
- }
381
- const { factors, totp } = cognitoFactors(user.id, detail, attrs);
382
- for (const f of factors)
383
- set.add('mfa_factor', f);
384
- if (totp)
385
- totpUsers++;
386
- }
387
- if (totpUsers)
388
- set.omit('mfa_factor', 'Cognito never exports TOTP secrets: these users enrol an authenticator app again in Atlas', totpUsers);
389
- if (!opts.mfa && api && raw.length) {
390
- set.warn('Only legacy SMS MFA settings were read. Pass the mfa option (one AdminGetUser per user, billed by AWS) to export every user\'s SMS and email factors and count TOTP users.');
391
- }
392
- // Group members → user roles.
393
- if (api && groupKeys.size) {
394
- progress('group members');
395
- const rolesOf = new Map();
396
- for (const [name, key] of groupKeys) {
397
- for (const m of await api.all('ListUsersInGroup', { UserPoolId: poolId, GroupName: name, Limit: 60 }, 'Users', 'NextToken')) {
398
- const id = (0, record_set_1.str)(attributesOf(m).sub) ?? byUsername.get((0, record_set_1.str)(m.Username) ?? '');
399
- if (!id)
400
- continue;
401
- const list = rolesOf.get(id) ?? [];
402
- list.push(key);
403
- rolesOf.set(id, list);
404
- }
405
- }
406
- for (const user of set.list('user')) {
407
- const roles = rolesOf.get(user.id);
408
- if (roles?.length)
409
- user.roles = [...new Set(roles)];
410
- }
411
- }
412
- // The pool's public signing keys (no credentials needed).
413
- try {
414
- const res = await (opts.fetchImpl ?? fetch)(`https://cognito-idp.${region}.amazonaws.com/${poolId}/.well-known/jwks.json`);
415
- if (res.ok) {
416
- const body = await res.json();
417
- for (const jwk of (0, record_set_1.objs)((0, record_set_1.isObj)(body) ? body.keys : undefined)) {
418
- const kid = (0, record_set_1.str)(jwk.kid);
419
- if (kid)
420
- set.add('jwks', { kid, jwk }, kid);
421
- }
422
- }
423
- }
424
- catch {
425
- set.warn('Could not read the user pool\'s JWKS; old tokens verify through the bridge only.');
426
- }
427
- if (set.count('user')) {
428
- set.warn('Cognito never exports password hashes. Turn on the cognito lazy-migration preset: each password is checked against Cognito (InitiateAuth, USER_PASSWORD_AUTH) on its first Atlas sign-in, then stored as Argon2id.');
429
- set.omit('password', 'Cognito does not export password hashes (lazy migration moves them)', set.count('user') - (status.EXTERNAL_PROVIDER ?? 0));
430
- }
431
- if (status.FORCE_CHANGE_PASSWORD)
432
- set.warn(`${status.FORCE_CHANGE_PASSWORD} user(s) still have an admin-set temporary password (FORCE_CHANGE_PASSWORD): Cognito answers lazy migration with a new-password challenge, so they reset their password in Atlas.`);
433
- if (status.RESET_REQUIRED)
434
- set.warn(`${status.RESET_REQUIRED} user(s) must reset their password (RESET_REQUIRED): they cannot move by lazy migration and reset it in Atlas.`);
435
- if (status.UNCONFIRMED)
436
- set.warn(`${status.UNCONFIRMED} user(s) never confirmed their sign-up (UNCONFIRMED): imported with unverified addresses.`);
437
- set.manifest.providers = [...providers].sort();
438
- set.manifest.settings = { user_pool_id: poolId, region, user_status: status };
439
- return set;
440
- }
441
- //# sourceMappingURL=cognito.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cognito.js","sourceRoot":"","sources":["../../../src/migrate/export/cognito.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { TranslationResult } from '../framework/plugin';
2
- import { type VendorHttp } from './vendor-http';
3
- /**
4
- * `atlas migrate corbado config` — Corbado exposes no settings API worth
5
- * reading, so the sign-in methods are inferred from what the project's users
6
- * actually have (login identifiers by type, from the Backend API) and the
7
- * rest is reported by where it lives in the Corbado console.
8
- */
9
- export interface CorbadoConfigSnapshot {
10
- projectId: string;
11
- rpId?: string;
12
- /** Number of login identifiers by type; null when the count could not be read. */
13
- identifiers: {
14
- email: number | null;
15
- phone: number | null;
16
- username: number | null;
17
- };
18
- }
19
- export declare function fetchCorbadoConfig(http: VendorHttp, projectId: string, rpId?: string): Promise<CorbadoConfigSnapshot>;
20
- export declare function translateCorbadoConfig(snap: CorbadoConfigSnapshot): TranslationResult;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchCorbadoConfig = fetchCorbadoConfig;
4
- exports.translateCorbadoConfig = translateCorbadoConfig;
5
- const record_set_1 = require("./record-set");
6
- const translate_kit_1 = require("./translate-kit");
7
- const vendor_http_1 = require("./vendor-http");
8
- async function count(http, type) {
9
- try {
10
- const { body } = await http.get(`/v2/identifiers?page=1&pageSize=1&filter%5B%5D=${encodeURIComponent(`identifierType:eq:${type}`)}`);
11
- const total = (0, record_set_1.isObj)(body?.paging) ? body.paging.totalItems : undefined;
12
- return typeof total === 'number' ? total : null;
13
- }
14
- catch (err) {
15
- if (err instanceof vendor_http_1.VendorApiError && [400, 403, 404].includes(err.status))
16
- return null;
17
- throw err;
18
- }
19
- }
20
- async function fetchCorbadoConfig(http, projectId, rpId) {
21
- return {
22
- projectId,
23
- ...(rpId ? { rpId } : {}),
24
- identifiers: { email: await count(http, 'email'), phone: await count(http, 'phone'), username: await count(http, 'username') },
25
- };
26
- }
27
- function translateCorbadoConfig(snap) {
28
- const b = new translate_kit_1.ConfigBuilder();
29
- b.set('strategies.passkey', true);
30
- b.add('mapped', 'authentication', 'passkeys', 'Passkey sign-in stays on; exported credentials keep working while Atlas is served from the same relying-party domain.', 'auth_config.strategies.passkey');
31
- b.set('accountUx.passkeySignUp.enabled', true);
32
- b.add('mapped', 'authentication', 'passkey-first sign-up', 'Corbado accounts start from a passkey: Atlas offers passkey sign-up.', 'auth_config.accountUx.passkeySignUp');
33
- const { email, phone, username } = snap.identifiers;
34
- if (email) {
35
- b.set('strategies.emailCode', true);
36
- b.add('mapped', 'identifiers', 'email', `${email} email identifier(s): email code sign-in (the fallback when a passkey is not available).`, 'auth_config.strategies.emailCode');
37
- }
38
- if (phone) {
39
- b.set('strategies.phoneCode', true);
40
- b.add('mapped', 'identifiers', 'phone', `${phone} phone identifier(s): SMS code sign-in.`, 'auth_config.strategies.phoneCode');
41
- }
42
- if (username) {
43
- b.set('strategies.username', true);
44
- b.add('mapped', 'identifiers', 'username', `${username} username identifier(s).`, 'auth_config.strategies.username');
45
- }
46
- if (email === null && phone === null && username === null) {
47
- b.add('manual', 'identifiers', 'login identifiers', 'Corbado did not list your identifiers; turn on the matching Atlas sign-in methods (emailCode, phoneCode, username) yourself.', 'auth_config.strategies');
48
- }
49
- if (snap.rpId)
50
- b.add('differs', 'passkeys', 'relying party', `Passkeys are bound to ${snap.rpId}: serve Atlas from that domain or a subdomain (a custom domain) so exported passkeys keep working.`);
51
- else
52
- b.add('manual', 'passkeys', 'relying party', 'Corbado does not return the relying-party id: pass it with --corbado-rp-id so passkeys can be exported, and serve Atlas from that domain.');
53
- for (const [setting, where] of [
54
- ['allowed origins and redirect URLs', 'Developer panel → Application URLs'],
55
- ['session lifetimes (short and long session)', 'Developer panel → Sessions'],
56
- ['social login', 'Developer panel → Authentication methods'],
57
- ['webhooks and email / SMS templates', 'Developer panel → Webhooks, Communication'],
58
- ]) {
59
- b.add('manual', 'settings not in the API', setting, `Corbado does not expose this by API; copy it from the Corbado console (${where}). Atlas: dashboard → Sessions / Redirect URLs / Providers / Webhooks.`);
60
- }
61
- return b.result(`Corbado project ${snap.projectId}`, { bridge: { preset: 'corbado', vars: { project_id: snap.projectId } } });
62
- }
63
- //# sourceMappingURL=corbado-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"corbado-config.js","sourceRoot":"","sources":["../../../src/migrate/export/corbado-config.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import type { UserRecord } from '@atlasauth/migrate';
2
- import { RecordSet, type Obj } from './record-set';
3
- import { VendorHttp } from './vendor-http';
4
- /**
5
- * `atlas migrate export corbado` — a Corbado project onto the canonical bundle
6
- * models, read with the project id and API secret (Backend API v2, HTTP Basic)
7
- * on this machine.
8
- *
9
- * - users (`GET /v2/users`, with their email, phone and username
10
- * identifiers; a `pending` identifier is unverified, `verified` and
11
- * `primary` are verified); deleted users skipped, disabled users banned;
12
- * - passkeys: `GET /v2/users/{id}/fullCredentials` returns each credential id
13
- * AND its public key (base64url), so passkeys move and keep working. A
14
- * passkey is bound to its relying-party id, which the API does not return:
15
- * pass it with --corbado-rp-id (your Corbado relying party / domain), and
16
- * Atlas must be served from that domain (or a subdomain of it) for the
17
- * passkeys to keep working;
18
- * - Corbado holds no passwords, TOTP seeds, organizations or API keys.
19
- *
20
- * Sessions are Corbado short-session JWTs, bridged by the `corbado` preset.
21
- */
22
- export interface CorbadoExportOptions {
23
- projectId: string;
24
- apiSecret: string;
25
- /** Backend API origin (default https://backendapi.cloud.corbado.io). */
26
- baseUrl?: string;
27
- /** The passkeys' relying-party id; without it passkeys are not exported. */
28
- rpId?: string;
29
- fetchImpl?: typeof fetch;
30
- sleep?: (ms: number) => Promise<void>;
31
- onProgress?: (message: string) => void;
32
- }
33
- export declare const CORBADO_BACKEND = "https://backendapi.cloud.corbado.io";
34
- export declare function corbadoHttp(o: Pick<CorbadoExportOptions, 'projectId' | 'apiSecret' | 'baseUrl' | 'fetchImpl' | 'sleep'>): VendorHttp;
35
- export declare function exportCorbado(opts: CorbadoExportOptions): Promise<RecordSet>;
36
- /** One Corbado `userAggregate` → a user record; 'deleted' for removed users. */
37
- export declare function mapCorbadoUser(u: Obj): UserRecord | 'deleted' | null;