@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,304 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphqlError = void 0;
4
- exports.exportNhost = exportNhost;
5
- exports.refreshTokenHash = refreshTokenHash;
6
- exports.decryptTotp = decryptTotp;
7
- exports.byteaToBase64url = byteaToBase64url;
8
- exports.nhostGraphqlUrl = nhostGraphqlUrl;
9
- exports.fetchNhostRows = fetchNhostRows;
10
- exports.readNhostDump = readNhostDump;
11
- const node_crypto_1 = require("node:crypto");
12
- const node_fs_1 = require("node:fs");
13
- const node_path_1 = require("node:path");
14
- const pocketbase_1 = require("./pocketbase");
15
- const record_set_1 = require("./record-set");
16
- const translate_kit_1 = require("./translate-kit");
17
- const vendor_http_1 = require("./vendor-http");
18
- /** Roles every Nhost user has implicitly: not carried as Atlas roles. */
19
- const IMPLICIT_ROLES = new Set(['user', 'me', 'anonymous', 'public']);
20
- function exportNhost(rows, opts = {}) {
21
- const set = new record_set_1.RecordSet();
22
- const now = (opts.now ?? Date.now)();
23
- const key = opts.encryptionKey ? parseKey(opts.encryptionKey) : undefined;
24
- const rolesOf = new Map();
25
- for (const r of rows.userRoles) {
26
- const userId = (0, record_set_1.str)(r.userId);
27
- const role = (0, record_set_1.str)(r.role);
28
- if (!userId || !role || IMPLICIT_ROLES.has(role))
29
- continue;
30
- (rolesOf.get(userId) ?? rolesOf.set(userId, new Set()).get(userId)).add((0, translate_kit_1.keyOf)(role));
31
- }
32
- const ids = new Set();
33
- const allRoles = new Set();
34
- let totpLocked = 0;
35
- let totpBroken = 0;
36
- for (const u of rows.users) {
37
- const id = (0, record_set_1.str)(u.id);
38
- if (!id)
39
- continue;
40
- const user = mapUser(u, rolesOf.get(id));
41
- if (!user) {
42
- set.omit('user', 'user without an email or phone number who is not anonymous');
43
- continue;
44
- }
45
- ids.add(id);
46
- for (const r of user.roles ?? [])
47
- allRoles.add(r);
48
- set.add('user', (0, record_set_1.compact)(user));
49
- const mfa = (0, record_set_1.str)(u.activeMfaType);
50
- const secret = (0, record_set_1.str)(u.totpSecret);
51
- if (mfa === 'totp' && secret) {
52
- const plain = secret.length < 64 ? secret : key ? decryptTotp(secret, key) : undefined;
53
- if (plain && /^[A-Z2-7]+=*$/i.test(plain))
54
- set.add('mfa_factor', { user_id: id, type: 'totp', secret_base32: plain.toUpperCase().replace(/=+$/, ''), digits: 6, period: 30, algorithm: 'SHA1', verified: true });
55
- else if (secret.length >= 64 && !key)
56
- totpLocked++;
57
- else
58
- totpBroken++;
59
- }
60
- else if (mfa === 'sms') {
61
- const phone = (0, record_set_1.e164)(u.phoneNumber);
62
- if (phone)
63
- set.add('mfa_factor', { user_id: id, type: 'phone', phone, verified: truthy(u.phoneNumberVerified) });
64
- }
65
- }
66
- for (const r of [...allRoles].sort())
67
- set.add('role', { key: r, name: r, scope: 'app' }, r);
68
- if (totpLocked)
69
- set.omit('mfa_factor', 'TOTP secret encrypted with AUTH_ENCRYPTION_KEY: pass --set nhost-encryption-key=<hex> to carry it, else those users enrol again', totpLocked);
70
- if (totpBroken)
71
- set.omit('mfa_factor', 'TOTP secret that does not decrypt with the given AUTH_ENCRYPTION_KEY', totpBroken);
72
- for (const p of rows.providers) {
73
- const userId = (0, record_set_1.str)(p.userId);
74
- const provider = (0, record_set_1.str)(p.providerId);
75
- const providerUserId = (0, record_set_1.str)(p.providerUserId);
76
- if (!userId || !provider || !providerUserId || !ids.has(userId))
77
- continue;
78
- set.add('identity', (0, record_set_1.compact)({ id: (0, record_set_1.str)(p.id), user_id: userId, provider, provider_user_id: providerUserId, kind: 'oauth' }), `${provider}:${providerUserId}`);
79
- }
80
- const keys = rows.securityKeys.filter((k) => ids.has((0, record_set_1.str)(k.userId) ?? ''));
81
- if (keys.length && !opts.rpId) {
82
- set.omit('passkey', 'security key without a relying-party id: pass --set rp-id=<your WebAuthn rp id> (nhost.toml auth.method.webauthn.relyingParty.id)', keys.length);
83
- }
84
- else {
85
- for (const k of keys) {
86
- const credentialId = (0, record_set_1.str)(k.credentialId);
87
- const publicKey = byteaToBase64url(k.credentialPublicKey);
88
- if (!credentialId || !publicKey) {
89
- set.omit('passkey', 'security key without its credential id or public key');
90
- continue;
91
- }
92
- const transports = ((0, record_set_1.str)(k.transports) ?? '').split(',').map((t) => t.trim()).filter(Boolean);
93
- set.add('passkey', (0, record_set_1.compact)({ id: (0, record_set_1.str)(k.id), user_id: (0, record_set_1.str)(k.userId), credential_id: credentialId, public_key: publicKey, sign_count: num(k.counter), rp_id: opts.rpId, transports, name: (0, record_set_1.str)(k.nickname) }));
94
- }
95
- }
96
- let pats = 0;
97
- let expired = 0;
98
- for (const t of rows.refreshTokens) {
99
- const userId = (0, record_set_1.str)(t.userId);
100
- if (!userId || !ids.has(userId))
101
- continue;
102
- if (((0, record_set_1.str)(t.type) ?? 'regular') !== 'regular') {
103
- pats++;
104
- continue;
105
- }
106
- const expires = Date.parse((0, record_set_1.str)(t.expiresAt) ?? '');
107
- if (!Number.isFinite(expires) || expires <= now) {
108
- expired++;
109
- continue;
110
- }
111
- const hash = refreshTokenHash(t);
112
- if (!hash) {
113
- set.omit('session', 'refresh token row without a readable hash');
114
- continue;
115
- }
116
- set.add('session', (0, record_set_1.compact)({ id: (0, record_set_1.str)(t.id) ?? hash.slice(0, 32), user_id: userId, token_hash: hash, expires_at: (0, record_set_1.str)(t.expiresAt), created_at: (0, record_set_1.str)(t.createdAt) }));
117
- }
118
- if (pats)
119
- set.omit('session', 'personal access token (reissue it as an Atlas API key)', pats);
120
- if (expired)
121
- set.omit('session', 'expired refresh token', expired);
122
- const providers = new Set(set.list('identity').map((i) => i.provider));
123
- set.manifest = { ...set.manifest, origin: opts.origin ?? 'nhost', providers: [...providers].sort(), ...(opts.rpId ? { rpId: opts.rpId } : {}) };
124
- return set;
125
- }
126
- function mapUser(u, roles) {
127
- const email = (0, record_set_1.str)(u.email)?.toLowerCase();
128
- const phone = (0, record_set_1.e164)(u.phoneNumber);
129
- const anonymous = truthy(u.isAnonymous);
130
- if (!email && !phone && !anonymous)
131
- return null;
132
- const all = new Set(roles ?? []);
133
- const def = (0, record_set_1.str)(u.defaultRole);
134
- if (def && !IMPLICIT_ROLES.has(def))
135
- all.add((0, translate_kit_1.keyOf)(def));
136
- const hash = (0, record_set_1.str)(u.passwordHash);
137
- const meta = (0, record_set_1.isObj)(u.metadata) ? u.metadata : typeof u.metadata === 'string' ? safeJson(u.metadata) : undefined;
138
- const locale = (0, record_set_1.str)(u.locale);
139
- const user = {
140
- id: (0, record_set_1.str)(u.id),
141
- emails: email ? [{ email, verified: truthy(u.emailVerified), primary: true }] : undefined,
142
- phones: phone ? [{ phone, verified: truthy(u.phoneNumberVerified), primary: !email }] : undefined,
143
- name: (0, record_set_1.str)(u.displayName),
144
- image_url: (0, record_set_1.str)(u.avatarUrl),
145
- password: hash && /^\$2[aby]\$\d{2}\$/.test(hash) ? { algorithm: 'auto', hash } : undefined,
146
- roles: all.size ? [...all].sort() : undefined,
147
- banned: truthy(u.disabled) ? true : undefined,
148
- anonymous: anonymous && !email && !phone ? true : undefined,
149
- public_metadata: (0, record_set_1.bag)({ ...((0, record_set_1.isObj)(meta) ? meta : {}), ...(locale ? { locale } : {}) }),
150
- created_at: (0, record_set_1.str)(u.createdAt),
151
- last_sign_in_at: (0, record_set_1.str)(u.lastSeen),
152
- };
153
- return user;
154
- }
155
- /** `\x` + hex(sha256(token)) as Nhost stores it → the bundle's lowercase hex. */
156
- function refreshTokenHash(t) {
157
- const raw = (0, record_set_1.str)(t.refreshTokenHash);
158
- if (!raw) {
159
- // Legacy hasura-auth kept the token itself (a UUID) in refresh_token.
160
- const plain = (0, record_set_1.str)(t.refreshToken);
161
- return plain ? (0, node_crypto_1.createHash)('sha256').update(plain, 'utf8').digest('hex') : undefined;
162
- }
163
- const hex = raw.replace(/^\\x/i, '').toLowerCase();
164
- return /^[0-9a-f]{64}$/.test(hex) ? hex : undefined;
165
- }
166
- /**
167
- * Current Nhost encrypts TOTP secrets: AES-256-GCM, stored as
168
- * hex(nonce(12) || ciphertext || tag(16)), key = AUTH_ENCRYPTION_KEY (hex).
169
- */
170
- function decryptTotp(stored, key) {
171
- try {
172
- const raw = Buffer.from(stored, 'hex');
173
- if (raw.length < 12 + 16 + 1)
174
- return undefined;
175
- const decipher = (0, node_crypto_1.createDecipheriv)('aes-256-gcm', key, raw.subarray(0, 12));
176
- decipher.setAuthTag(raw.subarray(raw.length - 16));
177
- return Buffer.concat([decipher.update(raw.subarray(12, raw.length - 16)), decipher.final()]).toString('utf8');
178
- }
179
- catch {
180
- return undefined;
181
- }
182
- }
183
- function parseKey(hex) {
184
- const k = Buffer.from(hex.trim(), 'hex');
185
- if (k.length !== 32)
186
- throw new Error('The Nhost encryption key (AUTH_ENCRYPTION_KEY) must be 32 bytes as 64 hex characters.');
187
- return k;
188
- }
189
- /** Postgres bytea as Hasura / psql print it (`\x…` hex), or base64 → base64url. */
190
- function byteaToBase64url(v) {
191
- const s = (0, record_set_1.str)(v);
192
- if (!s)
193
- return undefined;
194
- if (/^\\x[0-9a-f]*$/i.test(s))
195
- return Buffer.from(s.slice(2), 'hex').toString('base64url');
196
- return Buffer.from(s, 'base64').toString('base64url');
197
- }
198
- const truthy = (v) => v === true || v === 1 || v === '1' || v === 't' || v === 'true';
199
- const num = (v) => (typeof v === 'number' ? v : typeof v === 'string' && /^\d+$/.test(v) ? Number(v) : undefined);
200
- function safeJson(s) {
201
- try {
202
- return JSON.parse(s);
203
- }
204
- catch {
205
- return undefined;
206
- }
207
- }
208
- // ── readers ─────────────────────────────────────────────────────────────────
209
- /** Nhost Cloud's GraphQL endpoint for a subdomain and region. */
210
- function nhostGraphqlUrl(o) {
211
- return `https://${o.subdomain}.graphql.${o.region}.nhost.run/v1`;
212
- }
213
- const PAGE = 1000;
214
- const QUERIES = {
215
- users: 'id createdAt lastSeen disabled displayName avatarUrl locale email phoneNumber passwordHash emailVerified phoneNumberVerified defaultRole isAnonymous totpSecret activeMfaType metadata',
216
- authUserProviders: 'id userId providerId providerUserId',
217
- authUserSecurityKeys: 'id userId credentialId credentialPublicKey counter transports nickname',
218
- authUserRoles: 'userId role',
219
- authRefreshTokens: 'id userId createdAt expiresAt refreshTokenHash type',
220
- };
221
- /** The auth tables through Hasura with the admin secret (sent only to the project). */
222
- async function fetchNhostRows(opts) {
223
- const http = new vendor_http_1.VendorHttp({ vendor: 'Nhost', baseUrl: opts.graphqlUrl, headers: { 'x-hasura-admin-secret': opts.adminSecret }, fetchImpl: opts.fetchImpl, sleep: opts.sleep });
224
- const progress = opts.onProgress ?? (() => undefined);
225
- const list = async (root, fields, order) => {
226
- const out = [];
227
- for (let offset = 0;; offset += PAGE) {
228
- const query = `query { ${root}(limit: ${PAGE}, offset: ${offset}, order_by: { ${order}: asc }) { ${fields} } }`;
229
- const { body } = await http.post(opts.graphqlUrl, { query });
230
- const errors = (0, record_set_1.isObj)(body) ? (0, record_set_1.objs)(body.errors) : [];
231
- if (errors.length)
232
- throw new GraphqlError((0, record_set_1.str)(errors[0].message) ?? 'GraphQL error');
233
- const rows = (0, record_set_1.isObj)(body) && (0, record_set_1.isObj)(body.data) ? (0, record_set_1.objs)(body.data[root]) : [];
234
- out.push(...rows);
235
- if (rows.length < PAGE)
236
- return out;
237
- }
238
- };
239
- progress('users');
240
- const users = await list('users', QUERIES.users, 'createdAt');
241
- progress('social links');
242
- const providers = await list('authUserProviders', QUERIES.authUserProviders, 'id');
243
- progress('security keys');
244
- const securityKeys = await list('authUserSecurityKeys', QUERIES.authUserSecurityKeys, 'id');
245
- progress('roles');
246
- const userRoles = await list('authUserRoles', QUERIES.authUserRoles, 'userId');
247
- progress('refresh tokens');
248
- let refreshTokens;
249
- try {
250
- refreshTokens = await list('authRefreshTokens', QUERIES.authRefreshTokens, 'createdAt');
251
- }
252
- catch (err) {
253
- // Projects older than personal access tokens have no `type` column.
254
- if (!(err instanceof GraphqlError) || !/type/.test(err.message))
255
- throw err;
256
- refreshTokens = await list('authRefreshTokens', 'id userId createdAt expiresAt refreshTokenHash', 'createdAt');
257
- }
258
- return { users, providers, securityKeys, userRoles, refreshTokens };
259
- }
260
- class GraphqlError extends Error {
261
- }
262
- exports.GraphqlError = GraphqlError;
263
- /** Table names a dump may use for each auth table (`auth.users.csv`, `users.json`, `auth_users.ndjson` …). */
264
- const DUMP_TABLES = {
265
- users: ['auth.users', 'auth_users', 'users'],
266
- providers: ['auth.user_providers', 'auth_user_providers', 'user_providers'],
267
- securityKeys: ['auth.user_security_keys', 'auth_user_security_keys', 'user_security_keys', 'auth.user_authenticators', 'user_authenticators'],
268
- userRoles: ['auth.user_roles', 'auth_user_roles', 'user_roles'],
269
- refreshTokens: ['auth.refresh_tokens', 'auth_refresh_tokens', 'refresh_tokens'],
270
- };
271
- /** A folder of `auth.*` table dumps (JSON, NDJSON or CSV with a header; snake_case columns). */
272
- function readNhostDump(dir) {
273
- const byName = new Map();
274
- for (const file of (0, node_fs_1.readdirSync)(dir).sort()) {
275
- const path = (0, node_path_1.join)(dir, file);
276
- const ext = (0, node_path_1.extname)(file).toLowerCase();
277
- if (!(0, node_fs_1.statSync)(path).isFile() || !['.json', '.ndjson', '.jsonl', '.csv'].includes(ext))
278
- continue;
279
- byName.set((0, node_path_1.basename)(file, (0, node_path_1.extname)(file)).toLowerCase(), (0, pocketbase_1.parseTable)((0, node_fs_1.readFileSync)(path, 'utf8'), ext).map(camelRow));
280
- }
281
- const pick = (k) => {
282
- for (const n of DUMP_TABLES[k]) {
283
- const rows = byName.get(n);
284
- if (rows)
285
- return rows;
286
- }
287
- return [];
288
- };
289
- const rows = { users: pick('users'), providers: pick('providers'), securityKeys: pick('securityKeys'), userRoles: pick('userRoles'), refreshTokens: pick('refreshTokens') };
290
- if (!rows.users.length)
291
- throw new Error(`No auth.users table in ${dir} (expected users.json, auth.users.csv, …).`);
292
- return rows;
293
- }
294
- /** `phone_number_verified` → `phoneNumberVerified`; empty CSV cells drop out. */
295
- function camelRow(r) {
296
- const out = {};
297
- for (const [k, v] of Object.entries(r)) {
298
- if (v === '' || v === null)
299
- continue;
300
- out[k.replace(/_([a-z])/g, (_, c) => c.toUpperCase())] = v;
301
- }
302
- return out;
303
- }
304
- //# sourceMappingURL=nhost.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nhost.js","sourceRoot":"","sources":["../../../src/migrate/export/nhost.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { TranslationResult } from '../framework/plugin';
2
- import { type Obj } from './record-set';
3
- import { VendorHttp } from './vendor-http';
4
- /**
5
- * `atlas migrate okta config` — an Okta org's policies and integrations →
6
- * Atlas config, read with an API token on this machine: password policies,
7
- * global session policy (lifetimes), authenticator enrollment (which second
8
- * factors), social identity providers, custom authorization servers (APIs and
9
- * scopes), OIDC apps (redirect URIs) and groups (roles). Sign-on rules beyond
10
- * MFA, network zones, hooks and the sign-in widget are reported as manual.
11
- */
12
- export interface OktaConfigSnapshot {
13
- domain: string;
14
- passwordPolicies: Obj[];
15
- signOnPolicies: Array<Obj & {
16
- rules?: Obj[];
17
- }>;
18
- authenticators: Obj[];
19
- idps: Obj[];
20
- authorizationServers: Array<Obj & {
21
- scopes?: Obj[];
22
- }>;
23
- apps: Obj[];
24
- groups: Obj[];
25
- inlineHooks: Obj[];
26
- }
27
- export declare function fetchOktaConfig(http: VendorHttp, domain: string): Promise<OktaConfigSnapshot>;
28
- export declare function translateOktaConfig(snap: OktaConfigSnapshot, opts?: {
29
- groupsAs?: 'roles' | 'organizations' | 'skip';
30
- }): TranslationResult;
@@ -1,205 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchOktaConfig = fetchOktaConfig;
4
- exports.translateOktaConfig = translateOktaConfig;
5
- const record_set_1 = require("./record-set");
6
- const translate_kit_1 = require("./translate-kit");
7
- const vendor_http_1 = require("./vendor-http");
8
- async function fetchOktaConfig(http, domain) {
9
- const all = async (path) => {
10
- const out = [];
11
- let next = path;
12
- try {
13
- while (next) {
14
- const res = await http.get(next);
15
- out.push(...(0, record_set_1.objs)(res.body));
16
- next = (0, vendor_http_1.nextLink)(res.headers.get('link'));
17
- }
18
- }
19
- catch (err) {
20
- if (err instanceof vendor_http_1.VendorApiError && [403, 404].includes(err.status))
21
- return out;
22
- throw err;
23
- }
24
- return out;
25
- };
26
- const signOn = (await all('/policies?type=OKTA_SIGN_ON'));
27
- for (const p of signOn)
28
- p.rules = await all(`/policies/${(0, record_set_1.str)(p.id)}/rules`);
29
- const servers = (await all('/authorizationServers'));
30
- for (const s of servers)
31
- s.scopes = await all(`/authorizationServers/${(0, record_set_1.str)(s.id)}/scopes`);
32
- return {
33
- domain,
34
- passwordPolicies: await all('/policies?type=PASSWORD'),
35
- signOnPolicies: signOn,
36
- authenticators: await all('/authenticators'),
37
- idps: await all('/idps'),
38
- authorizationServers: servers,
39
- apps: await all('/apps?limit=200&filter=status%20eq%20%22ACTIVE%22'),
40
- groups: (await all('/groups?limit=200')).filter((g) => (0, record_set_1.str)(g.type) !== 'BUILT_IN'),
41
- inlineHooks: await all('/inlineHooks'),
42
- };
43
- }
44
- function translateOktaConfig(snap, opts = {}) {
45
- const b = new translate_kit_1.ConfigBuilder();
46
- b.set('strategies.password', true);
47
- b.add('differs', 'authentication', 'password', 'Password sign-in. Okta never exports password hashes: the okta lazy-migration preset checks each password against Okta on first sign-in.', 'auth_config.strategies.password');
48
- // ── password policy: the default (lowest priority) policy is the org baseline ──
49
- const pwPolicy = [...snap.passwordPolicies].sort((a, c) => Number(c.priority ?? 0) - Number(a.priority ?? 0))[0];
50
- if (pwPolicy) {
51
- const name = (0, record_set_1.str)(pwPolicy.name) ?? 'password policy';
52
- const settings = (0, record_set_1.isObj)(pwPolicy.settings) && (0, record_set_1.isObj)(pwPolicy.settings.password) ? pwPolicy.settings.password : {};
53
- const complexity = (0, record_set_1.isObj)(settings.complexity) ? settings.complexity : {};
54
- const min = typeof complexity.minLength === 'number' ? complexity.minLength : 8;
55
- b.set('passwordPolicy.minLength', Math.max(8, min));
56
- b.add(min < 8 ? 'differs' : 'mapped', `policies ${name}`, 'settings.password.complexity.minLength', `${min}${min < 8 ? ' (Atlas requires at least 8; existing passwords still sign in)' : ''}.`, 'auth_config.passwordPolicy.minLength');
57
- if (['minLowerCase', 'minUpperCase', 'minNumber', 'minSymbol'].some((k) => Number(complexity[k] ?? 0) > 0)) {
58
- b.add('differs', `policies ${name}`, 'settings.password.complexity (character classes)', 'Atlas follows NIST 800-63B: length and breached-password checks, no character-class rules.', 'auth_config.passwordPolicy');
59
- }
60
- if ((0, record_set_1.isObj)(complexity.dictionary) && (0, record_set_1.isObj)(complexity.dictionary.common) && complexity.dictionary.common.exclude === true) {
61
- b.set('passwordPolicy.checkBreaches', true);
62
- b.add('mapped', `policies ${name}`, 'settings.password.complexity.dictionary.common.exclude', 'Common / breached passwords are refused.', 'auth_config.passwordPolicy.checkBreaches');
63
- }
64
- const age = (0, record_set_1.isObj)(settings.age) ? settings.age : {};
65
- if (Number(age.maxAgeDays ?? 0) > 0)
66
- b.add('manual', `policies ${name}`, 'settings.password.age.maxAgeDays', 'Atlas does not expire passwords (NIST 800-63B).');
67
- if (Number(age.historyCount ?? 0) > 0)
68
- b.add('manual', `policies ${name}`, 'settings.password.age.historyCount', 'Atlas does not keep a password history.');
69
- const lockout = (0, record_set_1.isObj)(settings.lockout) ? settings.lockout : {};
70
- if (Number(lockout.maxAttempts ?? 0) > 0)
71
- b.add('mapped', `policies ${name}`, 'settings.password.lockout.maxAttempts', `Okta locks after ${lockout.maxAttempts} attempts; Atlas throttles failed sign-ins per account and IP.`, 'auth_config.rateLimit');
72
- }
73
- if (snap.passwordPolicies.length > 1)
74
- b.add('differs', 'policies', 'password policies', `${snap.passwordPolicies.length} password policies by group: Atlas has one instance-wide policy (the default one was used).`, 'auth_config.passwordPolicy');
75
- // ── global session policy ──
76
- const defaultSignOn = snap.signOnPolicies.find((p) => p.system === true) ?? snap.signOnPolicies[snap.signOnPolicies.length - 1];
77
- const rule = (defaultSignOn?.rules ?? []).find((r) => r.system !== true && (0, record_set_1.str)(r.status) === 'ACTIVE') ?? defaultSignOn?.rules?.[0];
78
- const session = rule && (0, record_set_1.isObj)(rule.actions) && (0, record_set_1.isObj)(rule.actions.signon) && (0, record_set_1.isObj)(rule.actions.signon.session) ? rule.actions.signon.session : undefined;
79
- if (session) {
80
- const area = `policies ${(0, record_set_1.str)(defaultSignOn?.name) ?? 'global session'}`;
81
- const life = Number(session.maxSessionLifetimeMinutes ?? 0);
82
- const idle = Number(session.maxSessionIdleMinutes ?? 0);
83
- if (life > 0) {
84
- b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(life * 60_000));
85
- b.add('mapped', area, 'actions.signon.session.maxSessionLifetimeMinutes', `${life} minutes.`, 'auth_config.session.absoluteMs');
86
- }
87
- if (idle > 0) {
88
- b.set('session.idleMs', (0, translate_kit_1.clampSessionMs)(idle * 60_000));
89
- b.add('mapped', area, 'actions.signon.session.maxSessionIdleMinutes', `${idle} minutes idle.`, 'auth_config.session.idleMs');
90
- }
91
- if (rule && (0, record_set_1.isObj)(rule.actions) && (0, record_set_1.isObj)(rule.actions.signon) && rule.actions.signon.requireFactor === true) {
92
- b.set('mfaPolicy', 'required');
93
- b.add('mapped', area, 'actions.signon.requireFactor', 'A second factor on every sign-in.', 'auth_config.mfaPolicy');
94
- }
95
- }
96
- if (snap.signOnPolicies.length > 1)
97
- b.add('manual', 'policies', 'sign-on policies by group / network zone', 'Okta applies different sign-on rules per group and network zone; Atlas has instance-wide session settings plus step-up. Review the per-group rules by hand.', 'auth_config.stepUp');
98
- // ── authenticators ──
99
- for (const a of snap.authenticators) {
100
- if ((0, record_set_1.str)(a.status) !== 'ACTIVE')
101
- continue;
102
- const key = (0, record_set_1.str)(a.key);
103
- const name = (0, record_set_1.str)(a.name) ?? key ?? '?';
104
- if (key === 'google_otp' || key === 'okta_verify') {
105
- b.set('mfa.factors.totp', true);
106
- b.add(key === 'okta_verify' ? 'differs' : 'mapped', 'authenticators', `${name} (${key})`, key === 'okta_verify' ? 'Okta Verify push / number challenge has no Atlas counterpart; its TOTP mode maps to authenticator apps (seeds do not move: users re-enrol).' : 'Authenticator apps (users re-enrol: Okta does not export seeds).', 'auth_config.mfa.factors.totp');
107
- }
108
- else if (key === 'webauthn') {
109
- b.set('mfa.factors.passkey', true);
110
- b.set('strategies.passkey', true);
111
- b.add('differs', 'authenticators', `${name} (webauthn)`, 'Security keys and biometrics. Okta does not export WebAuthn credentials: users register again.', 'auth_config.mfa.factors.passkey');
112
- }
113
- else if (key === 'okta_email') {
114
- b.set('mfa.factors.emailCode', true);
115
- b.add('mapped', 'authenticators', `${name} (okta_email)`, 'Email code.', 'auth_config.mfa.factors.emailCode');
116
- }
117
- else if (key === 'phone_number') {
118
- b.add('differs', 'authenticators', `${name} (phone_number)`, 'SMS / voice: phone factors move with --factors; Atlas recommends TOTP or passkeys as the second factor.', 'auth_config.mfa');
119
- }
120
- else if (key && key !== 'okta_password') {
121
- b.add('manual', 'authenticators', `${name} (${key})`, 'No Atlas counterpart (security question, Duo, RSA, YubiKey OTP, smart card…): those users enrol an Atlas factor.');
122
- }
123
- }
124
- // ── social identity providers ──
125
- for (const idp of snap.idps) {
126
- if ((0, record_set_1.str)(idp.status) === 'INACTIVE')
127
- continue;
128
- const type = (0, record_set_1.str)(idp.type) ?? '';
129
- const name = (0, record_set_1.str)(idp.name) ?? type;
130
- if (type === 'SAML2' || type === 'OIDC') {
131
- b.add('mapped', 'identity providers', `${name} (${type})`, 'Enterprise IdP: moves with the data export as an Atlas SSO connection; update the IdP with Atlas\'s ACS URL / redirect URI, and replace Okta routing rules with the connection\'s domains.', 'sso_connections');
132
- continue;
133
- }
134
- const key = (0, translate_kit_1.socialKey)(type);
135
- if (!key) {
136
- b.add('manual', 'identity providers', `${name} (${type})`, 'No built-in Atlas provider: add it as a custom OAuth provider.', 'custom_oauth_providers');
137
- continue;
138
- }
139
- const protocol = (0, record_set_1.isObj)(idp.protocol) ? idp.protocol : {};
140
- const client = (0, record_set_1.isObj)(protocol.credentials) && (0, record_set_1.isObj)(protocol.credentials.client) ? protocol.credentials.client : {};
141
- b.socialProvider({ atlasKey: key, vendorName: name, area: 'identity providers', setting: `${name} (${type})`, clientId: (0, record_set_1.str)(client.client_id), scopes: (0, record_set_1.strs)(protocol.scopes) });
142
- }
143
- // ── authorization servers → APIs ──
144
- for (const s of snap.authorizationServers) {
145
- if ((0, record_set_1.str)(s.status) === 'INACTIVE')
146
- continue;
147
- const audiences = (0, record_set_1.strs)(s.audiences);
148
- const scopes = (s.scopes ?? []).filter((sc) => sc.system !== true).map((sc) => (0, record_set_1.str)(sc.name)).filter((sc) => !!sc);
149
- for (const aud of audiences) {
150
- b.push('resource_servers', { identifier: aud, name: (0, record_set_1.str)(s.name) ?? aud, scopes });
151
- b.add('mapped', `authorization servers ${(0, record_set_1.str)(s.name) ?? (0, record_set_1.str)(s.id)}`, `audiences ${aud}`, `An API with ${scopes.length} custom scope(s); Atlas access tokens for it keep "aud": "${aud}".`, `resource_servers ${aud}`);
152
- }
153
- if ((0, record_set_1.objs)(s.claims).length)
154
- b.add('manual', `authorization servers ${(0, record_set_1.str)(s.name) ?? (0, record_set_1.str)(s.id)}`, 'claims', 'Custom token claims: recreate them as an Atlas JWT template / session claims.', 'jwt_templates');
155
- }
156
- // ── OIDC apps → redirect URLs ──
157
- const redirects = new Set();
158
- for (const app of snap.apps) {
159
- const oauth = (0, record_set_1.isObj)(app.settings) && (0, record_set_1.isObj)(app.settings.oauthClient) ? app.settings.oauthClient : undefined;
160
- if (!oauth)
161
- continue;
162
- for (const u of (0, record_set_1.strs)(oauth.redirect_uris))
163
- redirects.add(u);
164
- const grants = (0, record_set_1.strs)(oauth.grant_types);
165
- if (grants.includes('client_credentials'))
166
- b.add('manual', `apps ${(0, record_set_1.str)(app.label) ?? (0, record_set_1.str)(app.name)}`, 'grant_types client_credentials', 'A service app: create an Atlas M2M client for it.', 'oauth_clients');
167
- }
168
- let exact = 0;
169
- for (const url of redirects) {
170
- if (url.includes('*')) {
171
- b.add('differs', 'apps', `redirect_uris ${url}`, 'Atlas redirect URLs are exact (no wildcards).', 'redirect_urls');
172
- continue;
173
- }
174
- b.push('redirect_urls', { url });
175
- exact++;
176
- }
177
- if (exact)
178
- b.add('mapped', 'apps', 'redirect_uris', `${exact} redirect URI(s).`, 'redirect_urls');
179
- // ── groups ──
180
- const groupsAs = opts.groupsAs ?? 'roles';
181
- if (groupsAs === 'roles') {
182
- for (const g of snap.groups) {
183
- const name = (0, record_set_1.str)((0, record_set_1.isObj)(g.profile) ? g.profile.name : undefined);
184
- if (!name)
185
- continue;
186
- const key = (0, translate_kit_1.keyOf)(name);
187
- b.roles[name] = key;
188
- b.push('roles', { key, name, description: (0, record_set_1.str)((0, record_set_1.isObj)(g.profile) ? g.profile.description : undefined) ?? '', permissions: [] });
189
- }
190
- if (snap.groups.length)
191
- b.add('differs', 'groups', 'groups', `${snap.groups.length} group(s) become Atlas app roles (memberships move with the data export). Group rules and app assignments are not translated.`, 'roles');
192
- }
193
- else if (groupsAs === 'organizations' && snap.groups.length) {
194
- b.add('differs', 'groups', 'groups', 'Groups become organizations with the data export (--groups-as organizations).', 'organizations');
195
- }
196
- for (const h of snap.inlineHooks) {
197
- if ((0, record_set_1.str)(h.status) === 'ACTIVE')
198
- b.add('manual', 'inline hooks', `${(0, record_set_1.str)(h.name) ?? '?'} (${(0, record_set_1.str)(h.type) ?? '?'})`, 'Okta inline hook: port it to an Atlas action or webhook.', 'actions');
199
- }
200
- return b.result(`Okta org ${snap.domain}`, {
201
- bridge: { preset: 'okta', vars: { domain: snap.domain } },
202
- lazy: { preset: 'okta', config: { domain: snap.domain } },
203
- });
204
- }
205
- //# sourceMappingURL=okta-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"okta-config.js","sourceRoot":"","sources":["../../../src/migrate/export/okta-config.ts"],"names":[],"mappings":"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"}