@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,451 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseOryConfig = parseOryConfig;
4
- exports.splitOryProject = splitOryProject;
5
- exports.resolveOrySchemas = resolveOrySchemas;
6
- exports.fetchOrySchemas = fetchOrySchemas;
7
- exports.fetchOryClients = fetchOryClients;
8
- exports.goDurationMs = goDurationMs;
9
- exports.translateOryConfig = translateOryConfig;
10
- const mini_yaml_1 = require("./mini-yaml");
11
- const record_set_1 = require("./record-set");
12
- const translate_kit_1 = require("./translate-kit");
13
- const vendor_http_1 = require("./vendor-http");
14
- // ── reading ─────────────────────────────────────────────────────────────────
15
- /** A config file's text: JSON when it starts with `{`, otherwise YAML. */
16
- function parseOryConfig(text, file) {
17
- const trimmed = text.trim();
18
- if (trimmed.startsWith('{')) {
19
- const value = JSON.parse(trimmed);
20
- if (!(0, record_set_1.isObj)(value))
21
- throw new Error(`${file} is not a configuration object.`);
22
- return { value, file, line: () => undefined };
23
- }
24
- const doc = (0, mini_yaml_1.parseYaml)(text);
25
- if (!(0, record_set_1.isObj)(doc.value))
26
- throw new Error(`${file} is not a configuration (a YAML mapping was expected).`);
27
- return { value: doc.value, file, line: (path) => doc.line(path) };
28
- }
29
- /** An `ory get project --format json` document split into its Kratos and Hydra configs; null when it is not one. */
30
- function splitOryProject(file) {
31
- const services = file.value.services;
32
- if (!(0, record_set_1.isObj)(services) || !(0, record_set_1.isObj)(services.identity) || !(0, record_set_1.isObj)(services.identity.config))
33
- return null;
34
- const wrap = (value, name) => ({ value, file: `${file.file} (${name})`, line: () => undefined });
35
- return {
36
- kratos: wrap(services.identity.config, 'services.identity.config'),
37
- hydra: (0, record_set_1.isObj)(services.oauth2) && (0, record_set_1.isObj)(services.oauth2.config) ? wrap(services.oauth2.config, 'services.oauth2.config') : undefined,
38
- slug: (0, record_set_1.str)(file.value.slug),
39
- };
40
- }
41
- /** Identity schemas a Kratos config names that can be read without the network: `base64://` and `file://` (through `readFile`). */
42
- function resolveOrySchemas(kratos, readFile, warn = () => undefined) {
43
- const identity = kratos?.value.identity;
44
- const out = [];
45
- for (const s of (0, record_set_1.isObj)(identity) ? (0, record_set_1.objs)(identity.schemas) : []) {
46
- const id = (0, record_set_1.str)(s.id);
47
- const url = (0, record_set_1.str)(s.url);
48
- if (!id || !url)
49
- continue;
50
- try {
51
- let text;
52
- if (url.startsWith('base64://'))
53
- text = Buffer.from(url.slice('base64://'.length), 'base64').toString('utf8');
54
- else if (url.startsWith('file://'))
55
- text = readFile(decodeURIComponent(url.slice('file://'.length)));
56
- if (text === undefined) {
57
- warn(`Identity schema "${id}" is at ${url}: pass its file, or give Kratos' public URL so it is read from /schemas.`);
58
- continue;
59
- }
60
- const schema = JSON.parse(text);
61
- if ((0, record_set_1.isObj)(schema))
62
- out.push({ id, schema });
63
- }
64
- catch (err) {
65
- warn(`Identity schema "${id}" could not be read (${err.message}).`);
66
- }
67
- }
68
- return out;
69
- }
70
- /** Kratos' public `GET /schemas`: `[{ id, schema }]`. */
71
- async function fetchOrySchemas(http) {
72
- const { body } = await http.get('/schemas');
73
- return (Array.isArray(body) ? body : []).flatMap((s) => ((0, record_set_1.isObj)(s) && (0, record_set_1.str)(s.id) && (0, record_set_1.isObj)(s.schema) ? [{ id: (0, record_set_1.str)(s.id), schema: s.schema }] : []));
74
- }
75
- /** Hydra's `GET /admin/clients`, following the Link header's page_token. */
76
- async function fetchOryClients(http, pageSize = 250) {
77
- const out = [];
78
- const seen = new Set();
79
- let path = `/admin/clients?page_size=${pageSize}`;
80
- for (;;) {
81
- const res = await http.get(path);
82
- out.push(...(0, record_set_1.objs)(res.body));
83
- const next = (0, vendor_http_1.nextLink)(res.headers.get('link'));
84
- const token = next ? new URL(next, 'https://hydra.invalid').searchParams.get('page_token') : null;
85
- if (!token || seen.has(token))
86
- break;
87
- seen.add(token);
88
- path = `/admin/clients?page_size=${pageSize}&page_token=${encodeURIComponent(token)}`;
89
- }
90
- return out;
91
- }
92
- // ── translation ─────────────────────────────────────────────────────────────
93
- /** Go durations (`24h`, `720h`, `1h30m`) → ms. */
94
- function goDurationMs(v) {
95
- if (typeof v !== 'string' || !v.trim())
96
- return undefined;
97
- const text = v.trim();
98
- let total = 0;
99
- let matched = '';
100
- for (const m of text.matchAll(/(\d+(?:\.\d+)?)(h|m|s|ms)/g)) {
101
- matched += m[0];
102
- total += Number(m[1]) * { h: 3_600_000, m: 60_000, s: 1000, ms: 1 }[m[2]];
103
- }
104
- return matched === text && total > 0 ? total : undefined;
105
- }
106
- /** Traits Atlas has a column for. */
107
- const KNOWN_TRAITS = [
108
- { keys: ['email', 'email_address', 'mail'], atlas: 'user email address' },
109
- { keys: ['username', 'user_name', 'login', 'handle'], atlas: 'user username' },
110
- { keys: ['phone', 'phone_number', 'mobile', 'tel'], atlas: 'user phone number' },
111
- { keys: ['name', 'full_name', 'first_name', 'last_name', 'given_name', 'family_name'], atlas: 'user first / last name' },
112
- { keys: ['picture', 'avatar', 'avatar_url', 'image'], atlas: 'user image' },
113
- ];
114
- function translateOryConfig(snap) {
115
- const b = new translate_kit_1.ConfigBuilder();
116
- const k = snap.kratos;
117
- const h = snap.hydra;
118
- const at = (cfg, path) => path.split('.').reduce((v, key) => ((0, record_set_1.isObj)(v) ? v[key] : undefined), cfg?.value);
119
- const kv = (path) => at(k, path);
120
- const hv = (path) => at(h, path);
121
- const note = (cfg, status, area, path, text, atlas) => {
122
- const line = cfg?.line(path);
123
- b.report.push({ status, area, setting: path, note: text, ...(atlas ? { atlas } : {}), ...(cfg && line ? { file: cfg.file, line } : {}) });
124
- };
125
- const add = (status, area, path, text, atlas) => note(k, status, area, path, text, atlas);
126
- const bool = (path, fallback) => (typeof kv(path) === 'boolean' ? kv(path) : fallback);
127
- const has = (path) => kv(path) !== undefined;
128
- // ── flows ──
129
- if (k) {
130
- const signUp = bool('selfservice.flows.registration.enabled', true);
131
- b.set('signUpMode', signUp ? 'public' : 'restricted');
132
- add('mapped', 'flows', 'selfservice.flows.registration.enabled', signUp ? 'Public sign-up.' : 'Sign-up closed (invitations and the allowlist still work).', 'auth_config.signUpMode');
133
- if (bool('selfservice.flows.verification.enabled', false)) {
134
- const use = (0, record_set_1.str)(kv('selfservice.flows.verification.use')) ?? 'code';
135
- add('mapped', 'flows', 'selfservice.flows.verification.enabled', `Email verification (${use === 'link' ? 'by link' : 'by code'}): Atlas verifies addresses with a code or link.`, 'auth_config.strategies.emailCode');
136
- }
137
- if (bool('selfservice.flows.recovery.enabled', false))
138
- add('mapped', 'flows', 'selfservice.flows.recovery.enabled', 'Account recovery becomes Atlas password reset (a code or link by email).', 'auth_config.strategies.password');
139
- if (has('selfservice.flows.settings.privileged_session_max_age')) {
140
- add('differs', 'flows', 'selfservice.flows.settings.privileged_session_max_age', `Kratos asks for a fresh sign-in after ${String(kv('selfservice.flows.settings.privileged_session_max_age'))} before settings changes; Atlas re-verifies sensitive changes with its own window (auth_config.stepUp).`, 'auth_config.stepUp');
141
- }
142
- for (const flow of ['login', 'registration', 'settings', 'recovery', 'verification', 'error']) {
143
- const ui = (0, record_set_1.str)(kv(`selfservice.flows.${flow}.ui_url`));
144
- if (ui)
145
- add('manual', 'flows', `selfservice.flows.${flow}.ui_url`, `Your ${flow} page (${ui}) is replaced by Atlas's hosted page or its components; update links to /sign-in and /sign-up.`);
146
- }
147
- }
148
- // ── hooks ──
149
- if (k) {
150
- const flows = (0, record_set_1.isObj)(kv('selfservice.flows')) ? kv('selfservice.flows') : {};
151
- for (const [flow, def] of Object.entries(flows)) {
152
- if (!(0, record_set_1.isObj)(def))
153
- continue;
154
- for (const when of ['before', 'after']) {
155
- const section = def[when];
156
- if (!(0, record_set_1.isObj)(section))
157
- continue;
158
- // `after.hooks` (every method) and `after.<method>.hooks` (one of them).
159
- const groups = [[`${when}.hooks`, section.hooks]];
160
- for (const [method, v] of Object.entries(section))
161
- if ((0, record_set_1.isObj)(v))
162
- groups.push([`${when}.${method}.hooks`, v.hooks]);
163
- for (const [where, hooks] of groups) {
164
- for (const [n, hook] of (0, record_set_1.objs)(hooks).entries()) {
165
- const name = (0, record_set_1.str)(hook.hook);
166
- const path = `selfservice.flows.${flow}.${where}.${n}`;
167
- if (name === 'web_hook')
168
- add('manual', 'hooks', path, `A web hook (${(0, record_set_1.str)((0, record_set_1.isObj)(hook.config) ? hook.config.url : undefined) ?? 'url'}) moves to an Atlas webhook endpoint or a before-sign-up action; its Jsonnet body is rebuilt as the event payload.`);
169
- else if (name === 'require_verified_address') {
170
- b.set('requireEmailVerification', true);
171
- add('mapped', 'hooks', path, 'Unverified addresses cannot sign in.', 'auth_config.requireEmailVerification');
172
- }
173
- else if (name === 'session')
174
- add('mapped', 'hooks', path, 'Atlas signs the user in after registration.');
175
- else if (name === 'revoke_active_sessions')
176
- add('differs', 'hooks', path, 'Atlas revokes sessions on password change and on the user\'s request; a blanket revoke after sign-in has no switch.');
177
- else if (name === 'verify' || name === 'show_verification_ui')
178
- add('mapped', 'hooks', path, 'Atlas starts address verification after sign-up when verification is required.');
179
- else if (name)
180
- add('manual', 'hooks', path, `The "${name}" hook has no Atlas counterpart.`);
181
- }
182
- }
183
- }
184
- }
185
- }
186
- // ── methods ──
187
- if (k) {
188
- const password = bool('selfservice.methods.password.enabled', true);
189
- b.set('strategies.password', password);
190
- add('mapped', 'methods', 'selfservice.methods.password.enabled', password ? 'Password sign-in on.' : 'Password sign-in off.', 'auth_config.strategies.password');
191
- if (password) {
192
- const min = typeof kv('selfservice.methods.password.config.min_password_length') === 'number' ? kv('selfservice.methods.password.config.min_password_length') : 8;
193
- b.set('passwordPolicy.minLength', Math.max(min, 6));
194
- add('mapped', 'methods', 'selfservice.methods.password.config.min_password_length', `Minimum ${min} characters.`, 'auth_config.passwordPolicy.minLength');
195
- const pwned = bool('selfservice.methods.password.config.haveibeenpwned_enabled', true);
196
- b.set('passwordPolicy.checkBreaches', pwned);
197
- add('mapped', 'methods', 'selfservice.methods.password.config.haveibeenpwned_enabled', pwned ? 'Breached passwords are refused.' : 'Breached-password check off.', 'auth_config.passwordPolicy.checkBreaches');
198
- if (has('selfservice.methods.password.config.max_breaches'))
199
- add('differs', 'methods', 'selfservice.methods.password.config.max_breaches', 'Atlas refuses any breached password; there is no breach-count threshold.');
200
- if (bool('selfservice.methods.password.config.identifier_similarity_check_enabled', true))
201
- add('differs', 'methods', 'selfservice.methods.password.config.identifier_similarity_check_enabled', 'Atlas does not compare the password with the identifier.');
202
- }
203
- if (bool('selfservice.methods.code.enabled', false) || bool('selfservice.methods.code.passwordless_enabled', false) || bool('selfservice.methods.code.config.passwordless_enabled', false)) {
204
- b.set('strategies.emailCode', true);
205
- add('mapped', 'methods', 'selfservice.methods.code.enabled', 'One-time code sign-in (and the code second factor).', 'auth_config.strategies.emailCode');
206
- }
207
- if (bool('selfservice.methods.link.enabled', false)) {
208
- b.set('strategies.emailLink', true);
209
- add('mapped', 'methods', 'selfservice.methods.link.enabled', 'Magic-link sign-in.', 'auth_config.strategies.emailLink');
210
- }
211
- if (bool('selfservice.methods.totp.enabled', false)) {
212
- b.set('mfa.factors.totp', true);
213
- add('mapped', 'methods', 'selfservice.methods.totp.enabled', 'Authenticator apps as a second factor. Seeds move with a database export; an Admin API export has none, so users enrol again.', 'auth_config.mfa.factors.totp');
214
- }
215
- if (bool('selfservice.methods.lookup_secret.enabled', false))
216
- add('mapped', 'methods', 'selfservice.methods.lookup_secret.enabled', 'Backup codes accompany an authenticator in Atlas (unused codes move with a database export).', 'auth_config.mfa.backupCodes');
217
- const webauthn = bool('selfservice.methods.webauthn.enabled', false);
218
- const passkey = bool('selfservice.methods.passkey.enabled', false);
219
- if (webauthn) {
220
- const passwordless = bool('selfservice.methods.webauthn.config.passwordless', false);
221
- b.set(passwordless ? 'strategies.passkey' : 'mfa.factors.passkey', true);
222
- add('mapped', 'methods', 'selfservice.methods.webauthn.enabled', passwordless ? 'Passwordless WebAuthn becomes passkey sign-in.' : 'Security keys as a second factor.', passwordless ? 'auth_config.strategies.passkey' : 'auth_config.mfa.factors.passkey');
223
- }
224
- if (passkey) {
225
- b.set('strategies.passkey', true);
226
- add('mapped', 'methods', 'selfservice.methods.passkey.enabled', 'Passkey sign-in on.', 'auth_config.strategies.passkey');
227
- }
228
- if (webauthn || passkey) {
229
- const rp = webauthn && has('selfservice.methods.webauthn.config.rp.id') ? 'selfservice.methods.webauthn.config.rp.id' : 'selfservice.methods.passkey.config.rp.id';
230
- const rpId = (0, record_set_1.str)(kv(rp));
231
- if (rpId)
232
- add('differs', 'methods', rp, `Passkeys were registered for "${rpId}": they keep working only when Atlas serves sign-in on that domain (export with --set ory-rp-id=${rpId}).`);
233
- }
234
- // ── social and enterprise sign-in ──
235
- const providers = (0, record_set_1.objs)(kv('selfservice.methods.oidc.config.providers'));
236
- if (bool('selfservice.methods.oidc.enabled', false) || providers.length) {
237
- for (const [n, p] of providers.entries()) {
238
- const path = `selfservice.methods.oidc.config.providers.${n}`;
239
- const id = (0, record_set_1.str)(p.id);
240
- const kind = ((0, record_set_1.str)(p.provider) ?? 'generic').toLowerCase();
241
- if (!id)
242
- continue;
243
- const atlasKey = kind === 'github-app' ? 'github' : (0, translate_kit_1.socialKey)(kind);
244
- const clientId = (0, record_set_1.str)(p.client_id);
245
- if (atlasKey) {
246
- b.socialProvider({ atlasKey, vendorName: id, area: 'sign-in with', setting: path, clientId, scopes: (0, record_set_1.strs)(p.scope).length ? (0, record_set_1.strs)(p.scope) : undefined });
247
- const last = b.report[b.report.length - 1];
248
- const line = k.line(path);
249
- if (line)
250
- Object.assign(last, { file: k.file, line });
251
- if (id !== atlasKey)
252
- last.note += ` Imported identities keep the Kratos provider id "${id}": map it with provider_map ${id}=${atlasKey}.`;
253
- }
254
- else {
255
- const providerKey = (0, translate_kit_1.keyOf)(id).replace(/:/g, '_').slice(0, 48) || 'oidc';
256
- const upper = providerKey.toUpperCase();
257
- const issuer = (0, record_set_1.str)(p.issuer_url);
258
- const doc = {
259
- provider_key: providerKey,
260
- display_name: (0, record_set_1.str)(p.label) ?? id,
261
- protocol: 'oidc',
262
- client_id: clientId ?? b.placeholder(`${upper}_CLIENT_ID`, `${id} client id`),
263
- client_secret: b.placeholder(`${upper}_CLIENT_SECRET`, `${id} client secret`),
264
- enabled: true,
265
- allow_sign_in: true,
266
- allow_sign_up: true,
267
- };
268
- if (issuer) {
269
- doc.issuer = issuer;
270
- doc.discovery_url = `${issuer.replace(/\/+$/, '')}/.well-known/openid-configuration`;
271
- }
272
- if ((0, record_set_1.strs)(p.scope).length)
273
- doc.scopes = (0, record_set_1.strs)(p.scope);
274
- b.push('custom_oauth_providers', doc);
275
- b.providers[id] = providerKey;
276
- note(k, 'differs', 'sign-in with', path, `"${id}" (${kind}) becomes the custom OIDC provider "${providerKey}"${issuer ? ` (issuer ${issuer})` : ''}. Add Atlas's redirect URI at the provider and set ${upper}_CLIENT_SECRET. Imported identities keep provider "${id}": map it with provider_map ${id}=${providerKey}.`, `custom_oauth_providers ${providerKey}`);
277
- }
278
- if ((0, record_set_1.str)(p.mapper_url))
279
- note(k, 'manual', 'sign-in with', `${path}.mapper_url`, `The Jsonnet claims mapper (${(0, record_set_1.str)(p.mapper_url)}) has no direct counterpart: Atlas copies name, email and picture from the provider; rebuild any trait mapping as a claim mapping or user metadata.`);
280
- if ((0, record_set_1.str)(p.requested_claims) || (0, record_set_1.isObj)(p.requested_claims))
281
- note(k, 'manual', 'sign-in with', `${path}.requested_claims`, 'Requested OIDC claims are not translated: set the scopes on the Atlas provider.');
282
- }
283
- }
284
- }
285
- // ── sessions ──
286
- if (k) {
287
- const lifespan = goDurationMs(kv('session.lifespan')) ?? 24 * 3_600_000;
288
- b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(lifespan));
289
- add((0, translate_kit_1.clampSessionMs)(lifespan) === lifespan ? 'mapped' : 'differs', 'sessions', 'session.lifespan', `Session lifespan ${String(kv('session.lifespan') ?? '24h')} becomes the absolute session lifetime.`, 'auth_config.session.absoluteMs');
290
- if (has('session.earliest_possible_extend'))
291
- add('differs', 'sessions', 'session.earliest_possible_extend', 'Atlas sessions refresh on use; there is no extension window.');
292
- if (kv('session.cookie.persistent') === false)
293
- add('differs', 'sessions', 'session.cookie.persistent', 'Kratos used a browser-session cookie; Atlas sessions are persistent up to their lifetime.');
294
- for (const p of ['session.cookie.domain', 'session.cookie.name', 'session.cookie.same_site', 'session.cookie.path']) {
295
- if (has(p))
296
- add('differs', 'sessions', p, 'Atlas names and scopes its own session cookie (cross-subdomain on custom domains); the old cookie is cleared by the session bridge.');
297
- }
298
- const aal = (0, record_set_1.str)(kv('session.whoami.required_aal'));
299
- if (aal === 'aal2') {
300
- b.set('mfaPolicy', 'required');
301
- add('mapped', 'sessions', 'session.whoami.required_aal', 'Every session needs a second factor.', 'auth_config.mfaPolicy');
302
- }
303
- else if (aal === 'highest_available' || aal === undefined) {
304
- if (aal)
305
- add('mapped', 'sessions', 'session.whoami.required_aal', 'A second factor is required exactly when the user has enrolled one: the Atlas default.', 'auth_config.mfaPolicy');
306
- }
307
- }
308
- // ── URLs and origins ──
309
- if (k) {
310
- const urls = [(0, record_set_1.str)(kv('selfservice.default_browser_return_url')), ...(0, record_set_1.strs)(kv('selfservice.allowed_return_urls'))].filter((u) => !!u);
311
- let exact = 0;
312
- for (const url of new Set(urls)) {
313
- if (url.includes('*')) {
314
- add('differs', 'URLs', 'selfservice.allowed_return_urls', `${url}: Atlas redirect URLs are exact (no wildcards); list each URL.`, 'redirect_urls');
315
- continue;
316
- }
317
- b.push('redirect_urls', { url });
318
- exact++;
319
- }
320
- if (exact)
321
- add('mapped', 'URLs', has('selfservice.allowed_return_urls') ? 'selfservice.allowed_return_urls' : 'selfservice.default_browser_return_url', `${exact} return URL(s) become redirect URLs.`, 'redirect_urls');
322
- const origins = (0, record_set_1.strs)(kv('serve.public.cors.allowed_origins')).filter((o) => !o.includes('*'));
323
- if (origins.length) {
324
- b.instance.allowed_origins = origins;
325
- add('mapped', 'URLs', 'serve.public.cors.allowed_origins', 'Allowed origins for the browser SDK.', 'instance.allowed_origins');
326
- }
327
- if ((0, record_set_1.strs)(kv('serve.public.cors.allowed_origins')).some((o) => o.includes('*')))
328
- add('differs', 'URLs', 'serve.public.cors.allowed_origins', 'Wildcard origins are not allowed in Atlas: list each origin.');
329
- }
330
- // ── email, SMS, hashing, schemas ──
331
- if (k) {
332
- if (has('courier.smtp.connection_uri'))
333
- add('manual', 'email', 'courier.smtp.connection_uri', 'Configure your SMTP server (or email provider) in Atlas; the connection URI carries credentials and is not copied.');
334
- for (const p of ['courier.smtp.from_address', 'courier.smtp.from_name'])
335
- if (has(p))
336
- add('manual', 'email', p, `Set the sender (${String(kv(p))}) on the Atlas email provider.`);
337
- if (has('courier.templates'))
338
- add('manual', 'email', 'courier.templates', 'Recreate your courier templates in Atlas (Kratos uses Go templates; Atlas has its own template variables).');
339
- if ((0, record_set_1.objs)(kv('courier.channels')).some((c) => (0, record_set_1.str)(c.id) === 'sms'))
340
- add('manual', 'phone', 'courier.channels', 'The SMS channel (HTTP request config) is replaced by an Atlas SMS provider: connect Twilio or another one (credentials are not copied).');
341
- if ((0, record_set_1.str)(kv('hashers.algorithm')))
342
- add('mapped', 'passwords', 'hashers.algorithm', `Passwords hashed with ${String(kv('hashers.algorithm'))} import in that algorithm and are re-hashed to Argon2id on each user's first sign-in.`);
343
- if ((0, record_set_1.str)(kv('oauth2_provider.url')))
344
- add('differs', 'OAuth', 'oauth2_provider.url', 'Kratos delegated login to Hydra. Atlas is its own OAuth 2.0 / OIDC provider: your login and consent apps are no longer needed.');
345
- if (bool('security.account_enumeration.mitigate', false))
346
- add('differs', 'security', 'security.account_enumeration.mitigate', 'Atlas gives uniform responses on sign-in and reset by default.');
347
- const schemaPaths = Array.isArray(kv('identity.schemas')) ? kv('identity.schemas') : [];
348
- if (schemaPaths.length && !snap.schemas.length)
349
- add('manual', 'identity schema', 'identity.schemas', 'The identity schemas could not be read: pass them with --set ory-schema=<file>, or give the public URL of Kratos.');
350
- }
351
- for (const { id, schema } of snap.schemas)
352
- schemaReport(b, id, schema);
353
- // ── Hydra ──
354
- if (h) {
355
- const hnote = (status, path, text, atlas) => note(h, status, 'OAuth 2.0 server', path, text, atlas);
356
- if ((0, record_set_1.str)(hv('urls.self.issuer')))
357
- hnote('differs', 'urls.self.issuer', `Tokens were issued by ${String(hv('urls.self.issuer'))}. Atlas issues under its own issuer: add Hydra's issuer as a legacy issuer so existing tokens stay valid during the move, and point resource servers at Atlas's JWKS.`, 'auth_config.legacyIssuers');
358
- for (const p of ['urls.login', 'urls.consent', 'urls.logout'])
359
- if (hv(p) !== undefined)
360
- hnote('manual', p, 'Atlas hosts login, consent and logout itself: this app is no longer needed.');
361
- for (const [p, what] of [['ttl.access_token', 'access token'], ['ttl.refresh_token', 'refresh token'], ['ttl.id_token', 'ID token'], ['ttl.auth_code', 'authorization code']]) {
362
- if (hv(p) !== undefined)
363
- hnote('differs', p, `${what} lifetime ${String(hv(p))}: set the lifetimes on each Atlas OAuth client or resource server.`);
364
- }
365
- if ((0, record_set_1.str)(hv('strategies.access_token')) === 'jwt')
366
- hnote('mapped', 'strategies.access_token', 'JWT access tokens: Atlas access tokens are JWTs verified with the instance JWKS.');
367
- else if (hv('strategies.access_token') !== undefined)
368
- hnote('differs', 'strategies.access_token', 'Opaque access tokens: Atlas access tokens are JWTs; resource servers verify them with the instance JWKS instead of introspecting.');
369
- if ((0, record_set_1.strs)(hv('oidc.subject_identifiers.supported_types')).includes('pairwise'))
370
- hnote('manual', 'oidc.subject_identifiers.supported_types', 'Pairwise subject identifiers are not supported: Atlas issues public subjects (the user id), so clients that stored pairwise subjects must re-link.');
371
- if (hv('oidc.dynamic_client_registration.enabled') === true)
372
- hnote('manual', 'oidc.dynamic_client_registration.enabled', 'Open dynamic client registration is not enabled in Atlas: register clients through the dashboard or API.');
373
- if (hv('oauth2.pkce.enforced') === true)
374
- hnote('mapped', 'oauth2.pkce.enforced', 'Atlas requires PKCE for public clients.');
375
- }
376
- // ── Hydra clients ──
377
- let secrets = 0;
378
- for (const c of snap.clients) {
379
- const id = (0, record_set_1.str)(c.client_id);
380
- if (!id)
381
- continue;
382
- const name = (0, record_set_1.str)(c.client_name) ?? id;
383
- const grants = (0, record_set_1.strs)(c.grant_types);
384
- const redirects = (0, record_set_1.strs)(c.redirect_uris);
385
- const method = (0, record_set_1.str)(c.token_endpoint_auth_method) ?? 'client_secret_basic';
386
- const doc = { name };
387
- if (redirects.length)
388
- doc.redirect_uris = redirects;
389
- const scopes = typeof c.scope === 'string' ? c.scope.split(/\s+/).filter(Boolean) : (0, record_set_1.strs)(c.scope);
390
- if (scopes.length)
391
- doc.allowed_scopes = scopes;
392
- if (grants.length)
393
- doc.grant_types = grants;
394
- doc.token_endpoint_auth_method = method;
395
- if ((0, record_set_1.str)(c.logo_uri))
396
- doc.logo_url = (0, record_set_1.str)(c.logo_uri);
397
- if (c.skip_consent === true)
398
- doc.first_party = true;
399
- b.push('oauth_clients', doc);
400
- const where = `clients ${id}`;
401
- b.add('mapped', 'OAuth clients', where, `"${name}" becomes an Atlas OAuth client (${grants.join(', ') || 'no grant types'}; ${redirects.length} redirect URI(s)${c.skip_consent === true ? '; consent skipped = first party' : ''}).`, 'oauth_clients');
402
- if (method !== 'none')
403
- secrets++;
404
- if (method === 'private_key_jwt')
405
- b.add('manual', 'OAuth clients', `${where} token_endpoint_auth_method`, 'private_key_jwt: register the client\'s public key (jwks / jwks_uri) on the Atlas client again.');
406
- if ((0, record_set_1.str)(c.subject_type) === 'pairwise')
407
- b.add('manual', 'OAuth clients', `${where} subject_type`, 'Pairwise subjects are not supported: this client receives the user id as sub.');
408
- if ((0, record_set_1.strs)(c.audience).length)
409
- b.add('manual', 'OAuth clients', `${where} audience`, `Audience ${(0, record_set_1.strs)(c.audience).join(', ')}: register each as an API (resource server) in Atlas and grant this client access.`, 'resource_servers');
410
- if ((0, record_set_1.str)(c.backchannel_logout_uri) || (0, record_set_1.str)(c.frontchannel_logout_uri))
411
- b.add('manual', 'OAuth clients', `${where} logout uris`, 'Front- and back-channel logout URIs are set on the Atlas client after import.');
412
- }
413
- if (secrets)
414
- b.add('manual', 'OAuth clients', 'client_secret', `${secrets} client(s) authenticate with a secret. Hydra keeps only hashes, so Atlas issues new secrets: give each client its new secret.`);
415
- const publicUrl = snap.publicUrl ?? (0, record_set_1.str)(kv('serve.public.base_url'));
416
- const slug = publicUrl ? /^https:\/\/([a-z0-9-]+)\.projects\.oryapis\.com/i.exec(publicUrl)?.[1] : undefined;
417
- const cookie = (0, record_set_1.str)(kv('session.cookie.name')) ?? (slug ? `ory_session_${slug}` : 'ory_kratos_session');
418
- const vars = { cookie_name: cookie };
419
- if (publicUrl)
420
- vars.base_url = publicUrl.replace(/\/+$/, '');
421
- return b.result(snap.origin, {
422
- bridge: { preset: 'ory_whoami', vars },
423
- ...(publicUrl ? { lazy: { preset: 'ory', config: { base_url: publicUrl.replace(/\/+$/, '') } } } : {}),
424
- });
425
- }
426
- /** One identity schema's traits → report lines (what Atlas stores where, what stays in metadata). */
427
- function schemaReport(b, id, schema) {
428
- const traits = (0, record_set_1.isObj)(schema.properties) && (0, record_set_1.isObj)(schema.properties.traits) ? schema.properties.traits : undefined;
429
- const props = traits && (0, record_set_1.isObj)(traits.properties) ? traits.properties : {};
430
- const required = new Set(traits ? (0, record_set_1.strs)(traits.required) : []);
431
- for (const [name, def] of Object.entries(props)) {
432
- if (!(0, record_set_1.isObj)(def))
433
- continue;
434
- const ory = (0, record_set_1.isObj)(def['ory.sh/kratos']) ? def['ory.sh/kratos'] : {};
435
- const creds = (0, record_set_1.isObj)(ory.credentials) ? ory.credentials : {};
436
- const identifierFor = Object.entries(creds).filter(([, v]) => (0, record_set_1.isObj)(v) && v.identifier === true).map(([c]) => c);
437
- const known = KNOWN_TRAITS.find((t) => t.keys.includes(name.toLowerCase()));
438
- const where = `identity schema ${id} traits.${name}`;
439
- const via = (0, record_set_1.isObj)(ory.verification) ? (0, record_set_1.str)(ory.verification.via) : undefined;
440
- if (known) {
441
- b.add('mapped', 'identity schema', where, `Becomes the ${known.atlas}${identifierFor.length ? ` and signs in via ${identifierFor.join(', ')}` : ''}${via ? `; verified by ${via}` : ''}.`);
442
- }
443
- else if ((0, record_set_1.isObj)(def.properties) && ['first', 'last'].some((n) => n in def.properties)) {
444
- b.add('mapped', 'identity schema', where, 'Its first / last fields become the user\'s first and last name.');
445
- }
446
- else {
447
- b.add('differs', 'identity schema', where, `A custom trait${required.has(name) ? ' (required at sign-up)' : ''}: it is kept on the user as unsafe_metadata.ory_traits.${name}; add it as an Atlas sign-up field to keep collecting it.`);
448
- }
449
- }
450
- }
451
- //# sourceMappingURL=ory-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ory-config.js","sourceRoot":"","sources":["../../../src/migrate/export/ory-config.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import type { PasswordHash } from '@atlasauth/migrate';
2
- import { type Tables } from './frameworks/tables';
3
- import { RecordSet, type Obj } from './record-set';
4
- /**
5
- * `atlas migrate export ory` — Ory Kratos (self-hosted, or Ory Network) onto
6
- * the canonical bundle models. Two ways in, both on the owner's machine:
7
- *
8
- * - a DATABASE DUMP of Kratos (`<table>.json|ndjson|csv` per table, see
9
- * frameworks/tables.ts): `identities`, `identity_credentials` (+ `_types`,
10
- * `_identifiers`), `identity_verifiable_addresses` and `sessions`. The
11
- * complete path: password hashes (every format Kratos verifies), TOTP
12
- * seeds, unused recovery codes, WebAuthn / passkey credentials, social
13
- * links and live session tokens. Ory Network projects cannot be dumped.
14
- * - the ADMIN API (`GET /admin/identities`, paged with the `Link` header's
15
- * page_token) with the admin URL of a self-hosted Kratos or an Ory Network
16
- * project's API key. It never returns password hashes, TOTP seeds, recovery
17
- * codes, WebAuthn credentials or session tokens: those users sign in once
18
- * against Kratos through the `ory` lazy preset (passwords) and re-enrol
19
- * their second factor; the session bridge asks Kratos to vouch for the
20
- * session (remote mode).
21
- *
22
- * The Kratos identity id is the user id: it is the `identity.id` of every
23
- * session (`/sessions/whoami`) and the `sub` Hydra issues by default.
24
- *
25
- * Schemas: github.com/ory/kratos `persistence/sql/migrations` (tables),
26
- * `identity/credentials_*.go` (credential configs), `hash/hash_comparator.go`
27
- * (password formats); Admin API: `identity.Identity` JSON.
28
- */
29
- export interface OryTablesOptions {
30
- /** The WebAuthn relying-party id (`selfservice.methods.passkey.config.rp.id` / `webauthn…rp.id`); passkeys need it. */
31
- rpId?: string;
32
- /** A multi-project database (Ory Network style): the `nid` to export. */
33
- networkId?: string;
34
- /** Export sessions that are active and unexpired at this time (default now). */
35
- now?: number;
36
- }
37
- export interface OryApiOptions {
38
- /** Kratos admin URL (`http://kratos:4434`) or `https://<slug>.projects.oryapis.com`. */
39
- adminUrl: string;
40
- /** Ory Network project API key (`ory_pat_…`), sent as `Authorization: Bearer`. */
41
- apiKey?: string;
42
- rpId?: string;
43
- pageSize?: number;
44
- fetchImpl?: typeof fetch;
45
- sleep?: (ms: number) => Promise<void>;
46
- onProgress?: (message: string) => void;
47
- }
48
- /**
49
- * A Kratos `hashed_password` as a bundle password; null when Atlas cannot
50
- * verify the format (`$hmac-md4$`, unknown schemes), whose users then move by
51
- * lazy migration. Formats: hash/hash_comparator.go.
52
- */
53
- export declare function oryPasswordHash(raw: unknown): PasswordHash | null;
54
- interface OryCredential {
55
- identifiers: string[];
56
- config?: Obj;
57
- }
58
- /** An identity as both readers present it (the Admin API's JSON, assembled from the tables). */
59
- interface OryIdentity {
60
- id: string;
61
- schemaId?: string;
62
- state?: string;
63
- traits: Obj;
64
- addresses: Array<{
65
- value: string;
66
- via: string;
67
- verified: boolean;
68
- }>;
69
- publicMetadata?: Obj;
70
- adminMetadata?: Obj;
71
- createdAt?: unknown;
72
- organizationId?: string;
73
- credentials: Map<string, OryCredential>;
74
- }
75
- export declare function exportOryTables(tables: Tables, opts?: OryTablesOptions): RecordSet;
76
- /** The Admin API's identity JSON as an {@link OryIdentity}. */
77
- export declare function oryIdentityFromApi(raw: Obj): OryIdentity | null;
78
- /** The `page_token` of a Link header's `rel="next"` URL (Kratos pages with tokens). */
79
- export declare function nextPageToken(link: string | null): string | null;
80
- export declare function exportOryApi(o: OryApiOptions): Promise<RecordSet>;
81
- export {};