@atlasauth/cli 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +3 -3
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -90
  25. package/dist/commands/config.js +0 -1430
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/errors.d.ts +0 -15
  115. package/dist/errors.js +0 -25
  116. package/dist/errors.js.map +0 -1
  117. package/dist/help.d.ts +0 -8
  118. package/dist/help.js +0 -868
  119. package/dist/help.js.map +0 -1
  120. package/dist/import/csv.d.ts +0 -6
  121. package/dist/import/csv.js +0 -63
  122. package/dist/import/csv.js.map +0 -1
  123. package/dist/import/vendors.d.ts +0 -57
  124. package/dist/import/vendors.js +0 -568
  125. package/dist/import/vendors.js.map +0 -1
  126. package/dist/index.d.ts +0 -32
  127. package/dist/index.js +0 -79
  128. package/dist/index.js.map +0 -1
  129. package/dist/io.d.ts +0 -21
  130. package/dist/io.js +0 -28
  131. package/dist/io.js.map +0 -1
  132. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  133. package/dist/migrate/appwrite/plugin.js +0 -103
  134. package/dist/migrate/appwrite/plugin.js.map +0 -1
  135. package/dist/migrate/auth0/plugin.d.ts +0 -2
  136. package/dist/migrate/auth0/plugin.js +0 -126
  137. package/dist/migrate/auth0/plugin.js.map +0 -1
  138. package/dist/migrate/authentik/plugin.d.ts +0 -2
  139. package/dist/migrate/authentik/plugin.js +0 -135
  140. package/dist/migrate/authentik/plugin.js.map +0 -1
  141. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  142. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  143. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  144. package/dist/migrate/better-auth/integration.d.ts +0 -59
  145. package/dist/migrate/better-auth/integration.js +0 -81
  146. package/dist/migrate/better-auth/integration.js.map +0 -1
  147. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  148. package/dist/migrate/better-auth/orchestrator.js +0 -525
  149. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  150. package/dist/migrate/better-auth/output.d.ts +0 -20
  151. package/dist/migrate/better-auth/output.js +0 -146
  152. package/dist/migrate/better-auth/output.js.map +0 -1
  153. package/dist/migrate/better-auth/translate.d.ts +0 -77
  154. package/dist/migrate/better-auth/translate.js +0 -1989
  155. package/dist/migrate/better-auth/translate.js.map +0 -1
  156. package/dist/migrate/clerk/plugin.d.ts +0 -2
  157. package/dist/migrate/clerk/plugin.js +0 -76
  158. package/dist/migrate/clerk/plugin.js.map +0 -1
  159. package/dist/migrate/cognito/plugin.d.ts +0 -5
  160. package/dist/migrate/cognito/plugin.js +0 -170
  161. package/dist/migrate/cognito/plugin.js.map +0 -1
  162. package/dist/migrate/corbado/plugin.d.ts +0 -2
  163. package/dist/migrate/corbado/plugin.js +0 -63
  164. package/dist/migrate/corbado/plugin.js.map +0 -1
  165. package/dist/migrate/descope/plugin.d.ts +0 -2
  166. package/dist/migrate/descope/plugin.js +0 -83
  167. package/dist/migrate/descope/plugin.js.map +0 -1
  168. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  169. package/dist/migrate/entra-external-id/plugin.js +0 -12
  170. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  171. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  172. package/dist/migrate/export/appwrite-config.js +0 -170
  173. package/dist/migrate/export/appwrite-config.js.map +0 -1
  174. package/dist/migrate/export/appwrite.d.ts +0 -51
  175. package/dist/migrate/export/appwrite.js +0 -288
  176. package/dist/migrate/export/appwrite.js.map +0 -1
  177. package/dist/migrate/export/auth0-config.d.ts +0 -29
  178. package/dist/migrate/export/auth0-config.js +0 -249
  179. package/dist/migrate/export/auth0-config.js.map +0 -1
  180. package/dist/migrate/export/auth0.d.ts +0 -62
  181. package/dist/migrate/export/auth0.js +0 -575
  182. package/dist/migrate/export/auth0.js.map +0 -1
  183. package/dist/migrate/export/authentik-config.d.ts +0 -45
  184. package/dist/migrate/export/authentik-config.js +0 -357
  185. package/dist/migrate/export/authentik-config.js.map +0 -1
  186. package/dist/migrate/export/authentik.d.ts +0 -110
  187. package/dist/migrate/export/authentik.js +0 -838
  188. package/dist/migrate/export/authentik.js.map +0 -1
  189. package/dist/migrate/export/azure-config.d.ts +0 -58
  190. package/dist/migrate/export/azure-config.js +0 -344
  191. package/dist/migrate/export/azure-config.js.map +0 -1
  192. package/dist/migrate/export/azure.d.ts +0 -85
  193. package/dist/migrate/export/azure.js +0 -373
  194. package/dist/migrate/export/azure.js.map +0 -1
  195. package/dist/migrate/export/clerk-config.d.ts +0 -26
  196. package/dist/migrate/export/clerk-config.js +0 -227
  197. package/dist/migrate/export/clerk-config.js.map +0 -1
  198. package/dist/migrate/export/clerk.d.ts +0 -46
  199. package/dist/migrate/export/clerk.js +0 -486
  200. package/dist/migrate/export/clerk.js.map +0 -1
  201. package/dist/migrate/export/cognito-config.d.ts +0 -25
  202. package/dist/migrate/export/cognito-config.js +0 -273
  203. package/dist/migrate/export/cognito-config.js.map +0 -1
  204. package/dist/migrate/export/cognito.d.ts +0 -103
  205. package/dist/migrate/export/cognito.js +0 -441
  206. package/dist/migrate/export/cognito.js.map +0 -1
  207. package/dist/migrate/export/corbado-config.d.ts +0 -20
  208. package/dist/migrate/export/corbado-config.js +0 -63
  209. package/dist/migrate/export/corbado-config.js.map +0 -1
  210. package/dist/migrate/export/corbado.d.ts +0 -37
  211. package/dist/migrate/export/corbado.js +0 -132
  212. package/dist/migrate/export/corbado.js.map +0 -1
  213. package/dist/migrate/export/descope.d.ts +0 -35
  214. package/dist/migrate/export/descope.js +0 -208
  215. package/dist/migrate/export/descope.js.map +0 -1
  216. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  217. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  218. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  219. package/dist/migrate/export/firebase-config.d.ts +0 -24
  220. package/dist/migrate/export/firebase-config.js +0 -215
  221. package/dist/migrate/export/firebase-config.js.map +0 -1
  222. package/dist/migrate/export/firebase.d.ts +0 -102
  223. package/dist/migrate/export/firebase.js +0 -464
  224. package/dist/migrate/export/firebase.js.map +0 -1
  225. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  226. package/dist/migrate/export/frameworks/app-users.js +0 -161
  227. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  228. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  229. package/dist/migrate/export/frameworks/authjs.js +0 -146
  230. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  231. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  232. package/dist/migrate/export/frameworks/devise.js +0 -218
  233. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  234. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  235. package/dist/migrate/export/frameworks/django.js +0 -315
  236. package/dist/migrate/export/frameworks/django.js.map +0 -1
  237. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  238. package/dist/migrate/export/frameworks/lucia.js +0 -263
  239. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  240. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  241. package/dist/migrate/export/frameworks/tables.js +0 -325
  242. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  243. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  244. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  245. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  246. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  247. package/dist/migrate/export/frontegg-config.js +0 -238
  248. package/dist/migrate/export/frontegg-config.js.map +0 -1
  249. package/dist/migrate/export/frontegg.d.ts +0 -67
  250. package/dist/migrate/export/frontegg.js +0 -410
  251. package/dist/migrate/export/frontegg.js.map +0 -1
  252. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  253. package/dist/migrate/export/fusionauth-config.js +0 -226
  254. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  255. package/dist/migrate/export/fusionauth.d.ts +0 -99
  256. package/dist/migrate/export/fusionauth.js +0 -642
  257. package/dist/migrate/export/fusionauth.js.map +0 -1
  258. package/dist/migrate/export/hanko-config.d.ts +0 -27
  259. package/dist/migrate/export/hanko-config.js +0 -265
  260. package/dist/migrate/export/hanko-config.js.map +0 -1
  261. package/dist/migrate/export/hanko.d.ts +0 -52
  262. package/dist/migrate/export/hanko.js +0 -605
  263. package/dist/migrate/export/hanko.js.map +0 -1
  264. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  265. package/dist/migrate/export/keycloak-config.js +0 -219
  266. package/dist/migrate/export/keycloak-config.js.map +0 -1
  267. package/dist/migrate/export/keycloak.d.ts +0 -155
  268. package/dist/migrate/export/keycloak.js +0 -878
  269. package/dist/migrate/export/keycloak.js.map +0 -1
  270. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  271. package/dist/migrate/export/kinde-descope-config.js +0 -172
  272. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  273. package/dist/migrate/export/kinde.d.ts +0 -57
  274. package/dist/migrate/export/kinde.js +0 -333
  275. package/dist/migrate/export/kinde.js.map +0 -1
  276. package/dist/migrate/export/ldap.d.ts +0 -53
  277. package/dist/migrate/export/ldap.js +0 -277
  278. package/dist/migrate/export/ldap.js.map +0 -1
  279. package/dist/migrate/export/logto-config.d.ts +0 -27
  280. package/dist/migrate/export/logto-config.js +0 -264
  281. package/dist/migrate/export/logto-config.js.map +0 -1
  282. package/dist/migrate/export/logto.d.ts +0 -150
  283. package/dist/migrate/export/logto.js +0 -809
  284. package/dist/migrate/export/logto.js.map +0 -1
  285. package/dist/migrate/export/magic-config.d.ts +0 -14
  286. package/dist/migrate/export/magic-config.js +0 -28
  287. package/dist/migrate/export/magic-config.js.map +0 -1
  288. package/dist/migrate/export/magic.d.ts +0 -31
  289. package/dist/migrate/export/magic.js +0 -93
  290. package/dist/migrate/export/magic.js.map +0 -1
  291. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  292. package/dist/migrate/export/mini-yaml.js +0 -581
  293. package/dist/migrate/export/mini-yaml.js.map +0 -1
  294. package/dist/migrate/export/nhost-config.d.ts +0 -26
  295. package/dist/migrate/export/nhost-config.js +0 -360
  296. package/dist/migrate/export/nhost-config.js.map +0 -1
  297. package/dist/migrate/export/nhost.d.ts +0 -64
  298. package/dist/migrate/export/nhost.js +0 -304
  299. package/dist/migrate/export/nhost.js.map +0 -1
  300. package/dist/migrate/export/okta-config.d.ts +0 -30
  301. package/dist/migrate/export/okta-config.js +0 -205
  302. package/dist/migrate/export/okta-config.js.map +0 -1
  303. package/dist/migrate/export/okta.d.ts +0 -43
  304. package/dist/migrate/export/okta.js +0 -337
  305. package/dist/migrate/export/okta.js.map +0 -1
  306. package/dist/migrate/export/onelogin.d.ts +0 -22
  307. package/dist/migrate/export/onelogin.js +0 -123
  308. package/dist/migrate/export/onelogin.js.map +0 -1
  309. package/dist/migrate/export/ory-config.d.ts +0 -58
  310. package/dist/migrate/export/ory-config.js +0 -451
  311. package/dist/migrate/export/ory-config.js.map +0 -1
  312. package/dist/migrate/export/ory.d.ts +0 -81
  313. package/dist/migrate/export/ory.js +0 -555
  314. package/dist/migrate/export/ory.js.map +0 -1
  315. package/dist/migrate/export/password-detect.d.ts +0 -29
  316. package/dist/migrate/export/password-detect.js +0 -81
  317. package/dist/migrate/export/password-detect.js.map +0 -1
  318. package/dist/migrate/export/pingone.d.ts +0 -36
  319. package/dist/migrate/export/pingone.js +0 -218
  320. package/dist/migrate/export/pingone.js.map +0 -1
  321. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  322. package/dist/migrate/export/plugin-kit.js +0 -82
  323. package/dist/migrate/export/plugin-kit.js.map +0 -1
  324. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  325. package/dist/migrate/export/pocketbase-config.js +0 -180
  326. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  327. package/dist/migrate/export/pocketbase.d.ts +0 -52
  328. package/dist/migrate/export/pocketbase.js +0 -243
  329. package/dist/migrate/export/pocketbase.js.map +0 -1
  330. package/dist/migrate/export/project-files.d.ts +0 -15
  331. package/dist/migrate/export/project-files.js +0 -43
  332. package/dist/migrate/export/project-files.js.map +0 -1
  333. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  334. package/dist/migrate/export/propelauth-config.js +0 -58
  335. package/dist/migrate/export/propelauth-config.js.map +0 -1
  336. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  337. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  338. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  339. package/dist/migrate/export/propelauth.d.ts +0 -48
  340. package/dist/migrate/export/propelauth.js +0 -255
  341. package/dist/migrate/export/propelauth.js.map +0 -1
  342. package/dist/migrate/export/record-set.d.ts +0 -44
  343. package/dist/migrate/export/record-set.js +0 -98
  344. package/dist/migrate/export/record-set.js.map +0 -1
  345. package/dist/migrate/export/source-lines.d.ts +0 -17
  346. package/dist/migrate/export/source-lines.js +0 -43
  347. package/dist/migrate/export/source-lines.js.map +0 -1
  348. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  349. package/dist/migrate/export/sso-metadata.js +0 -180
  350. package/dist/migrate/export/sso-metadata.js.map +0 -1
  351. package/dist/migrate/export/stytch-config.d.ts +0 -22
  352. package/dist/migrate/export/stytch-config.js +0 -102
  353. package/dist/migrate/export/stytch-config.js.map +0 -1
  354. package/dist/migrate/export/stytch.d.ts +0 -68
  355. package/dist/migrate/export/stytch.js +0 -510
  356. package/dist/migrate/export/stytch.js.map +0 -1
  357. package/dist/migrate/export/supabase-config.d.ts +0 -48
  358. package/dist/migrate/export/supabase-config.js +0 -408
  359. package/dist/migrate/export/supabase-config.js.map +0 -1
  360. package/dist/migrate/export/supabase.d.ts +0 -86
  361. package/dist/migrate/export/supabase.js +0 -524
  362. package/dist/migrate/export/supabase.js.map +0 -1
  363. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  364. package/dist/migrate/export/supertokens-config.js +0 -150
  365. package/dist/migrate/export/supertokens-config.js.map +0 -1
  366. package/dist/migrate/export/supertokens.d.ts +0 -125
  367. package/dist/migrate/export/supertokens.js +0 -464
  368. package/dist/migrate/export/supertokens.js.map +0 -1
  369. package/dist/migrate/export/table.d.ts +0 -35
  370. package/dist/migrate/export/table.js +0 -248
  371. package/dist/migrate/export/table.js.map +0 -1
  372. package/dist/migrate/export/translate-kit.d.ts +0 -46
  373. package/dist/migrate/export/translate-kit.js +0 -148
  374. package/dist/migrate/export/translate-kit.js.map +0 -1
  375. package/dist/migrate/export/userfront-config.d.ts +0 -15
  376. package/dist/migrate/export/userfront-config.js +0 -49
  377. package/dist/migrate/export/userfront-config.js.map +0 -1
  378. package/dist/migrate/export/userfront.d.ts +0 -38
  379. package/dist/migrate/export/userfront.js +0 -189
  380. package/dist/migrate/export/userfront.js.map +0 -1
  381. package/dist/migrate/export/vendor-http.d.ts +0 -46
  382. package/dist/migrate/export/vendor-http.js +0 -138
  383. package/dist/migrate/export/vendor-http.js.map +0 -1
  384. package/dist/migrate/export/workos-config.d.ts +0 -23
  385. package/dist/migrate/export/workos-config.js +0 -125
  386. package/dist/migrate/export/workos-config.js.map +0 -1
  387. package/dist/migrate/export/workos.d.ts +0 -46
  388. package/dist/migrate/export/workos.js +0 -272
  389. package/dist/migrate/export/workos.js.map +0 -1
  390. package/dist/migrate/export/zip.d.ts +0 -8
  391. package/dist/migrate/export/zip.js +0 -66
  392. package/dist/migrate/export/zip.js.map +0 -1
  393. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  394. package/dist/migrate/export/zitadel-config.js +0 -279
  395. package/dist/migrate/export/zitadel-config.js.map +0 -1
  396. package/dist/migrate/export/zitadel.d.ts +0 -82
  397. package/dist/migrate/export/zitadel.js +0 -447
  398. package/dist/migrate/export/zitadel.js.map +0 -1
  399. package/dist/migrate/firebase/plugin.d.ts +0 -2
  400. package/dist/migrate/firebase/plugin.js +0 -152
  401. package/dist/migrate/firebase/plugin.js.map +0 -1
  402. package/dist/migrate/framework/builtins.d.ts +0 -2
  403. package/dist/migrate/framework/builtins.js +0 -52
  404. package/dist/migrate/framework/builtins.js.map +0 -1
  405. package/dist/migrate/framework/commands.d.ts +0 -20
  406. package/dist/migrate/framework/commands.js +0 -58
  407. package/dist/migrate/framework/commands.js.map +0 -1
  408. package/dist/migrate/framework/custom.d.ts +0 -12
  409. package/dist/migrate/framework/custom.js +0 -96
  410. package/dist/migrate/framework/custom.js.map +0 -1
  411. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  412. package/dist/migrate/framework/orchestrator.js +0 -532
  413. package/dist/migrate/framework/orchestrator.js.map +0 -1
  414. package/dist/migrate/framework/plugin.d.ts +0 -167
  415. package/dist/migrate/framework/plugin.js +0 -3
  416. package/dist/migrate/framework/plugin.js.map +0 -1
  417. package/dist/migrate/framework/registry.d.ts +0 -11
  418. package/dist/migrate/framework/registry.js +0 -44
  419. package/dist/migrate/framework/registry.js.map +0 -1
  420. package/dist/migrate/framework/report.d.ts +0 -17
  421. package/dist/migrate/framework/report.js +0 -103
  422. package/dist/migrate/framework/report.js.map +0 -1
  423. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  424. package/dist/migrate/frameworks/plugins.js +0 -402
  425. package/dist/migrate/frameworks/plugins.js.map +0 -1
  426. package/dist/migrate/frameworks/report.d.ts +0 -92
  427. package/dist/migrate/frameworks/report.js +0 -207
  428. package/dist/migrate/frameworks/report.js.map +0 -1
  429. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  430. package/dist/migrate/frameworks/translate-js.js +0 -503
  431. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  433. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  434. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  435. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  436. package/dist/migrate/frontegg/plugin.js +0 -78
  437. package/dist/migrate/frontegg/plugin.js.map +0 -1
  438. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  439. package/dist/migrate/fusionauth/plugin.js +0 -109
  440. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  441. package/dist/migrate/hanko/plugin.d.ts +0 -2
  442. package/dist/migrate/hanko/plugin.js +0 -100
  443. package/dist/migrate/hanko/plugin.js.map +0 -1
  444. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  445. package/dist/migrate/keycloak/plugin.js +0 -148
  446. package/dist/migrate/keycloak/plugin.js.map +0 -1
  447. package/dist/migrate/kinde/plugin.d.ts +0 -2
  448. package/dist/migrate/kinde/plugin.js +0 -105
  449. package/dist/migrate/kinde/plugin.js.map +0 -1
  450. package/dist/migrate/ldap/plugin.d.ts +0 -2
  451. package/dist/migrate/ldap/plugin.js +0 -73
  452. package/dist/migrate/ldap/plugin.js.map +0 -1
  453. package/dist/migrate/logto/plugin.d.ts +0 -2
  454. package/dist/migrate/logto/plugin.js +0 -131
  455. package/dist/migrate/logto/plugin.js.map +0 -1
  456. package/dist/migrate/magic/plugin.d.ts +0 -2
  457. package/dist/migrate/magic/plugin.js +0 -56
  458. package/dist/migrate/magic/plugin.js.map +0 -1
  459. package/dist/migrate/nhost/plugin.d.ts +0 -2
  460. package/dist/migrate/nhost/plugin.js +0 -115
  461. package/dist/migrate/nhost/plugin.js.map +0 -1
  462. package/dist/migrate/oidc/plugin.d.ts +0 -2
  463. package/dist/migrate/oidc/plugin.js +0 -73
  464. package/dist/migrate/oidc/plugin.js.map +0 -1
  465. package/dist/migrate/okta/plugin.d.ts +0 -2
  466. package/dist/migrate/okta/plugin.js +0 -105
  467. package/dist/migrate/okta/plugin.js.map +0 -1
  468. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  469. package/dist/migrate/onelogin/plugin.js +0 -61
  470. package/dist/migrate/onelogin/plugin.js.map +0 -1
  471. package/dist/migrate/ory/plugin.d.ts +0 -2
  472. package/dist/migrate/ory/plugin.js +0 -186
  473. package/dist/migrate/ory/plugin.js.map +0 -1
  474. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  475. package/dist/migrate/ping-identity/plugin.js +0 -100
  476. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  477. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  478. package/dist/migrate/pocketbase/plugin.js +0 -99
  479. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  480. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  481. package/dist/migrate/propelauth/plugin.js +0 -65
  482. package/dist/migrate/propelauth/plugin.js.map +0 -1
  483. package/dist/migrate/saml/plugin.d.ts +0 -2
  484. package/dist/migrate/saml/plugin.js +0 -79
  485. package/dist/migrate/saml/plugin.js.map +0 -1
  486. package/dist/migrate/stytch/plugin.d.ts +0 -2
  487. package/dist/migrate/stytch/plugin.js +0 -97
  488. package/dist/migrate/stytch/plugin.js.map +0 -1
  489. package/dist/migrate/supabase/plugin.d.ts +0 -2
  490. package/dist/migrate/supabase/plugin.js +0 -149
  491. package/dist/migrate/supabase/plugin.js.map +0 -1
  492. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  493. package/dist/migrate/supertokens/plugin.js +0 -114
  494. package/dist/migrate/supertokens/plugin.js.map +0 -1
  495. package/dist/migrate/user-table/plugin.d.ts +0 -2
  496. package/dist/migrate/user-table/plugin.js +0 -62
  497. package/dist/migrate/user-table/plugin.js.map +0 -1
  498. package/dist/migrate/userfront/plugin.d.ts +0 -2
  499. package/dist/migrate/userfront/plugin.js +0 -60
  500. package/dist/migrate/userfront/plugin.js.map +0 -1
  501. package/dist/migrate/workos/plugin.d.ts +0 -2
  502. package/dist/migrate/workos/plugin.js +0 -81
  503. package/dist/migrate/workos/plugin.js.map +0 -1
  504. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  505. package/dist/migrate/zitadel/plugin.js +0 -114
  506. package/dist/migrate/zitadel/plugin.js.map +0 -1
  507. package/dist/output.d.ts +0 -41
  508. package/dist/output.js +0 -72
  509. package/dist/output.js.map +0 -1
  510. package/dist/project.d.ts +0 -64
  511. package/dist/project.js +0 -86
  512. package/dist/project.js.map +0 -1
  513. package/dist/prompt.d.ts +0 -15
  514. package/dist/prompt.js +0 -46
  515. package/dist/prompt.js.map +0 -1
  516. package/dist/run.d.ts +0 -12
  517. package/dist/run.js +0 -157
  518. package/dist/run.js.map +0 -1
  519. package/dist/secrets.d.ts +0 -41
  520. package/dist/secrets.js +0 -142
  521. package/dist/secrets.js.map +0 -1
  522. package/dist/serialize.d.ts +0 -30
  523. package/dist/serialize.js +0 -131
  524. package/dist/serialize.js.map +0 -1
  525. package/dist/version.d.ts +0 -7
  526. package/dist/version.js +0 -21
  527. package/dist/version.js.map +0 -1
@@ -1,486 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exportClerk = exportClerk;
4
- exports.clerkPasswordHash = clerkPasswordHash;
5
- exports.roleKey = roleKey;
6
- exports.permissionKey = permissionKey;
7
- const node_crypto_1 = require("node:crypto");
8
- const csv_1 = require("../../import/csv");
9
- const record_set_1 = require("./record-set");
10
- const vendor_http_1 = require("./vendor-http");
11
- const PAGE = 500;
12
- async function exportClerk(opts) {
13
- const set = new record_set_1.RecordSet();
14
- if (!opts.secretKey && !opts.csv)
15
- throw new Error('Clerk export needs the secret key (CLERK_SECRET_KEY) or the dashboard CSV export.');
16
- const csvRows = opts.csv ? (0, csv_1.parseCsv)(opts.csv) : [];
17
- const csvById = new Map(csvRows.filter((r) => (0, record_set_1.str)(r.id)).map((r) => [r.id, r]));
18
- if (!opts.secretKey) {
19
- // CSV only: users, passwords and TOTP — no orgs, social accounts or metadata.
20
- set.warn('Exported from the dashboard CSV only: organizations, social accounts and metadata need the Backend API (pass the secret key).');
21
- for (const row of csvRows)
22
- addCsvUser(set, row);
23
- finishManifest(set, null);
24
- return set;
25
- }
26
- const http = new vendor_http_1.VendorHttp({
27
- vendor: 'Clerk',
28
- baseUrl: opts.apiUrl ?? 'https://api.clerk.com',
29
- headers: { authorization: `Bearer ${opts.secretKey}` },
30
- fetchImpl: opts.fetchImpl,
31
- sleep: opts.sleep,
32
- });
33
- const progress = opts.onProgress ?? (() => undefined);
34
- // Organizations first: memberships and invitations point at them.
35
- progress('organizations');
36
- const orgs = await listAll(http, '/v1/organizations?include_members_count=false');
37
- for (const o of orgs) {
38
- const id = (0, record_set_1.str)(o.id);
39
- const name = (0, record_set_1.str)(o.name);
40
- if (!id || !name)
41
- continue;
42
- const domains = await optionalList(http, `/v1/organizations/${id}/domains`);
43
- set.add('organization', (0, record_set_1.compact)({
44
- id,
45
- name,
46
- slug: (0, record_set_1.str)(o.slug),
47
- image_url: (0, record_set_1.str)(o.image_url),
48
- domains: domains.filter((d) => (0, record_set_1.isObj)(d.verification) && d.verification.status === 'verified').map((d) => (0, record_set_1.str)(d.name)).filter((d) => !!d),
49
- max_members: typeof o.max_allowed_memberships === 'number' && o.max_allowed_memberships > 0 ? o.max_allowed_memberships : undefined,
50
- public_metadata: (0, record_set_1.bag)(o.public_metadata),
51
- private_metadata: (0, record_set_1.bag)(o.private_metadata),
52
- created_at: typeof o.created_at === 'number' ? o.created_at : undefined,
53
- }));
54
- }
55
- progress('roles');
56
- for (const r of await optionalList(http, '/v1/organization_roles')) {
57
- const key = (0, record_set_1.str)(r.key);
58
- if (!key)
59
- continue;
60
- set.add('role', (0, record_set_1.compact)({
61
- key: roleKey(key),
62
- name: (0, record_set_1.str)(r.name),
63
- description: (0, record_set_1.str)(r.description),
64
- scope: 'organization',
65
- permissions: (0, record_set_1.objs)(r.permissions).map((p) => (0, record_set_1.str)(p.key)).filter((p) => !!p).map(permissionKey),
66
- }), key);
67
- }
68
- progress('users');
69
- const users = await listAll(http, '/v1/users?order_by=%2Bcreated_at');
70
- const apiIds = new Set();
71
- for (const u of users) {
72
- const id = (0, record_set_1.str)(u.id);
73
- if (!id)
74
- continue;
75
- apiIds.add(id);
76
- addApiUser(set, u, csvById.get(id));
77
- }
78
- // A CSV row the API no longer lists (deleted since the export) is skipped.
79
- const stale = csvRows.filter((r) => (0, record_set_1.str)(r.id) && !apiIds.has(r.id)).length;
80
- if (stale)
81
- set.omit('user', 'in the CSV export but no longer in Clerk (deleted since)', stale);
82
- if (!opts.csv && users.some((u) => u.password_enabled === true)) {
83
- set.warn('No password digests: Clerk only exports them in the dashboard CSV (Users → Export). Pass it with --clerk-csv, or enable lazy migration so passwords move on first sign-in.');
84
- }
85
- progress('memberships');
86
- for (const o of orgs) {
87
- const orgId = (0, record_set_1.str)(o.id);
88
- if (!orgId)
89
- continue;
90
- for (const m of await listAll(http, `/v1/organizations/${orgId}/memberships`)) {
91
- const userId = (0, record_set_1.str)((0, record_set_1.isObj)(m.public_user_data) ? m.public_user_data.user_id : undefined);
92
- const role = (0, record_set_1.str)(m.role);
93
- if (!userId || !role || !apiIds.has(userId))
94
- continue;
95
- set.add('membership', (0, record_set_1.compact)({ id: (0, record_set_1.str)(m.id), organization_id: orgId, user_id: userId, role: roleKey(role), created_at: num(m.created_at) }), `${orgId}:${userId}`);
96
- }
97
- }
98
- progress('invitations');
99
- for (const o of orgs) {
100
- const orgId = (0, record_set_1.str)(o.id);
101
- if (!orgId)
102
- continue;
103
- for (const inv of await listAll(http, `/v1/organizations/${orgId}/invitations?status=pending`)) {
104
- const id = (0, record_set_1.str)(inv.id);
105
- const email = (0, record_set_1.str)(inv.email_address);
106
- if (!id || !email)
107
- continue;
108
- set.add('invitation', (0, record_set_1.compact)({ id, organization_id: orgId, email, role: (0, record_set_1.str)(inv.role) ? roleKey((0, record_set_1.str)(inv.role)) : undefined, status: 'pending', expires_at: num(inv.expires_at), created_at: num(inv.created_at) }));
109
- }
110
- }
111
- for (const inv of await optionalList(http, '/v1/invitations?status=pending')) {
112
- const id = (0, record_set_1.str)(inv.id);
113
- const email = (0, record_set_1.str)(inv.email_address);
114
- if (id && email)
115
- set.add('invitation', (0, record_set_1.compact)({ id, email, status: 'pending', expires_at: num(inv.expires_at), created_at: num(inv.created_at) }));
116
- }
117
- if (!opts.skipApiKeys) {
118
- progress('api keys');
119
- await addApiKeys(set, http, apiIds, new Set(orgs.map((o) => (0, record_set_1.str)(o.id)).filter((x) => !!x)));
120
- }
121
- progress('enterprise connections');
122
- await addSsoConnections(set, http);
123
- progress('signing keys');
124
- const jwks = await optionalGet(http, '/v1/jwks');
125
- for (const k of (0, record_set_1.objs)(jwks?.keys)) {
126
- const kid = (0, record_set_1.str)(k.kid);
127
- if (kid)
128
- set.add('jwks', { kid, jwk: k });
129
- }
130
- finishManifest(set, opts.apiUrl ?? 'https://api.clerk.com');
131
- return set;
132
- }
133
- function finishManifest(set, origin) {
134
- const providers = new Set(set.list('identity').map((i) => i.provider));
135
- set.manifest = { ...set.manifest, origin, providers: [...providers].sort() };
136
- set.warn('Clerk does not export passkeys or backup codes: those users register a passkey / new codes after the move.');
137
- }
138
- // ── users ───────────────────────────────────────────────────────────────────
139
- function addApiUser(set, u, csv) {
140
- const id = (0, record_set_1.str)(u.id);
141
- const emails = (0, record_set_1.objs)(u.email_addresses)
142
- .filter((e) => (0, record_set_1.str)(e.email_address))
143
- .map((e) => ({
144
- email: (0, record_set_1.str)(e.email_address).toLowerCase(),
145
- verified: (0, record_set_1.isObj)(e.verification) && e.verification.status === 'verified',
146
- primary: e.id === u.primary_email_address_id,
147
- }));
148
- const phones = (0, record_set_1.objs)(u.phone_numbers)
149
- .map((p) => ({ phone: (0, record_set_1.e164)(p.phone_number), verified: (0, record_set_1.isObj)(p.verification) && p.verification.status === 'verified', primary: p.id === u.primary_phone_number_id }))
150
- .filter((p) => !!p.phone);
151
- const user = (0, record_set_1.compact)({
152
- id,
153
- emails,
154
- phones,
155
- username: (0, record_set_1.str)(u.username),
156
- first_name: (0, record_set_1.str)(u.first_name),
157
- last_name: (0, record_set_1.str)(u.last_name),
158
- image_url: u.has_image === false ? undefined : (0, record_set_1.str)(u.image_url),
159
- banned: u.banned === true ? true : undefined,
160
- locked: u.locked === true ? true : undefined,
161
- public_metadata: (0, record_set_1.bag)(u.public_metadata),
162
- private_metadata: (0, record_set_1.bag)(u.private_metadata),
163
- unsafe_metadata: (0, record_set_1.bag)(u.unsafe_metadata),
164
- created_at: num(u.created_at),
165
- last_sign_in_at: num(u.last_sign_in_at),
166
- });
167
- if (csv)
168
- attachCsvPassword(set, user, csv);
169
- else if (u.password_enabled === true)
170
- set.omit('password', 'password digests are only in the dashboard CSV export');
171
- if (!user.emails?.length && !user.phones?.length && !user.username) {
172
- // A web3-wallet-only user: Clerk's wallet sign-in has no Atlas identifier to carry.
173
- set.omit('user', 'no email, phone or username (wallet-only users)');
174
- return;
175
- }
176
- set.add('user', user);
177
- for (const ext of (0, record_set_1.objs)(u.external_accounts)) {
178
- const provider = (0, record_set_1.str)(ext.provider);
179
- const sub = (0, record_set_1.str)(ext.provider_user_id) ?? (0, record_set_1.str)(ext.external_id);
180
- if (!provider || !sub)
181
- continue;
182
- set.add('identity', (0, record_set_1.compact)({
183
- id: (0, record_set_1.str)(ext.id),
184
- user_id: id,
185
- provider,
186
- provider_user_id: sub,
187
- kind: 'oauth',
188
- email: (0, record_set_1.str)(ext.email_address),
189
- email_verified: (0, record_set_1.isObj)(ext.verification) ? ext.verification.status === 'verified' : undefined,
190
- scopes: (0, record_set_1.str)(ext.approved_scopes)?.split(/\s+/),
191
- profile: (0, record_set_1.bag)((0, record_set_1.compact)({ first_name: (0, record_set_1.str)(ext.first_name), last_name: (0, record_set_1.str)(ext.last_name), image_url: (0, record_set_1.str)(ext.image_url), username: (0, record_set_1.str)(ext.username) })),
192
- }));
193
- }
194
- for (const ent of [...(0, record_set_1.objs)(u.enterprise_accounts), ...(0, record_set_1.objs)(u.saml_accounts)]) {
195
- const conn = (0, record_set_1.isObj)(ent.enterprise_connection) ? ent.enterprise_connection : (0, record_set_1.isObj)(ent.saml_connection) ? ent.saml_connection : undefined;
196
- const sub = (0, record_set_1.str)(ent.provider_user_id);
197
- if (!sub || ent.active === false)
198
- continue;
199
- set.add('identity', (0, record_set_1.compact)({
200
- id: (0, record_set_1.str)(ent.id),
201
- user_id: id,
202
- provider: (0, record_set_1.str)(ent.provider) ?? 'saml',
203
- provider_user_id: sub,
204
- kind: (0, record_set_1.str)(ent.protocol) === 'oauth' || (0, record_set_1.str)(ent.provider)?.startsWith('oidc') ? 'oidc' : 'saml',
205
- sso_connection_id: (0, record_set_1.str)(conn?.id),
206
- email: (0, record_set_1.str)(ent.email_address),
207
- }), `ent:${(0, record_set_1.str)(ent.id) ?? sub}`);
208
- }
209
- const totp = csv ? (0, record_set_1.str)(csv.totp_secret) : undefined;
210
- if (totp)
211
- set.add('mfa_factor', { user_id: id, type: 'totp', secret_base32: totp.replace(/\s+/g, '').toUpperCase(), digits: 6, period: 30, algorithm: 'SHA1', verified: true });
212
- else if (u.totp_enabled === true)
213
- set.omit('mfa_factor', 'TOTP secrets are only in the dashboard CSV export');
214
- if (u.backup_code_enabled === true)
215
- set.omit('mfa_factor', 'Clerk does not export backup codes');
216
- if ((0, record_set_1.objs)(u.passkeys).length)
217
- set.omit('passkey', 'Clerk does not export passkey public keys', (0, record_set_1.objs)(u.passkeys).length);
218
- }
219
- /** A user from the CSV alone (no API access). */
220
- function addCsvUser(set, r) {
221
- const id = (0, record_set_1.str)(r.id);
222
- if (!id)
223
- return;
224
- const verified = split(r.verified_email_addresses);
225
- const unverified = split(r.unverified_email_addresses);
226
- const primary = (0, record_set_1.str)(r.primary_email_address)?.toLowerCase();
227
- const emails = [...new Set([...(primary ? [primary] : []), ...verified, ...unverified].map((e) => e.toLowerCase()))].map((email) => ({
228
- email,
229
- verified: verified.map((e) => e.toLowerCase()).includes(email),
230
- primary: email === primary,
231
- }));
232
- const vPhones = split(r.verified_phone_numbers);
233
- const phones = [...new Set([(0, record_set_1.str)(r.primary_phone_number), ...vPhones, ...split(r.unverified_phone_numbers)].filter((p) => !!p))]
234
- .map((p) => ({ phone: (0, record_set_1.e164)(p), verified: vPhones.includes(p), primary: p === (0, record_set_1.str)(r.primary_phone_number) }))
235
- .filter((p) => !!p.phone);
236
- const user = (0, record_set_1.compact)({ id, emails, phones, username: (0, record_set_1.str)(r.username), first_name: (0, record_set_1.str)(r.first_name), last_name: (0, record_set_1.str)(r.last_name) });
237
- attachCsvPassword(set, user, r);
238
- if (!user.emails?.length && !user.phones?.length && !user.username) {
239
- set.omit('user', 'no email, phone or username');
240
- return;
241
- }
242
- set.add('user', user);
243
- const totp = (0, record_set_1.str)(r.totp_secret);
244
- if (totp)
245
- set.add('mfa_factor', { user_id: id, type: 'totp', secret_base32: totp.replace(/\s+/g, '').toUpperCase(), digits: 6, period: 30, algorithm: 'SHA1', verified: true });
246
- }
247
- function attachCsvPassword(set, user, r) {
248
- const digest = (0, record_set_1.str)(r.password_digest);
249
- if (!digest)
250
- return;
251
- const mapped = clerkPasswordHash((0, record_set_1.str)(r.password_hasher) ?? 'bcrypt', digest);
252
- if ('reason' in mapped) {
253
- set.omit('password', mapped.reason);
254
- return;
255
- }
256
- user.password = mapped;
257
- }
258
- const split = (v) => (v ?? '').split(/[|,;]/).map((s) => s.trim()).filter(Boolean);
259
- /**
260
- * A Clerk `password_digest` + `password_hasher` → the bundle's password hash
261
- * (an Atlas hash-registry algorithm with its parameters). Formats per Clerk's
262
- * `createUser` reference. Returns a reason when the digest cannot move: those
263
- * users sign in through lazy migration (Clerk's verify_password) instead.
264
- */
265
- function clerkPasswordHash(hasher, digest) {
266
- const h = hasher.trim().toLowerCase();
267
- const parts = digest.split('$');
268
- const int = (v) => (v && /^\d+$/.test(v) ? Number(v) : NaN);
269
- const isHex = (v) => v.length % 2 === 0 && /^[0-9a-f]+$/i.test(v);
270
- switch (h) {
271
- case 'bcrypt':
272
- return { algorithm: 'bcrypt', hash: digest };
273
- case 'bcrypt_sha256_django':
274
- return { algorithm: 'bcrypt_sha256_django', hash: digest };
275
- case 'argon2i':
276
- case 'argon2id':
277
- return { algorithm: 'argon2', hash: digest };
278
- case 'phpass':
279
- case 'md5_phpass':
280
- return { algorithm: 'phpass', hash: digest };
281
- case 'ldap_ssha':
282
- return { algorithm: 'ldap_ssha', hash: digest };
283
- case 'md5':
284
- case 'sha256':
285
- return /^[0-9a-f]+$/i.test(digest) ? { algorithm: h, hash: digest.toLowerCase(), params: { encoding: 'hex' } } : { reason: `${h} digest is not hex` };
286
- case 'md5_salted':
287
- case 'sha256_salted':
288
- // Clerk does not document whether the salt is prepended or appended; a
289
- // guess that is wrong would lock the user out, so these verify lazily.
290
- return { reason: `${h}: Clerk does not document the salt position; these users move through lazy migration` };
291
- case 'pbkdf2_sha256_django':
292
- return { algorithm: 'pbkdf2_django', hash: digest };
293
- case 'pbkdf2_sha256': {
294
- // pbkdf2_sha256$<iterations>$<base64 salt>$<base64 hash>
295
- const [, it, salt, hash] = parts;
296
- if (parts.length !== 4 || !Number.isFinite(int(it)) || !salt || !hash)
297
- return { reason: 'malformed pbkdf2_sha256 digest' };
298
- return { algorithm: 'pbkdf2', hash, salt, params: { digest: 'sha256', iterations: int(it), encoding: 'base64', salt_encoding: 'base64' } };
299
- }
300
- case 'pbkdf2_sha1': {
301
- // pbkdf2_sha1$<iterations>$<salt>$<hex hash>[$<key length>]; the salt is
302
- // hex when it parses as hex, raw bytes otherwise.
303
- const [, it, salt, hash, keylen] = parts;
304
- if ((parts.length !== 4 && parts.length !== 5) || !Number.isFinite(int(it)) || !salt || !hash || !isHex(hash))
305
- return { reason: 'malformed pbkdf2_sha1 digest' };
306
- const params = { digest: 'sha1', iterations: int(it), encoding: 'hex', salt_encoding: isHex(salt) ? 'hex' : 'utf8' };
307
- if (keylen && Number.isFinite(int(keylen)))
308
- params.key_length = int(keylen);
309
- return { algorithm: 'pbkdf2', hash, salt, params };
310
- }
311
- case 'pbkdf2_sha512':
312
- case 'pbkdf2_sha512_hex': {
313
- const [, it, salt, hash] = parts;
314
- if (parts.length !== 4 || !Number.isFinite(int(it)) || !salt || !hash || !isHex(hash))
315
- return { reason: `malformed ${h} digest` };
316
- return { algorithm: 'pbkdf2', hash, salt, params: { digest: 'sha512', iterations: int(it), encoding: 'hex', salt_encoding: h === 'pbkdf2_sha512_hex' ? 'hex' : 'utf8' } };
317
- }
318
- case 'scrypt_firebase': {
319
- // <hash>$<salt>$<signer key>$<salt separator>$<rounds>$<memory cost>
320
- const [hash, salt, signerKey, saltSeparator, rounds, mem] = parts;
321
- if (parts.length !== 6 || !hash || !signerKey)
322
- return { reason: 'malformed scrypt_firebase digest' };
323
- return {
324
- algorithm: 'scrypt_firebase',
325
- hash,
326
- salt: salt ?? '',
327
- params: { signer_key: signerKey, salt_separator: saltSeparator ?? '', rounds: int(rounds), mem_cost: int(mem) },
328
- };
329
- }
330
- case 'scrypt_werkzeug': {
331
- // Werkzeug writes `scrypt:N:r:p$salt$<hex>`; Clerk documents the layout with
332
- // a leading `$` and a base64 hash. Normalise to Werkzeug's own form.
333
- const m = /^\$?(scrypt:\d+:\d+:\d+)\$([^$]+)\$([^$]+)$/.exec(digest);
334
- if (!m)
335
- return { reason: 'malformed scrypt_werkzeug digest' };
336
- const hex = isHex(m[3]) ? m[3].toLowerCase() : Buffer.from(m[3], 'base64').toString('hex');
337
- return hex ? { algorithm: 'scrypt_werkzeug', hash: `${m[1]}$${m[2]}$${hex}` } : { reason: 'malformed scrypt_werkzeug digest' };
338
- }
339
- case 'sha512_symfony': {
340
- // sha512_symfony$<iterations>$<salt>$<base64 hash>
341
- const [, it, salt, hash] = parts;
342
- if (parts.length !== 4 || !Number.isFinite(int(it)) || salt === undefined || !hash)
343
- return { reason: 'malformed sha512_symfony digest' };
344
- return { algorithm: 'sha512_symfony', hash, salt, params: { iterations: int(it), encoding: 'base64' } };
345
- }
346
- case 'bcrypt_peppered':
347
- return { reason: 'bcrypt_peppered: the pepper never leaves Clerk; these users move through lazy migration' };
348
- case 'awscognito':
349
- return { reason: 'awscognito: the password still lives in Amazon Cognito; these users move through lazy migration' };
350
- default:
351
- return { reason: `password hasher "${hasher}" is not supported; these users move through lazy migration` };
352
- }
353
- }
354
- // ── organizations, keys, connections ────────────────────────────────────────
355
- /** Clerk role keys carry an `org:` prefix; the bundle uses the bare key. */
356
- function roleKey(key) {
357
- return key.replace(/^org:/, '');
358
- }
359
- /** `org:invoices:read` → `invoices:read`; system permissions keep their `sys_` key. */
360
- function permissionKey(key) {
361
- return key.replace(/^org:/, '');
362
- }
363
- async function addApiKeys(set, http, users, orgs) {
364
- let keys;
365
- try {
366
- keys = await listAll(http, '/v1/api_keys', 100);
367
- }
368
- catch (err) {
369
- if (err instanceof vendor_http_1.VendorApiError && (err.status === 404 || err.status === 403))
370
- return;
371
- throw err;
372
- }
373
- for (const k of keys) {
374
- const id = (0, record_set_1.str)(k.id);
375
- const subject = (0, record_set_1.str)(k.subject);
376
- if (!id || !subject || k.revoked === true)
377
- continue;
378
- // Clerk returns the secret on request: Atlas stores only its sha256, so
379
- // the key keeps working after the move.
380
- const secret = await optionalGet(http, `/v1/api_keys/${id}/secret`);
381
- const value = (0, record_set_1.str)(secret?.secret);
382
- if (!value) {
383
- set.omit('api_key', 'secret not retrievable; reissue');
384
- continue;
385
- }
386
- set.add('api_key', (0, record_set_1.compact)({
387
- id,
388
- user_id: users.has(subject) ? subject : undefined,
389
- organization_id: orgs.has(subject) ? subject : undefined,
390
- name: (0, record_set_1.str)(k.name),
391
- hash: (0, node_crypto_1.createHash)('sha256').update(value, 'utf8').digest('hex'),
392
- hash_algorithm: 'sha256',
393
- start: value.slice(0, 8),
394
- scopes: (0, record_set_1.strs)(k.scopes),
395
- expires_at: num(k.expiration),
396
- last_used_at: num(k.last_used_at),
397
- created_at: num(k.created_at),
398
- }));
399
- }
400
- }
401
- async function addSsoConnections(set, http) {
402
- let conns = await optionalList(http, '/v1/enterprise_connections');
403
- if (!conns.length)
404
- conns = await optionalList(http, '/v1/saml_connections');
405
- for (const c of conns) {
406
- const id = (0, record_set_1.str)(c.id);
407
- if (!id)
408
- continue;
409
- const saml = (0, record_set_1.isObj)(c.saml_connection) ? c.saml_connection : c;
410
- const oidc = (0, record_set_1.isObj)(c.oauth_config) ? c.oauth_config : (0, record_set_1.isObj)(c.oidc_connection) ? c.oidc_connection : undefined;
411
- const protocol = oidc && !(0, record_set_1.str)(saml.idp_sso_url) ? 'oidc' : 'saml';
412
- const domains = [...(0, record_set_1.strs)(c.domains), ...((0, record_set_1.str)(c.domain) ? [(0, record_set_1.str)(c.domain)] : [])];
413
- const mapping = (0, record_set_1.isObj)(saml.attribute_mapping) ? saml.attribute_mapping : undefined;
414
- set.add('sso_connection', (0, record_set_1.compact)({
415
- id,
416
- name: (0, record_set_1.str)(c.name),
417
- organization_id: (0, record_set_1.str)(c.organization_id),
418
- protocol: protocol,
419
- domains: [...new Set(domains)],
420
- enabled: c.active !== false,
421
- saml: protocol === 'saml'
422
- ? (0, record_set_1.compact)({
423
- idp_entity_id: (0, record_set_1.str)(saml.idp_entity_id),
424
- idp_sso_url: (0, record_set_1.str)(saml.idp_sso_url),
425
- idp_certificate: (0, record_set_1.str)(saml.idp_certificate),
426
- idp_metadata_url: (0, record_set_1.str)(saml.idp_metadata_url),
427
- idp_metadata_xml: (0, record_set_1.str)(saml.idp_metadata),
428
- sp_entity_id: (0, record_set_1.str)(saml.sp_entity_id),
429
- sp_acs_url: (0, record_set_1.str)(saml.acs_url),
430
- attribute_mapping: mapping
431
- ? Object.fromEntries(Object.entries(mapping).filter(([, v]) => typeof v === 'string' && v))
432
- : undefined,
433
- })
434
- : undefined,
435
- oidc: protocol === 'oidc' && oidc
436
- ? (0, record_set_1.compact)({ discovery_url: (0, record_set_1.str)(oidc.discovery_url), issuer: (0, record_set_1.str)(oidc.issuer), client_id: (0, record_set_1.str)(oidc.client_id), scopes: (0, record_set_1.str)(oidc.scopes)?.split(/\s+/) })
437
- : undefined,
438
- }));
439
- if (protocol === 'oidc')
440
- set.warn(`Enterprise OIDC connection ${(0, record_set_1.str)(c.name) ?? id}: Clerk does not return its client secret; enter it in Atlas after the import.`);
441
- }
442
- }
443
- // ── paging ──────────────────────────────────────────────────────────────────
444
- const num = (v) => (typeof v === 'number' && Number.isFinite(v) && v > 0 ? v : undefined);
445
- /** Clerk lists answer either a bare array or `{ data, total_count }`. */
446
- function rowsOf(body) {
447
- if (Array.isArray(body))
448
- return body.filter(record_set_1.isObj);
449
- if ((0, record_set_1.isObj)(body) && Array.isArray(body.data))
450
- return body.data.filter(record_set_1.isObj);
451
- return [];
452
- }
453
- async function listAll(http, path, limit = PAGE) {
454
- const out = [];
455
- const sep = path.includes('?') ? '&' : '?';
456
- for (let offset = 0;; offset += limit) {
457
- const { body } = await http.get(`${path}${sep}limit=${limit}&offset=${offset}`);
458
- const rows = rowsOf(body);
459
- out.push(...rows);
460
- const total = (0, record_set_1.isObj)(body) && typeof body.total_count === 'number' ? body.total_count : undefined;
461
- if (rows.length < limit || (total !== undefined && out.length >= total))
462
- return out;
463
- }
464
- }
465
- /** A list that may not exist on this instance's plan or API version: empty instead of an error. */
466
- async function optionalList(http, path) {
467
- try {
468
- return await listAll(http, path);
469
- }
470
- catch (err) {
471
- if (err instanceof vendor_http_1.VendorApiError && [400, 402, 403, 404, 410, 422].includes(err.status))
472
- return [];
473
- throw err;
474
- }
475
- }
476
- async function optionalGet(http, path) {
477
- try {
478
- return (await http.get(path)).body;
479
- }
480
- catch (err) {
481
- if (err instanceof vendor_http_1.VendorApiError && [400, 402, 403, 404, 410, 422].includes(err.status))
482
- return null;
483
- throw err;
484
- }
485
- }
486
- //# sourceMappingURL=clerk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clerk.js","sourceRoot":"","sources":["../../../src/migrate/export/clerk.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type { TranslationResult } from '../framework/plugin';
2
- import type { CognitoApi } from './cognito';
3
- import { type Obj } from './record-set';
4
- /**
5
- * `atlas migrate cognito config` — a user pool's settings → Atlas config,
6
- * read with the owner's AWS credentials on this machine: DescribeUserPool
7
- * (password policy, MFA, sign-in identifiers, verification, self sign-up,
8
- * Lambda triggers), every app client (callback URLs, OAuth scopes, token
9
- * lifetimes, auth flows), identity providers (social → Atlas providers,
10
- * SAML / OIDC → SSO connections), resource servers (APIs and scopes) and
11
- * groups (roles).
12
- */
13
- export interface CognitoConfigSnapshot {
14
- poolId: string;
15
- region: string;
16
- pool: Obj;
17
- clients: Obj[];
18
- idps: Obj[];
19
- resourceServers: Obj[];
20
- groups: Obj[];
21
- }
22
- export declare function fetchCognitoConfig(api: CognitoApi, poolId: string, region: string): Promise<CognitoConfigSnapshot>;
23
- /** A client's token validity in ms (`RefreshTokenValidity` with `TokenValidityUnits.RefreshToken`). */
24
- export declare function validityMs(client: Obj, field: 'AccessToken' | 'IdToken' | 'RefreshToken'): number | undefined;
25
- export declare function translateCognitoConfig(snap: CognitoConfigSnapshot): TranslationResult;