@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 @@
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../../../src/migrate/better-auth/translate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { MigrationPlugin } from '../framework/plugin';
2
+ export declare const clerkPlugin: MigrationPlugin;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clerkPlugin = void 0;
4
+ const clerk_1 = require("../export/clerk");
5
+ const clerk_config_1 = require("../export/clerk-config");
6
+ const backend_1 = require("@atlasauth/backend");
7
+ const errors_1 = require("../../errors");
8
+ const plugin_kit_1 = require("../export/plugin-kit");
9
+ /**
10
+ * `atlas migrate clerk` — Clerk's Backend API (secret key) plus the dashboard
11
+ * CSV export (the only source of password digests and TOTP secrets), the
12
+ * `clerk` JWT bridge preset (session tokens verified against the Frontend
13
+ * API's JWKS), lazy password verification through Clerk's verify_password
14
+ * for users the CSV does not cover, and the `clerk` codemod.
15
+ */
16
+ const SECRET_KEY = { flag: '--clerk-secret-key', env: 'CLERK_SECRET_KEY', label: 'your Clerk secret key (sk_…)', required: false, secret: true };
17
+ const PUBLISHABLE_KEY = { flag: '--clerk-publishable-key', env: 'CLERK_PUBLISHABLE_KEY', label: 'your Clerk publishable key (pk_…)', required: false };
18
+ const CSV = { flag: '--clerk-csv', env: 'CLERK_CSV_EXPORT', label: 'the Clerk dashboard CSV export (Users → Export)', required: false };
19
+ /** The publishable key from the flag / CLERK_PUBLISHABLE_KEY, else the framework-prefixed env vars apps already have. */
20
+ function publishableKey(p) {
21
+ return (p.credential(PUBLISHABLE_KEY) ??
22
+ ['NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY', 'VITE_CLERK_PUBLISHABLE_KEY', 'PUBLIC_CLERK_PUBLISHABLE_KEY', 'EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY'].map((k) => p.ctx.env[k]?.trim()).find(Boolean));
23
+ }
24
+ exports.clerkPlugin = {
25
+ vendor: 'clerk',
26
+ source: 'clerk',
27
+ label: 'Clerk',
28
+ help: 'Move a Clerk instance: its settings (social connections, sign-in methods, MFA, organizations, JWT templates), its users with their password digests and TOTP secrets from the dashboard CSV export, organizations, members, roles, invitations, enterprise connections and API keys from the Backend API, a zero-logout bridge for signed-in users, and the code. Your secret key stays on this machine.',
29
+ config: {
30
+ reads: 'your Clerk instance (the public environment via the publishable key, plus JWT templates, redirect URLs and roles with the secret key)',
31
+ credentials: [PUBLISHABLE_KEY, SECRET_KEY],
32
+ async translate(p) {
33
+ const pk = publishableKey(p);
34
+ if (!pk)
35
+ throw new errors_1.CliError('Clerk: the publishable key is needed (--clerk-publishable-key, CLERK_PUBLISHABLE_KEY or NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY).');
36
+ const snap = await (0, plugin_kit_1.vendorStep)('Clerk', () => (0, clerk_config_1.fetchClerkConfig)({ publishableKey: pk, secretKey: p.credential(SECRET_KEY), fetchImpl: p.fetch }));
37
+ return (0, clerk_config_1.translateClerkConfig)(snap);
38
+ },
39
+ },
40
+ export: {
41
+ reads: 'the Clerk Backend API (secret key) and/or the dashboard CSV export (--clerk-csv)',
42
+ credentials: [SECRET_KEY, CSV],
43
+ limits: [
44
+ 'Password digests and TOTP secrets only come from the dashboard CSV export (Users → Export); without it, users keep their passwords through lazy migration (verify_password) instead.',
45
+ 'Passkeys (only their names are readable) and backup codes cannot be exported: those users enrol again.',
46
+ 'Sessions are not exported: Clerk session tokens are JWTs, exchanged by the clerk bridge preset.',
47
+ ],
48
+ async run(p, writer, resume) {
49
+ const secretKey = p.credential(SECRET_KEY);
50
+ const csv = (0, plugin_kit_1.localFile)(p, CSV, 'text');
51
+ if (!secretKey && !csv)
52
+ throw new errors_1.CliError('Clerk: pass the secret key (--clerk-secret-key / CLERK_SECRET_KEY), the dashboard CSV export (--clerk-csv), or both.');
53
+ const set = await (0, plugin_kit_1.vendorStep)('Clerk', () => (0, clerk_1.exportClerk)({ secretKey, csv, fetchImpl: p.fetch, skipApiKeys: (0, plugin_kit_1.flag)(p, 'skip-api-keys'), onProgress: (m) => p.say(` reading ${m}`) }));
54
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
55
+ },
56
+ },
57
+ bridge: {
58
+ preset: 'clerk',
59
+ vars(p, t) {
60
+ const pk = publishableKey(p);
61
+ const fromKey = pk ? (0, backend_1.clerkFrontendApiFromPublishableKey)(pk) : null;
62
+ const frontend_api = t?.bridge?.vars.frontend_api ?? fromKey;
63
+ const vars = {};
64
+ if (frontend_api)
65
+ vars.frontend_api = frontend_api;
66
+ return vars;
67
+ },
68
+ },
69
+ lazy: {
70
+ preset: 'clerk',
71
+ config: () => ({}),
72
+ secret: { ...SECRET_KEY, required: true },
73
+ },
74
+ codemod: 'clerk',
75
+ };
76
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/migrate/clerk/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type AwsCredentials } from '../export/cognito';
2
+ import type { MigrationPlugin } from '../framework/plugin';
3
+ /** Static keys of a profile in the shared credentials file (SSO / assume-role profiles need `aws configure export-credentials`). */
4
+ export declare function profileCredentials(text: string, profile: string): AwsCredentials | undefined;
5
+ export declare const cognitoPlugin: MigrationPlugin;
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cognitoPlugin = void 0;
4
+ exports.profileCredentials = profileCredentials;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_os_1 = require("node:os");
7
+ const node_path_1 = require("node:path");
8
+ const cognito_1 = require("../export/cognito");
9
+ const cognito_config_1 = require("../export/cognito-config");
10
+ const errors_1 = require("../../errors");
11
+ const project_files_1 = require("../export/project-files");
12
+ const plugin_kit_1 = require("../export/plugin-kit");
13
+ /**
14
+ * `atlas migrate cognito` — an Amazon Cognito user pool: its settings as
15
+ * Atlas config (DescribeUserPool, app clients, identity providers, resource
16
+ * servers, groups), its users with their attributes, federated links, groups
17
+ * and SMS / email factors through the cognito-idp API (or `aws cognito-idp
18
+ * list-users` output), the `cognito` bridge preset (ID tokens verified
19
+ * against the pool's JWKS) and lazy migration for every password (Cognito
20
+ * never exports hashes). AWS credentials stay on this machine: they sign the
21
+ * requests and are sent to AWS only as a signature.
22
+ */
23
+ const POOL = { flag: '--cognito-user-pool-id', env: 'COGNITO_USER_POOL_ID', label: 'the user pool id (us-east-1_AbC123xyz)', required: true };
24
+ const REGION = { flag: '--aws-region', env: 'AWS_REGION', label: 'the AWS region (default: from the pool id)', required: false };
25
+ const ACCESS_KEY = { flag: '--aws-access-key-id', env: 'AWS_ACCESS_KEY_ID', label: 'an AWS access key id allowed cognito-idp:List*/Describe*', required: false };
26
+ const SECRET_KEY = { flag: '--aws-secret-access-key', env: 'AWS_SECRET_ACCESS_KEY', label: 'its secret access key', required: false, secret: true };
27
+ const SESSION_TOKEN = { flag: '--aws-session-token', env: 'AWS_SESSION_TOKEN', label: 'the session token of temporary credentials', required: false, secret: true };
28
+ const PROFILE = { flag: '--aws-profile', env: 'AWS_PROFILE', label: 'a profile with static keys in ~/.aws/credentials', required: false };
29
+ const USERS_FILE = { flag: '--cognito-users-file', env: 'COGNITO_USERS_FILE', label: '`aws cognito-idp list-users --output json` output', required: false };
30
+ const CLIENT_ID = { flag: '--cognito-client-id', env: 'COGNITO_CLIENT_ID', label: 'the app client id (the ID token audience; for lazy migration a client without a secret that allows USER_PASSWORD_AUTH)', required: false };
31
+ const MFA = { flag: '--cognito-mfa', env: 'COGNITO_EXPORT_MFA', label: 'true to read every user\'s MFA settings (one AdminGetUser per user)', required: false };
32
+ const GROUPS_AS = { flag: '--groups-as', env: 'ATLAS_MIGRATE_GROUPS_AS', label: 'how groups move: roles or skip', required: false };
33
+ /** Static keys of a profile in the shared credentials file (SSO / assume-role profiles need `aws configure export-credentials`). */
34
+ function profileCredentials(text, profile) {
35
+ let current = '';
36
+ const values = {};
37
+ for (const raw of text.split(/\r?\n/)) {
38
+ const line = raw.trim();
39
+ if (!line || line.startsWith('#') || line.startsWith(';'))
40
+ continue;
41
+ const section = /^\[\s*(?:profile\s+)?([^\]]+?)\s*\]$/.exec(line);
42
+ if (section) {
43
+ current = section[1];
44
+ continue;
45
+ }
46
+ const kv = /^([A-Za-z_]+)\s*=\s*(.*)$/.exec(line);
47
+ if (kv && current === profile)
48
+ values[kv[1].toLowerCase()] = kv[2].trim();
49
+ }
50
+ if (!values.aws_access_key_id || !values.aws_secret_access_key)
51
+ return undefined;
52
+ return { accessKeyId: values.aws_access_key_id, secretAccessKey: values.aws_secret_access_key, ...(values.aws_session_token ? { sessionToken: values.aws_session_token } : {}) };
53
+ }
54
+ /** AWS credentials from flags / env, else the named (or default) profile; undefined when none. */
55
+ function awsCredentials(p) {
56
+ const accessKeyId = p.credential(ACCESS_KEY);
57
+ const secretAccessKey = p.credential(SECRET_KEY);
58
+ if (accessKeyId && secretAccessKey) {
59
+ const sessionToken = p.credential(SESSION_TOKEN);
60
+ return { accessKeyId, secretAccessKey, ...(sessionToken ? { sessionToken } : {}) };
61
+ }
62
+ const profile = p.credential(PROFILE) ?? 'default';
63
+ const file = p.ctx.env.AWS_SHARED_CREDENTIALS_FILE?.trim() || (0, node_path_1.join)((0, node_os_1.homedir)(), '.aws', 'credentials');
64
+ let text;
65
+ try {
66
+ text = (0, node_fs_1.readFileSync)(file, 'utf8');
67
+ }
68
+ catch {
69
+ return undefined;
70
+ }
71
+ return profileCredentials(text, profile);
72
+ }
73
+ function requireCredentials(p) {
74
+ const creds = awsCredentials(p);
75
+ if (!creds) {
76
+ throw new errors_1.CliError('Cognito: pass AWS credentials (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, plus AWS_SESSION_TOKEN for temporary ones) or a profile with static keys (AWS_PROFILE). For SSO profiles run `eval "$(aws configure export-credentials --format env)"` first.');
77
+ }
78
+ return creds;
79
+ }
80
+ function poolOf(p) {
81
+ const poolId = (0, plugin_kit_1.need)(p, POOL).trim();
82
+ const region = p.credential(REGION) ?? (0, cognito_1.regionOfPool)(poolId);
83
+ if (!region)
84
+ throw new errors_1.CliError(`Cognito: ${poolId} is not a user pool id (expected <region>_<id>, e.g. us-east-1_AbC123xyz).`);
85
+ return { poolId, region };
86
+ }
87
+ function groupsAs(p) {
88
+ const raw = p.credential(GROUPS_AS) ?? 'roles';
89
+ if (raw !== 'roles' && raw !== 'skip')
90
+ throw new errors_1.CliError(`Cognito: --groups-as must be roles or skip (got ${raw}).`);
91
+ return raw;
92
+ }
93
+ exports.cognitoPlugin = {
94
+ vendor: 'cognito',
95
+ source: 'cognito',
96
+ label: 'Amazon Cognito',
97
+ help: 'Move an Amazon Cognito user pool: password policy, MFA, sign-in identifiers, app clients, identity providers, resource servers and groups as Atlas config; users (keyed by sub) with their attributes, federated links, groups and SMS / email factors; enterprise SAML / OIDC connections; a zero-logout bridge for Cognito ID tokens; lazy migration for every password (Cognito never exports hashes); and the Amplify code. AWS credentials stay on this machine.',
98
+ config: {
99
+ reads: 'your user pool via the Cognito API (DescribeUserPool, app clients, identity providers, resource servers, groups)',
100
+ credentials: [POOL, REGION, ACCESS_KEY, SECRET_KEY, SESSION_TOKEN, PROFILE],
101
+ async translate(p) {
102
+ const { poolId, region } = poolOf(p);
103
+ const api = new cognito_1.CognitoApi({ region, credentials: requireCredentials(p), fetchImpl: p.fetch });
104
+ const snap = await (0, plugin_kit_1.vendorStep)('Cognito', () => (0, cognito_config_1.fetchCognitoConfig)(api, poolId, region));
105
+ return (0, cognito_config_1.translateCognitoConfig)(snap);
106
+ },
107
+ },
108
+ export: {
109
+ reads: 'the Cognito API (ListUsers, groups, identity providers) or `aws cognito-idp list-users` output (--cognito-users-file)',
110
+ credentials: [POOL, REGION, ACCESS_KEY, SECRET_KEY, SESSION_TOKEN, PROFILE, USERS_FILE, MFA],
111
+ limits: [
112
+ 'Cognito never exports password hashes (no API, no support request): every password moves by lazy migration, checked against Cognito on the user\'s first Atlas sign-in. Users who never sign in during the window reset their password.',
113
+ 'TOTP secrets and passkeys never leave Cognito: those users enrol again. SMS and email second factors move (the verified phone number / email).',
114
+ 'Users with FORCE_CHANGE_PASSWORD or RESET_REQUIRED status cannot move by lazy migration: they reset their password in Atlas.',
115
+ 'With a list-users file only users move; groups and enterprise connections need API access.',
116
+ ],
117
+ async run(p, writer, resume) {
118
+ const { poolId, region } = poolOf(p);
119
+ const usersText = (0, plugin_kit_1.localFile)(p, USERS_FILE, 'text');
120
+ const credentials = usersText ? awsCredentials(p) : requireCredentials(p);
121
+ const set = await (0, plugin_kit_1.vendorStep)('Cognito', () => (0, cognito_1.exportCognito)({
122
+ userPoolId: poolId,
123
+ region,
124
+ credentials,
125
+ usersText,
126
+ mfa: (0, project_files_1.truthyCredential)(p, MFA),
127
+ groups: groupsAs(p),
128
+ fetchImpl: p.fetch,
129
+ onProgress: (m) => p.say(` reading ${m}`),
130
+ }));
131
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
132
+ },
133
+ },
134
+ bridge: {
135
+ preset: 'cognito',
136
+ vars(p, t) {
137
+ const vars = { ...t?.bridge?.vars };
138
+ const pool = p.credential({ ...POOL, required: false });
139
+ if (pool) {
140
+ vars.user_pool_id = pool.trim();
141
+ const region = p.credential(REGION) ?? (0, cognito_1.regionOfPool)(pool);
142
+ if (region)
143
+ vars.region = region;
144
+ }
145
+ const clientId = p.credential(CLIENT_ID);
146
+ if (clientId)
147
+ vars.client_id = clientId;
148
+ return vars;
149
+ },
150
+ },
151
+ lazy: {
152
+ preset: 'cognito',
153
+ config(p, t) {
154
+ const config = { ...t?.lazy?.config };
155
+ const pool = p.credential({ ...POOL, required: false });
156
+ if (pool) {
157
+ config.user_pool_id = pool.trim();
158
+ const region = p.credential(REGION) ?? (0, cognito_1.regionOfPool)(pool);
159
+ if (region)
160
+ config.region = region;
161
+ }
162
+ const clientId = p.credential(CLIENT_ID);
163
+ if (clientId)
164
+ config.client_id = clientId;
165
+ return config;
166
+ },
167
+ },
168
+ codemod: 'cognito',
169
+ };
170
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/migrate/cognito/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { MigrationPlugin } from '../framework/plugin';
2
+ export declare const corbadoPlugin: MigrationPlugin;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.corbadoPlugin = void 0;
4
+ const corbado_1 = require("../export/corbado");
5
+ const corbado_config_1 = require("../export/corbado-config");
6
+ const plugin_kit_1 = require("../export/plugin-kit");
7
+ /**
8
+ * `atlas migrate corbado` — users with their verified emails, phones and
9
+ * usernames AND their passkeys (credential ids and public keys, which
10
+ * Corbado's Backend API exports), the sign-in methods inferred from your
11
+ * users' identifiers, and the `corbado` bridge preset (short-session JWTs
12
+ * verified against the project's JWKS). Corbado holds no passwords.
13
+ */
14
+ const PROJECT_ID = { flag: '--corbado-project-id', env: 'CORBADO_PROJECT_ID', label: 'your Corbado project id (pro-…)', required: true };
15
+ const API_SECRET = { flag: '--corbado-api-secret', env: 'CORBADO_API_SECRET', label: 'your Corbado API secret', required: true, secret: true };
16
+ const RP_ID = { flag: '--corbado-rp-id', env: 'CORBADO_RP_ID', label: 'the relying-party id (domain) your passkeys were registered for', required: false };
17
+ const BASE_URL = { flag: '--corbado-base-url', env: 'CORBADO_BASE_URL', label: 'the Corbado Backend API origin', required: false };
18
+ function projectId(p) {
19
+ return p.credential({ ...PROJECT_ID, required: false }) ?? (p.ctx.env.NEXT_PUBLIC_CORBADO_PROJECT_ID?.trim() || p.ctx.env.VITE_CORBADO_PROJECT_ID?.trim() || (0, plugin_kit_1.need)(p, PROJECT_ID));
20
+ }
21
+ exports.corbadoPlugin = {
22
+ vendor: 'corbado',
23
+ source: 'corbado',
24
+ label: 'Corbado',
25
+ help: 'Move a Corbado project: users with their verified emails, phone numbers and usernames, and their passkeys (credential ids and public keys) so members keep signing in with the passkey they have; the sign-in methods as Atlas config; a zero-logout bridge for Corbado session tokens; and the code. Your API secret stays on this machine.',
26
+ config: {
27
+ reads: 'your Corbado project via the Backend API (login identifier counts)',
28
+ credentials: [PROJECT_ID, API_SECRET, RP_ID, BASE_URL],
29
+ async translate(p) {
30
+ const pid = projectId(p);
31
+ const http = (0, corbado_1.corbadoHttp)({ projectId: pid, apiSecret: (0, plugin_kit_1.need)(p, API_SECRET), baseUrl: p.credential(BASE_URL), fetchImpl: p.fetch });
32
+ const snap = await (0, plugin_kit_1.vendorStep)('Corbado', () => (0, corbado_config_1.fetchCorbadoConfig)(http, pid, p.credential(RP_ID)));
33
+ return (0, corbado_config_1.translateCorbadoConfig)(snap);
34
+ },
35
+ },
36
+ export: {
37
+ reads: 'the Corbado Backend API (users, identifiers, passkeys)',
38
+ credentials: [PROJECT_ID, API_SECRET, RP_ID, BASE_URL],
39
+ limits: [
40
+ 'Passkeys are exported with their public keys but are bound to your relying-party id (--corbado-rp-id): Atlas must be served from that domain, or a subdomain, for them to keep working. Without the flag, members register passkeys again.',
41
+ 'Corbado keeps no passwords, authenticator-app secrets, organizations or API keys.',
42
+ 'Linked social accounts are not returned: they relink by verified email on first social sign-in.',
43
+ 'Sessions are not exported: Corbado session tokens are JWTs, exchanged by the corbado bridge preset.',
44
+ ],
45
+ async run(p, writer, resume) {
46
+ const set = await (0, plugin_kit_1.vendorStep)('Corbado', () => (0, corbado_1.exportCorbado)({
47
+ projectId: projectId(p),
48
+ apiSecret: (0, plugin_kit_1.need)(p, API_SECRET),
49
+ baseUrl: p.credential(BASE_URL),
50
+ rpId: p.credential(RP_ID),
51
+ fetchImpl: p.fetch,
52
+ onProgress: (m) => p.say(` reading ${m}`),
53
+ }));
54
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
55
+ },
56
+ },
57
+ bridge: {
58
+ preset: 'corbado',
59
+ vars: (p, t) => ({ ...t?.bridge?.vars, project_id: t?.bridge?.vars.project_id ?? projectId(p) }),
60
+ },
61
+ codemod: 'corbado',
62
+ };
63
+ //# sourceMappingURL=plugin.js.map