@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,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CORBADO_BACKEND = void 0;
4
- exports.corbadoHttp = corbadoHttp;
5
- exports.exportCorbado = exportCorbado;
6
- exports.mapCorbadoUser = mapCorbadoUser;
7
- const record_set_1 = require("./record-set");
8
- const vendor_http_1 = require("./vendor-http");
9
- const PAGE = 100;
10
- exports.CORBADO_BACKEND = 'https://backendapi.cloud.corbado.io';
11
- function corbadoHttp(o) {
12
- if (!/^pro-\d+$/.test(o.projectId))
13
- throw new Error(`Not a Corbado project id (pro-…): ${o.projectId}`);
14
- if (!o.apiSecret)
15
- throw new Error('Corbado needs an API secret (CORBADO_API_SECRET).');
16
- return new vendor_http_1.VendorHttp({
17
- vendor: 'Corbado',
18
- baseUrl: (o.baseUrl ?? exports.CORBADO_BACKEND).replace(/\/+$/, ''),
19
- headers: { authorization: `Basic ${Buffer.from(`${o.projectId}:${o.apiSecret}`).toString('base64')}` },
20
- fetchImpl: o.fetchImpl,
21
- sleep: o.sleep,
22
- });
23
- }
24
- async function exportCorbado(opts) {
25
- const set = new record_set_1.RecordSet();
26
- const progress = opts.onProgress ?? (() => undefined);
27
- const http = corbadoHttp(opts);
28
- progress('users');
29
- const userIds = [];
30
- for (let page = 1;; page++) {
31
- const { body } = await http.get(`/v2/users?page=${page}&pageSize=${PAGE}&sort=%2Bcreated&includeIdentifiers=true`);
32
- const users = (0, record_set_1.objs)(body?.users);
33
- for (const u of users) {
34
- const mapped = mapCorbadoUser(u);
35
- if (mapped === 'deleted') {
36
- set.omit('user', 'deleted in Corbado');
37
- continue;
38
- }
39
- if (!mapped) {
40
- set.omit('user', 'no email, phone number or username');
41
- continue;
42
- }
43
- set.add('user', mapped, mapped.id);
44
- userIds.push(mapped.id);
45
- }
46
- const paging = (0, record_set_1.isObj)(body?.paging) ? body.paging : {};
47
- const totalPages = typeof paging.totalPages === 'number' ? paging.totalPages : undefined;
48
- if (users.length === 0 || (totalPages !== undefined ? page >= totalPages : users.length < PAGE))
49
- break;
50
- }
51
- if (!opts.rpId) {
52
- if (userIds.length > 0) {
53
- set.warn('Passkeys were not exported: Corbado does not return the relying-party id they are bound to. Pass it with --corbado-rp-id and run the export again.');
54
- }
55
- }
56
- else {
57
- progress('passkeys');
58
- let denied = false;
59
- for (const id of userIds) {
60
- if (denied)
61
- break;
62
- let creds;
63
- try {
64
- creds = (0, record_set_1.objs)((await http.get(`/v2/users/${encodeURIComponent(id)}/fullCredentials`)).body?.fullCredentials);
65
- }
66
- catch (err) {
67
- if (err instanceof vendor_http_1.VendorApiError && err.status === 404)
68
- continue;
69
- if (err instanceof vendor_http_1.VendorApiError && err.status === 403) {
70
- denied = true;
71
- set.warn('Corbado refused the passkey export (the API secret lacks the credentials:export permission): passkeys were not exported; members register them again.');
72
- continue;
73
- }
74
- throw err;
75
- }
76
- for (const c of creds) {
77
- const credentialId = (0, record_set_1.str)(c.credentialID);
78
- const publicKey = (0, record_set_1.str)(c.publicKey);
79
- if (!credentialId || !publicKey)
80
- continue;
81
- set.add('passkey', (0, record_set_1.compact)({
82
- user_id: id,
83
- credential_id: credentialId,
84
- public_key: publicKey,
85
- sign_count: typeof c.authenticatorSignCount === 'number' ? c.authenticatorSignCount : undefined,
86
- rp_id: opts.rpId,
87
- transports: (0, record_set_1.strs)(c.transports),
88
- aaguid: (0, record_set_1.str)(c.authenticatorAAGUID),
89
- backed_up: typeof c.backupState === 'boolean' ? c.backupState : undefined,
90
- created_at: typeof c.createdMs === 'number' ? c.createdMs : undefined,
91
- }), credentialId);
92
- }
93
- }
94
- if (!denied && set.count('passkey') > 0) {
95
- set.warn(`Passkeys are bound to ${opts.rpId}: Atlas must be served from that domain (or one of its subdomains) for them to keep working.`);
96
- }
97
- }
98
- set.manifest = { origin: opts.projectId, settings: { project_id: opts.projectId }, ...(opts.rpId ? { rpId: opts.rpId } : {}) };
99
- return set;
100
- }
101
- /** One Corbado `userAggregate` → a user record; 'deleted' for removed users. */
102
- function mapCorbadoUser(u) {
103
- const id = (0, record_set_1.str)(u.userID);
104
- if (!id)
105
- return null;
106
- const status = (0, record_set_1.str)(u.status);
107
- if (status === 'deleted')
108
- return 'deleted';
109
- const verified = (i) => (0, record_set_1.str)(i.status) !== 'pending';
110
- const emails = (0, record_set_1.objs)(u.emailIdentifiers)
111
- .map((i) => ({ email: (0, record_set_1.str)(i.value)?.toLowerCase(), verified: verified(i), primary: (0, record_set_1.str)(i.status) === 'primary' }))
112
- .filter((e) => !!e.email && e.email.includes('@'));
113
- if (emails.length > 0 && !emails.some((e) => e.primary))
114
- emails[0].primary = true;
115
- const phones = (0, record_set_1.objs)(u.phoneNumberIdentifiers)
116
- .map((i) => ({ phone: (0, record_set_1.e164)(i.value), verified: verified(i), primary: (0, record_set_1.str)(i.status) === 'primary' }))
117
- .filter((p) => !!p.phone);
118
- if (phones.length > 0 && !phones.some((p) => p.primary))
119
- phones[0].primary = emails.length === 0;
120
- const username = (0, record_set_1.objs)(u.usernameIdentifiers).map((i) => (0, record_set_1.str)(i.value)).find(Boolean);
121
- const user = (0, record_set_1.compact)({
122
- id,
123
- emails: emails.map((e) => ({ ...e })),
124
- phones: phones.map((p) => ({ ...p })),
125
- username,
126
- name: (0, record_set_1.str)(u.fullName),
127
- banned: status === 'disabled' ? true : undefined,
128
- created_at: typeof u.createdMS === 'number' ? u.createdMS : undefined,
129
- });
130
- return user.emails?.length || user.phones?.length || user.username ? user : null;
131
- }
132
- //# sourceMappingURL=corbado.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"corbado.js","sourceRoot":"","sources":["../../../src/migrate/export/corbado.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import type { UserRecord } from '@atlasauth/migrate';
2
- import { RecordSet, type Obj } from './record-set';
3
- /**
4
- * `atlas migrate export descope` — a Descope project onto the canonical
5
- * bundle models, read with a management key on this machine.
6
- *
7
- * - users (login ids, verified email / phone, names, custom attributes,
8
- * project roles, tenant memberships with their roles); test users skipped;
9
- * - tenants → organizations (self-provisioning domains included), roles and
10
- * permissions, and each tenant's SSO configuration (SAML or OIDC);
11
- * - password hashes: Descope does not return them by API. Its support team
12
- * can export them (Descope stores Argon2id); pass that file with
13
- * --descope-hashes-file. Otherwise turn on the `descope` lazy-migration preset: Atlas
14
- * checks each password against Descope's password sign-in on first use.
15
- *
16
- * Descope does not export TOTP seeds, passkeys or access-key secrets; those
17
- * are re-enrolled / reissued. Sessions are Descope JWTs, bridged by the
18
- * `descope` bridge preset (project JWKS).
19
- */
20
- export interface DescopeExportOptions {
21
- projectId: string;
22
- managementKey: string;
23
- /** API base, for regional or custom-domain projects (default https://api.descope.com). */
24
- baseUrl?: string;
25
- /** The password-hash export from Descope support (CSV or NDJSON). */
26
- hashesText?: string;
27
- fetchImpl?: typeof fetch;
28
- sleep?: (ms: number) => Promise<void>;
29
- onProgress?: (message: string) => void;
30
- }
31
- export declare function exportDescope(opts: DescopeExportOptions): Promise<RecordSet>;
32
- /** One Descope user (search result) → a user record. */
33
- export declare function mapDescopeUser(u: Obj): UserRecord | null;
34
- /** Descope role names are free text: `Tenant Admin` → `tenant_admin`. */
35
- export declare function roleKey(name: string): string;
@@ -1,208 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exportDescope = exportDescope;
4
- exports.mapDescopeUser = mapDescopeUser;
5
- exports.roleKey = roleKey;
6
- const csv_1 = require("../../import/csv");
7
- const record_set_1 = require("./record-set");
8
- const vendor_http_1 = require("./vendor-http");
9
- const PAGE = 100;
10
- async function exportDescope(opts) {
11
- const set = new record_set_1.RecordSet();
12
- if (!/^P[A-Za-z0-9]{10,}$/.test(opts.projectId))
13
- throw new Error(`Not a Descope project id: ${opts.projectId}`);
14
- if (!opts.managementKey)
15
- throw new Error('Descope export needs a management key (DESCOPE_MANAGEMENT_KEY).');
16
- const progress = opts.onProgress ?? (() => undefined);
17
- const http = new vendor_http_1.VendorHttp({
18
- vendor: 'Descope',
19
- baseUrl: (opts.baseUrl ?? 'https://api.descope.com').replace(/\/+$/, ''),
20
- headers: { authorization: `Bearer ${opts.projectId}:${opts.managementKey}` },
21
- fetchImpl: opts.fetchImpl,
22
- sleep: opts.sleep,
23
- });
24
- progress('tenants');
25
- const tenants = (0, record_set_1.objs)((await http.get('/v1/mgmt/tenant/all')).body?.tenants);
26
- const tenantIds = new Set();
27
- for (const t of tenants) {
28
- const id = (0, record_set_1.str)(t.id);
29
- const name = (0, record_set_1.str)(t.name) ?? id;
30
- if (!id || !name)
31
- continue;
32
- tenantIds.add(id);
33
- set.add('organization', (0, record_set_1.compact)({ id, name, domains: (0, record_set_1.strs)(t.selfProvisioningDomains), public_metadata: (0, record_set_1.bag)(t.customAttributes) }));
34
- }
35
- progress('roles');
36
- const roles = (0, record_set_1.objs)((await optional(http, 'GET', '/v1/mgmt/role/all'))?.roles);
37
- for (const r of roles) {
38
- const name = (0, record_set_1.str)(r.name);
39
- if (!name)
40
- continue;
41
- const tenantId = (0, record_set_1.str)(r.tenantId);
42
- const key = roleKey(name);
43
- // A Descope role serves both project-level assignment and tenant
44
- // membership: it becomes an app role and an organization role.
45
- set.add('role', (0, record_set_1.compact)({ key, name, description: (0, record_set_1.str)(r.description), scope: 'app', permissions: (0, record_set_1.strs)(r.permissionNames) }), `app:${key}`);
46
- set.add('role', (0, record_set_1.compact)({ key, name, description: (0, record_set_1.str)(r.description), scope: 'organization', organization_id: tenantId && tenantIds.has(tenantId) ? tenantId : undefined, permissions: (0, record_set_1.strs)(r.permissionNames) }), `org:${tenantId ?? ''}:${key}`);
47
- }
48
- progress('users');
49
- const hashes = opts.hashesText ? indexHashes(opts.hashesText) : null;
50
- const userIds = new Set();
51
- let withHash = 0;
52
- for (let page = 0;; page++) {
53
- const { body } = await http.post('/v2/mgmt/user/search', { limit: PAGE, page, withTestUser: false });
54
- const users = (0, record_set_1.objs)(body?.users);
55
- for (const u of users) {
56
- const user = mapDescopeUser(u);
57
- if (!user) {
58
- set.omit('user', u.test === true ? 'test user' : 'no email, phone number or login id');
59
- continue;
60
- }
61
- const h = hashes ? (hashes.get(user.id) ?? (0, record_set_1.strs)(u.loginIds).map((l) => hashes.get(l.toLowerCase())).find(Boolean)) : undefined;
62
- if (h) {
63
- user.password = { algorithm: 'auto', hash: h };
64
- withHash++;
65
- }
66
- set.add('user', user);
67
- userIds.add(user.id);
68
- for (const t of (0, record_set_1.objs)(u.userTenants)) {
69
- const tid = (0, record_set_1.str)(t.tenantId);
70
- if (!tid || !tenantIds.has(tid))
71
- continue;
72
- set.add('membership', { organization_id: tid, user_id: user.id, role: (0, record_set_1.strs)(t.roleNames)[0] ? roleKey((0, record_set_1.strs)(t.roleNames)[0]) : 'member' }, `${tid}:${user.id}`);
73
- if ((0, record_set_1.strs)(t.roleNames).length > 1)
74
- set.warn('Some tenant members hold several Descope roles; Atlas seats each member with one role (the first).');
75
- }
76
- if ((0, record_set_1.isObj)(u.OAuth) && Object.values(u.OAuth).some(Boolean)) {
77
- set.omit('identity', "Descope does not export social accounts' provider user ids: they relink by verified email on first social sign-in");
78
- }
79
- if (u.TOTP === true)
80
- set.omit('mfa_factor', 'Descope does not export TOTP seeds; re-enrol in Atlas');
81
- if (u.webauthn === true)
82
- set.omit('passkey', 'Descope does not export passkey public keys; register again in Atlas');
83
- }
84
- const total = typeof body?.total === 'number' ? body.total : undefined;
85
- if (users.length < PAGE || (total !== undefined && (page + 1) * PAGE >= total))
86
- break;
87
- }
88
- if (!hashes && set.count('user') > 0) {
89
- set.warn('No password hashes: Descope exports them only through its support team. Pass that file with --descope-hashes-file, or turn on the descope lazy-migration preset so each password moves on its first sign-in.');
90
- }
91
- else if (hashes && withHash === 0) {
92
- set.warn('The hash file matched no user (by user id or login id): check its columns.');
93
- }
94
- progress('sso');
95
- for (const tid of tenantIds)
96
- await addSso(set, http, tid);
97
- progress('access keys');
98
- const keys = (0, record_set_1.objs)((await optional(http, 'POST', '/v1/mgmt/accesskey/search', { tenantIds: [] }))?.keys);
99
- if (keys.length)
100
- set.omit('api_key', 'Descope never reveals access-key secrets: reissue them as Atlas API keys', keys.length);
101
- set.manifest = { origin: opts.projectId, settings: { project_id: opts.projectId } };
102
- return set;
103
- }
104
- /** One Descope user (search result) → a user record. */
105
- function mapDescopeUser(u) {
106
- const id = (0, record_set_1.str)(u.userId);
107
- if (!id || u.test === true)
108
- return null;
109
- const email = (0, record_set_1.str)(u.email)?.toLowerCase();
110
- const phone = (0, record_set_1.e164)(u.phone);
111
- const loginIds = (0, record_set_1.strs)(u.loginIds);
112
- // A login id that is neither the email nor the phone is a username.
113
- const username = loginIds.find((l) => l.toLowerCase() !== email && (0, record_set_1.e164)(l) !== phone && !l.includes('@'));
114
- const status = (0, record_set_1.str)(u.status);
115
- const user = (0, record_set_1.compact)({
116
- id,
117
- emails: email ? [{ email, verified: u.verifiedEmail === true, primary: true }] : [],
118
- phones: phone ? [{ phone, verified: u.verifiedPhone === true, primary: !email }] : [],
119
- username,
120
- first_name: (0, record_set_1.str)(u.givenName),
121
- last_name: (0, record_set_1.str)(u.familyName),
122
- name: !(0, record_set_1.str)(u.givenName) && !(0, record_set_1.str)(u.familyName) ? (0, record_set_1.str)(u.name) : undefined,
123
- image_url: (0, record_set_1.str)(u.picture),
124
- roles: (0, record_set_1.strs)(u.roleNames).map(roleKey),
125
- banned: status === 'disabled' ? true : undefined,
126
- private_metadata: (0, record_set_1.bag)({ ...((0, record_set_1.isObj)(u.customAttributes) ? u.customAttributes : {}), ...((0, record_set_1.strs)(u.externalIds).length ? { descope_external_ids: (0, record_set_1.strs)(u.externalIds) } : {}) }),
127
- created_at: typeof u.createdTime === 'number' ? u.createdTime * 1000 : undefined,
128
- });
129
- return user.emails?.length || user.phones?.length || user.username ? user : null;
130
- }
131
- /** Descope role names are free text: `Tenant Admin` → `tenant_admin`. */
132
- function roleKey(name) {
133
- return name.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') || 'role';
134
- }
135
- /**
136
- * The support export, by user id and login id (lowercased). Its exact layout
137
- * is not published: accepted as CSV with a hash column and a user id / login
138
- * id / email column, or NDJSON objects with the same names.
139
- */
140
- function indexHashes(text) {
141
- const t = text.trim();
142
- const rows = t.startsWith('{') ? t.split(/\r?\n/).filter((l) => l.trim()).map((l) => JSON.parse(l)) : (0, csv_1.parseCsv)(t);
143
- const out = new Map();
144
- for (const r of rows) {
145
- const keys = Object.keys(r);
146
- const hashKey = keys.find((k) => /hash/i.test(k) && !/algo/i.test(k));
147
- const hash = hashKey ? (0, record_set_1.str)(r[hashKey]) : undefined;
148
- if (!hash)
149
- continue;
150
- for (const k of keys) {
151
- if (/^(user_?id|userid|login_?id|loginid|email|login_?ids)$/i.test(k)) {
152
- for (const v of String(r[k] ?? '').split(/[|,;]/))
153
- if (v.trim())
154
- out.set(/user_?id/i.test(k) ? v.trim() : v.trim().toLowerCase(), hash);
155
- }
156
- }
157
- }
158
- return out;
159
- }
160
- async function addSso(set, http, tenantId) {
161
- const body = (await optional(http, 'GET', `/v2/mgmt/sso/settings?tenantId=${encodeURIComponent(tenantId)}`)) ?? (await optional(http, 'GET', `/v1/mgmt/sso/settings?tenantId=${encodeURIComponent(tenantId)}`));
162
- if (!body)
163
- return;
164
- const saml = (0, record_set_1.isObj)(body.saml) ? body.saml : undefined;
165
- const oidc = (0, record_set_1.isObj)(body.oidc) ? body.oidc : undefined;
166
- const domains = [...(0, record_set_1.strs)(body.domains), ...((0, record_set_1.str)(body.domain) ? [(0, record_set_1.str)(body.domain)] : []), ...((0, record_set_1.isObj)(body.tenant) ? (0, record_set_1.strs)(body.tenant.domains) : [])];
167
- if (saml && ((0, record_set_1.str)(saml.idpEntityId) || (0, record_set_1.str)(saml.idpMetadataUrl) || (0, record_set_1.str)(saml.idpSSOUrl))) {
168
- const mapping = (0, record_set_1.isObj)(saml.attributeMapping) ? saml.attributeMapping : undefined;
169
- set.add('sso_connection', (0, record_set_1.compact)({
170
- id: `${tenantId}:saml`,
171
- name: `${tenantId} SAML`,
172
- organization_id: tenantId,
173
- protocol: 'saml',
174
- domains: [...new Set(domains)],
175
- saml: (0, record_set_1.compact)({
176
- idp_entity_id: (0, record_set_1.str)(saml.idpEntityId),
177
- idp_sso_url: (0, record_set_1.str)(saml.idpSSOUrl),
178
- idp_certificate: (0, record_set_1.str)(saml.idpCertificate),
179
- idp_metadata_url: (0, record_set_1.str)(saml.idpMetadataUrl),
180
- sp_entity_id: (0, record_set_1.str)(saml.spEntityId),
181
- sp_acs_url: (0, record_set_1.str)(saml.spACSUrl),
182
- attribute_mapping: mapping ? Object.fromEntries(Object.entries(mapping).filter(([, v]) => typeof v === 'string' && v)) : undefined,
183
- }),
184
- }));
185
- }
186
- else if (oidc && ((0, record_set_1.str)(oidc.issuer) || (0, record_set_1.str)(oidc.clientId))) {
187
- set.add('sso_connection', (0, record_set_1.compact)({
188
- id: `${tenantId}:oidc`,
189
- name: (0, record_set_1.str)(oidc.name) ?? `${tenantId} OIDC`,
190
- organization_id: tenantId,
191
- protocol: 'oidc',
192
- domains: [...new Set(domains)],
193
- oidc: (0, record_set_1.compact)({ issuer: (0, record_set_1.str)(oidc.issuer), discovery_url: (0, record_set_1.str)(oidc.wellKnownUrl), client_id: (0, record_set_1.str)(oidc.clientId), scopes: (0, record_set_1.strs)(oidc.scope) }),
194
- }));
195
- set.warn(`Tenant ${tenantId} OIDC SSO: Descope does not return the client secret; enter it in Atlas after the import.`);
196
- }
197
- }
198
- async function optional(http, method, path, body) {
199
- try {
200
- return (await http.request(method, path, body)).body;
201
- }
202
- catch (err) {
203
- if (err instanceof vendor_http_1.VendorApiError && [400, 403, 404, 405].includes(err.status))
204
- return null;
205
- throw err;
206
- }
207
- }
208
- //# sourceMappingURL=descope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"descope.js","sourceRoot":"","sources":["../../../src/migrate/export/descope.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * A fake vendor API for exporter tests: routes are `METHOD path?query` (the
3
- * query as the exporter sends it) → a JSON body, a status + body, or a
4
- * function of the request. Unrouted calls answer 404, so an exporter that
5
- * calls something unexpected degrades the way it would against a vendor that
6
- * lacks the endpoint. Every call is recorded (with its headers) for assertions.
7
- */
8
- export type Route = unknown | {
9
- status: number;
10
- body?: unknown;
11
- headers?: Record<string, string>;
12
- } | ((req: {
13
- url: URL;
14
- body: unknown;
15
- headers: Headers;
16
- }) => unknown);
17
- export interface FakeVendor {
18
- fetchImpl: typeof fetch;
19
- calls: Array<{
20
- method: string;
21
- url: string;
22
- headers: Headers;
23
- body: unknown;
24
- }>;
25
- }
26
- export declare function fakeVendor(origin: string, routes: Record<string, Route>): FakeVendor;
27
- export declare const noSleep: () => Promise<undefined>;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noSleep = void 0;
4
- exports.fakeVendor = fakeVendor;
5
- const isStatus = (v) => typeof v === 'object' && v !== null && 'status' in v && typeof v.status === 'number' && Object.keys(v).every((k) => ['status', 'body', 'headers'].includes(k));
6
- function fakeVendor(origin, routes) {
7
- const calls = [];
8
- const fetchImpl = (async (input, init = {}) => {
9
- const url = new URL(String(input));
10
- const method = (init.method ?? 'GET').toUpperCase();
11
- const headers = new Headers(init.headers);
12
- let body = init.body;
13
- if (typeof body === 'string') {
14
- try {
15
- body = JSON.parse(body);
16
- }
17
- catch {
18
- // form-encoded or plain text: kept as the string
19
- }
20
- }
21
- calls.push({ method, url: url.toString(), headers, body });
22
- const key = url.origin === origin ? `${method} ${url.pathname}${url.search}` : `${method} ${url.toString()}`;
23
- let route = routes[key];
24
- if (route === undefined)
25
- route = routes[`${method} ${url.pathname}`];
26
- if (route === undefined)
27
- return new Response(JSON.stringify({ message: `no route for ${key}` }), { status: 404 });
28
- const value = typeof route === 'function' ? route({ url, body, headers }) : route;
29
- if (value instanceof Uint8Array)
30
- return new Response(value, { status: 200 });
31
- const resolved = isStatus(value) ? value : { status: 200, body: value };
32
- return new Response(resolved.body === undefined ? '' : JSON.stringify(resolved.body), {
33
- status: resolved.status,
34
- headers: { 'content-type': 'application/json', ...(resolved.headers ?? {}) },
35
- });
36
- });
37
- return { fetchImpl, calls };
38
- }
39
- const noSleep = async () => undefined;
40
- exports.noSleep = noSleep;
41
- //# sourceMappingURL=fake-vendor.test-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fake-vendor.test-helper.js","sourceRoot":"","sources":["../../../src/migrate/export/fake-vendor.test-helper.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { TranslationResult } from '../framework/plugin';
2
- import { type Obj } from './record-set';
3
- import { type VendorHttp } from './vendor-http';
4
- /**
5
- * `atlas migrate firebase config` — a Firebase / Identity Platform project's
6
- * auth settings → Atlas config.
7
- *
8
- * Read with the same credentials as the export from the Identity Toolkit
9
- * admin v2 API: the project `config` (sign-in methods, MFA, password policy,
10
- * authorized domains, blocking functions …), the built-in social providers
11
- * (`defaultSupportedIdpConfigs`), OIDC providers (`oauthIdpConfigs`), SAML
12
- * providers (`inboundSamlConfigs`) and, on Identity Platform, the tenants.
13
- * Every report line names the setting path in that API.
14
- */
15
- export interface FirebaseConfigSnapshot {
16
- projectId: string;
17
- config: Obj;
18
- defaultIdps: Obj[];
19
- oidcIdps: Obj[];
20
- samlIdps: Obj[];
21
- tenants: Obj[];
22
- }
23
- export declare function fetchFirebaseConfig(http: VendorHttp, projectId: string): Promise<FirebaseConfigSnapshot>;
24
- export declare function translateFirebaseConfig(snap: FirebaseConfigSnapshot): TranslationResult;