@atlasauth/cli 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +4 -4
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -104
  25. package/dist/commands/config.js +0 -1506
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/define-config.d.ts +0 -9
  115. package/dist/define-config.js +0 -8
  116. package/dist/define-config.js.map +0 -1
  117. package/dist/errors.d.ts +0 -15
  118. package/dist/errors.js +0 -25
  119. package/dist/errors.js.map +0 -1
  120. package/dist/help.d.ts +0 -8
  121. package/dist/help.js +0 -868
  122. package/dist/help.js.map +0 -1
  123. package/dist/import/csv.d.ts +0 -6
  124. package/dist/import/csv.js +0 -63
  125. package/dist/import/csv.js.map +0 -1
  126. package/dist/import/vendors.d.ts +0 -57
  127. package/dist/import/vendors.js +0 -568
  128. package/dist/import/vendors.js.map +0 -1
  129. package/dist/index.d.ts +0 -33
  130. package/dist/index.js +0 -81
  131. package/dist/index.js.map +0 -1
  132. package/dist/io.d.ts +0 -21
  133. package/dist/io.js +0 -28
  134. package/dist/io.js.map +0 -1
  135. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  136. package/dist/migrate/appwrite/plugin.js +0 -103
  137. package/dist/migrate/appwrite/plugin.js.map +0 -1
  138. package/dist/migrate/auth0/plugin.d.ts +0 -2
  139. package/dist/migrate/auth0/plugin.js +0 -126
  140. package/dist/migrate/auth0/plugin.js.map +0 -1
  141. package/dist/migrate/authentik/plugin.d.ts +0 -2
  142. package/dist/migrate/authentik/plugin.js +0 -135
  143. package/dist/migrate/authentik/plugin.js.map +0 -1
  144. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  145. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  146. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  147. package/dist/migrate/better-auth/integration.d.ts +0 -59
  148. package/dist/migrate/better-auth/integration.js +0 -81
  149. package/dist/migrate/better-auth/integration.js.map +0 -1
  150. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  151. package/dist/migrate/better-auth/orchestrator.js +0 -525
  152. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  153. package/dist/migrate/better-auth/output.d.ts +0 -20
  154. package/dist/migrate/better-auth/output.js +0 -146
  155. package/dist/migrate/better-auth/output.js.map +0 -1
  156. package/dist/migrate/better-auth/translate.d.ts +0 -77
  157. package/dist/migrate/better-auth/translate.js +0 -1989
  158. package/dist/migrate/better-auth/translate.js.map +0 -1
  159. package/dist/migrate/clerk/plugin.d.ts +0 -2
  160. package/dist/migrate/clerk/plugin.js +0 -76
  161. package/dist/migrate/clerk/plugin.js.map +0 -1
  162. package/dist/migrate/cognito/plugin.d.ts +0 -5
  163. package/dist/migrate/cognito/plugin.js +0 -170
  164. package/dist/migrate/cognito/plugin.js.map +0 -1
  165. package/dist/migrate/corbado/plugin.d.ts +0 -2
  166. package/dist/migrate/corbado/plugin.js +0 -63
  167. package/dist/migrate/corbado/plugin.js.map +0 -1
  168. package/dist/migrate/descope/plugin.d.ts +0 -2
  169. package/dist/migrate/descope/plugin.js +0 -83
  170. package/dist/migrate/descope/plugin.js.map +0 -1
  171. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  172. package/dist/migrate/entra-external-id/plugin.js +0 -12
  173. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  174. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  175. package/dist/migrate/export/appwrite-config.js +0 -170
  176. package/dist/migrate/export/appwrite-config.js.map +0 -1
  177. package/dist/migrate/export/appwrite.d.ts +0 -51
  178. package/dist/migrate/export/appwrite.js +0 -288
  179. package/dist/migrate/export/appwrite.js.map +0 -1
  180. package/dist/migrate/export/auth0-config.d.ts +0 -29
  181. package/dist/migrate/export/auth0-config.js +0 -249
  182. package/dist/migrate/export/auth0-config.js.map +0 -1
  183. package/dist/migrate/export/auth0.d.ts +0 -62
  184. package/dist/migrate/export/auth0.js +0 -575
  185. package/dist/migrate/export/auth0.js.map +0 -1
  186. package/dist/migrate/export/authentik-config.d.ts +0 -45
  187. package/dist/migrate/export/authentik-config.js +0 -357
  188. package/dist/migrate/export/authentik-config.js.map +0 -1
  189. package/dist/migrate/export/authentik.d.ts +0 -110
  190. package/dist/migrate/export/authentik.js +0 -838
  191. package/dist/migrate/export/authentik.js.map +0 -1
  192. package/dist/migrate/export/azure-config.d.ts +0 -58
  193. package/dist/migrate/export/azure-config.js +0 -344
  194. package/dist/migrate/export/azure-config.js.map +0 -1
  195. package/dist/migrate/export/azure.d.ts +0 -85
  196. package/dist/migrate/export/azure.js +0 -373
  197. package/dist/migrate/export/azure.js.map +0 -1
  198. package/dist/migrate/export/clerk-config.d.ts +0 -26
  199. package/dist/migrate/export/clerk-config.js +0 -227
  200. package/dist/migrate/export/clerk-config.js.map +0 -1
  201. package/dist/migrate/export/clerk.d.ts +0 -46
  202. package/dist/migrate/export/clerk.js +0 -486
  203. package/dist/migrate/export/clerk.js.map +0 -1
  204. package/dist/migrate/export/cognito-config.d.ts +0 -25
  205. package/dist/migrate/export/cognito-config.js +0 -273
  206. package/dist/migrate/export/cognito-config.js.map +0 -1
  207. package/dist/migrate/export/cognito.d.ts +0 -103
  208. package/dist/migrate/export/cognito.js +0 -441
  209. package/dist/migrate/export/cognito.js.map +0 -1
  210. package/dist/migrate/export/corbado-config.d.ts +0 -20
  211. package/dist/migrate/export/corbado-config.js +0 -63
  212. package/dist/migrate/export/corbado-config.js.map +0 -1
  213. package/dist/migrate/export/corbado.d.ts +0 -37
  214. package/dist/migrate/export/corbado.js +0 -132
  215. package/dist/migrate/export/corbado.js.map +0 -1
  216. package/dist/migrate/export/descope.d.ts +0 -35
  217. package/dist/migrate/export/descope.js +0 -208
  218. package/dist/migrate/export/descope.js.map +0 -1
  219. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  220. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  221. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  222. package/dist/migrate/export/firebase-config.d.ts +0 -24
  223. package/dist/migrate/export/firebase-config.js +0 -215
  224. package/dist/migrate/export/firebase-config.js.map +0 -1
  225. package/dist/migrate/export/firebase.d.ts +0 -102
  226. package/dist/migrate/export/firebase.js +0 -464
  227. package/dist/migrate/export/firebase.js.map +0 -1
  228. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  229. package/dist/migrate/export/frameworks/app-users.js +0 -161
  230. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  231. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  232. package/dist/migrate/export/frameworks/authjs.js +0 -146
  233. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  234. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  235. package/dist/migrate/export/frameworks/devise.js +0 -218
  236. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  237. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  238. package/dist/migrate/export/frameworks/django.js +0 -315
  239. package/dist/migrate/export/frameworks/django.js.map +0 -1
  240. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  241. package/dist/migrate/export/frameworks/lucia.js +0 -263
  242. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  243. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  244. package/dist/migrate/export/frameworks/tables.js +0 -325
  245. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  246. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  247. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  248. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  249. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  250. package/dist/migrate/export/frontegg-config.js +0 -238
  251. package/dist/migrate/export/frontegg-config.js.map +0 -1
  252. package/dist/migrate/export/frontegg.d.ts +0 -67
  253. package/dist/migrate/export/frontegg.js +0 -410
  254. package/dist/migrate/export/frontegg.js.map +0 -1
  255. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  256. package/dist/migrate/export/fusionauth-config.js +0 -226
  257. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  258. package/dist/migrate/export/fusionauth.d.ts +0 -99
  259. package/dist/migrate/export/fusionauth.js +0 -642
  260. package/dist/migrate/export/fusionauth.js.map +0 -1
  261. package/dist/migrate/export/hanko-config.d.ts +0 -27
  262. package/dist/migrate/export/hanko-config.js +0 -265
  263. package/dist/migrate/export/hanko-config.js.map +0 -1
  264. package/dist/migrate/export/hanko.d.ts +0 -52
  265. package/dist/migrate/export/hanko.js +0 -605
  266. package/dist/migrate/export/hanko.js.map +0 -1
  267. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  268. package/dist/migrate/export/keycloak-config.js +0 -219
  269. package/dist/migrate/export/keycloak-config.js.map +0 -1
  270. package/dist/migrate/export/keycloak.d.ts +0 -155
  271. package/dist/migrate/export/keycloak.js +0 -878
  272. package/dist/migrate/export/keycloak.js.map +0 -1
  273. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  274. package/dist/migrate/export/kinde-descope-config.js +0 -172
  275. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  276. package/dist/migrate/export/kinde.d.ts +0 -57
  277. package/dist/migrate/export/kinde.js +0 -333
  278. package/dist/migrate/export/kinde.js.map +0 -1
  279. package/dist/migrate/export/ldap.d.ts +0 -53
  280. package/dist/migrate/export/ldap.js +0 -277
  281. package/dist/migrate/export/ldap.js.map +0 -1
  282. package/dist/migrate/export/logto-config.d.ts +0 -27
  283. package/dist/migrate/export/logto-config.js +0 -264
  284. package/dist/migrate/export/logto-config.js.map +0 -1
  285. package/dist/migrate/export/logto.d.ts +0 -150
  286. package/dist/migrate/export/logto.js +0 -809
  287. package/dist/migrate/export/logto.js.map +0 -1
  288. package/dist/migrate/export/magic-config.d.ts +0 -14
  289. package/dist/migrate/export/magic-config.js +0 -28
  290. package/dist/migrate/export/magic-config.js.map +0 -1
  291. package/dist/migrate/export/magic.d.ts +0 -31
  292. package/dist/migrate/export/magic.js +0 -93
  293. package/dist/migrate/export/magic.js.map +0 -1
  294. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  295. package/dist/migrate/export/mini-yaml.js +0 -581
  296. package/dist/migrate/export/mini-yaml.js.map +0 -1
  297. package/dist/migrate/export/nhost-config.d.ts +0 -26
  298. package/dist/migrate/export/nhost-config.js +0 -360
  299. package/dist/migrate/export/nhost-config.js.map +0 -1
  300. package/dist/migrate/export/nhost.d.ts +0 -64
  301. package/dist/migrate/export/nhost.js +0 -304
  302. package/dist/migrate/export/nhost.js.map +0 -1
  303. package/dist/migrate/export/okta-config.d.ts +0 -30
  304. package/dist/migrate/export/okta-config.js +0 -205
  305. package/dist/migrate/export/okta-config.js.map +0 -1
  306. package/dist/migrate/export/okta.d.ts +0 -43
  307. package/dist/migrate/export/okta.js +0 -337
  308. package/dist/migrate/export/okta.js.map +0 -1
  309. package/dist/migrate/export/onelogin.d.ts +0 -22
  310. package/dist/migrate/export/onelogin.js +0 -123
  311. package/dist/migrate/export/onelogin.js.map +0 -1
  312. package/dist/migrate/export/ory-config.d.ts +0 -58
  313. package/dist/migrate/export/ory-config.js +0 -451
  314. package/dist/migrate/export/ory-config.js.map +0 -1
  315. package/dist/migrate/export/ory.d.ts +0 -81
  316. package/dist/migrate/export/ory.js +0 -555
  317. package/dist/migrate/export/ory.js.map +0 -1
  318. package/dist/migrate/export/password-detect.d.ts +0 -29
  319. package/dist/migrate/export/password-detect.js +0 -81
  320. package/dist/migrate/export/password-detect.js.map +0 -1
  321. package/dist/migrate/export/pingone.d.ts +0 -36
  322. package/dist/migrate/export/pingone.js +0 -218
  323. package/dist/migrate/export/pingone.js.map +0 -1
  324. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  325. package/dist/migrate/export/plugin-kit.js +0 -82
  326. package/dist/migrate/export/plugin-kit.js.map +0 -1
  327. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  328. package/dist/migrate/export/pocketbase-config.js +0 -180
  329. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  330. package/dist/migrate/export/pocketbase.d.ts +0 -52
  331. package/dist/migrate/export/pocketbase.js +0 -243
  332. package/dist/migrate/export/pocketbase.js.map +0 -1
  333. package/dist/migrate/export/project-files.d.ts +0 -15
  334. package/dist/migrate/export/project-files.js +0 -43
  335. package/dist/migrate/export/project-files.js.map +0 -1
  336. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  337. package/dist/migrate/export/propelauth-config.js +0 -58
  338. package/dist/migrate/export/propelauth-config.js.map +0 -1
  339. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  340. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  341. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  342. package/dist/migrate/export/propelauth.d.ts +0 -48
  343. package/dist/migrate/export/propelauth.js +0 -255
  344. package/dist/migrate/export/propelauth.js.map +0 -1
  345. package/dist/migrate/export/record-set.d.ts +0 -44
  346. package/dist/migrate/export/record-set.js +0 -98
  347. package/dist/migrate/export/record-set.js.map +0 -1
  348. package/dist/migrate/export/source-lines.d.ts +0 -17
  349. package/dist/migrate/export/source-lines.js +0 -43
  350. package/dist/migrate/export/source-lines.js.map +0 -1
  351. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  352. package/dist/migrate/export/sso-metadata.js +0 -180
  353. package/dist/migrate/export/sso-metadata.js.map +0 -1
  354. package/dist/migrate/export/stytch-config.d.ts +0 -22
  355. package/dist/migrate/export/stytch-config.js +0 -102
  356. package/dist/migrate/export/stytch-config.js.map +0 -1
  357. package/dist/migrate/export/stytch.d.ts +0 -68
  358. package/dist/migrate/export/stytch.js +0 -510
  359. package/dist/migrate/export/stytch.js.map +0 -1
  360. package/dist/migrate/export/supabase-config.d.ts +0 -48
  361. package/dist/migrate/export/supabase-config.js +0 -408
  362. package/dist/migrate/export/supabase-config.js.map +0 -1
  363. package/dist/migrate/export/supabase.d.ts +0 -86
  364. package/dist/migrate/export/supabase.js +0 -524
  365. package/dist/migrate/export/supabase.js.map +0 -1
  366. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  367. package/dist/migrate/export/supertokens-config.js +0 -150
  368. package/dist/migrate/export/supertokens-config.js.map +0 -1
  369. package/dist/migrate/export/supertokens.d.ts +0 -125
  370. package/dist/migrate/export/supertokens.js +0 -464
  371. package/dist/migrate/export/supertokens.js.map +0 -1
  372. package/dist/migrate/export/table.d.ts +0 -35
  373. package/dist/migrate/export/table.js +0 -248
  374. package/dist/migrate/export/table.js.map +0 -1
  375. package/dist/migrate/export/translate-kit.d.ts +0 -46
  376. package/dist/migrate/export/translate-kit.js +0 -148
  377. package/dist/migrate/export/translate-kit.js.map +0 -1
  378. package/dist/migrate/export/userfront-config.d.ts +0 -15
  379. package/dist/migrate/export/userfront-config.js +0 -49
  380. package/dist/migrate/export/userfront-config.js.map +0 -1
  381. package/dist/migrate/export/userfront.d.ts +0 -38
  382. package/dist/migrate/export/userfront.js +0 -189
  383. package/dist/migrate/export/userfront.js.map +0 -1
  384. package/dist/migrate/export/vendor-http.d.ts +0 -46
  385. package/dist/migrate/export/vendor-http.js +0 -138
  386. package/dist/migrate/export/vendor-http.js.map +0 -1
  387. package/dist/migrate/export/workos-config.d.ts +0 -23
  388. package/dist/migrate/export/workos-config.js +0 -125
  389. package/dist/migrate/export/workos-config.js.map +0 -1
  390. package/dist/migrate/export/workos.d.ts +0 -46
  391. package/dist/migrate/export/workos.js +0 -272
  392. package/dist/migrate/export/workos.js.map +0 -1
  393. package/dist/migrate/export/zip.d.ts +0 -8
  394. package/dist/migrate/export/zip.js +0 -66
  395. package/dist/migrate/export/zip.js.map +0 -1
  396. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  397. package/dist/migrate/export/zitadel-config.js +0 -279
  398. package/dist/migrate/export/zitadel-config.js.map +0 -1
  399. package/dist/migrate/export/zitadel.d.ts +0 -82
  400. package/dist/migrate/export/zitadel.js +0 -447
  401. package/dist/migrate/export/zitadel.js.map +0 -1
  402. package/dist/migrate/firebase/plugin.d.ts +0 -2
  403. package/dist/migrate/firebase/plugin.js +0 -152
  404. package/dist/migrate/firebase/plugin.js.map +0 -1
  405. package/dist/migrate/framework/builtins.d.ts +0 -2
  406. package/dist/migrate/framework/builtins.js +0 -52
  407. package/dist/migrate/framework/builtins.js.map +0 -1
  408. package/dist/migrate/framework/commands.d.ts +0 -20
  409. package/dist/migrate/framework/commands.js +0 -58
  410. package/dist/migrate/framework/commands.js.map +0 -1
  411. package/dist/migrate/framework/custom.d.ts +0 -12
  412. package/dist/migrate/framework/custom.js +0 -96
  413. package/dist/migrate/framework/custom.js.map +0 -1
  414. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  415. package/dist/migrate/framework/orchestrator.js +0 -532
  416. package/dist/migrate/framework/orchestrator.js.map +0 -1
  417. package/dist/migrate/framework/plugin.d.ts +0 -167
  418. package/dist/migrate/framework/plugin.js +0 -3
  419. package/dist/migrate/framework/plugin.js.map +0 -1
  420. package/dist/migrate/framework/registry.d.ts +0 -11
  421. package/dist/migrate/framework/registry.js +0 -44
  422. package/dist/migrate/framework/registry.js.map +0 -1
  423. package/dist/migrate/framework/report.d.ts +0 -17
  424. package/dist/migrate/framework/report.js +0 -103
  425. package/dist/migrate/framework/report.js.map +0 -1
  426. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  427. package/dist/migrate/frameworks/plugins.js +0 -402
  428. package/dist/migrate/frameworks/plugins.js.map +0 -1
  429. package/dist/migrate/frameworks/report.d.ts +0 -92
  430. package/dist/migrate/frameworks/report.js +0 -207
  431. package/dist/migrate/frameworks/report.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  433. package/dist/migrate/frameworks/translate-js.js +0 -503
  434. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  435. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  436. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  437. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  438. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  439. package/dist/migrate/frontegg/plugin.js +0 -78
  440. package/dist/migrate/frontegg/plugin.js.map +0 -1
  441. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  442. package/dist/migrate/fusionauth/plugin.js +0 -109
  443. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  444. package/dist/migrate/hanko/plugin.d.ts +0 -2
  445. package/dist/migrate/hanko/plugin.js +0 -100
  446. package/dist/migrate/hanko/plugin.js.map +0 -1
  447. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  448. package/dist/migrate/keycloak/plugin.js +0 -148
  449. package/dist/migrate/keycloak/plugin.js.map +0 -1
  450. package/dist/migrate/kinde/plugin.d.ts +0 -2
  451. package/dist/migrate/kinde/plugin.js +0 -105
  452. package/dist/migrate/kinde/plugin.js.map +0 -1
  453. package/dist/migrate/ldap/plugin.d.ts +0 -2
  454. package/dist/migrate/ldap/plugin.js +0 -73
  455. package/dist/migrate/ldap/plugin.js.map +0 -1
  456. package/dist/migrate/logto/plugin.d.ts +0 -2
  457. package/dist/migrate/logto/plugin.js +0 -131
  458. package/dist/migrate/logto/plugin.js.map +0 -1
  459. package/dist/migrate/magic/plugin.d.ts +0 -2
  460. package/dist/migrate/magic/plugin.js +0 -56
  461. package/dist/migrate/magic/plugin.js.map +0 -1
  462. package/dist/migrate/nhost/plugin.d.ts +0 -2
  463. package/dist/migrate/nhost/plugin.js +0 -115
  464. package/dist/migrate/nhost/plugin.js.map +0 -1
  465. package/dist/migrate/oidc/plugin.d.ts +0 -2
  466. package/dist/migrate/oidc/plugin.js +0 -73
  467. package/dist/migrate/oidc/plugin.js.map +0 -1
  468. package/dist/migrate/okta/plugin.d.ts +0 -2
  469. package/dist/migrate/okta/plugin.js +0 -105
  470. package/dist/migrate/okta/plugin.js.map +0 -1
  471. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  472. package/dist/migrate/onelogin/plugin.js +0 -61
  473. package/dist/migrate/onelogin/plugin.js.map +0 -1
  474. package/dist/migrate/ory/plugin.d.ts +0 -2
  475. package/dist/migrate/ory/plugin.js +0 -186
  476. package/dist/migrate/ory/plugin.js.map +0 -1
  477. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  478. package/dist/migrate/ping-identity/plugin.js +0 -100
  479. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  480. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  481. package/dist/migrate/pocketbase/plugin.js +0 -99
  482. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  483. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  484. package/dist/migrate/propelauth/plugin.js +0 -65
  485. package/dist/migrate/propelauth/plugin.js.map +0 -1
  486. package/dist/migrate/saml/plugin.d.ts +0 -2
  487. package/dist/migrate/saml/plugin.js +0 -79
  488. package/dist/migrate/saml/plugin.js.map +0 -1
  489. package/dist/migrate/stytch/plugin.d.ts +0 -2
  490. package/dist/migrate/stytch/plugin.js +0 -97
  491. package/dist/migrate/stytch/plugin.js.map +0 -1
  492. package/dist/migrate/supabase/plugin.d.ts +0 -2
  493. package/dist/migrate/supabase/plugin.js +0 -149
  494. package/dist/migrate/supabase/plugin.js.map +0 -1
  495. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  496. package/dist/migrate/supertokens/plugin.js +0 -114
  497. package/dist/migrate/supertokens/plugin.js.map +0 -1
  498. package/dist/migrate/user-table/plugin.d.ts +0 -2
  499. package/dist/migrate/user-table/plugin.js +0 -62
  500. package/dist/migrate/user-table/plugin.js.map +0 -1
  501. package/dist/migrate/userfront/plugin.d.ts +0 -2
  502. package/dist/migrate/userfront/plugin.js +0 -60
  503. package/dist/migrate/userfront/plugin.js.map +0 -1
  504. package/dist/migrate/workos/plugin.d.ts +0 -2
  505. package/dist/migrate/workos/plugin.js +0 -81
  506. package/dist/migrate/workos/plugin.js.map +0 -1
  507. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  508. package/dist/migrate/zitadel/plugin.js +0 -114
  509. package/dist/migrate/zitadel/plugin.js.map +0 -1
  510. package/dist/output.d.ts +0 -41
  511. package/dist/output.js +0 -72
  512. package/dist/output.js.map +0 -1
  513. package/dist/project.d.ts +0 -64
  514. package/dist/project.js +0 -86
  515. package/dist/project.js.map +0 -1
  516. package/dist/prompt.d.ts +0 -15
  517. package/dist/prompt.js +0 -46
  518. package/dist/prompt.js.map +0 -1
  519. package/dist/run.d.ts +0 -12
  520. package/dist/run.js +0 -157
  521. package/dist/run.js.map +0 -1
  522. package/dist/secrets.d.ts +0 -41
  523. package/dist/secrets.js +0 -142
  524. package/dist/secrets.js.map +0 -1
  525. package/dist/serialize.d.ts +0 -30
  526. package/dist/serialize.js +0 -131
  527. package/dist/serialize.js.map +0 -1
  528. package/dist/version.d.ts +0 -7
  529. package/dist/version.js +0 -21
  530. package/dist/version.js.map +0 -1
@@ -1,464 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stdBase64 = void 0;
4
- exports.parseServiceAccount = parseServiceAccount;
5
- exports.serviceAccountAssertion = serviceAccountAssertion;
6
- exports.serviceAccountToken = serviceAccountToken;
7
- exports.firebaseHttp = firebaseHttp;
8
- exports.fetchHashConfig = fetchHashConfig;
9
- exports.hashParamsOf = hashParamsOf;
10
- exports.exportFirebase = exportFirebase;
11
- exports.mapFirebaseUser = mapFirebaseUser;
12
- exports.parseFirebaseExport = parseFirebaseExport;
13
- const node_crypto_1 = require("node:crypto");
14
- const csv_1 = require("../../import/csv");
15
- const record_set_1 = require("./record-set");
16
- const vendor_http_1 = require("./vendor-http");
17
- const API = 'https://identitytoolkit.googleapis.com';
18
- const TOKEN_URL = 'https://oauth2.googleapis.com/token';
19
- const SCOPE = 'https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/identitytoolkit';
20
- /** `base64("REDACTED")`: what the API returns for a hash the caller may not read. */
21
- const REDACTED = 'UkVEQUNURUQ=';
22
- const PAGE = 1000;
23
- /** Firebase provider ids → the provider name identity records carry (Atlas's key where one exists). */
24
- const SOCIAL = {
25
- 'google.com': 'google',
26
- 'facebook.com': 'facebook',
27
- 'twitter.com': 'x',
28
- 'github.com': 'github',
29
- 'apple.com': 'apple',
30
- 'microsoft.com': 'microsoft',
31
- 'linkedin.com': 'linkedin',
32
- 'yahoo.com': 'yahoo',
33
- };
34
- /** Providers that are sign-in methods, not linked accounts. */
35
- const NOT_IDENTITIES = new Set(['password', 'phone', 'emailLink', 'anonymous', 'custom']);
36
- /** Firebase's `-_` alphabet → standard base64 (the CLI does the same; the Admin SDK does not). */
37
- const stdBase64 = (v) => v.trim().replace(/-/g, '+').replace(/_/g, '/');
38
- exports.stdBase64 = stdBase64;
39
- const ms = (v) => {
40
- const s = (0, record_set_1.str)(v);
41
- if (!s)
42
- return undefined;
43
- const n = Number(s);
44
- if (Number.isFinite(n) && n > 0)
45
- return n;
46
- const t = Date.parse(s);
47
- return Number.isFinite(t) ? t : undefined;
48
- };
49
- // ── access ─────────────────────────────────────────────────────────────────
50
- function parseServiceAccount(text) {
51
- let doc;
52
- try {
53
- doc = JSON.parse(text);
54
- }
55
- catch {
56
- throw new Error('The service-account key file is not JSON.');
57
- }
58
- if (!(0, record_set_1.isObj)(doc) || doc.type !== 'service_account' || !(0, record_set_1.str)(doc.client_email) || !(0, record_set_1.str)(doc.private_key)) {
59
- throw new Error('That is not a service-account key file (it needs type "service_account", client_email and private_key).');
60
- }
61
- return {
62
- client_email: (0, record_set_1.str)(doc.client_email),
63
- private_key: String(doc.private_key),
64
- private_key_id: (0, record_set_1.str)(doc.private_key_id),
65
- project_id: (0, record_set_1.str)(doc.project_id),
66
- token_uri: (0, record_set_1.str)(doc.token_uri),
67
- };
68
- }
69
- /** The RS256 JWT assertion of the OAuth 2.0 JWT-bearer grant, signed locally with the service account's key. */
70
- function serviceAccountAssertion(sa, nowSeconds) {
71
- const enc = (o) => Buffer.from(JSON.stringify(o)).toString('base64url');
72
- const header = { alg: 'RS256', typ: 'JWT', ...(sa.private_key_id ? { kid: sa.private_key_id } : {}) };
73
- const claims = { iss: sa.client_email, sub: sa.client_email, scope: SCOPE, aud: sa.token_uri ?? TOKEN_URL, iat: nowSeconds, exp: nowSeconds + 3600 };
74
- const input = `${enc(header)}.${enc(claims)}`;
75
- const sig = (0, node_crypto_1.createSign)('RSA-SHA256').update(input).sign(sa.private_key).toString('base64url');
76
- return `${input}.${sig}`;
77
- }
78
- /** Exchange the assertion for an access token — at Google, the only place the key's signature goes. */
79
- async function serviceAccountToken(sa, fetchImpl = fetch, now = Date.now) {
80
- const url = sa.token_uri ?? TOKEN_URL;
81
- if (!/^https:\/\/[a-z0-9.-]+\.googleapis\.com\//.test(url))
82
- throw new Error(`Refusing the service account's token_uri ${url}: not a googleapis.com address.`);
83
- const res = await fetchImpl(url, {
84
- method: 'POST',
85
- headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
86
- body: new URLSearchParams({ grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer', assertion: serviceAccountAssertion(sa, Math.floor(now() / 1000)) }).toString(),
87
- });
88
- const body = (await res.json().catch(() => ({})));
89
- if (!res.ok || !(0, record_set_1.str)(body.access_token)) {
90
- throw new vendor_http_1.VendorApiError('Google OAuth', res.status, '/token', (0, record_set_1.str)(body.error_description) ?? (0, record_set_1.str)(body.error) ?? '');
91
- }
92
- return (0, record_set_1.str)(body.access_token);
93
- }
94
- function firebaseHttp(o) {
95
- if (!o.accessToken && !o.serviceAccount)
96
- throw new Error('Firebase: pass a service-account key file or an access token.');
97
- let bearer = o.accessToken;
98
- return new vendor_http_1.VendorHttp({
99
- vendor: 'Firebase',
100
- baseUrl: API,
101
- headers: async () => ({
102
- authorization: `Bearer ${(bearer ??= await serviceAccountToken(o.serviceAccount, o.fetchImpl, o.now))}`,
103
- // Bills quota to the project being exported (needed with user credentials from gcloud).
104
- 'x-goog-user-project': o.projectId,
105
- }),
106
- fetchImpl: o.fetchImpl,
107
- sleep: o.sleep,
108
- });
109
- }
110
- /** The scope of a call: the project, or one tenant of it. */
111
- const scopePath = (projectId, tenant) => `projects/${encodeURIComponent(projectId)}${tenant ? `/tenants/${encodeURIComponent(tenant)}` : ''}`;
112
- /** A project's (or tenant's) password hash parameters, from the admin v2 config. Null when the caller cannot read them. */
113
- async function fetchHashConfig(http, projectId, tenant) {
114
- try {
115
- const { body } = await http.get(tenant ? `/v2/${scopePath(projectId, tenant)}` : `/v2/${scopePath(projectId)}/config`);
116
- // The project config nests it under signIn; a Tenant carries it at the top level.
117
- const hc = (0, record_set_1.isObj)(body.hashConfig) ? body.hashConfig : (0, record_set_1.isObj)(body.signIn) && (0, record_set_1.isObj)(body.signIn.hashConfig) ? body.signIn.hashConfig : null;
118
- if (!hc)
119
- return null;
120
- return { params: hashParamsOf(hc), algorithm: (0, record_set_1.str)(hc.algorithm) };
121
- }
122
- catch (err) {
123
- if (err instanceof vendor_http_1.VendorApiError && [403, 404].includes(err.status))
124
- return null;
125
- throw err;
126
- }
127
- }
128
- /** `signIn.hashConfig` (or the console's names) → the registry's scrypt_firebase params. */
129
- function hashParamsOf(hc) {
130
- const n = (v) => (typeof v === 'number' ? v : (0, record_set_1.str)(v) ? Number((0, record_set_1.str)(v)) : undefined);
131
- return (0, record_set_1.compact)({
132
- signer_key: (0, record_set_1.str)(hc.signerKey ?? hc.signer_key ?? hc.base64_signer_key) && (0, exports.stdBase64)((0, record_set_1.str)(hc.signerKey ?? hc.signer_key ?? hc.base64_signer_key)),
133
- salt_separator: (0, record_set_1.str)(hc.saltSeparator ?? hc.salt_separator ?? hc.base64_salt_separator) !== undefined ? (0, exports.stdBase64)((0, record_set_1.str)(hc.saltSeparator ?? hc.salt_separator ?? hc.base64_salt_separator)) : undefined,
134
- rounds: n(hc.rounds),
135
- mem_cost: n(hc.memoryCost ?? hc.memCost ?? hc.mem_cost),
136
- });
137
- }
138
- function completeParams(p) {
139
- if (!p.signer_key || !p.rounds || !p.mem_cost)
140
- return null;
141
- return { signer_key: p.signer_key, salt_separator: p.salt_separator ?? '', rounds: p.rounds, mem_cost: p.mem_cost };
142
- }
143
- async function pages(http, path, key, size) {
144
- const out = [];
145
- let token;
146
- const sep = path.includes('?') ? '&' : '?';
147
- for (let guard = 0; guard < 100_000; guard++) {
148
- const q = `${sep}${key === 'users' ? 'maxResults' : 'pageSize'}=${size}${token ? `&nextPageToken=${encodeURIComponent(token)}` : ''}`;
149
- const { body } = await http.get(`${path}${q}`);
150
- out.push(...(0, record_set_1.objs)(body?.[key]));
151
- token = (0, record_set_1.str)(body?.nextPageToken);
152
- if (!token)
153
- break;
154
- }
155
- return out;
156
- }
157
- // ── export ─────────────────────────────────────────────────────────────────
158
- async function exportFirebase(opts) {
159
- const set = new record_set_1.RecordSet();
160
- const progress = opts.onProgress ?? (() => undefined);
161
- const projectId = opts.projectId.trim();
162
- if (!/^[a-z0-9][a-z0-9-]{3,62}$/.test(projectId))
163
- throw new Error(`Not a Firebase project id: ${opts.projectId}`);
164
- set.manifest.origin = `firebase project ${projectId}`;
165
- const flagParams = opts.hashParams ?? {};
166
- if (opts.usersText !== undefined) {
167
- if (opts.tenant)
168
- throw new Error('Firebase: an auth:export file holds project-level users only (the CLI cannot export a tenant); use the API for tenants.');
169
- progress('users file');
170
- const users = parseFirebaseExport(opts.usersText, opts.usersFileName);
171
- const params = completeParams(flagParams);
172
- if (!params)
173
- warnNoParams(set);
174
- addUsers(set, users, { params, includeAnonymous: opts.includeAnonymous === true });
175
- if (/\.csv$/i.test(opts.usersFileName ?? '') || !opts.usersText.trim().startsWith('{')) {
176
- set.warn('The auth:export CSV has no second factors and keeps ten social providers only: export through the API (a service account) to move SMS second factors and OIDC / SAML links.');
177
- }
178
- else {
179
- set.warn('auth:export keeps ten social providers only and drops OIDC, SAML and phone links: export through the API (a service account) for those.');
180
- }
181
- settle(set, params);
182
- return set;
183
- }
184
- const http = firebaseHttp({
185
- accessToken: opts.accessToken,
186
- serviceAccount: opts.serviceAccountJson ? parseServiceAccount(opts.serviceAccountJson) : undefined,
187
- projectId,
188
- fetchImpl: opts.fetchImpl,
189
- sleep: opts.sleep,
190
- now: opts.now,
191
- });
192
- const scopes = [];
193
- if (opts.tenant === 'all') {
194
- progress('tenants');
195
- const tenants = await pages(http, `/v2/${scopePath(projectId)}/tenants`, 'tenants', 1000);
196
- for (const t of tenants) {
197
- const id = (0, record_set_1.str)(t.name)?.split('/').pop();
198
- if (id)
199
- scopes.push({ tenant: id, name: (0, record_set_1.str)(t.displayName) ?? id });
200
- }
201
- if (!scopes.length)
202
- set.warn('The project has no Identity Platform tenants; nothing was exported. Run without the tenant option for project-level users.');
203
- else
204
- set.add('role', { key: 'member', name: 'Member', scope: 'organization' });
205
- }
206
- else {
207
- scopes.push({ tenant: opts.tenant || undefined });
208
- }
209
- let anyParams = null;
210
- for (const scope of scopes) {
211
- const label = scope.tenant ? `tenant ${scope.tenant}` : 'project';
212
- progress(`${label} hash parameters`);
213
- const fetched = await fetchHashConfig(http, projectId, scope.tenant);
214
- if (fetched?.algorithm && fetched.algorithm !== 'SCRYPT')
215
- set.warn(`The ${label} reports hash algorithm ${fetched.algorithm}; Firebase stores its own passwords with SCRYPT, so the hashes are read as Firebase scrypt.`);
216
- const params = completeParams({ ...fetched?.params, ...flagParams });
217
- if (!params)
218
- warnNoParams(set, label);
219
- anyParams ??= params;
220
- progress(`${label} SAML and OIDC providers`);
221
- const connections = await enterpriseConnections(http, projectId, scope.tenant);
222
- for (const c of connections)
223
- set.add('sso_connection', c, c.id);
224
- if (opts.tenant === 'all' && scope.tenant) {
225
- set.add('organization', { id: scope.tenant, name: scope.name ?? scope.tenant, public_metadata: { firebase_tenant_id: scope.tenant } });
226
- }
227
- progress(`${label} users`);
228
- const users = await pages(http, `/v1/${scopePath(projectId, scope.tenant)}/accounts:batchGet`, 'users', PAGE);
229
- const added = addUsers(set, users, { params, includeAnonymous: opts.includeAnonymous === true, tenant: scope.tenant, connections: new Set(connections.map((c) => c.id)) });
230
- if (opts.tenant === 'all' && scope.tenant) {
231
- for (const uid of added)
232
- set.add('membership', { organization_id: scope.tenant, user_id: uid, role: 'member' }, `${scope.tenant}:${uid}`);
233
- }
234
- }
235
- if (opts.tenant === 'all' && scopes.length) {
236
- set.warn('Each Identity Platform tenant is a separate user pool: it becomes an organization here, and an email address used in two tenants is reported as a conflict at import. To keep tenants apart, export each one (tenant=<id>) into its own Atlas instance instead.');
237
- }
238
- settle(set, anyParams);
239
- return set;
240
- }
241
- function warnNoParams(set, label = 'project') {
242
- set.warn(`The ${label}'s password hash parameters were not available, so password hashes were left out. Pass them (--set firebase-signer-key=… firebase-salt-separator=… firebase-rounds=… firebase-mem-cost=…, from Console → Authentication → Users → ⋮ → Password hash parameters), or let the firebase lazy-migration preset check passwords on first sign-in.`);
243
- }
244
- function settle(set, params) {
245
- set.manifest.providers = [...new Set(set.list('identity').map((i) => i.provider))].sort();
246
- // Never the signer key: the manifest is shown in the dashboard. Each password carries its own parameters, sealed.
247
- if (params)
248
- set.manifest.settings = { password_hash: { algorithm: 'scrypt_firebase', rounds: params.rounds, mem_cost: params.mem_cost, salt_separator: params.salt_separator } };
249
- }
250
- /** SAML providers (and OIDC ones, for the record) the identities can point at. */
251
- async function enterpriseConnections(http, projectId, tenant) {
252
- const out = [];
253
- const list = async (kind) => {
254
- try {
255
- return await pages(http, `/v2/${scopePath(projectId, tenant)}/${kind}`, kind, 100);
256
- }
257
- catch (err) {
258
- if (err instanceof vendor_http_1.VendorApiError && [400, 403, 404].includes(err.status))
259
- return [];
260
- throw err;
261
- }
262
- };
263
- for (const c of await list('inboundSamlConfigs')) {
264
- const id = (0, record_set_1.str)(c.name)?.split('/').pop();
265
- if (!id)
266
- continue;
267
- const idp = (0, record_set_1.isObj)(c.idpConfig) ? c.idpConfig : {};
268
- const sp = (0, record_set_1.isObj)(c.spConfig) ? c.spConfig : {};
269
- const cert = (0, record_set_1.objs)(idp.idpCertificates).map((x) => (0, record_set_1.str)(x.x509Certificate)).find(Boolean);
270
- out.push((0, record_set_1.compact)({
271
- id,
272
- name: (0, record_set_1.str)(c.displayName) ?? id,
273
- protocol: 'saml',
274
- enabled: c.enabled === true,
275
- saml: (0, record_set_1.compact)({ idp_entity_id: (0, record_set_1.str)(idp.idpEntityId), idp_sso_url: (0, record_set_1.str)(idp.ssoUrl), idp_certificate: cert, sp_entity_id: (0, record_set_1.str)(sp.spEntityId), sp_acs_url: (0, record_set_1.str)(sp.callbackUri) }),
276
- }));
277
- }
278
- return out;
279
- }
280
- /**
281
- * Add users (REST UserInfo or auth:export JSON — the same keys — or rows from
282
- * the CSV mapped onto them) with their identities and second factors. Returns
283
- * the uids added.
284
- */
285
- function addUsers(set, users, ctx) {
286
- const added = [];
287
- let redacted = 0;
288
- let otherVersion = 0;
289
- for (const u of users) {
290
- const uid = (0, record_set_1.str)(u.localId ?? u.uid);
291
- if (!uid) {
292
- set.omit('user', 'no uid');
293
- continue;
294
- }
295
- const mapped = mapFirebaseUser(u, ctx);
296
- if (mapped.redacted)
297
- redacted++;
298
- if (mapped.otherVersion)
299
- otherVersion++;
300
- if (!mapped.user) {
301
- set.omit('user', mapped.anonymous ? 'anonymous user (left out unless firebase-anonymous=include)' : 'no email, phone number or linked account');
302
- continue;
303
- }
304
- set.add('user', mapped.user, uid);
305
- added.push(uid);
306
- for (const i of mapped.identities) {
307
- if (i.kind === 'saml' && i.sso_connection_id && ctx.connections && !ctx.connections.has(i.sso_connection_id))
308
- delete i.sso_connection_id;
309
- set.add('identity', i, `${i.provider}:${i.provider_user_id}`);
310
- }
311
- for (const f of mapped.factors)
312
- set.add('mfa_factor', f);
313
- if (mapped.totp)
314
- set.omit('mfa_factor', 'TOTP enrollment: Firebase never exports the secret (the user enrols again)', mapped.totp);
315
- }
316
- if (redacted)
317
- set.warn(`${redacted} password hash(es) came back as REDACTED: the credentials lack permission to read hashes (firebaseauth.configs.getHashConfig / firebaseauth.users.get with an owner or Firebase Authentication Admin role). Those users move by lazy migration.`);
318
- if (otherVersion)
319
- set.warn(`${otherVersion} password hash(es) are not Firebase scrypt (users imported into Firebase with another algorithm who never signed in since); they were left out and move by lazy migration.`);
320
- return added;
321
- }
322
- function mapFirebaseUser(u, ctx) {
323
- const uid = (0, record_set_1.str)(u.localId ?? u.uid);
324
- const out = { user: null, identities: [], factors: [], totp: 0, anonymous: false, redacted: false, otherVersion: false };
325
- const email = (0, record_set_1.str)(u.email)?.toLowerCase();
326
- const phone = (0, record_set_1.e164)(u.phoneNumber);
327
- const providers = (0, record_set_1.objs)(u.providerUserInfo ?? u.providerData);
328
- for (const p of providers) {
329
- const pid = (0, record_set_1.str)(p.providerId);
330
- if (!pid || NOT_IDENTITIES.has(pid))
331
- continue;
332
- const subject = (0, record_set_1.str)(p.rawId ?? p.federatedId ?? p.uid);
333
- if (!subject)
334
- continue;
335
- const kind = pid.startsWith('saml.') ? 'saml' : pid.startsWith('oidc.') ? 'oidc' : 'oauth';
336
- out.identities.push((0, record_set_1.compact)({
337
- user_id: uid,
338
- provider: SOCIAL[pid] ?? pid,
339
- provider_user_id: subject,
340
- kind,
341
- sso_connection_id: kind === 'saml' ? pid : undefined,
342
- email: (0, record_set_1.str)(p.email)?.toLowerCase(),
343
- profile: (0, record_set_1.bag)((0, record_set_1.compact)({ display_name: (0, record_set_1.str)(p.displayName), photo_url: (0, record_set_1.str)(p.photoUrl ?? p.photoURL), screen_name: (0, record_set_1.str)(p.screenName), firebase_provider_id: pid })),
344
- }));
345
- }
346
- for (const m of (0, record_set_1.objs)(u.mfaInfo ?? ((0, record_set_1.isObj)(u.multiFactor) ? u.multiFactor.enrolledFactors : undefined))) {
347
- const created = ms(m.enrolledAt ?? m.enrollmentTime);
348
- const id = (0, record_set_1.str)(m.mfaEnrollmentId ?? m.uid);
349
- const factorPhone = (0, record_set_1.e164)(m.unobfuscatedPhoneInfo ?? m.phoneInfo ?? m.phoneNumber);
350
- if (factorPhone)
351
- out.factors.push((0, record_set_1.compact)({ id, user_id: uid, type: 'phone', phone: factorPhone, verified: true, created_at: created }));
352
- else if ((0, record_set_1.isObj)(m.emailInfo) && (0, record_set_1.str)(m.emailInfo.emailAddress))
353
- out.factors.push((0, record_set_1.compact)({ id, user_id: uid, type: 'email', verified: true, created_at: created }));
354
- else if ('totpInfo' in m || m.factorId === 'totp')
355
- out.totp++;
356
- }
357
- if (!email && !phone && !out.identities.length) {
358
- out.anonymous = true;
359
- if (!ctx.includeAnonymous)
360
- return out;
361
- }
362
- let password;
363
- const rawHash = (0, record_set_1.str)(u.passwordHash);
364
- const version = typeof u.version === 'number' ? u.version : undefined;
365
- if (rawHash === REDACTED)
366
- out.redacted = true;
367
- else if (rawHash && version !== undefined && version !== 0)
368
- out.otherVersion = true;
369
- else if (rawHash && ctx.params) {
370
- password = {
371
- algorithm: 'scrypt_firebase',
372
- hash: (0, exports.stdBase64)(rawHash),
373
- salt: (0, exports.stdBase64)((0, record_set_1.str)(u.salt ?? u.passwordSalt) ?? ''),
374
- params: { ...ctx.params },
375
- };
376
- }
377
- const custom = parseClaims(u.customAttributes ?? u.customClaims);
378
- const name = (0, record_set_1.str)(u.displayName);
379
- out.user = (0, record_set_1.compact)({
380
- id: uid,
381
- emails: email ? [{ email, verified: truthy(u.emailVerified), primary: true }] : undefined,
382
- // Firebase verifies a phone number by SMS before it is set.
383
- phones: phone ? [{ phone, verified: true, primary: true }] : undefined,
384
- name,
385
- image_url: (0, record_set_1.str)(u.photoUrl ?? u.photoURL),
386
- password,
387
- banned: truthy(u.disabled) || undefined,
388
- anonymous: out.anonymous || undefined,
389
- public_metadata: (0, record_set_1.bag)(custom),
390
- private_metadata: (0, record_set_1.bag)((0, record_set_1.compact)({
391
- firebase_tenant_id: ctx.tenant ?? (0, record_set_1.str)(u.tenantId),
392
- valid_since: (0, record_set_1.str)(u.validSince),
393
- password_updated_at: ms(u.passwordUpdatedAt),
394
- last_refresh_at: (0, record_set_1.str)(u.lastRefreshAt),
395
- email_link_signin: u.emailLinkSignin === true ? true : undefined,
396
- initial_email: (0, record_set_1.str)(u.initialEmail),
397
- })),
398
- created_at: ms(u.createdAt ?? ((0, record_set_1.isObj)(u.metadata) ? u.metadata.creationTime : undefined)),
399
- last_sign_in_at: ms(u.lastSignedInAt ?? u.lastLoginAt ?? ((0, record_set_1.isObj)(u.metadata) ? u.metadata.lastSignInTime : undefined)),
400
- });
401
- return out;
402
- }
403
- const truthy = (v) => v === true || v === 1 || (typeof v === 'string' && ['true', '1'].includes(v.trim().toLowerCase()));
404
- /** Custom claims: a JSON string in the export and REST, an object from the Admin SDK. */
405
- function parseClaims(v) {
406
- if ((0, record_set_1.isObj)(v))
407
- return v;
408
- const s = (0, record_set_1.str)(v);
409
- if (!s)
410
- return undefined;
411
- try {
412
- const parsed = JSON.parse(s);
413
- return (0, record_set_1.isObj)(parsed) ? parsed : undefined;
414
- }
415
- catch {
416
- return undefined;
417
- }
418
- }
419
- // ── auth:export files ──────────────────────────────────────────────────────
420
- /** The positional providers of the auth:export CSV (columns 7-22, four per provider; created-at starts at column 23). */
421
- const CSV_PROVIDERS = ['google.com', 'facebook.com', 'twitter.com', 'github.com'];
422
- /** `firebase auth:export` JSON (`{"users": [...]}`) or its header-less 52-column CSV → UserInfo-shaped objects. */
423
- function parseFirebaseExport(text, fileName = '') {
424
- const trimmed = text.trim();
425
- if (!trimmed)
426
- return [];
427
- if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
428
- const doc = JSON.parse(trimmed);
429
- if (Array.isArray(doc))
430
- return (0, record_set_1.objs)(doc);
431
- if ((0, record_set_1.isObj)(doc) && Array.isArray(doc.users))
432
- return (0, record_set_1.objs)(doc.users);
433
- throw new Error('The Firebase export file is JSON but has no "users" array.');
434
- }
435
- if (fileName && !/\.csv$/i.test(fileName))
436
- throw new Error('The Firebase export file must be the JSON or CSV auth:export writes.');
437
- // The CSV has no header row: give parseCsv one.
438
- const header = Array.from({ length: 53 }, (_, i) => `c${i}`).join(',');
439
- return (0, csv_1.parseCsv)(`${header}\n${trimmed}\n`).map((r) => {
440
- const c = (i) => r[`c${i}`] ?? '';
441
- const providerUserInfo = [];
442
- CSV_PROVIDERS.forEach((providerId, k) => {
443
- const base = 7 + k * 4;
444
- if (c(base))
445
- providerUserInfo.push({ providerId, rawId: c(base), email: c(base + 1), displayName: c(base + 2), photoUrl: c(base + 3) });
446
- });
447
- return {
448
- localId: c(0),
449
- email: c(1),
450
- emailVerified: c(2),
451
- passwordHash: c(3),
452
- salt: c(4),
453
- displayName: c(5),
454
- photoUrl: c(6),
455
- createdAt: c(23),
456
- lastSignedInAt: c(24),
457
- phoneNumber: c(25),
458
- disabled: c(26),
459
- customAttributes: c(27),
460
- providerUserInfo,
461
- };
462
- });
463
- }
464
- //# sourceMappingURL=firebase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../src/migrate/export/firebase.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { FrameworkExport, type Tables } from './tables';
2
- /**
3
- * Passport.js and iron-session leave the user store to the app: there is no
4
- * schema to recognise, only conventions. This mapper reads the app's users
5
- * table with column names you can override, and recognises the common shapes:
6
- *
7
- * - a password column holding a self-describing hash (bcrypt / bcryptjs,
8
- * argon2 / @node-rs/argon2, Django-style PBKDF2, oslo scrypt);
9
- * - passport-local-mongoose's `salt` + `hash` fields (PBKDF2-SHA256, 25000
10
- * iterations, 512-byte key — `sha1` for apps on its pre-v5 default);
11
- * - provider id columns the Passport strategies' `verify` callbacks fill
12
- * (`googleId`, `github_id`, `facebookId` …), or a separate identities table;
13
- *
14
- * and, for Passport, the express-session store the app used (connect-pg-simple,
15
- * connect-mongo, connect-redis via a JSON dump, connect-session-sequelize,
16
- * knex/typeorm stores): each live session's `passport.user` becomes a session
17
- * record keyed by sha256 of the session id, which the bridge reads out of the
18
- * `connect.sid` cookie.
19
- */
20
- export interface AppUsersExportOptions {
21
- usersTable?: string;
22
- idColumn?: string;
23
- emailColumn?: string;
24
- emailVerifiedColumn?: string;
25
- usernameColumn?: string;
26
- nameColumn?: string;
27
- passwordColumn?: string;
28
- /** passport-local-mongoose's digest (`sha256`, or `sha1` before v5). */
29
- plmDigest?: 'sha1' | 'sha256' | 'sha512';
30
- plmIterations?: number;
31
- /** `provider=column` pairs for provider id columns on the users row. */
32
- identityColumns?: Record<string, string>;
33
- /** A separate identities table (`user_id`, `provider`, `provider_user_id` / `provider_id` / `uid`). */
34
- identitiesTable?: string;
35
- /** The session store table / collection (default: detected). */
36
- sessionsTable?: string;
37
- /** Where the user id sits in the session JSON (default `passport.user`, then `passport.user.id`). */
38
- sessionUserPath?: string;
39
- sessions?: boolean;
40
- now?: Date;
41
- }
42
- export declare function exportAppUsers(tables: Tables, options?: AppUsersExportOptions): FrameworkExport;