@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,408 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseToml = parseToml;
4
- exports.settingsFromToml = settingsFromToml;
5
- exports.fetchSupabaseAuthConfig = fetchSupabaseAuthConfig;
6
- exports.settingsFromApi = settingsFromApi;
7
- exports.durationMs = durationMs;
8
- exports.translateSupabaseConfig = translateSupabaseConfig;
9
- const record_set_1 = require("./record-set");
10
- const translate_kit_1 = require("./translate-kit");
11
- const vendor_http_1 = require("./vendor-http");
12
- // ── config.toml ────────────────────────────────────────────────────────────
13
- /**
14
- * A TOML reader for config.toml's shape: `[a.b.c]` tables, `key = value` with
15
- * basic / literal strings, numbers, booleans and (multi-line) arrays of
16
- * scalars, `#` comments. Keys come back as dotted paths with their 1-based line.
17
- */
18
- function parseToml(text) {
19
- const out = new Map();
20
- const lines = text.split(/\r?\n/);
21
- let table = '';
22
- for (let i = 0; i < lines.length; i++) {
23
- const raw = stripComment(lines[i]).trim();
24
- if (!raw)
25
- continue;
26
- const header = /^\[\s*([A-Za-z0-9_.\-"]+)\s*\]$/.exec(raw);
27
- if (header) {
28
- table = header[1].replace(/"/g, '');
29
- continue;
30
- }
31
- const kv = /^([A-Za-z0-9_\-"]+)\s*=\s*(.*)$/.exec(raw);
32
- if (!kv)
33
- continue;
34
- const line = i + 1;
35
- let rhs = kv[2];
36
- // A multi-line array runs until its closing bracket.
37
- if (rhs.startsWith('[') && !balanced(rhs)) {
38
- while (i + 1 < lines.length && !balanced(rhs))
39
- rhs += ` ${stripComment(lines[++i]).trim()}`;
40
- }
41
- const key = kv[1].replace(/"/g, '');
42
- out.set(table ? `${table}.${key}` : key, { value: tomlValue(rhs.trim()), line });
43
- }
44
- return out;
45
- }
46
- function stripComment(line) {
47
- let quote = null;
48
- for (let i = 0; i < line.length; i++) {
49
- const c = line[i];
50
- if (quote) {
51
- if (c === '\\' && quote === '"')
52
- i++;
53
- else if (c === quote)
54
- quote = null;
55
- }
56
- else if (c === '"' || c === "'")
57
- quote = c;
58
- else if (c === '#')
59
- return line.slice(0, i);
60
- }
61
- return line;
62
- }
63
- function balanced(s) {
64
- let depth = 0;
65
- let quote = null;
66
- for (let i = 0; i < s.length; i++) {
67
- const c = s[i];
68
- if (quote) {
69
- if (c === '\\' && quote === '"')
70
- i++;
71
- else if (c === quote)
72
- quote = null;
73
- }
74
- else if (c === '"' || c === "'")
75
- quote = c;
76
- else if (c === '[')
77
- depth++;
78
- else if (c === ']')
79
- depth--;
80
- }
81
- return depth <= 0;
82
- }
83
- function tomlValue(s) {
84
- if (s === 'true')
85
- return true;
86
- if (s === 'false')
87
- return false;
88
- if (s.startsWith('"')) {
89
- const end = s.lastIndexOf('"');
90
- return JSON.parse(s.slice(0, end + 1).replace(/\\'/g, "'"));
91
- }
92
- if (s.startsWith("'"))
93
- return s.slice(1, s.indexOf("'", 1));
94
- if (s.startsWith('[')) {
95
- const inner = s.slice(1, s.lastIndexOf(']'));
96
- const items = [];
97
- let cur = '';
98
- let quote = null;
99
- for (let i = 0; i < inner.length; i++) {
100
- const c = inner[i];
101
- if (quote) {
102
- cur += c;
103
- if (c === '\\' && quote === '"')
104
- cur += inner[++i] ?? '';
105
- else if (c === quote)
106
- quote = null;
107
- }
108
- else if (c === '"' || c === "'") {
109
- quote = c;
110
- cur += c;
111
- }
112
- else if (c === ',') {
113
- if (cur.trim())
114
- items.push(tomlValue(cur.trim()));
115
- cur = '';
116
- }
117
- else
118
- cur += c;
119
- }
120
- if (cur.trim())
121
- items.push(tomlValue(cur.trim()));
122
- return items;
123
- }
124
- const n = Number(s.replace(/_/g, ''));
125
- return Number.isFinite(n) ? n : s;
126
- }
127
- function settingsFromToml(text, file = 'supabase/config.toml') {
128
- const values = new Map();
129
- for (const [path, v] of parseToml(text)) {
130
- if (path === 'project_id' || path.startsWith('auth.') || path === 'auth')
131
- values.set(path, { value: v.value, setting: path, file, line: v.line });
132
- }
133
- return { origin: file, values };
134
- }
135
- // ── Management API ─────────────────────────────────────────────────────────
136
- /** Management API field → config.toml path (`!` negates a boolean). */
137
- const API_FIELDS = {
138
- site_url: 'auth.site_url',
139
- jwt_exp: 'auth.jwt_expiry',
140
- disable_signup: '!auth.enable_signup',
141
- external_anonymous_users_enabled: 'auth.enable_anonymous_sign_ins',
142
- security_manual_linking_enabled: 'auth.enable_manual_linking',
143
- password_min_length: 'auth.minimum_password_length',
144
- refresh_token_rotation_enabled: 'auth.enable_refresh_token_rotation',
145
- security_refresh_token_reuse_interval: 'auth.refresh_token_reuse_interval',
146
- security_update_password_require_reauthentication: 'auth.email.secure_password_change',
147
- security_captcha_enabled: 'auth.captcha.enabled',
148
- external_email_enabled: 'auth.email.enabled',
149
- mailer_autoconfirm: '!auth.email.enable_confirmations',
150
- mailer_secure_email_change_enabled: 'auth.email.double_confirm_changes',
151
- mailer_otp_exp: 'auth.email.otp_expiry',
152
- mailer_otp_length: 'auth.email.otp_length',
153
- smtp_host: 'auth.email.smtp.host',
154
- external_phone_enabled: 'auth.sms.enabled',
155
- sms_autoconfirm: '!auth.sms.enable_confirmations',
156
- sms_provider: 'auth.sms.provider',
157
- mfa_max_enrolled_factors: 'auth.mfa.max_enrolled_factors',
158
- mfa_totp_enroll_enabled: 'auth.mfa.totp.enroll_enabled',
159
- mfa_phone_enroll_enabled: 'auth.mfa.phone.enroll_enabled',
160
- mfa_web_authn_enroll_enabled: 'auth.mfa.web_authn.enroll_enabled',
161
- passkey_enabled: 'auth.passkey.enabled',
162
- webauthn_rp_id: 'auth.webauthn.rp_id',
163
- sessions_timebox: 'auth.sessions.timebox',
164
- sessions_inactivity_timeout: 'auth.sessions.inactivity_timeout',
165
- };
166
- async function fetchSupabaseAuthConfig(opts) {
167
- if (!/^[a-z0-9]{10,40}$/.test(opts.projectRef))
168
- throw new Error(`Not a Supabase project ref: ${opts.projectRef}`);
169
- const http = new vendor_http_1.VendorHttp({ vendor: 'Supabase', baseUrl: opts.apiUrl ?? 'https://api.supabase.com', headers: { authorization: `Bearer ${opts.accessToken}` }, fetchImpl: opts.fetchImpl });
170
- const { body } = await http.get(`/v1/projects/${opts.projectRef}/config/auth`);
171
- return { ...settingsFromApi((0, record_set_1.isObj)(body) ? body : {}, `supabase project ${opts.projectRef}`), projectRef: opts.projectRef };
172
- }
173
- function settingsFromApi(api, origin) {
174
- const values = new Map();
175
- const put = (path, value, setting) => {
176
- if (value !== null && value !== undefined)
177
- values.set(path, { value, setting });
178
- };
179
- for (const [field, target] of Object.entries(API_FIELDS)) {
180
- const v = api[field];
181
- if (target.startsWith('!'))
182
- put(target.slice(1), typeof v === 'boolean' ? !v : v, field);
183
- else
184
- put(target, v, field);
185
- }
186
- if (typeof api.uri_allow_list === 'string')
187
- put('auth.additional_redirect_urls', api.uri_allow_list.split(',').map((s) => s.trim()).filter(Boolean), 'uri_allow_list');
188
- if (typeof api.password_required_characters === 'string')
189
- put('auth.password_requirements', requirementsOf(api.password_required_characters), 'password_required_characters');
190
- for (const [field, v] of Object.entries(api)) {
191
- let m = /^external_([a-z0-9_]+?)_(enabled|client_id|url|skip_nonce_check|email_optional)$/.exec(field);
192
- if (m && !['email', 'phone', 'anonymous_users'].includes(m[1]))
193
- put(`auth.external.${m[1]}.${m[2]}`, v, field);
194
- m = /^hook_([a-z_]+)_(enabled|uri)$/.exec(field);
195
- if (m)
196
- put(`auth.hook.${m[1]}.${m[2]}`, v, field);
197
- m = /^rate_limit_([a-z_]+)$/.exec(field);
198
- if (m)
199
- put(`auth.rate_limit.${m[1]}`, v, field);
200
- }
201
- return { origin, values };
202
- }
203
- /** The API's character-set string → the config.toml requirement name. */
204
- function requirementsOf(chars) {
205
- const sets = chars.split(':');
206
- if (sets.length >= 4)
207
- return 'lower_upper_letters_digits_symbols';
208
- if (sets.length === 3)
209
- return 'lower_upper_letters_digits';
210
- if (sets.length === 2)
211
- return 'letters_digits';
212
- return '';
213
- }
214
- // ── translation ────────────────────────────────────────────────────────────
215
- /** Go durations (`24h`, `1h30m`, `90s`) or seconds → ms. */
216
- function durationMs(v) {
217
- if (typeof v === 'number')
218
- return v > 0 ? v * 1000 : undefined;
219
- if (typeof v !== 'string' || !v.trim())
220
- return undefined;
221
- let total = 0;
222
- const re = /(\d+(?:\.\d+)?)(h|m|s|ms)/g;
223
- let m;
224
- let matched = '';
225
- while ((m = re.exec(v.trim()))) {
226
- matched += m[0];
227
- total += Number(m[1]) * { h: 3600_000, m: 60_000, s: 1000, ms: 1 }[m[2]];
228
- }
229
- return matched === v.trim() && total > 0 ? total : undefined;
230
- }
231
- /** Supabase's provider names → Atlas built-in keys. */
232
- const PROVIDERS = { azure: 'microsoft', linkedin_oidc: 'linkedin', twitter: 'x', x: 'x' };
233
- /** `env(NAME)` is config.toml's way to keep a secret out of the file. */
234
- const fromEnv = (v) => (typeof v === 'string' ? /^env\(([A-Z0-9_]+)\)$/.exec(v.trim())?.[1] : undefined);
235
- function translateSupabaseConfig(s) {
236
- const b = new translate_kit_1.ConfigBuilder();
237
- const get = (path) => s.values.get(path);
238
- const val = (path) => s.values.get(path)?.value;
239
- const add = (status, area, path, note, atlas) => {
240
- const v = get(path);
241
- b.report.push({ status, area, setting: v?.setting ?? path, note, ...(atlas ? { atlas } : {}), ...(v?.file ? { file: v.file, line: v.line } : {}) });
242
- };
243
- const has = (path) => s.values.has(path);
244
- // ── general ──
245
- if (has('auth.enable_signup')) {
246
- const open = val('auth.enable_signup') !== false;
247
- b.set('signUpMode', open ? 'public' : 'restricted');
248
- add('mapped', 'general', 'auth.enable_signup', open ? 'Public sign-up.' : 'Sign-up closed (invitations and the allowlist still work).', 'auth_config.signUpMode');
249
- }
250
- if (has('auth.enable_anonymous_sign_ins')) {
251
- b.set('strategies.anonymous', val('auth.enable_anonymous_sign_ins') === true);
252
- add('mapped', 'general', 'auth.enable_anonymous_sign_ins', val('auth.enable_anonymous_sign_ins') === true ? 'Guest (anonymous) sign-in on.' : 'Anonymous sign-in off.', 'auth_config.strategies.anonymous');
253
- }
254
- if (val('auth.enable_manual_linking') === true)
255
- add('differs', 'general', 'auth.enable_manual_linking', 'Atlas links accounts from the signed-in user (user.createExternalAccount) without a separate switch.');
256
- const urls = [val('auth.site_url'), ...(Array.isArray(val('auth.additional_redirect_urls')) ? val('auth.additional_redirect_urls') : [])].filter((u) => typeof u === 'string' && !!u.trim());
257
- let wildcard = false;
258
- for (const url of new Set(urls)) {
259
- if (url.includes('*')) {
260
- wildcard = true;
261
- continue;
262
- }
263
- b.push('redirect_urls', { url });
264
- }
265
- if (urls.length)
266
- add(wildcard ? 'differs' : 'mapped', 'URL configuration', has('auth.additional_redirect_urls') ? 'auth.additional_redirect_urls' : 'auth.site_url', `${urls.length} site / redirect URL(s) become redirect URLs${wildcard ? '; Atlas redirect URLs are exact, so list each URL a wildcard covered' : ''}.`, 'redirect_urls');
267
- // ── tokens and sessions ──
268
- if (has('auth.jwt_expiry'))
269
- add('differs', 'sessions', 'auth.jwt_expiry', `Supabase access tokens lived ${val('auth.jwt_expiry')}s. Atlas issues short-lived session tokens (60s by default) refreshed by its SDKs; lifetime is the session's.`, 'auth_config.session.jwtTtlSeconds');
270
- if (has('auth.enable_refresh_token_rotation'))
271
- add('mapped', 'sessions', 'auth.enable_refresh_token_rotation', 'Atlas always rotates refresh tokens.', 'auth_config.session');
272
- if (has('auth.refresh_token_reuse_interval'))
273
- add('differs', 'sessions', 'auth.refresh_token_reuse_interval', 'Atlas has its own reuse grace window for concurrent refreshes.');
274
- const timebox = durationMs(val('auth.sessions.timebox'));
275
- if (timebox) {
276
- b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(timebox));
277
- add((0, translate_kit_1.clampSessionMs)(timebox) === timebox ? 'mapped' : 'differs', 'sessions', 'auth.sessions.timebox', 'Session time-box becomes the absolute session lifetime.', 'auth_config.session.absoluteMs');
278
- }
279
- const idle = durationMs(val('auth.sessions.inactivity_timeout'));
280
- if (idle) {
281
- b.set('session.idleMs', (0, translate_kit_1.clampSessionMs)(idle));
282
- add((0, translate_kit_1.clampSessionMs)(idle) === idle ? 'mapped' : 'differs', 'sessions', 'auth.sessions.inactivity_timeout', 'Inactivity timeout becomes the idle session lifetime.', 'auth_config.session.idleMs');
283
- }
284
- // ── passwords ──
285
- const minLen = val('auth.minimum_password_length');
286
- if (typeof minLen === 'number') {
287
- b.set('passwordPolicy.minLength', Math.max(minLen, 6));
288
- add('mapped', 'passwords', 'auth.minimum_password_length', `Minimum ${minLen} characters.`, 'auth_config.passwordPolicy.minLength');
289
- }
290
- const req = val('auth.password_requirements');
291
- if (typeof req === 'string' && req) {
292
- b.set('passwordPolicy.requireNumber', true);
293
- if (req.startsWith('lower_upper')) {
294
- b.set('passwordPolicy.requireLowercase', true);
295
- b.set('passwordPolicy.requireUppercase', true);
296
- }
297
- if (req.endsWith('symbols'))
298
- b.set('passwordPolicy.requireSymbol', true);
299
- add(req === 'letters_digits' ? 'differs' : 'mapped', 'passwords', 'auth.password_requirements', req === 'letters_digits' ? 'Letters and digits: Atlas requires a digit (letters are not a separate rule).' : `Character requirements "${req}".`, 'auth_config.passwordPolicy');
300
- }
301
- if (val('auth.email.secure_password_change') === true)
302
- add('mapped', 'passwords', 'auth.email.secure_password_change', 'Atlas asks for the current password (or a fresh sign-in) before a password change.');
303
- // ── email ──
304
- const emailOn = val('auth.email.enabled') !== false;
305
- b.set('strategies.password', emailOn);
306
- b.set('strategies.emailLink', emailOn);
307
- b.set('strategies.emailCode', emailOn);
308
- add('mapped', 'email', has('auth.email.enabled') ? 'auth.email.enabled' : 'auth.email.enable_signup', emailOn ? 'Email sign-in on: password, magic link and one-time code, as in Supabase.' : 'Email sign-in off.', 'auth_config.strategies.password / emailLink / emailCode');
309
- if (has('auth.email.enable_confirmations')) {
310
- const on = val('auth.email.enable_confirmations') === true;
311
- b.set('requireEmailVerification', on);
312
- add('mapped', 'email', 'auth.email.enable_confirmations', on ? 'Email addresses are confirmed before sign-in.' : 'Email confirmation off.', 'auth_config.requireEmailVerification');
313
- }
314
- if (has('auth.email.double_confirm_changes'))
315
- add('differs', 'email', 'auth.email.double_confirm_changes', 'Atlas verifies the new address on an email change; it does not also mail the old one.');
316
- if (has('auth.email.otp_length') || has('auth.email.otp_expiry'))
317
- add('differs', 'email', has('auth.email.otp_length') ? 'auth.email.otp_length' : 'auth.email.otp_expiry', 'Atlas uses 6-digit codes with its own expiry.');
318
- if (has('auth.email.smtp.host'))
319
- add('manual', 'email', 'auth.email.smtp.host', 'Configure your SMTP server (or email provider) in Atlas; credentials are not copied.');
320
- for (const [path] of s.values) {
321
- const m = /^auth\.email\.template\.([a-z_]+)\.(subject|content_path)$/.exec(path);
322
- if (m && path.endsWith('subject'))
323
- add('manual', 'email', path, `Recreate the "${m[1]}" email template in Atlas (Supabase's {{ .ConfirmationURL }} variables differ).`);
324
- }
325
- // ── phone ──
326
- if (val('auth.sms.enable_signup') === true || val('auth.sms.enabled') === true) {
327
- b.set('strategies.phoneCode', true);
328
- add('mapped', 'phone', has('auth.sms.enabled') ? 'auth.sms.enabled' : 'auth.sms.enable_signup', 'SMS code sign-in on.', 'auth_config.strategies.phoneCode');
329
- }
330
- for (const provider of ['twilio', 'twilio_verify', 'messagebird', 'textlocal', 'vonage']) {
331
- if (val(`auth.sms.${provider}.enabled`) === true)
332
- add('manual', 'phone', `auth.sms.${provider}.enabled`, `Connect your ${provider.replace('_', ' ')} account as Atlas's SMS provider (credentials are not copied).`);
333
- }
334
- if (typeof val('auth.sms.provider') === 'string')
335
- add('manual', 'phone', 'auth.sms.provider', `Connect your ${String(val('auth.sms.provider'))} account as Atlas's SMS provider (credentials are not copied).`);
336
- // ── MFA and passkeys ──
337
- const mfa = (factor, atlas, label) => {
338
- const path = `auth.mfa.${factor}.enroll_enabled`;
339
- if (!has(path))
340
- return;
341
- const on = val(path) === true;
342
- b.set(`mfa.factors.${atlas}`, on);
343
- add('mapped', 'multi-factor', path, `${label} second factor ${on ? 'on' : 'off'}.${on && factor === 'totp' ? ' Enrolled authenticators move with the export (secrets included).' : ''}`, `auth_config.mfa.factors.${atlas}`);
344
- };
345
- mfa('totp', 'totp', 'Authenticator app');
346
- mfa('phone', 'sms', 'SMS');
347
- mfa('web_authn', 'passkey', 'WebAuthn');
348
- if (has('auth.mfa.max_enrolled_factors'))
349
- add('differs', 'multi-factor', 'auth.mfa.max_enrolled_factors', 'Atlas has no cap on enrolled factors.');
350
- if (val('auth.passkey.enabled') === true) {
351
- b.set('strategies.passkey', true);
352
- add('mapped', 'passkeys', 'auth.passkey.enabled', 'Passkey sign-in on.', 'auth_config.strategies.passkey');
353
- }
354
- if (typeof val('auth.webauthn.rp_id') === 'string')
355
- add('differs', 'passkeys', 'auth.webauthn.rp_id', `Passkeys were registered for "${String(val('auth.webauthn.rp_id'))}": they keep working only when Atlas serves sign-in on that domain (export with --rp-id ${String(val('auth.webauthn.rp_id'))}).`);
356
- // ── providers ──
357
- const providers = new Set();
358
- for (const [path] of s.values) {
359
- const m = /^auth\.external\.([a-z0-9_]+)\./.exec(path);
360
- if (m)
361
- providers.add(m[1]);
362
- }
363
- for (const p of [...providers].sort()) {
364
- const base = `auth.external.${p}`;
365
- if (val(`${base}.enabled`) !== true)
366
- continue;
367
- const key = PROVIDERS[p] ?? (0, translate_kit_1.socialKey)(p);
368
- if (!key) {
369
- add('manual', 'providers', `${base}.enabled`, `"${p}" is not a built-in Atlas provider; add it as a custom OAuth / OIDC provider${val(`${base}.url`) ? ` (issuer ${String(val(`${base}.url`))})` : ''}.`, 'custom_oauth_providers');
370
- continue;
371
- }
372
- const raw = val(`${base}.client_id`);
373
- const clientId = typeof raw === 'string' && raw && !fromEnv(raw) ? raw : undefined;
374
- const v = get(`${base}.enabled`);
375
- b.socialProvider({ atlasKey: key, vendorName: p, area: 'providers', setting: v?.setting ?? `${base}.enabled`, clientId });
376
- const last = b.report[b.report.length - 1];
377
- if (last && v?.file)
378
- Object.assign(last, { file: v.file, line: v.line });
379
- if (p === 'azure' && typeof val(`${base}.url`) === 'string')
380
- add('differs', 'providers', `${base}.url`, `Azure tenant URL ${String(val(`${base}.url`))}: set the tenant on Atlas's microsoft provider (single-tenant apps).`, 'oauth_providers microsoft');
381
- if (val(`${base}.skip_nonce_check`) === true)
382
- add('differs', 'providers', `${base}.skip_nonce_check`, 'Atlas always checks the nonce on ID tokens.');
383
- }
384
- // ── hooks, captcha, third-party auth, rate limits ──
385
- for (const [path] of s.values) {
386
- const hook = /^auth\.hook\.([a-z_]+)\.enabled$/.exec(path);
387
- if (hook && val(path) === true) {
388
- const name = hook[1];
389
- const to = name === 'custom_access_token' ? 'a JWT template (custom claims)' : name === 'send_email' || name === 'send_sms' ? 'your own delivery provider in Atlas' : name === 'before_user_created' ? 'a before-sign-up action' : 'Atlas attack protection settings';
390
- add('manual', 'auth hooks', path, `The ${name} hook moves to ${to}.`);
391
- }
392
- const third = /^auth\.third_party\.([a-z0-9_]+)\.enabled$/.exec(path);
393
- if (third && val(path) === true)
394
- add('manual', 'third-party auth', path, `Supabase accepted ${third[1]} tokens: point that integration at Atlas, or migrate it too.`);
395
- }
396
- if (val('auth.captcha.enabled') === true)
397
- add('differs', 'attack protection', 'auth.captcha.enabled', 'Atlas has its own bot protection; captcha keys are not used.');
398
- if ([...s.values.keys()].some((k) => k.startsWith('auth.rate_limit.')))
399
- add('differs', 'attack protection', [...s.values.keys()].find((k) => k.startsWith('auth.rate_limit.')), 'Atlas applies its own rate limits.');
400
- const vars = {};
401
- if (s.projectRef)
402
- vars.project_ref = s.projectRef;
403
- return b.result(s.origin, {
404
- bridge: { preset: 'supabase', vars },
405
- ...(s.projectRef ? { lazy: { preset: 'supabase', config: { url: `https://${s.projectRef}.supabase.co` } } } : {}),
406
- });
407
- }
408
- //# sourceMappingURL=supabase-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supabase-config.js","sourceRoot":"","sources":["../../../src/migrate/export/supabase-config.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import type { PasswordHash, UserRecord } from '@atlasauth/migrate';
2
- import { RecordSet, type Obj } from './record-set';
3
- /**
4
- * `atlas migrate export supabase` — Supabase Auth (GoTrue), hosted or
5
- * self-hosted, onto the canonical bundle models.
6
- *
7
- * The complete export reads the `auth` schema, which only the database
8
- * exposes: dump the tables with your own tools on your machine, e.g.
9
- *
10
- * for t in users identities mfa_factors sessions refresh_tokens \
11
- * sso_providers sso_domains saml_providers webauthn_credentials \
12
- * mfa_recovery_code_sets mfa_recovery_codes; do
13
- * psql "$SUPABASE_DB_URL" -c "\copy (select * from auth.$t) to '$t.csv' csv header"
14
- * done
15
- *
16
- * and pass the folder. Files may be `<table>.csv` (with a header), `.json`
17
- * (an array) or `.ndjson`, named `users.csv` or `auth.users.csv`; missing
18
- * optional tables are skipped. Nothing connects to the database.
19
- *
20
- * - users with emails / phone and their confirmed state, app_metadata
21
- * (public metadata), user_metadata (unsafe metadata: users can edit it),
22
- * bans, bcrypt / argon2 / Firebase-scrypt password hashes as stored;
23
- * - social / OIDC identities and SAML SSO identities with their providers
24
- * and domains;
25
- * - TOTP factors WITH their secret (GoTrue stores it in plaintext unless
26
- * column encryption is on: pass the GOTRUE_SECURITY_DB_ENCRYPTION key and
27
- * both secrets and hashes are decrypted here), phone factors, WebAuthn factors and passkeys
28
- * (with --rp-id), recovery codes as their argon2id hashes;
29
- * - live sessions keyed by their legacy refresh tokens, for the bridge.
30
- *
31
- * Without a dump, the Admin API (`/auth/v1/admin/users`, service_role key)
32
- * gives users, identities and factor metadata but NO password hashes or TOTP
33
- * secrets: passwords then move by the supabase lazy-migration preset.
34
- */
35
- export interface SupabaseExportOptions {
36
- /** A folder of auth-schema table dumps. */
37
- dumpDir?: string;
38
- /** Tables already read (tests, or a caller with its own reader). */
39
- tables?: Record<string, Obj[]>;
40
- /** `https://<ref>.supabase.co` (or a self-hosted URL), for the Admin API and the manifest. */
41
- url?: string;
42
- /** The service_role / secret key, for the Admin API (only when there is no dump). */
43
- serviceRoleKey?: string;
44
- /** The WebAuthn relying-party id passkeys were registered for. */
45
- rpId?: string;
46
- includeAnonymous?: boolean;
47
- /**
48
- * GoTrue column-encryption keys (GOTRUE_SECURITY_DB_ENCRYPTION_ENCRYPTION_KEY
49
- * and any _DECRYPTION_KEYS), each `key` or `key_id:key`: encrypted password
50
- * hashes and TOTP secrets are decrypted on this machine.
51
- */
52
- dbEncryptionKeys?: string[];
53
- /** How long an imported session stays exchangeable when Supabase set no `not_after` (default 30 days). */
54
- sessionDays?: number;
55
- fetchImpl?: typeof fetch;
56
- sleep?: (ms: number) => Promise<void>;
57
- now?: () => number;
58
- onProgress?: (message: string) => void;
59
- }
60
- /** Read every table file in a dump folder: `{ users: [...], identities: [...] }` (schema prefix dropped, lowercase). */
61
- export declare function readTableDump(dir: string): Record<string, Obj[]>;
62
- export declare function parseTableText(text: string, ext: string): Obj[];
63
- /**
64
- * `auth.users.encrypted_password` → a bundle password: bcrypt and argon2 are
65
- * self-describing; `$fbscrypt$` (Firebase users imported into Supabase) is
66
- * unpacked into the registry's scrypt_firebase fields. A value encrypted with
67
- * GoTrue's column encryption (JSON `aes-gcm-hkdf`) cannot be read here.
68
- */
69
- export declare function supabasePassword(raw: unknown): {
70
- password?: PasswordHash;
71
- problem?: 'encrypted' | 'unknown' | 'no_signer_key';
72
- };
73
- /**
74
- * GoTrue's column encryption (`crypto.EncryptedString`): a JSON
75
- * `{"key_id","alg":"aes-gcm-hkdf","data","nonce"}` (std base64), the AES-256-GCM
76
- * key derived as HKDF-SHA256(ikm = base64url key, no salt, info = the row id —
77
- * the user id for a password hash, the factor id for a TOTP secret). Keys
78
- * given as `key_id:key` are tried for their key id only; bare keys for any.
79
- * Undefined when the value is not an EncryptedString or no key opens it.
80
- */
81
- export declare function decryptGotrueColumn(raw: string, rowId: string, keys: readonly string[]): string | undefined;
82
- export declare function exportSupabase(opts: SupabaseExportOptions): Promise<RecordSet>;
83
- export declare function mapSupabaseTables(tables: Record<string, Obj[]>, opts: Omit<SupabaseExportOptions, 'now'> & {
84
- now: number;
85
- }): RecordSet;
86
- export declare function mapSupabaseUser(u: Obj, password: PasswordHash | undefined, now: number): UserRecord | null;