@atlasauth/cli 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +3 -3
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -90
  25. package/dist/commands/config.js +0 -1430
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/errors.d.ts +0 -15
  115. package/dist/errors.js +0 -25
  116. package/dist/errors.js.map +0 -1
  117. package/dist/help.d.ts +0 -8
  118. package/dist/help.js +0 -868
  119. package/dist/help.js.map +0 -1
  120. package/dist/import/csv.d.ts +0 -6
  121. package/dist/import/csv.js +0 -63
  122. package/dist/import/csv.js.map +0 -1
  123. package/dist/import/vendors.d.ts +0 -57
  124. package/dist/import/vendors.js +0 -568
  125. package/dist/import/vendors.js.map +0 -1
  126. package/dist/index.d.ts +0 -32
  127. package/dist/index.js +0 -79
  128. package/dist/index.js.map +0 -1
  129. package/dist/io.d.ts +0 -21
  130. package/dist/io.js +0 -28
  131. package/dist/io.js.map +0 -1
  132. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  133. package/dist/migrate/appwrite/plugin.js +0 -103
  134. package/dist/migrate/appwrite/plugin.js.map +0 -1
  135. package/dist/migrate/auth0/plugin.d.ts +0 -2
  136. package/dist/migrate/auth0/plugin.js +0 -126
  137. package/dist/migrate/auth0/plugin.js.map +0 -1
  138. package/dist/migrate/authentik/plugin.d.ts +0 -2
  139. package/dist/migrate/authentik/plugin.js +0 -135
  140. package/dist/migrate/authentik/plugin.js.map +0 -1
  141. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  142. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  143. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  144. package/dist/migrate/better-auth/integration.d.ts +0 -59
  145. package/dist/migrate/better-auth/integration.js +0 -81
  146. package/dist/migrate/better-auth/integration.js.map +0 -1
  147. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  148. package/dist/migrate/better-auth/orchestrator.js +0 -525
  149. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  150. package/dist/migrate/better-auth/output.d.ts +0 -20
  151. package/dist/migrate/better-auth/output.js +0 -146
  152. package/dist/migrate/better-auth/output.js.map +0 -1
  153. package/dist/migrate/better-auth/translate.d.ts +0 -77
  154. package/dist/migrate/better-auth/translate.js +0 -1989
  155. package/dist/migrate/better-auth/translate.js.map +0 -1
  156. package/dist/migrate/clerk/plugin.d.ts +0 -2
  157. package/dist/migrate/clerk/plugin.js +0 -76
  158. package/dist/migrate/clerk/plugin.js.map +0 -1
  159. package/dist/migrate/cognito/plugin.d.ts +0 -5
  160. package/dist/migrate/cognito/plugin.js +0 -170
  161. package/dist/migrate/cognito/plugin.js.map +0 -1
  162. package/dist/migrate/corbado/plugin.d.ts +0 -2
  163. package/dist/migrate/corbado/plugin.js +0 -63
  164. package/dist/migrate/corbado/plugin.js.map +0 -1
  165. package/dist/migrate/descope/plugin.d.ts +0 -2
  166. package/dist/migrate/descope/plugin.js +0 -83
  167. package/dist/migrate/descope/plugin.js.map +0 -1
  168. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  169. package/dist/migrate/entra-external-id/plugin.js +0 -12
  170. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  171. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  172. package/dist/migrate/export/appwrite-config.js +0 -170
  173. package/dist/migrate/export/appwrite-config.js.map +0 -1
  174. package/dist/migrate/export/appwrite.d.ts +0 -51
  175. package/dist/migrate/export/appwrite.js +0 -288
  176. package/dist/migrate/export/appwrite.js.map +0 -1
  177. package/dist/migrate/export/auth0-config.d.ts +0 -29
  178. package/dist/migrate/export/auth0-config.js +0 -249
  179. package/dist/migrate/export/auth0-config.js.map +0 -1
  180. package/dist/migrate/export/auth0.d.ts +0 -62
  181. package/dist/migrate/export/auth0.js +0 -575
  182. package/dist/migrate/export/auth0.js.map +0 -1
  183. package/dist/migrate/export/authentik-config.d.ts +0 -45
  184. package/dist/migrate/export/authentik-config.js +0 -357
  185. package/dist/migrate/export/authentik-config.js.map +0 -1
  186. package/dist/migrate/export/authentik.d.ts +0 -110
  187. package/dist/migrate/export/authentik.js +0 -838
  188. package/dist/migrate/export/authentik.js.map +0 -1
  189. package/dist/migrate/export/azure-config.d.ts +0 -58
  190. package/dist/migrate/export/azure-config.js +0 -344
  191. package/dist/migrate/export/azure-config.js.map +0 -1
  192. package/dist/migrate/export/azure.d.ts +0 -85
  193. package/dist/migrate/export/azure.js +0 -373
  194. package/dist/migrate/export/azure.js.map +0 -1
  195. package/dist/migrate/export/clerk-config.d.ts +0 -26
  196. package/dist/migrate/export/clerk-config.js +0 -227
  197. package/dist/migrate/export/clerk-config.js.map +0 -1
  198. package/dist/migrate/export/clerk.d.ts +0 -46
  199. package/dist/migrate/export/clerk.js +0 -486
  200. package/dist/migrate/export/clerk.js.map +0 -1
  201. package/dist/migrate/export/cognito-config.d.ts +0 -25
  202. package/dist/migrate/export/cognito-config.js +0 -273
  203. package/dist/migrate/export/cognito-config.js.map +0 -1
  204. package/dist/migrate/export/cognito.d.ts +0 -103
  205. package/dist/migrate/export/cognito.js +0 -441
  206. package/dist/migrate/export/cognito.js.map +0 -1
  207. package/dist/migrate/export/corbado-config.d.ts +0 -20
  208. package/dist/migrate/export/corbado-config.js +0 -63
  209. package/dist/migrate/export/corbado-config.js.map +0 -1
  210. package/dist/migrate/export/corbado.d.ts +0 -37
  211. package/dist/migrate/export/corbado.js +0 -132
  212. package/dist/migrate/export/corbado.js.map +0 -1
  213. package/dist/migrate/export/descope.d.ts +0 -35
  214. package/dist/migrate/export/descope.js +0 -208
  215. package/dist/migrate/export/descope.js.map +0 -1
  216. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  217. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  218. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  219. package/dist/migrate/export/firebase-config.d.ts +0 -24
  220. package/dist/migrate/export/firebase-config.js +0 -215
  221. package/dist/migrate/export/firebase-config.js.map +0 -1
  222. package/dist/migrate/export/firebase.d.ts +0 -102
  223. package/dist/migrate/export/firebase.js +0 -464
  224. package/dist/migrate/export/firebase.js.map +0 -1
  225. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  226. package/dist/migrate/export/frameworks/app-users.js +0 -161
  227. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  228. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  229. package/dist/migrate/export/frameworks/authjs.js +0 -146
  230. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  231. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  232. package/dist/migrate/export/frameworks/devise.js +0 -218
  233. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  234. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  235. package/dist/migrate/export/frameworks/django.js +0 -315
  236. package/dist/migrate/export/frameworks/django.js.map +0 -1
  237. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  238. package/dist/migrate/export/frameworks/lucia.js +0 -263
  239. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  240. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  241. package/dist/migrate/export/frameworks/tables.js +0 -325
  242. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  243. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  244. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  245. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  246. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  247. package/dist/migrate/export/frontegg-config.js +0 -238
  248. package/dist/migrate/export/frontegg-config.js.map +0 -1
  249. package/dist/migrate/export/frontegg.d.ts +0 -67
  250. package/dist/migrate/export/frontegg.js +0 -410
  251. package/dist/migrate/export/frontegg.js.map +0 -1
  252. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  253. package/dist/migrate/export/fusionauth-config.js +0 -226
  254. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  255. package/dist/migrate/export/fusionauth.d.ts +0 -99
  256. package/dist/migrate/export/fusionauth.js +0 -642
  257. package/dist/migrate/export/fusionauth.js.map +0 -1
  258. package/dist/migrate/export/hanko-config.d.ts +0 -27
  259. package/dist/migrate/export/hanko-config.js +0 -265
  260. package/dist/migrate/export/hanko-config.js.map +0 -1
  261. package/dist/migrate/export/hanko.d.ts +0 -52
  262. package/dist/migrate/export/hanko.js +0 -605
  263. package/dist/migrate/export/hanko.js.map +0 -1
  264. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  265. package/dist/migrate/export/keycloak-config.js +0 -219
  266. package/dist/migrate/export/keycloak-config.js.map +0 -1
  267. package/dist/migrate/export/keycloak.d.ts +0 -155
  268. package/dist/migrate/export/keycloak.js +0 -878
  269. package/dist/migrate/export/keycloak.js.map +0 -1
  270. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  271. package/dist/migrate/export/kinde-descope-config.js +0 -172
  272. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  273. package/dist/migrate/export/kinde.d.ts +0 -57
  274. package/dist/migrate/export/kinde.js +0 -333
  275. package/dist/migrate/export/kinde.js.map +0 -1
  276. package/dist/migrate/export/ldap.d.ts +0 -53
  277. package/dist/migrate/export/ldap.js +0 -277
  278. package/dist/migrate/export/ldap.js.map +0 -1
  279. package/dist/migrate/export/logto-config.d.ts +0 -27
  280. package/dist/migrate/export/logto-config.js +0 -264
  281. package/dist/migrate/export/logto-config.js.map +0 -1
  282. package/dist/migrate/export/logto.d.ts +0 -150
  283. package/dist/migrate/export/logto.js +0 -809
  284. package/dist/migrate/export/logto.js.map +0 -1
  285. package/dist/migrate/export/magic-config.d.ts +0 -14
  286. package/dist/migrate/export/magic-config.js +0 -28
  287. package/dist/migrate/export/magic-config.js.map +0 -1
  288. package/dist/migrate/export/magic.d.ts +0 -31
  289. package/dist/migrate/export/magic.js +0 -93
  290. package/dist/migrate/export/magic.js.map +0 -1
  291. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  292. package/dist/migrate/export/mini-yaml.js +0 -581
  293. package/dist/migrate/export/mini-yaml.js.map +0 -1
  294. package/dist/migrate/export/nhost-config.d.ts +0 -26
  295. package/dist/migrate/export/nhost-config.js +0 -360
  296. package/dist/migrate/export/nhost-config.js.map +0 -1
  297. package/dist/migrate/export/nhost.d.ts +0 -64
  298. package/dist/migrate/export/nhost.js +0 -304
  299. package/dist/migrate/export/nhost.js.map +0 -1
  300. package/dist/migrate/export/okta-config.d.ts +0 -30
  301. package/dist/migrate/export/okta-config.js +0 -205
  302. package/dist/migrate/export/okta-config.js.map +0 -1
  303. package/dist/migrate/export/okta.d.ts +0 -43
  304. package/dist/migrate/export/okta.js +0 -337
  305. package/dist/migrate/export/okta.js.map +0 -1
  306. package/dist/migrate/export/onelogin.d.ts +0 -22
  307. package/dist/migrate/export/onelogin.js +0 -123
  308. package/dist/migrate/export/onelogin.js.map +0 -1
  309. package/dist/migrate/export/ory-config.d.ts +0 -58
  310. package/dist/migrate/export/ory-config.js +0 -451
  311. package/dist/migrate/export/ory-config.js.map +0 -1
  312. package/dist/migrate/export/ory.d.ts +0 -81
  313. package/dist/migrate/export/ory.js +0 -555
  314. package/dist/migrate/export/ory.js.map +0 -1
  315. package/dist/migrate/export/password-detect.d.ts +0 -29
  316. package/dist/migrate/export/password-detect.js +0 -81
  317. package/dist/migrate/export/password-detect.js.map +0 -1
  318. package/dist/migrate/export/pingone.d.ts +0 -36
  319. package/dist/migrate/export/pingone.js +0 -218
  320. package/dist/migrate/export/pingone.js.map +0 -1
  321. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  322. package/dist/migrate/export/plugin-kit.js +0 -82
  323. package/dist/migrate/export/plugin-kit.js.map +0 -1
  324. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  325. package/dist/migrate/export/pocketbase-config.js +0 -180
  326. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  327. package/dist/migrate/export/pocketbase.d.ts +0 -52
  328. package/dist/migrate/export/pocketbase.js +0 -243
  329. package/dist/migrate/export/pocketbase.js.map +0 -1
  330. package/dist/migrate/export/project-files.d.ts +0 -15
  331. package/dist/migrate/export/project-files.js +0 -43
  332. package/dist/migrate/export/project-files.js.map +0 -1
  333. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  334. package/dist/migrate/export/propelauth-config.js +0 -58
  335. package/dist/migrate/export/propelauth-config.js.map +0 -1
  336. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  337. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  338. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  339. package/dist/migrate/export/propelauth.d.ts +0 -48
  340. package/dist/migrate/export/propelauth.js +0 -255
  341. package/dist/migrate/export/propelauth.js.map +0 -1
  342. package/dist/migrate/export/record-set.d.ts +0 -44
  343. package/dist/migrate/export/record-set.js +0 -98
  344. package/dist/migrate/export/record-set.js.map +0 -1
  345. package/dist/migrate/export/source-lines.d.ts +0 -17
  346. package/dist/migrate/export/source-lines.js +0 -43
  347. package/dist/migrate/export/source-lines.js.map +0 -1
  348. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  349. package/dist/migrate/export/sso-metadata.js +0 -180
  350. package/dist/migrate/export/sso-metadata.js.map +0 -1
  351. package/dist/migrate/export/stytch-config.d.ts +0 -22
  352. package/dist/migrate/export/stytch-config.js +0 -102
  353. package/dist/migrate/export/stytch-config.js.map +0 -1
  354. package/dist/migrate/export/stytch.d.ts +0 -68
  355. package/dist/migrate/export/stytch.js +0 -510
  356. package/dist/migrate/export/stytch.js.map +0 -1
  357. package/dist/migrate/export/supabase-config.d.ts +0 -48
  358. package/dist/migrate/export/supabase-config.js +0 -408
  359. package/dist/migrate/export/supabase-config.js.map +0 -1
  360. package/dist/migrate/export/supabase.d.ts +0 -86
  361. package/dist/migrate/export/supabase.js +0 -524
  362. package/dist/migrate/export/supabase.js.map +0 -1
  363. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  364. package/dist/migrate/export/supertokens-config.js +0 -150
  365. package/dist/migrate/export/supertokens-config.js.map +0 -1
  366. package/dist/migrate/export/supertokens.d.ts +0 -125
  367. package/dist/migrate/export/supertokens.js +0 -464
  368. package/dist/migrate/export/supertokens.js.map +0 -1
  369. package/dist/migrate/export/table.d.ts +0 -35
  370. package/dist/migrate/export/table.js +0 -248
  371. package/dist/migrate/export/table.js.map +0 -1
  372. package/dist/migrate/export/translate-kit.d.ts +0 -46
  373. package/dist/migrate/export/translate-kit.js +0 -148
  374. package/dist/migrate/export/translate-kit.js.map +0 -1
  375. package/dist/migrate/export/userfront-config.d.ts +0 -15
  376. package/dist/migrate/export/userfront-config.js +0 -49
  377. package/dist/migrate/export/userfront-config.js.map +0 -1
  378. package/dist/migrate/export/userfront.d.ts +0 -38
  379. package/dist/migrate/export/userfront.js +0 -189
  380. package/dist/migrate/export/userfront.js.map +0 -1
  381. package/dist/migrate/export/vendor-http.d.ts +0 -46
  382. package/dist/migrate/export/vendor-http.js +0 -138
  383. package/dist/migrate/export/vendor-http.js.map +0 -1
  384. package/dist/migrate/export/workos-config.d.ts +0 -23
  385. package/dist/migrate/export/workos-config.js +0 -125
  386. package/dist/migrate/export/workos-config.js.map +0 -1
  387. package/dist/migrate/export/workos.d.ts +0 -46
  388. package/dist/migrate/export/workos.js +0 -272
  389. package/dist/migrate/export/workos.js.map +0 -1
  390. package/dist/migrate/export/zip.d.ts +0 -8
  391. package/dist/migrate/export/zip.js +0 -66
  392. package/dist/migrate/export/zip.js.map +0 -1
  393. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  394. package/dist/migrate/export/zitadel-config.js +0 -279
  395. package/dist/migrate/export/zitadel-config.js.map +0 -1
  396. package/dist/migrate/export/zitadel.d.ts +0 -82
  397. package/dist/migrate/export/zitadel.js +0 -447
  398. package/dist/migrate/export/zitadel.js.map +0 -1
  399. package/dist/migrate/firebase/plugin.d.ts +0 -2
  400. package/dist/migrate/firebase/plugin.js +0 -152
  401. package/dist/migrate/firebase/plugin.js.map +0 -1
  402. package/dist/migrate/framework/builtins.d.ts +0 -2
  403. package/dist/migrate/framework/builtins.js +0 -52
  404. package/dist/migrate/framework/builtins.js.map +0 -1
  405. package/dist/migrate/framework/commands.d.ts +0 -20
  406. package/dist/migrate/framework/commands.js +0 -58
  407. package/dist/migrate/framework/commands.js.map +0 -1
  408. package/dist/migrate/framework/custom.d.ts +0 -12
  409. package/dist/migrate/framework/custom.js +0 -96
  410. package/dist/migrate/framework/custom.js.map +0 -1
  411. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  412. package/dist/migrate/framework/orchestrator.js +0 -532
  413. package/dist/migrate/framework/orchestrator.js.map +0 -1
  414. package/dist/migrate/framework/plugin.d.ts +0 -167
  415. package/dist/migrate/framework/plugin.js +0 -3
  416. package/dist/migrate/framework/plugin.js.map +0 -1
  417. package/dist/migrate/framework/registry.d.ts +0 -11
  418. package/dist/migrate/framework/registry.js +0 -44
  419. package/dist/migrate/framework/registry.js.map +0 -1
  420. package/dist/migrate/framework/report.d.ts +0 -17
  421. package/dist/migrate/framework/report.js +0 -103
  422. package/dist/migrate/framework/report.js.map +0 -1
  423. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  424. package/dist/migrate/frameworks/plugins.js +0 -402
  425. package/dist/migrate/frameworks/plugins.js.map +0 -1
  426. package/dist/migrate/frameworks/report.d.ts +0 -92
  427. package/dist/migrate/frameworks/report.js +0 -207
  428. package/dist/migrate/frameworks/report.js.map +0 -1
  429. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  430. package/dist/migrate/frameworks/translate-js.js +0 -503
  431. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  433. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  434. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  435. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  436. package/dist/migrate/frontegg/plugin.js +0 -78
  437. package/dist/migrate/frontegg/plugin.js.map +0 -1
  438. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  439. package/dist/migrate/fusionauth/plugin.js +0 -109
  440. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  441. package/dist/migrate/hanko/plugin.d.ts +0 -2
  442. package/dist/migrate/hanko/plugin.js +0 -100
  443. package/dist/migrate/hanko/plugin.js.map +0 -1
  444. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  445. package/dist/migrate/keycloak/plugin.js +0 -148
  446. package/dist/migrate/keycloak/plugin.js.map +0 -1
  447. package/dist/migrate/kinde/plugin.d.ts +0 -2
  448. package/dist/migrate/kinde/plugin.js +0 -105
  449. package/dist/migrate/kinde/plugin.js.map +0 -1
  450. package/dist/migrate/ldap/plugin.d.ts +0 -2
  451. package/dist/migrate/ldap/plugin.js +0 -73
  452. package/dist/migrate/ldap/plugin.js.map +0 -1
  453. package/dist/migrate/logto/plugin.d.ts +0 -2
  454. package/dist/migrate/logto/plugin.js +0 -131
  455. package/dist/migrate/logto/plugin.js.map +0 -1
  456. package/dist/migrate/magic/plugin.d.ts +0 -2
  457. package/dist/migrate/magic/plugin.js +0 -56
  458. package/dist/migrate/magic/plugin.js.map +0 -1
  459. package/dist/migrate/nhost/plugin.d.ts +0 -2
  460. package/dist/migrate/nhost/plugin.js +0 -115
  461. package/dist/migrate/nhost/plugin.js.map +0 -1
  462. package/dist/migrate/oidc/plugin.d.ts +0 -2
  463. package/dist/migrate/oidc/plugin.js +0 -73
  464. package/dist/migrate/oidc/plugin.js.map +0 -1
  465. package/dist/migrate/okta/plugin.d.ts +0 -2
  466. package/dist/migrate/okta/plugin.js +0 -105
  467. package/dist/migrate/okta/plugin.js.map +0 -1
  468. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  469. package/dist/migrate/onelogin/plugin.js +0 -61
  470. package/dist/migrate/onelogin/plugin.js.map +0 -1
  471. package/dist/migrate/ory/plugin.d.ts +0 -2
  472. package/dist/migrate/ory/plugin.js +0 -186
  473. package/dist/migrate/ory/plugin.js.map +0 -1
  474. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  475. package/dist/migrate/ping-identity/plugin.js +0 -100
  476. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  477. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  478. package/dist/migrate/pocketbase/plugin.js +0 -99
  479. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  480. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  481. package/dist/migrate/propelauth/plugin.js +0 -65
  482. package/dist/migrate/propelauth/plugin.js.map +0 -1
  483. package/dist/migrate/saml/plugin.d.ts +0 -2
  484. package/dist/migrate/saml/plugin.js +0 -79
  485. package/dist/migrate/saml/plugin.js.map +0 -1
  486. package/dist/migrate/stytch/plugin.d.ts +0 -2
  487. package/dist/migrate/stytch/plugin.js +0 -97
  488. package/dist/migrate/stytch/plugin.js.map +0 -1
  489. package/dist/migrate/supabase/plugin.d.ts +0 -2
  490. package/dist/migrate/supabase/plugin.js +0 -149
  491. package/dist/migrate/supabase/plugin.js.map +0 -1
  492. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  493. package/dist/migrate/supertokens/plugin.js +0 -114
  494. package/dist/migrate/supertokens/plugin.js.map +0 -1
  495. package/dist/migrate/user-table/plugin.d.ts +0 -2
  496. package/dist/migrate/user-table/plugin.js +0 -62
  497. package/dist/migrate/user-table/plugin.js.map +0 -1
  498. package/dist/migrate/userfront/plugin.d.ts +0 -2
  499. package/dist/migrate/userfront/plugin.js +0 -60
  500. package/dist/migrate/userfront/plugin.js.map +0 -1
  501. package/dist/migrate/workos/plugin.d.ts +0 -2
  502. package/dist/migrate/workos/plugin.js +0 -81
  503. package/dist/migrate/workos/plugin.js.map +0 -1
  504. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  505. package/dist/migrate/zitadel/plugin.js +0 -114
  506. package/dist/migrate/zitadel/plugin.js.map +0 -1
  507. package/dist/output.d.ts +0 -41
  508. package/dist/output.js +0 -72
  509. package/dist/output.js.map +0 -1
  510. package/dist/project.d.ts +0 -64
  511. package/dist/project.js +0 -86
  512. package/dist/project.js.map +0 -1
  513. package/dist/prompt.d.ts +0 -15
  514. package/dist/prompt.js +0 -46
  515. package/dist/prompt.js.map +0 -1
  516. package/dist/run.d.ts +0 -12
  517. package/dist/run.js +0 -157
  518. package/dist/run.js.map +0 -1
  519. package/dist/secrets.d.ts +0 -41
  520. package/dist/secrets.js +0 -142
  521. package/dist/secrets.js.map +0 -1
  522. package/dist/serialize.d.ts +0 -30
  523. package/dist/serialize.js +0 -131
  524. package/dist/serialize.js.map +0 -1
  525. package/dist/version.d.ts +0 -7
  526. package/dist/version.js +0 -21
  527. package/dist/version.js.map +0 -1
@@ -1,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 {};