@atlasauth/cli 0.25.0 → 0.25.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 (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/args.d.ts +601 -0
  3. package/dist/args.js +289 -0
  4. package/dist/args.js.map +1 -0
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +19 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/actions-gallery.d.ts +8 -0
  9. package/dist/commands/actions-gallery.js +197 -0
  10. package/dist/commands/actions-gallery.js.map +1 -0
  11. package/dist/commands/actions.d.ts +13 -0
  12. package/dist/commands/actions.js +135 -0
  13. package/dist/commands/actions.js.map +1 -0
  14. package/dist/commands/admin.d.ts +49 -0
  15. package/dist/commands/admin.js +353 -0
  16. package/dist/commands/admin.js.map +1 -0
  17. package/dist/commands/api-keys.d.ts +4 -0
  18. package/dist/commands/api-keys.js +96 -0
  19. package/dist/commands/api-keys.js.map +1 -0
  20. package/dist/commands/auth.d.ts +25 -0
  21. package/dist/commands/auth.js +102 -0
  22. package/dist/commands/auth.js.map +1 -0
  23. package/dist/commands/config.d.ts +104 -0
  24. package/dist/commands/config.js +1532 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/csp.d.ts +32 -0
  27. package/dist/commands/csp.js +180 -0
  28. package/dist/commands/csp.js.map +1 -0
  29. package/dist/commands/dev.d.ts +8 -0
  30. package/dist/commands/dev.js +84 -0
  31. package/dist/commands/dev.js.map +1 -0
  32. package/dist/commands/fga.d.ts +10 -0
  33. package/dist/commands/fga.js +146 -0
  34. package/dist/commands/fga.js.map +1 -0
  35. package/dist/commands/golive.d.ts +40 -0
  36. package/dist/commands/golive.js +285 -0
  37. package/dist/commands/golive.js.map +1 -0
  38. package/dist/commands/id-accounts.d.ts +13 -0
  39. package/dist/commands/id-accounts.js +195 -0
  40. package/dist/commands/id-accounts.js.map +1 -0
  41. package/dist/commands/import-better-auth.d.ts +3 -0
  42. package/dist/commands/import-better-auth.js +164 -0
  43. package/dist/commands/import-better-auth.js.map +1 -0
  44. package/dist/commands/import.d.ts +3 -0
  45. package/dist/commands/import.js +123 -0
  46. package/dist/commands/import.js.map +1 -0
  47. package/dist/commands/info.d.ts +75 -0
  48. package/dist/commands/info.js +362 -0
  49. package/dist/commands/info.js.map +1 -0
  50. package/dist/commands/init.d.ts +3 -0
  51. package/dist/commands/init.js +438 -0
  52. package/dist/commands/init.js.map +1 -0
  53. package/dist/commands/integrations.d.ts +8 -0
  54. package/dist/commands/integrations.js +112 -0
  55. package/dist/commands/integrations.js.map +1 -0
  56. package/dist/commands/listen.d.ts +17 -0
  57. package/dist/commands/listen.js +223 -0
  58. package/dist/commands/listen.js.map +1 -0
  59. package/dist/commands/mcp.d.ts +38 -0
  60. package/dist/commands/mcp.js +111 -0
  61. package/dist/commands/mcp.js.map +1 -0
  62. package/dist/commands/migrate.d.ts +16 -0
  63. package/dist/commands/migrate.js +114 -0
  64. package/dist/commands/migrate.js.map +1 -0
  65. package/dist/commands/move-origin.d.ts +11 -0
  66. package/dist/commands/move-origin.js +95 -0
  67. package/dist/commands/move-origin.js.map +1 -0
  68. package/dist/commands/operator.d.ts +18 -0
  69. package/dist/commands/operator.js +238 -0
  70. package/dist/commands/operator.js.map +1 -0
  71. package/dist/commands/orgs.d.ts +4 -0
  72. package/dist/commands/orgs.js +72 -0
  73. package/dist/commands/orgs.js.map +1 -0
  74. package/dist/commands/pages.d.ts +14 -0
  75. package/dist/commands/pages.js +113 -0
  76. package/dist/commands/pages.js.map +1 -0
  77. package/dist/commands/partner-platforms.d.ts +10 -0
  78. package/dist/commands/partner-platforms.js +157 -0
  79. package/dist/commands/partner-platforms.js.map +1 -0
  80. package/dist/commands/project-commands.d.ts +38 -0
  81. package/dist/commands/project-commands.js +361 -0
  82. package/dist/commands/project-commands.js.map +1 -0
  83. package/dist/commands/referrals.d.ts +69 -0
  84. package/dist/commands/referrals.js +1056 -0
  85. package/dist/commands/referrals.js.map +1 -0
  86. package/dist/commands/resources.d.ts +44 -0
  87. package/dist/commands/resources.js +234 -0
  88. package/dist/commands/resources.js.map +1 -0
  89. package/dist/commands/sessions.d.ts +4 -0
  90. package/dist/commands/sessions.js +28 -0
  91. package/dist/commands/sessions.js.map +1 -0
  92. package/dist/commands/shared.d.ts +38 -0
  93. package/dist/commands/shared.js +69 -0
  94. package/dist/commands/shared.js.map +1 -0
  95. package/dist/commands/status.d.ts +3 -0
  96. package/dist/commands/status.js +77 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/commands/users.d.ts +4 -0
  99. package/dist/commands/users.js +100 -0
  100. package/dist/commands/users.js.map +1 -0
  101. package/dist/commands/webhooks.d.ts +34 -0
  102. package/dist/commands/webhooks.js +301 -0
  103. package/dist/commands/webhooks.js.map +1 -0
  104. package/dist/config-http.d.ts +29 -0
  105. package/dist/config-http.js +64 -0
  106. package/dist/config-http.js.map +1 -0
  107. package/dist/config.d.ts +64 -0
  108. package/dist/config.js +69 -0
  109. package/dist/config.js.map +1 -0
  110. package/dist/context.d.ts +72 -0
  111. package/dist/context.js +27 -0
  112. package/dist/context.js.map +1 -0
  113. package/dist/define-config.d.ts +9 -0
  114. package/dist/define-config.js +8 -0
  115. package/dist/define-config.js.map +1 -0
  116. package/dist/errors.d.ts +15 -0
  117. package/dist/errors.js +25 -0
  118. package/dist/errors.js.map +1 -0
  119. package/dist/help.d.ts +8 -0
  120. package/dist/help.js +868 -0
  121. package/dist/help.js.map +1 -0
  122. package/dist/import/csv.d.ts +6 -0
  123. package/dist/import/csv.js +63 -0
  124. package/dist/import/csv.js.map +1 -0
  125. package/dist/import/vendors.d.ts +57 -0
  126. package/dist/import/vendors.js +568 -0
  127. package/dist/import/vendors.js.map +1 -0
  128. package/dist/index.d.ts +33 -0
  129. package/dist/index.js +81 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/io.d.ts +21 -0
  132. package/dist/io.js +28 -0
  133. package/dist/io.js.map +1 -0
  134. package/dist/migrate/appwrite/plugin.d.ts +2 -0
  135. package/dist/migrate/appwrite/plugin.js +103 -0
  136. package/dist/migrate/appwrite/plugin.js.map +1 -0
  137. package/dist/migrate/auth0/plugin.d.ts +2 -0
  138. package/dist/migrate/auth0/plugin.js +126 -0
  139. package/dist/migrate/auth0/plugin.js.map +1 -0
  140. package/dist/migrate/authentik/plugin.d.ts +2 -0
  141. package/dist/migrate/authentik/plugin.js +135 -0
  142. package/dist/migrate/authentik/plugin.js.map +1 -0
  143. package/dist/migrate/azure-ad-b2c/plugin.d.ts +8 -0
  144. package/dist/migrate/azure-ad-b2c/plugin.js +165 -0
  145. package/dist/migrate/azure-ad-b2c/plugin.js.map +1 -0
  146. package/dist/migrate/better-auth/integration.d.ts +59 -0
  147. package/dist/migrate/better-auth/integration.js +81 -0
  148. package/dist/migrate/better-auth/integration.js.map +1 -0
  149. package/dist/migrate/better-auth/orchestrator.d.ts +43 -0
  150. package/dist/migrate/better-auth/orchestrator.js +525 -0
  151. package/dist/migrate/better-auth/orchestrator.js.map +1 -0
  152. package/dist/migrate/better-auth/output.d.ts +20 -0
  153. package/dist/migrate/better-auth/output.js +146 -0
  154. package/dist/migrate/better-auth/output.js.map +1 -0
  155. package/dist/migrate/better-auth/translate.d.ts +77 -0
  156. package/dist/migrate/better-auth/translate.js +1989 -0
  157. package/dist/migrate/better-auth/translate.js.map +1 -0
  158. package/dist/migrate/clerk/plugin.d.ts +2 -0
  159. package/dist/migrate/clerk/plugin.js +76 -0
  160. package/dist/migrate/clerk/plugin.js.map +1 -0
  161. package/dist/migrate/cognito/plugin.d.ts +5 -0
  162. package/dist/migrate/cognito/plugin.js +170 -0
  163. package/dist/migrate/cognito/plugin.js.map +1 -0
  164. package/dist/migrate/corbado/plugin.d.ts +2 -0
  165. package/dist/migrate/corbado/plugin.js +63 -0
  166. package/dist/migrate/corbado/plugin.js.map +1 -0
  167. package/dist/migrate/descope/plugin.d.ts +2 -0
  168. package/dist/migrate/descope/plugin.js +83 -0
  169. package/dist/migrate/descope/plugin.js.map +1 -0
  170. package/dist/migrate/entra-external-id/plugin.d.ts +8 -0
  171. package/dist/migrate/entra-external-id/plugin.js +12 -0
  172. package/dist/migrate/entra-external-id/plugin.js.map +1 -0
  173. package/dist/migrate/export/appwrite-config.d.ts +28 -0
  174. package/dist/migrate/export/appwrite-config.js +170 -0
  175. package/dist/migrate/export/appwrite-config.js.map +1 -0
  176. package/dist/migrate/export/appwrite.d.ts +51 -0
  177. package/dist/migrate/export/appwrite.js +288 -0
  178. package/dist/migrate/export/appwrite.js.map +1 -0
  179. package/dist/migrate/export/auth0-config.d.ts +29 -0
  180. package/dist/migrate/export/auth0-config.js +249 -0
  181. package/dist/migrate/export/auth0-config.js.map +1 -0
  182. package/dist/migrate/export/auth0.d.ts +62 -0
  183. package/dist/migrate/export/auth0.js +575 -0
  184. package/dist/migrate/export/auth0.js.map +1 -0
  185. package/dist/migrate/export/authentik-config.d.ts +45 -0
  186. package/dist/migrate/export/authentik-config.js +357 -0
  187. package/dist/migrate/export/authentik-config.js.map +1 -0
  188. package/dist/migrate/export/authentik.d.ts +110 -0
  189. package/dist/migrate/export/authentik.js +838 -0
  190. package/dist/migrate/export/authentik.js.map +1 -0
  191. package/dist/migrate/export/azure-config.d.ts +58 -0
  192. package/dist/migrate/export/azure-config.js +344 -0
  193. package/dist/migrate/export/azure-config.js.map +1 -0
  194. package/dist/migrate/export/azure.d.ts +85 -0
  195. package/dist/migrate/export/azure.js +373 -0
  196. package/dist/migrate/export/azure.js.map +1 -0
  197. package/dist/migrate/export/clerk-config.d.ts +26 -0
  198. package/dist/migrate/export/clerk-config.js +227 -0
  199. package/dist/migrate/export/clerk-config.js.map +1 -0
  200. package/dist/migrate/export/clerk.d.ts +46 -0
  201. package/dist/migrate/export/clerk.js +486 -0
  202. package/dist/migrate/export/clerk.js.map +1 -0
  203. package/dist/migrate/export/cognito-config.d.ts +25 -0
  204. package/dist/migrate/export/cognito-config.js +273 -0
  205. package/dist/migrate/export/cognito-config.js.map +1 -0
  206. package/dist/migrate/export/cognito.d.ts +103 -0
  207. package/dist/migrate/export/cognito.js +441 -0
  208. package/dist/migrate/export/cognito.js.map +1 -0
  209. package/dist/migrate/export/corbado-config.d.ts +20 -0
  210. package/dist/migrate/export/corbado-config.js +63 -0
  211. package/dist/migrate/export/corbado-config.js.map +1 -0
  212. package/dist/migrate/export/corbado.d.ts +37 -0
  213. package/dist/migrate/export/corbado.js +132 -0
  214. package/dist/migrate/export/corbado.js.map +1 -0
  215. package/dist/migrate/export/descope.d.ts +35 -0
  216. package/dist/migrate/export/descope.js +208 -0
  217. package/dist/migrate/export/descope.js.map +1 -0
  218. package/dist/migrate/export/fake-vendor.test-helper.d.ts +27 -0
  219. package/dist/migrate/export/fake-vendor.test-helper.js +41 -0
  220. package/dist/migrate/export/fake-vendor.test-helper.js.map +1 -0
  221. package/dist/migrate/export/firebase-config.d.ts +24 -0
  222. package/dist/migrate/export/firebase-config.js +215 -0
  223. package/dist/migrate/export/firebase-config.js.map +1 -0
  224. package/dist/migrate/export/firebase.d.ts +102 -0
  225. package/dist/migrate/export/firebase.js +464 -0
  226. package/dist/migrate/export/firebase.js.map +1 -0
  227. package/dist/migrate/export/frameworks/app-users.d.ts +42 -0
  228. package/dist/migrate/export/frameworks/app-users.js +161 -0
  229. package/dist/migrate/export/frameworks/app-users.js.map +1 -0
  230. package/dist/migrate/export/frameworks/authjs.d.ts +41 -0
  231. package/dist/migrate/export/frameworks/authjs.js +146 -0
  232. package/dist/migrate/export/frameworks/authjs.js.map +1 -0
  233. package/dist/migrate/export/frameworks/devise.d.ts +39 -0
  234. package/dist/migrate/export/frameworks/devise.js +218 -0
  235. package/dist/migrate/export/frameworks/devise.js.map +1 -0
  236. package/dist/migrate/export/frameworks/django.d.ts +45 -0
  237. package/dist/migrate/export/frameworks/django.js +315 -0
  238. package/dist/migrate/export/frameworks/django.js.map +1 -0
  239. package/dist/migrate/export/frameworks/lucia.d.ts +42 -0
  240. package/dist/migrate/export/frameworks/lucia.js +263 -0
  241. package/dist/migrate/export/frameworks/lucia.js.map +1 -0
  242. package/dist/migrate/export/frameworks/tables.d.ts +90 -0
  243. package/dist/migrate/export/frameworks/tables.js +325 -0
  244. package/dist/migrate/export/frameworks/tables.js.map +1 -0
  245. package/dist/migrate/export/frameworks/webauthn.d.ts +25 -0
  246. package/dist/migrate/export/frameworks/webauthn.js +130 -0
  247. package/dist/migrate/export/frameworks/webauthn.js.map +1 -0
  248. package/dist/migrate/export/frontegg-config.d.ts +29 -0
  249. package/dist/migrate/export/frontegg-config.js +238 -0
  250. package/dist/migrate/export/frontegg-config.js.map +1 -0
  251. package/dist/migrate/export/frontegg.d.ts +67 -0
  252. package/dist/migrate/export/frontegg.js +410 -0
  253. package/dist/migrate/export/frontegg.js.map +1 -0
  254. package/dist/migrate/export/fusionauth-config.d.ts +26 -0
  255. package/dist/migrate/export/fusionauth-config.js +226 -0
  256. package/dist/migrate/export/fusionauth-config.js.map +1 -0
  257. package/dist/migrate/export/fusionauth.d.ts +99 -0
  258. package/dist/migrate/export/fusionauth.js +642 -0
  259. package/dist/migrate/export/fusionauth.js.map +1 -0
  260. package/dist/migrate/export/hanko-config.d.ts +27 -0
  261. package/dist/migrate/export/hanko-config.js +265 -0
  262. package/dist/migrate/export/hanko-config.js.map +1 -0
  263. package/dist/migrate/export/hanko.d.ts +52 -0
  264. package/dist/migrate/export/hanko.js +605 -0
  265. package/dist/migrate/export/hanko.js.map +1 -0
  266. package/dist/migrate/export/keycloak-config.d.ts +19 -0
  267. package/dist/migrate/export/keycloak-config.js +219 -0
  268. package/dist/migrate/export/keycloak-config.js.map +1 -0
  269. package/dist/migrate/export/keycloak.d.ts +155 -0
  270. package/dist/migrate/export/keycloak.js +878 -0
  271. package/dist/migrate/export/keycloak.js.map +1 -0
  272. package/dist/migrate/export/kinde-descope-config.d.ts +38 -0
  273. package/dist/migrate/export/kinde-descope-config.js +172 -0
  274. package/dist/migrate/export/kinde-descope-config.js.map +1 -0
  275. package/dist/migrate/export/kinde.d.ts +57 -0
  276. package/dist/migrate/export/kinde.js +333 -0
  277. package/dist/migrate/export/kinde.js.map +1 -0
  278. package/dist/migrate/export/ldap.d.ts +53 -0
  279. package/dist/migrate/export/ldap.js +277 -0
  280. package/dist/migrate/export/ldap.js.map +1 -0
  281. package/dist/migrate/export/logto-config.d.ts +27 -0
  282. package/dist/migrate/export/logto-config.js +264 -0
  283. package/dist/migrate/export/logto-config.js.map +1 -0
  284. package/dist/migrate/export/logto.d.ts +150 -0
  285. package/dist/migrate/export/logto.js +809 -0
  286. package/dist/migrate/export/logto.js.map +1 -0
  287. package/dist/migrate/export/magic-config.d.ts +14 -0
  288. package/dist/migrate/export/magic-config.js +28 -0
  289. package/dist/migrate/export/magic-config.js.map +1 -0
  290. package/dist/migrate/export/magic.d.ts +31 -0
  291. package/dist/migrate/export/magic.js +93 -0
  292. package/dist/migrate/export/magic.js.map +1 -0
  293. package/dist/migrate/export/mini-yaml.d.ts +19 -0
  294. package/dist/migrate/export/mini-yaml.js +581 -0
  295. package/dist/migrate/export/mini-yaml.js.map +1 -0
  296. package/dist/migrate/export/nhost-config.d.ts +26 -0
  297. package/dist/migrate/export/nhost-config.js +360 -0
  298. package/dist/migrate/export/nhost-config.js.map +1 -0
  299. package/dist/migrate/export/nhost.d.ts +64 -0
  300. package/dist/migrate/export/nhost.js +304 -0
  301. package/dist/migrate/export/nhost.js.map +1 -0
  302. package/dist/migrate/export/okta-config.d.ts +30 -0
  303. package/dist/migrate/export/okta-config.js +205 -0
  304. package/dist/migrate/export/okta-config.js.map +1 -0
  305. package/dist/migrate/export/okta.d.ts +43 -0
  306. package/dist/migrate/export/okta.js +337 -0
  307. package/dist/migrate/export/okta.js.map +1 -0
  308. package/dist/migrate/export/onelogin.d.ts +22 -0
  309. package/dist/migrate/export/onelogin.js +123 -0
  310. package/dist/migrate/export/onelogin.js.map +1 -0
  311. package/dist/migrate/export/ory-config.d.ts +58 -0
  312. package/dist/migrate/export/ory-config.js +451 -0
  313. package/dist/migrate/export/ory-config.js.map +1 -0
  314. package/dist/migrate/export/ory.d.ts +81 -0
  315. package/dist/migrate/export/ory.js +555 -0
  316. package/dist/migrate/export/ory.js.map +1 -0
  317. package/dist/migrate/export/password-detect.d.ts +29 -0
  318. package/dist/migrate/export/password-detect.js +81 -0
  319. package/dist/migrate/export/password-detect.js.map +1 -0
  320. package/dist/migrate/export/pingone.d.ts +36 -0
  321. package/dist/migrate/export/pingone.js +218 -0
  322. package/dist/migrate/export/pingone.js.map +1 -0
  323. package/dist/migrate/export/plugin-kit.d.ts +25 -0
  324. package/dist/migrate/export/plugin-kit.js +82 -0
  325. package/dist/migrate/export/plugin-kit.js.map +1 -0
  326. package/dist/migrate/export/pocketbase-config.d.ts +28 -0
  327. package/dist/migrate/export/pocketbase-config.js +180 -0
  328. package/dist/migrate/export/pocketbase-config.js.map +1 -0
  329. package/dist/migrate/export/pocketbase.d.ts +52 -0
  330. package/dist/migrate/export/pocketbase.js +243 -0
  331. package/dist/migrate/export/pocketbase.js.map +1 -0
  332. package/dist/migrate/export/project-files.d.ts +15 -0
  333. package/dist/migrate/export/project-files.js +43 -0
  334. package/dist/migrate/export/project-files.js.map +1 -0
  335. package/dist/migrate/export/propelauth-config.d.ts +18 -0
  336. package/dist/migrate/export/propelauth-config.js +58 -0
  337. package/dist/migrate/export/propelauth-config.js.map +1 -0
  338. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +62 -0
  339. package/dist/migrate/export/propelauth-harness.test-helper.js +109 -0
  340. package/dist/migrate/export/propelauth-harness.test-helper.js.map +1 -0
  341. package/dist/migrate/export/propelauth.d.ts +48 -0
  342. package/dist/migrate/export/propelauth.js +255 -0
  343. package/dist/migrate/export/propelauth.js.map +1 -0
  344. package/dist/migrate/export/record-set.d.ts +44 -0
  345. package/dist/migrate/export/record-set.js +98 -0
  346. package/dist/migrate/export/record-set.js.map +1 -0
  347. package/dist/migrate/export/source-lines.d.ts +17 -0
  348. package/dist/migrate/export/source-lines.js +43 -0
  349. package/dist/migrate/export/source-lines.js.map +1 -0
  350. package/dist/migrate/export/sso-metadata.d.ts +47 -0
  351. package/dist/migrate/export/sso-metadata.js +180 -0
  352. package/dist/migrate/export/sso-metadata.js.map +1 -0
  353. package/dist/migrate/export/stytch-config.d.ts +22 -0
  354. package/dist/migrate/export/stytch-config.js +102 -0
  355. package/dist/migrate/export/stytch-config.js.map +1 -0
  356. package/dist/migrate/export/stytch.d.ts +68 -0
  357. package/dist/migrate/export/stytch.js +510 -0
  358. package/dist/migrate/export/stytch.js.map +1 -0
  359. package/dist/migrate/export/supabase-config.d.ts +48 -0
  360. package/dist/migrate/export/supabase-config.js +408 -0
  361. package/dist/migrate/export/supabase-config.js.map +1 -0
  362. package/dist/migrate/export/supabase.d.ts +86 -0
  363. package/dist/migrate/export/supabase.js +524 -0
  364. package/dist/migrate/export/supabase.js.map +1 -0
  365. package/dist/migrate/export/supertokens-config.d.ts +20 -0
  366. package/dist/migrate/export/supertokens-config.js +150 -0
  367. package/dist/migrate/export/supertokens-config.js.map +1 -0
  368. package/dist/migrate/export/supertokens.d.ts +125 -0
  369. package/dist/migrate/export/supertokens.js +464 -0
  370. package/dist/migrate/export/supertokens.js.map +1 -0
  371. package/dist/migrate/export/table.d.ts +35 -0
  372. package/dist/migrate/export/table.js +248 -0
  373. package/dist/migrate/export/table.js.map +1 -0
  374. package/dist/migrate/export/translate-kit.d.ts +46 -0
  375. package/dist/migrate/export/translate-kit.js +148 -0
  376. package/dist/migrate/export/translate-kit.js.map +1 -0
  377. package/dist/migrate/export/userfront-config.d.ts +15 -0
  378. package/dist/migrate/export/userfront-config.js +49 -0
  379. package/dist/migrate/export/userfront-config.js.map +1 -0
  380. package/dist/migrate/export/userfront.d.ts +38 -0
  381. package/dist/migrate/export/userfront.js +189 -0
  382. package/dist/migrate/export/userfront.js.map +1 -0
  383. package/dist/migrate/export/vendor-http.d.ts +46 -0
  384. package/dist/migrate/export/vendor-http.js +138 -0
  385. package/dist/migrate/export/vendor-http.js.map +1 -0
  386. package/dist/migrate/export/workos-config.d.ts +23 -0
  387. package/dist/migrate/export/workos-config.js +125 -0
  388. package/dist/migrate/export/workos-config.js.map +1 -0
  389. package/dist/migrate/export/workos.d.ts +46 -0
  390. package/dist/migrate/export/workos.js +272 -0
  391. package/dist/migrate/export/workos.js.map +1 -0
  392. package/dist/migrate/export/zip.d.ts +8 -0
  393. package/dist/migrate/export/zip.js +66 -0
  394. package/dist/migrate/export/zip.js.map +1 -0
  395. package/dist/migrate/export/zitadel-config.d.ts +37 -0
  396. package/dist/migrate/export/zitadel-config.js +279 -0
  397. package/dist/migrate/export/zitadel-config.js.map +1 -0
  398. package/dist/migrate/export/zitadel.d.ts +82 -0
  399. package/dist/migrate/export/zitadel.js +447 -0
  400. package/dist/migrate/export/zitadel.js.map +1 -0
  401. package/dist/migrate/firebase/plugin.d.ts +2 -0
  402. package/dist/migrate/firebase/plugin.js +152 -0
  403. package/dist/migrate/firebase/plugin.js.map +1 -0
  404. package/dist/migrate/framework/builtins.d.ts +2 -0
  405. package/dist/migrate/framework/builtins.js +52 -0
  406. package/dist/migrate/framework/builtins.js.map +1 -0
  407. package/dist/migrate/framework/commands.d.ts +20 -0
  408. package/dist/migrate/framework/commands.js +58 -0
  409. package/dist/migrate/framework/commands.js.map +1 -0
  410. package/dist/migrate/framework/custom.d.ts +12 -0
  411. package/dist/migrate/framework/custom.js +96 -0
  412. package/dist/migrate/framework/custom.js.map +1 -0
  413. package/dist/migrate/framework/orchestrator.d.ts +113 -0
  414. package/dist/migrate/framework/orchestrator.js +532 -0
  415. package/dist/migrate/framework/orchestrator.js.map +1 -0
  416. package/dist/migrate/framework/plugin.d.ts +167 -0
  417. package/dist/migrate/framework/plugin.js +3 -0
  418. package/dist/migrate/framework/plugin.js.map +1 -0
  419. package/dist/migrate/framework/registry.d.ts +11 -0
  420. package/dist/migrate/framework/registry.js +44 -0
  421. package/dist/migrate/framework/registry.js.map +1 -0
  422. package/dist/migrate/framework/report.d.ts +17 -0
  423. package/dist/migrate/framework/report.js +103 -0
  424. package/dist/migrate/framework/report.js.map +1 -0
  425. package/dist/migrate/frameworks/plugins.d.ts +29 -0
  426. package/dist/migrate/frameworks/plugins.js +402 -0
  427. package/dist/migrate/frameworks/plugins.js.map +1 -0
  428. package/dist/migrate/frameworks/report.d.ts +92 -0
  429. package/dist/migrate/frameworks/report.js +207 -0
  430. package/dist/migrate/frameworks/report.js.map +1 -0
  431. package/dist/migrate/frameworks/translate-js.d.ts +5 -0
  432. package/dist/migrate/frameworks/translate-js.js +503 -0
  433. package/dist/migrate/frameworks/translate-js.js.map +1 -0
  434. package/dist/migrate/frameworks/translate-rails-django.d.ts +3 -0
  435. package/dist/migrate/frameworks/translate-rails-django.js +1391 -0
  436. package/dist/migrate/frameworks/translate-rails-django.js.map +1 -0
  437. package/dist/migrate/frontegg/plugin.d.ts +2 -0
  438. package/dist/migrate/frontegg/plugin.js +78 -0
  439. package/dist/migrate/frontegg/plugin.js.map +1 -0
  440. package/dist/migrate/fusionauth/plugin.d.ts +2 -0
  441. package/dist/migrate/fusionauth/plugin.js +109 -0
  442. package/dist/migrate/fusionauth/plugin.js.map +1 -0
  443. package/dist/migrate/hanko/plugin.d.ts +2 -0
  444. package/dist/migrate/hanko/plugin.js +100 -0
  445. package/dist/migrate/hanko/plugin.js.map +1 -0
  446. package/dist/migrate/keycloak/plugin.d.ts +2 -0
  447. package/dist/migrate/keycloak/plugin.js +148 -0
  448. package/dist/migrate/keycloak/plugin.js.map +1 -0
  449. package/dist/migrate/kinde/plugin.d.ts +2 -0
  450. package/dist/migrate/kinde/plugin.js +105 -0
  451. package/dist/migrate/kinde/plugin.js.map +1 -0
  452. package/dist/migrate/ldap/plugin.d.ts +2 -0
  453. package/dist/migrate/ldap/plugin.js +73 -0
  454. package/dist/migrate/ldap/plugin.js.map +1 -0
  455. package/dist/migrate/logto/plugin.d.ts +2 -0
  456. package/dist/migrate/logto/plugin.js +131 -0
  457. package/dist/migrate/logto/plugin.js.map +1 -0
  458. package/dist/migrate/magic/plugin.d.ts +2 -0
  459. package/dist/migrate/magic/plugin.js +56 -0
  460. package/dist/migrate/magic/plugin.js.map +1 -0
  461. package/dist/migrate/nhost/plugin.d.ts +2 -0
  462. package/dist/migrate/nhost/plugin.js +115 -0
  463. package/dist/migrate/nhost/plugin.js.map +1 -0
  464. package/dist/migrate/oidc/plugin.d.ts +2 -0
  465. package/dist/migrate/oidc/plugin.js +73 -0
  466. package/dist/migrate/oidc/plugin.js.map +1 -0
  467. package/dist/migrate/okta/plugin.d.ts +2 -0
  468. package/dist/migrate/okta/plugin.js +105 -0
  469. package/dist/migrate/okta/plugin.js.map +1 -0
  470. package/dist/migrate/onelogin/plugin.d.ts +2 -0
  471. package/dist/migrate/onelogin/plugin.js +61 -0
  472. package/dist/migrate/onelogin/plugin.js.map +1 -0
  473. package/dist/migrate/ory/plugin.d.ts +2 -0
  474. package/dist/migrate/ory/plugin.js +186 -0
  475. package/dist/migrate/ory/plugin.js.map +1 -0
  476. package/dist/migrate/ping-identity/plugin.d.ts +2 -0
  477. package/dist/migrate/ping-identity/plugin.js +100 -0
  478. package/dist/migrate/ping-identity/plugin.js.map +1 -0
  479. package/dist/migrate/pocketbase/plugin.d.ts +2 -0
  480. package/dist/migrate/pocketbase/plugin.js +99 -0
  481. package/dist/migrate/pocketbase/plugin.js.map +1 -0
  482. package/dist/migrate/propelauth/plugin.d.ts +2 -0
  483. package/dist/migrate/propelauth/plugin.js +65 -0
  484. package/dist/migrate/propelauth/plugin.js.map +1 -0
  485. package/dist/migrate/saml/plugin.d.ts +2 -0
  486. package/dist/migrate/saml/plugin.js +79 -0
  487. package/dist/migrate/saml/plugin.js.map +1 -0
  488. package/dist/migrate/stytch/plugin.d.ts +2 -0
  489. package/dist/migrate/stytch/plugin.js +97 -0
  490. package/dist/migrate/stytch/plugin.js.map +1 -0
  491. package/dist/migrate/supabase/plugin.d.ts +2 -0
  492. package/dist/migrate/supabase/plugin.js +149 -0
  493. package/dist/migrate/supabase/plugin.js.map +1 -0
  494. package/dist/migrate/supertokens/plugin.d.ts +2 -0
  495. package/dist/migrate/supertokens/plugin.js +114 -0
  496. package/dist/migrate/supertokens/plugin.js.map +1 -0
  497. package/dist/migrate/user-table/plugin.d.ts +2 -0
  498. package/dist/migrate/user-table/plugin.js +62 -0
  499. package/dist/migrate/user-table/plugin.js.map +1 -0
  500. package/dist/migrate/userfront/plugin.d.ts +2 -0
  501. package/dist/migrate/userfront/plugin.js +60 -0
  502. package/dist/migrate/userfront/plugin.js.map +1 -0
  503. package/dist/migrate/workos/plugin.d.ts +2 -0
  504. package/dist/migrate/workos/plugin.js +81 -0
  505. package/dist/migrate/workos/plugin.js.map +1 -0
  506. package/dist/migrate/zitadel/plugin.d.ts +2 -0
  507. package/dist/migrate/zitadel/plugin.js +114 -0
  508. package/dist/migrate/zitadel/plugin.js.map +1 -0
  509. package/dist/output.d.ts +41 -0
  510. package/dist/output.js +72 -0
  511. package/dist/output.js.map +1 -0
  512. package/dist/project.d.ts +64 -0
  513. package/dist/project.js +86 -0
  514. package/dist/project.js.map +1 -0
  515. package/dist/prompt.d.ts +15 -0
  516. package/dist/prompt.js +46 -0
  517. package/dist/prompt.js.map +1 -0
  518. package/dist/run.d.ts +12 -0
  519. package/dist/run.js +157 -0
  520. package/dist/run.js.map +1 -0
  521. package/dist/secrets.d.ts +41 -0
  522. package/dist/secrets.js +142 -0
  523. package/dist/secrets.js.map +1 -0
  524. package/dist/serialize.d.ts +30 -0
  525. package/dist/serialize.js +131 -0
  526. package/dist/serialize.js.map +1 -0
  527. package/dist/version.d.ts +7 -0
  528. package/dist/version.js +21 -0
  529. package/dist/version.js.map +1 -0
  530. package/package.json +3 -3
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCognitoConfig = fetchCognitoConfig;
4
+ exports.validityMs = validityMs;
5
+ exports.translateCognitoConfig = translateCognitoConfig;
6
+ const record_set_1 = require("./record-set");
7
+ const translate_kit_1 = require("./translate-kit");
8
+ const vendor_http_1 = require("./vendor-http");
9
+ async function fetchCognitoConfig(api, poolId, region) {
10
+ const soft = async (fn, fallback) => {
11
+ try {
12
+ return await fn();
13
+ }
14
+ catch (err) {
15
+ if (err instanceof vendor_http_1.VendorApiError && (err.status === 400 || err.status === 403) && !/ResourceNotFound/.test(err.message))
16
+ return fallback;
17
+ throw err;
18
+ }
19
+ };
20
+ const described = await api.call('DescribeUserPool', { UserPoolId: poolId });
21
+ const pool = (0, record_set_1.isObj)(described.UserPool) ? described.UserPool : {};
22
+ const clients = [];
23
+ for (const c of await soft(() => api.all('ListUserPoolClients', { UserPoolId: poolId, MaxResults: 60 }, 'UserPoolClients', 'NextToken'), [])) {
24
+ const id = (0, record_set_1.str)(c.ClientId);
25
+ if (!id)
26
+ continue;
27
+ const res = await api.call('DescribeUserPoolClient', { UserPoolId: poolId, ClientId: id });
28
+ if ((0, record_set_1.isObj)(res.UserPoolClient))
29
+ clients.push(res.UserPoolClient);
30
+ }
31
+ const idps = [];
32
+ for (const p of await soft(() => api.all('ListIdentityProviders', { UserPoolId: poolId, MaxResults: 60 }, 'Providers', 'NextToken'), [])) {
33
+ const name = (0, record_set_1.str)(p.ProviderName);
34
+ if (!name)
35
+ continue;
36
+ const res = await api.call('DescribeIdentityProvider', { UserPoolId: poolId, ProviderName: name });
37
+ if ((0, record_set_1.isObj)(res.IdentityProvider))
38
+ idps.push(res.IdentityProvider);
39
+ }
40
+ return {
41
+ poolId,
42
+ region,
43
+ pool,
44
+ clients,
45
+ idps,
46
+ resourceServers: await soft(() => api.all('ListResourceServers', { UserPoolId: poolId, MaxResults: 50 }, 'ResourceServers', 'NextToken'), []),
47
+ groups: await soft(() => api.all('ListGroups', { UserPoolId: poolId, Limit: 60 }, 'Groups', 'NextToken'), []),
48
+ };
49
+ }
50
+ /** Cognito social provider types → Atlas built-in provider keys. */
51
+ const SOCIAL = { Google: 'google', Facebook: 'facebook', SignInWithApple: 'apple', LoginWithAmazon: 'amazon' };
52
+ const UNIT_MS = { seconds: 1000, minutes: 60_000, hours: 3_600_000, days: 86_400_000 };
53
+ /** A client's token validity in ms (`RefreshTokenValidity` with `TokenValidityUnits.RefreshToken`). */
54
+ function validityMs(client, field) {
55
+ const value = client[`${field}Validity`];
56
+ if (typeof value !== 'number' || value <= 0)
57
+ return undefined;
58
+ const units = (0, record_set_1.isObj)(client.TokenValidityUnits) ? (0, record_set_1.str)(client.TokenValidityUnits[field]) : undefined;
59
+ return value * (UNIT_MS[units ?? (field === 'RefreshToken' ? 'days' : 'hours')] ?? UNIT_MS.hours);
60
+ }
61
+ /** Lambda trigger → the Atlas place its logic moves to. */
62
+ const TRIGGERS = {
63
+ PreSignUp: 'the pre_user_registration action',
64
+ PostConfirmation: 'the post_user_registration action',
65
+ PreAuthentication: 'a post_login action (deny there)',
66
+ PostAuthentication: 'a post_login action',
67
+ PreTokenGeneration: 'session claims / a JWT template',
68
+ PreTokenGenerationConfig: 'session claims / a JWT template',
69
+ UserMigration: 'nothing: Atlas lazy migration replaces it (it checks passwords against Cognito itself)',
70
+ CustomMessage: 'Atlas email and SMS templates',
71
+ DefineAuthChallenge: 'Atlas sign-in strategies (custom challenges have no counterpart)',
72
+ CreateAuthChallenge: 'Atlas sign-in strategies (custom challenges have no counterpart)',
73
+ VerifyAuthChallengeResponse: 'Atlas sign-in strategies (custom challenges have no counterpart)',
74
+ CustomEmailSender: 'Atlas email delivery settings (your own SMTP / provider)',
75
+ CustomSMSSender: 'Atlas SMS delivery settings',
76
+ InboundFederation: 'an SSO connection attribute mapping / a post_login action',
77
+ };
78
+ function translateCognitoConfig(snap) {
79
+ const b = new translate_kit_1.ConfigBuilder();
80
+ const pool = snap.pool;
81
+ const area = `user pool ${snap.poolId}`;
82
+ // ── sign-in identifiers ──
83
+ const usernameAttrs = (0, record_set_1.strs)(pool.UsernameAttributes);
84
+ const aliasAttrs = (0, record_set_1.strs)(pool.AliasAttributes);
85
+ const signInAttrs = new Set([...usernameAttrs, ...aliasAttrs]);
86
+ const firstFactors = (0, record_set_1.isObj)(pool.Policies) && (0, record_set_1.isObj)(pool.Policies.SignInPolicy) ? (0, record_set_1.strs)(pool.Policies.SignInPolicy.AllowedFirstAuthFactors) : [];
87
+ const passwordOn = !firstFactors.length || firstFactors.includes('PASSWORD');
88
+ if (passwordOn) {
89
+ b.set('strategies.password', true);
90
+ b.add('differs', area, 'Policies.SignInPolicy (PASSWORD)', 'Password sign-in. Cognito never exports password hashes: the cognito lazy-migration preset checks each password against Cognito on first sign-in.', 'auth_config.strategies.password');
91
+ }
92
+ if (!usernameAttrs.length || aliasAttrs.includes('preferred_username')) {
93
+ b.set('strategies.username', true);
94
+ b.add(usernameAttrs.length ? 'mapped' : 'differs', area, usernameAttrs.length ? 'AliasAttributes preferred_username' : 'UsernameAttributes (none: username pool)', usernameAttrs.length ? 'Sign-in with a preferred username.' : 'Users sign in with a username. Cognito usernames that are not the generated id move as Atlas usernames.', 'auth_config.strategies.username');
95
+ }
96
+ if (signInAttrs.has('email'))
97
+ b.add('mapped', area, usernameAttrs.includes('email') ? 'UsernameAttributes email' : 'AliasAttributes email', 'Sign-in with an email address.', 'auth_config.strategies.password');
98
+ if (signInAttrs.has('phone_number'))
99
+ b.add('differs', area, usernameAttrs.includes('phone_number') ? 'UsernameAttributes phone_number' : 'AliasAttributes phone_number', 'Phone numbers are a sign-in identifier: enable phone sign-in in Atlas (SMS code); a password with a phone number signs in through lazy migration.', 'auth_config.strategies.phoneCode');
100
+ if (firstFactors.includes('EMAIL_OTP')) {
101
+ b.set('strategies.emailCode', true);
102
+ b.add('mapped', area, 'Policies.SignInPolicy.AllowedFirstAuthFactors EMAIL_OTP', 'Passwordless email code.', 'auth_config.strategies.emailCode');
103
+ }
104
+ if (firstFactors.includes('SMS_OTP')) {
105
+ b.set('strategies.phoneCode', true);
106
+ b.add('mapped', area, 'Policies.SignInPolicy.AllowedFirstAuthFactors SMS_OTP', 'Passwordless SMS code.', 'auth_config.strategies.phoneCode');
107
+ }
108
+ if (firstFactors.includes('WEB_AUTHN')) {
109
+ b.set('strategies.passkey', true);
110
+ b.add('differs', area, 'Policies.SignInPolicy.AllowedFirstAuthFactors WEB_AUTHN', 'Passkeys. Cognito does not export credentials (and they are bound to the Cognito domain): users register a passkey again.', 'auth_config.strategies.passkey');
111
+ }
112
+ const caseSensitive = (0, record_set_1.isObj)(pool.UsernameConfiguration) ? pool.UsernameConfiguration.CaseSensitive : undefined;
113
+ if (caseSensitive === true)
114
+ b.add('differs', area, 'UsernameConfiguration.CaseSensitive', 'Cognito usernames are case sensitive; Atlas usernames and emails are case insensitive (two usernames differing only in case would collide).');
115
+ // ── verification ──
116
+ const autoVerified = (0, record_set_1.strs)(pool.AutoVerifiedAttributes);
117
+ if (autoVerified.includes('email')) {
118
+ b.set('requireEmailVerification', true);
119
+ b.add('mapped', area, 'AutoVerifiedAttributes email', 'Emails are verified by code at sign-up.', 'auth_config.requireEmailVerification');
120
+ }
121
+ if (autoVerified.includes('phone_number'))
122
+ b.add('mapped', area, 'AutoVerifiedAttributes phone_number', 'Phone numbers are verified by SMS code.', 'auth_config.strategies.phoneCode');
123
+ // ── self sign-up ──
124
+ const adminOnly = (0, record_set_1.isObj)(pool.AdminCreateUserConfig) && pool.AdminCreateUserConfig.AllowAdminCreateUserOnly === true;
125
+ if (adminOnly) {
126
+ b.set('signUpMode', 'restricted');
127
+ b.add('mapped', area, 'AdminCreateUserConfig.AllowAdminCreateUserOnly', 'Self sign-up is closed: users are created by an admin or invited.', 'auth_config.signUpMode');
128
+ }
129
+ // ── password policy ──
130
+ const pw = (0, record_set_1.isObj)(pool.Policies) && (0, record_set_1.isObj)(pool.Policies.PasswordPolicy) ? pool.Policies.PasswordPolicy : undefined;
131
+ if (pw) {
132
+ const min = typeof pw.MinimumLength === 'number' ? pw.MinimumLength : 8;
133
+ b.set('passwordPolicy.minLength', Math.max(8, min));
134
+ b.add(min < 8 ? 'differs' : 'mapped', area, 'Policies.PasswordPolicy.MinimumLength', `${min}${min < 8 ? ' (Atlas requires at least 8; existing passwords still sign in)' : ''}.`, 'auth_config.passwordPolicy.minLength');
135
+ if (['RequireUppercase', 'RequireLowercase', 'RequireNumbers', 'RequireSymbols'].some((k) => pw[k] === true)) {
136
+ b.set('passwordPolicy.checkBreaches', true);
137
+ b.add('differs', area, 'Policies.PasswordPolicy (character classes)', 'Atlas follows NIST 800-63B: length and breached-password checks instead of character-class rules.', 'auth_config.passwordPolicy');
138
+ }
139
+ if (typeof pw.TemporaryPasswordValidityDays === 'number')
140
+ b.add('manual', area, 'Policies.PasswordPolicy.TemporaryPasswordValidityDays', 'Atlas does not issue temporary passwords: invite users instead (invitations expire on their own).', 'invitations');
141
+ if (typeof pw.PasswordHistorySize === 'number' && pw.PasswordHistorySize > 0)
142
+ b.add('manual', area, 'Policies.PasswordPolicy.PasswordHistorySize', 'Atlas does not keep a password history.');
143
+ }
144
+ // ── MFA ──
145
+ const mfa = (0, record_set_1.str)(pool.MfaConfiguration);
146
+ const smsMfa = (0, record_set_1.isObj)(pool.SmsConfiguration);
147
+ if (mfa === 'ON') {
148
+ b.set('mfaPolicy', 'required');
149
+ b.add('mapped', area, 'MfaConfiguration ON', 'A second factor on every sign-in.', 'auth_config.mfaPolicy');
150
+ }
151
+ else if (mfa === 'OPTIONAL') {
152
+ b.set('mfaPolicy', 'optional');
153
+ b.add('mapped', area, 'MfaConfiguration OPTIONAL', 'Users may enrol a second factor.', 'auth_config.mfaPolicy');
154
+ }
155
+ if (mfa === 'ON' || mfa === 'OPTIONAL') {
156
+ b.set('mfa.factors.totp', true);
157
+ b.add('differs', area, 'SoftwareTokenMfaConfiguration', 'Authenticator apps. Cognito never exports TOTP secrets: users with one enrol again.', 'auth_config.mfa.factors.totp');
158
+ if (smsMfa)
159
+ b.add('differs', area, 'SmsMfaConfiguration', 'SMS second factors move with the export (the verified phone number); Atlas recommends TOTP or passkeys.', 'auth_config.mfa');
160
+ }
161
+ // ── advanced security ──
162
+ const security = (0, record_set_1.isObj)(pool.UserPoolAddOns) ? (0, record_set_1.str)(pool.UserPoolAddOns.AdvancedSecurityMode) : undefined;
163
+ if (security && security !== 'OFF')
164
+ b.add('differs', area, `UserPoolAddOns.AdvancedSecurityMode ${security}`, 'Cognito threat protection (compromised credentials, adaptive authentication): Atlas checks breached passwords and rate-limits sign-ins; review risk rules by hand.', 'auth_config.passwordPolicy.checkBreaches');
165
+ if ((0, record_set_1.str)(pool.DeletionProtection) === 'ACTIVE')
166
+ b.add('manual', area, 'DeletionProtection', 'Turn deletion protection off before you delete the pool after the cutover.');
167
+ // ── custom attributes ──
168
+ const custom = (0, record_set_1.objs)(pool.SchemaAttributes).filter((a) => (0, record_set_1.str)(a.Name)?.startsWith('custom:'));
169
+ if (custom.length)
170
+ b.add('differs', area, 'SchemaAttributes custom:*', `${custom.length} custom attribute(s) (${custom.map((a) => (0, record_set_1.str)(a.Name)).join(', ')}) move to each user's public_metadata without the custom: prefix. Atlas does not enforce their types; mutability per app client is not translated.`, 'users public_metadata');
171
+ // ── Lambda triggers ──
172
+ const lambdas = (0, record_set_1.isObj)(pool.LambdaConfig) ? pool.LambdaConfig : {};
173
+ for (const [trigger, value] of Object.entries(lambdas)) {
174
+ if (trigger === 'KMSKeyID' || (!(0, record_set_1.str)(value) && !(0, record_set_1.isObj)(value)))
175
+ continue;
176
+ const target = TRIGGERS[trigger];
177
+ b.add(trigger === 'UserMigration' ? 'differs' : 'manual', area, `LambdaConfig.${trigger}`, `Lambda trigger: port its logic to ${target ?? 'an Atlas action or webhook'}.`, trigger === 'UserMigration' ? 'legacy_auth_connection' : 'actions');
178
+ }
179
+ // ── app clients ──
180
+ const redirects = new Set();
181
+ let refreshMs;
182
+ let lazyClient;
183
+ let bridgeClient;
184
+ for (const c of snap.clients) {
185
+ const name = (0, record_set_1.str)(c.ClientName) ?? (0, record_set_1.str)(c.ClientId) ?? '?';
186
+ const carea = `app client ${name}`;
187
+ for (const u of (0, record_set_1.strs)(c.CallbackURLs))
188
+ redirects.add(u);
189
+ for (const u of (0, record_set_1.strs)(c.LogoutURLs))
190
+ redirects.add(u);
191
+ const r = validityMs(c, 'RefreshToken');
192
+ if (r !== undefined)
193
+ refreshMs = Math.max(refreshMs ?? 0, r);
194
+ const flows = (0, record_set_1.strs)(c.ExplicitAuthFlows);
195
+ const secret = !!(0, record_set_1.str)(c.ClientSecret);
196
+ // The bridge audience: the first public (browser / mobile) client, else the first one.
197
+ if (!secret)
198
+ bridgeClient ??= (0, record_set_1.str)(c.ClientId);
199
+ if (!secret && (flows.includes('ALLOW_USER_PASSWORD_AUTH') || flows.includes('USER_PASSWORD_AUTH')))
200
+ lazyClient ??= (0, record_set_1.str)(c.ClientId);
201
+ if ((0, record_set_1.strs)(c.AllowedOAuthFlows).includes('client_credentials'))
202
+ b.add('manual', carea, 'AllowedOAuthFlows client_credentials', 'A machine-to-machine client: create an Atlas M2M client for it.', 'oauth_clients');
203
+ if (flows.includes('ALLOW_CUSTOM_AUTH') || flows.includes('CUSTOM_AUTH_FLOW_ONLY'))
204
+ b.add('manual', carea, 'ExplicitAuthFlows ALLOW_CUSTOM_AUTH', 'Custom auth challenges (Lambda) have no Atlas counterpart: use passwordless email / SMS codes or passkeys.');
205
+ const idTtl = validityMs(c, 'IdToken');
206
+ if (idTtl !== undefined && idTtl !== 3_600_000)
207
+ b.add('differs', carea, 'IdTokenValidity', `ID tokens lived ${Math.round(idTtl / 60_000)} minutes. Atlas session tokens are short-lived (refreshed by the SDK) and the session lifetime is set instance-wide.`, 'auth_config.session');
208
+ for (const p of (0, record_set_1.strs)(c.SupportedIdentityProviders))
209
+ if (p !== 'COGNITO' && !snap.idps.some((i) => (0, record_set_1.str)(i.ProviderName) === p))
210
+ b.add('manual', carea, `SupportedIdentityProviders ${p}`, 'An identity provider the client allows that the pool does not describe.');
211
+ }
212
+ bridgeClient ??= (0, record_set_1.str)(snap.clients[0]?.ClientId);
213
+ if (snap.clients.length > 1)
214
+ b.add('differs', 'app clients', `${snap.clients.length} app clients`, `The bridge accepts ID tokens for one audience (${bridgeClient}); run it once per client whose users must move silently.`, 'migration bridge');
215
+ if (refreshMs !== undefined) {
216
+ b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(refreshMs));
217
+ b.add(refreshMs > 90 * 86_400_000 ? 'differs' : 'mapped', 'app clients', 'RefreshTokenValidity', `Users stayed signed in ${Math.round(refreshMs / 86_400_000)} day(s) (the longest client)${refreshMs > 90 * 86_400_000 ? '; Atlas sessions last at most 90 days' : ''}.`, 'auth_config.session.absoluteMs');
218
+ }
219
+ for (const url of redirects) {
220
+ if (url.includes('*'))
221
+ b.add('differs', 'app clients', `CallbackURLs ${url}`, 'Atlas redirect URLs are exact (no wildcards).', 'redirect_urls');
222
+ else
223
+ b.push('redirect_urls', { url });
224
+ }
225
+ if (redirects.size)
226
+ b.add('mapped', 'app clients', 'CallbackURLs / LogoutURLs', `${redirects.size} callback / sign-out URL(s).`, 'redirect_urls');
227
+ if (snap.clients.length && !lazyClient) {
228
+ b.add('manual', 'app clients', 'ExplicitAuthFlows ALLOW_USER_PASSWORD_AUTH', 'Lazy migration needs an app client WITHOUT a client secret that allows ALLOW_USER_PASSWORD_AUTH: create one (it is only used to check passwords) and pass its id to the lazy step.', 'legacy_auth_connection');
229
+ }
230
+ // ── identity providers ──
231
+ for (const idp of snap.idps) {
232
+ const name = (0, record_set_1.str)(idp.ProviderName) ?? '?';
233
+ const type = (0, record_set_1.str)(idp.ProviderType) ?? '';
234
+ const details = (0, record_set_1.isObj)(idp.ProviderDetails) ? idp.ProviderDetails : {};
235
+ if (type === 'SAML' || type === 'OIDC') {
236
+ b.add('mapped', 'identity providers', `${name} (${type})`, `Enterprise IdP: moves with the data export as an Atlas SSO connection; give the IdP Atlas's ${type === 'SAML' ? 'ACS URL and entity id' : 'redirect URI'}, and map its IdpIdentifiers to the connection's domains.`, 'sso_connections');
237
+ continue;
238
+ }
239
+ const key = SOCIAL[type];
240
+ if (!key) {
241
+ b.add('manual', 'identity providers', `${name} (${type})`, 'No built-in Atlas provider: add it as a custom OAuth provider.', 'custom_oauth_providers');
242
+ continue;
243
+ }
244
+ b.socialProvider({ atlasKey: key, vendorName: name, area: 'identity providers', setting: `${name} (${type})`, clientId: (0, record_set_1.str)(details.client_id), scopes: (0, record_set_1.str)(details.authorize_scopes)?.split(/[\s,]+/).filter(Boolean) });
245
+ }
246
+ // ── resource servers → APIs ──
247
+ for (const rs of snap.resourceServers) {
248
+ const identifier = (0, record_set_1.str)(rs.Identifier);
249
+ if (!identifier)
250
+ continue;
251
+ const scopes = (0, record_set_1.objs)(rs.Scopes).map((s) => (0, record_set_1.str)(s.ScopeName)).filter((s) => !!s);
252
+ b.push('resource_servers', { identifier, name: (0, record_set_1.str)(rs.Name) ?? identifier, scopes });
253
+ b.add('differs', `resource servers ${(0, record_set_1.str)(rs.Name) ?? identifier}`, `Identifier ${identifier}`, `An API with ${scopes.length} scope(s). Cognito scopes are "${identifier}/<scope>"; Atlas tokens carry the bare scope with "aud": "${identifier}".`, `resource_servers ${identifier}`);
254
+ }
255
+ // ── groups → roles ──
256
+ for (const g of snap.groups) {
257
+ const name = (0, record_set_1.str)(g.GroupName);
258
+ if (!name)
259
+ continue;
260
+ const key = (0, translate_kit_1.keyOf)(name);
261
+ b.roles[name] = key;
262
+ b.push('roles', { key, name, description: (0, record_set_1.str)(g.Description) ?? '', permissions: [] });
263
+ if ((0, record_set_1.str)(g.RoleArn))
264
+ b.add('manual', `groups ${name}`, 'RoleArn', 'The group grants an IAM role through an identity pool: Atlas does not issue AWS credentials; keep the identity pool with Atlas as an OIDC provider, or call STS from your backend.');
265
+ }
266
+ if (snap.groups.length)
267
+ b.add('differs', 'groups', 'groups', `${snap.groups.length} group(s) become Atlas app roles (memberships move with the data export); cognito:groups becomes the roles claim. Precedence is not translated.`, 'roles');
268
+ return b.result(`Cognito user pool ${snap.poolId}`, {
269
+ bridge: { preset: 'cognito', vars: { region: snap.region, user_pool_id: snap.poolId, ...(bridgeClient ? { client_id: bridgeClient } : {}) } },
270
+ lazy: { preset: 'cognito', config: { region: snap.region, user_pool_id: snap.poolId, ...(lazyClient ? { client_id: lazyClient } : {}) } },
271
+ });
272
+ }
273
+ //# sourceMappingURL=cognito-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognito-config.js","sourceRoot":"","sources":["../../../src/migrate/export/cognito-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import type { IdentityRecord, MfaFactorRecord, SsoConnectionRecord, UserRecord } from '@atlasauth/migrate';
2
+ import { RecordSet, type Obj } from './record-set';
3
+ /**
4
+ * `atlas migrate export cognito` — an Amazon Cognito user pool onto the
5
+ * canonical bundle models, read on this machine with the owner's AWS
6
+ * credentials (SigV4-signed calls to the cognito-idp JSON API; the keys are
7
+ * sent to AWS only, as a signature).
8
+ *
9
+ * - users (ListUsers), keyed by `sub` — the subject Cognito tokens carry,
10
+ * so the bridge and lazy migration land on the same Atlas user; standard
11
+ * attributes map onto the user, `custom:*` attributes become public
12
+ * metadata, the Cognito username and status are kept privately;
13
+ * - federated and linked accounts from the `identities` attribute;
14
+ * - groups as app roles (ListGroups + ListUsersInGroup);
15
+ * - SAML / OIDC identity providers as enterprise connections;
16
+ * - SMS / email second factors (legacy MFAOptions, or every user's
17
+ * UserMFASettingList with `mfa`, which costs one AdminGetUser per user);
18
+ * - the pool's public signing keys, so old ID tokens keep verifying during
19
+ * the cutover.
20
+ *
21
+ * Cognito NEVER exports password hashes, TOTP secrets or passkeys. Passwords
22
+ * move with the `cognito` lazy-migration preset (InitiateAuth with
23
+ * USER_PASSWORD_AUTH on the user's first Atlas sign-in).
24
+ *
25
+ * Instead of the API, users can come from `aws cognito-idp list-users`
26
+ * output (the CLI follows the pagination): no groups or connections then.
27
+ */
28
+ export interface AwsCredentials {
29
+ accessKeyId: string;
30
+ secretAccessKey: string;
31
+ sessionToken?: string;
32
+ }
33
+ export interface CognitoExportOptions {
34
+ userPoolId: string;
35
+ /** Default: the region prefix of the pool id. */
36
+ region?: string;
37
+ credentials?: AwsCredentials;
38
+ /** `aws cognito-idp list-users --output json` output, instead of calling ListUsers. */
39
+ usersText?: string;
40
+ /** Read every user's MFA settings (AdminGetUser per user — billed and rate limited). */
41
+ mfa?: boolean;
42
+ /** How groups move (default roles). */
43
+ groups?: 'roles' | 'skip';
44
+ fetchImpl?: typeof fetch;
45
+ sleep?: (ms: number) => Promise<void>;
46
+ now?: () => Date;
47
+ onProgress?: (message: string) => void;
48
+ }
49
+ /** The region of a user pool id (`us-east-1_AbC123` → `us-east-1`), or undefined. */
50
+ export declare function regionOfPool(poolId: string): string | undefined;
51
+ /** `20150830T123600Z`. */
52
+ export declare function amzDate(d: Date): string;
53
+ /** The SigV4 signing key: HMAC chain over date, region, service. */
54
+ export declare function sigV4Key(secret: string, date: string, region: string, service: string): Buffer;
55
+ /**
56
+ * Sign a request with AWS Signature Version 4 (header form). `headers` must
57
+ * not yet carry `authorization`; the result adds `host`, `x-amz-date`, the
58
+ * session token when there is one, and `authorization`. Only a path without
59
+ * a query string is signed (every Cognito call is `POST /`).
60
+ */
61
+ export declare function signAwsRequest(o: {
62
+ method: string;
63
+ url: string;
64
+ headers: Record<string, string>;
65
+ body: string;
66
+ region: string;
67
+ service: string;
68
+ credentials: AwsCredentials;
69
+ now: Date;
70
+ }): Record<string, string>;
71
+ export declare class CognitoApi {
72
+ private readonly o;
73
+ readonly endpoint: string;
74
+ constructor(o: {
75
+ region: string;
76
+ credentials: AwsCredentials;
77
+ fetchImpl?: typeof fetch;
78
+ sleep?: (ms: number) => Promise<void>;
79
+ now?: () => Date;
80
+ attempts?: number;
81
+ });
82
+ /** One API call (`ListUsers`, `DescribeUserPool` …). Throttling and 5xx are retried. */
83
+ call<T = Obj>(action: string, input: Obj): Promise<T>;
84
+ /** Every page of a token-paged list. */
85
+ all(action: string, input: Obj, listKey: string, tokenKey: 'PaginationToken' | 'NextToken'): Promise<Obj[]>;
86
+ }
87
+ export declare function attributesOf(u: Obj): Record<string, string>;
88
+ /** The `identities` attribute (a JSON string; `primary` / `dateCreated` typed loosely). */
89
+ export declare function parseIdentities(raw: string | undefined): Obj[];
90
+ /** Map one Cognito UserType onto a user record (null when it has no sub or no identifier). */
91
+ export declare function mapCognitoUser(u: Obj): UserRecord | null;
92
+ /** The identity records of one user's `identities` attribute. */
93
+ export declare function cognitoIdentities(userId: string, raw: string | undefined): IdentityRecord[];
94
+ /** SMS / email factors from legacy MFAOptions or a UserMFASettingList. */
95
+ export declare function cognitoFactors(userId: string, u: Obj, attrs: Record<string, string>): {
96
+ factors: MfaFactorRecord[];
97
+ totp: boolean;
98
+ };
99
+ /** The users of `aws cognito-idp list-users` output (`{ "Users": [...] }`, or a bare array). */
100
+ export declare function parseListUsersOutput(text: string): Obj[];
101
+ /** A SAML / OIDC identity provider → an SSO connection record (social providers are null). */
102
+ export declare function cognitoSsoConnection(idp: Obj): SsoConnectionRecord | null;
103
+ export declare function exportCognito(opts: CognitoExportOptions): Promise<RecordSet>;