@atlasauth/cli 0.25.0 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/args.d.ts +601 -0
  3. package/dist/args.js +289 -0
  4. package/dist/args.js.map +1 -0
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +19 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/actions-gallery.d.ts +8 -0
  9. package/dist/commands/actions-gallery.js +197 -0
  10. package/dist/commands/actions-gallery.js.map +1 -0
  11. package/dist/commands/actions.d.ts +13 -0
  12. package/dist/commands/actions.js +135 -0
  13. package/dist/commands/actions.js.map +1 -0
  14. package/dist/commands/admin.d.ts +49 -0
  15. package/dist/commands/admin.js +353 -0
  16. package/dist/commands/admin.js.map +1 -0
  17. package/dist/commands/api-keys.d.ts +4 -0
  18. package/dist/commands/api-keys.js +96 -0
  19. package/dist/commands/api-keys.js.map +1 -0
  20. package/dist/commands/auth.d.ts +25 -0
  21. package/dist/commands/auth.js +102 -0
  22. package/dist/commands/auth.js.map +1 -0
  23. package/dist/commands/config.d.ts +104 -0
  24. package/dist/commands/config.js +1532 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/csp.d.ts +32 -0
  27. package/dist/commands/csp.js +180 -0
  28. package/dist/commands/csp.js.map +1 -0
  29. package/dist/commands/dev.d.ts +8 -0
  30. package/dist/commands/dev.js +84 -0
  31. package/dist/commands/dev.js.map +1 -0
  32. package/dist/commands/fga.d.ts +10 -0
  33. package/dist/commands/fga.js +146 -0
  34. package/dist/commands/fga.js.map +1 -0
  35. package/dist/commands/golive.d.ts +40 -0
  36. package/dist/commands/golive.js +285 -0
  37. package/dist/commands/golive.js.map +1 -0
  38. package/dist/commands/id-accounts.d.ts +13 -0
  39. package/dist/commands/id-accounts.js +195 -0
  40. package/dist/commands/id-accounts.js.map +1 -0
  41. package/dist/commands/import-better-auth.d.ts +3 -0
  42. package/dist/commands/import-better-auth.js +164 -0
  43. package/dist/commands/import-better-auth.js.map +1 -0
  44. package/dist/commands/import.d.ts +3 -0
  45. package/dist/commands/import.js +123 -0
  46. package/dist/commands/import.js.map +1 -0
  47. package/dist/commands/info.d.ts +75 -0
  48. package/dist/commands/info.js +362 -0
  49. package/dist/commands/info.js.map +1 -0
  50. package/dist/commands/init.d.ts +3 -0
  51. package/dist/commands/init.js +438 -0
  52. package/dist/commands/init.js.map +1 -0
  53. package/dist/commands/integrations.d.ts +8 -0
  54. package/dist/commands/integrations.js +112 -0
  55. package/dist/commands/integrations.js.map +1 -0
  56. package/dist/commands/listen.d.ts +17 -0
  57. package/dist/commands/listen.js +223 -0
  58. package/dist/commands/listen.js.map +1 -0
  59. package/dist/commands/mcp.d.ts +38 -0
  60. package/dist/commands/mcp.js +111 -0
  61. package/dist/commands/mcp.js.map +1 -0
  62. package/dist/commands/migrate.d.ts +16 -0
  63. package/dist/commands/migrate.js +114 -0
  64. package/dist/commands/migrate.js.map +1 -0
  65. package/dist/commands/move-origin.d.ts +11 -0
  66. package/dist/commands/move-origin.js +95 -0
  67. package/dist/commands/move-origin.js.map +1 -0
  68. package/dist/commands/operator.d.ts +18 -0
  69. package/dist/commands/operator.js +238 -0
  70. package/dist/commands/operator.js.map +1 -0
  71. package/dist/commands/orgs.d.ts +4 -0
  72. package/dist/commands/orgs.js +72 -0
  73. package/dist/commands/orgs.js.map +1 -0
  74. package/dist/commands/pages.d.ts +14 -0
  75. package/dist/commands/pages.js +113 -0
  76. package/dist/commands/pages.js.map +1 -0
  77. package/dist/commands/partner-platforms.d.ts +10 -0
  78. package/dist/commands/partner-platforms.js +157 -0
  79. package/dist/commands/partner-platforms.js.map +1 -0
  80. package/dist/commands/project-commands.d.ts +38 -0
  81. package/dist/commands/project-commands.js +361 -0
  82. package/dist/commands/project-commands.js.map +1 -0
  83. package/dist/commands/referrals.d.ts +69 -0
  84. package/dist/commands/referrals.js +1056 -0
  85. package/dist/commands/referrals.js.map +1 -0
  86. package/dist/commands/resources.d.ts +44 -0
  87. package/dist/commands/resources.js +234 -0
  88. package/dist/commands/resources.js.map +1 -0
  89. package/dist/commands/sessions.d.ts +4 -0
  90. package/dist/commands/sessions.js +28 -0
  91. package/dist/commands/sessions.js.map +1 -0
  92. package/dist/commands/shared.d.ts +38 -0
  93. package/dist/commands/shared.js +69 -0
  94. package/dist/commands/shared.js.map +1 -0
  95. package/dist/commands/status.d.ts +3 -0
  96. package/dist/commands/status.js +77 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/commands/users.d.ts +4 -0
  99. package/dist/commands/users.js +100 -0
  100. package/dist/commands/users.js.map +1 -0
  101. package/dist/commands/webhooks.d.ts +34 -0
  102. package/dist/commands/webhooks.js +301 -0
  103. package/dist/commands/webhooks.js.map +1 -0
  104. package/dist/config-http.d.ts +29 -0
  105. package/dist/config-http.js +64 -0
  106. package/dist/config-http.js.map +1 -0
  107. package/dist/config.d.ts +64 -0
  108. package/dist/config.js +69 -0
  109. package/dist/config.js.map +1 -0
  110. package/dist/context.d.ts +72 -0
  111. package/dist/context.js +27 -0
  112. package/dist/context.js.map +1 -0
  113. package/dist/define-config.d.ts +9 -0
  114. package/dist/define-config.js +8 -0
  115. package/dist/define-config.js.map +1 -0
  116. package/dist/errors.d.ts +15 -0
  117. package/dist/errors.js +25 -0
  118. package/dist/errors.js.map +1 -0
  119. package/dist/help.d.ts +8 -0
  120. package/dist/help.js +868 -0
  121. package/dist/help.js.map +1 -0
  122. package/dist/import/csv.d.ts +6 -0
  123. package/dist/import/csv.js +63 -0
  124. package/dist/import/csv.js.map +1 -0
  125. package/dist/import/vendors.d.ts +57 -0
  126. package/dist/import/vendors.js +568 -0
  127. package/dist/import/vendors.js.map +1 -0
  128. package/dist/index.d.ts +33 -0
  129. package/dist/index.js +81 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/io.d.ts +21 -0
  132. package/dist/io.js +28 -0
  133. package/dist/io.js.map +1 -0
  134. package/dist/migrate/appwrite/plugin.d.ts +2 -0
  135. package/dist/migrate/appwrite/plugin.js +103 -0
  136. package/dist/migrate/appwrite/plugin.js.map +1 -0
  137. package/dist/migrate/auth0/plugin.d.ts +2 -0
  138. package/dist/migrate/auth0/plugin.js +126 -0
  139. package/dist/migrate/auth0/plugin.js.map +1 -0
  140. package/dist/migrate/authentik/plugin.d.ts +2 -0
  141. package/dist/migrate/authentik/plugin.js +135 -0
  142. package/dist/migrate/authentik/plugin.js.map +1 -0
  143. package/dist/migrate/azure-ad-b2c/plugin.d.ts +8 -0
  144. package/dist/migrate/azure-ad-b2c/plugin.js +165 -0
  145. package/dist/migrate/azure-ad-b2c/plugin.js.map +1 -0
  146. package/dist/migrate/better-auth/integration.d.ts +59 -0
  147. package/dist/migrate/better-auth/integration.js +81 -0
  148. package/dist/migrate/better-auth/integration.js.map +1 -0
  149. package/dist/migrate/better-auth/orchestrator.d.ts +43 -0
  150. package/dist/migrate/better-auth/orchestrator.js +525 -0
  151. package/dist/migrate/better-auth/orchestrator.js.map +1 -0
  152. package/dist/migrate/better-auth/output.d.ts +20 -0
  153. package/dist/migrate/better-auth/output.js +146 -0
  154. package/dist/migrate/better-auth/output.js.map +1 -0
  155. package/dist/migrate/better-auth/translate.d.ts +77 -0
  156. package/dist/migrate/better-auth/translate.js +1989 -0
  157. package/dist/migrate/better-auth/translate.js.map +1 -0
  158. package/dist/migrate/clerk/plugin.d.ts +2 -0
  159. package/dist/migrate/clerk/plugin.js +76 -0
  160. package/dist/migrate/clerk/plugin.js.map +1 -0
  161. package/dist/migrate/cognito/plugin.d.ts +5 -0
  162. package/dist/migrate/cognito/plugin.js +170 -0
  163. package/dist/migrate/cognito/plugin.js.map +1 -0
  164. package/dist/migrate/corbado/plugin.d.ts +2 -0
  165. package/dist/migrate/corbado/plugin.js +63 -0
  166. package/dist/migrate/corbado/plugin.js.map +1 -0
  167. package/dist/migrate/descope/plugin.d.ts +2 -0
  168. package/dist/migrate/descope/plugin.js +83 -0
  169. package/dist/migrate/descope/plugin.js.map +1 -0
  170. package/dist/migrate/entra-external-id/plugin.d.ts +8 -0
  171. package/dist/migrate/entra-external-id/plugin.js +12 -0
  172. package/dist/migrate/entra-external-id/plugin.js.map +1 -0
  173. package/dist/migrate/export/appwrite-config.d.ts +28 -0
  174. package/dist/migrate/export/appwrite-config.js +170 -0
  175. package/dist/migrate/export/appwrite-config.js.map +1 -0
  176. package/dist/migrate/export/appwrite.d.ts +51 -0
  177. package/dist/migrate/export/appwrite.js +288 -0
  178. package/dist/migrate/export/appwrite.js.map +1 -0
  179. package/dist/migrate/export/auth0-config.d.ts +29 -0
  180. package/dist/migrate/export/auth0-config.js +249 -0
  181. package/dist/migrate/export/auth0-config.js.map +1 -0
  182. package/dist/migrate/export/auth0.d.ts +62 -0
  183. package/dist/migrate/export/auth0.js +575 -0
  184. package/dist/migrate/export/auth0.js.map +1 -0
  185. package/dist/migrate/export/authentik-config.d.ts +45 -0
  186. package/dist/migrate/export/authentik-config.js +357 -0
  187. package/dist/migrate/export/authentik-config.js.map +1 -0
  188. package/dist/migrate/export/authentik.d.ts +110 -0
  189. package/dist/migrate/export/authentik.js +838 -0
  190. package/dist/migrate/export/authentik.js.map +1 -0
  191. package/dist/migrate/export/azure-config.d.ts +58 -0
  192. package/dist/migrate/export/azure-config.js +344 -0
  193. package/dist/migrate/export/azure-config.js.map +1 -0
  194. package/dist/migrate/export/azure.d.ts +85 -0
  195. package/dist/migrate/export/azure.js +373 -0
  196. package/dist/migrate/export/azure.js.map +1 -0
  197. package/dist/migrate/export/clerk-config.d.ts +26 -0
  198. package/dist/migrate/export/clerk-config.js +227 -0
  199. package/dist/migrate/export/clerk-config.js.map +1 -0
  200. package/dist/migrate/export/clerk.d.ts +46 -0
  201. package/dist/migrate/export/clerk.js +486 -0
  202. package/dist/migrate/export/clerk.js.map +1 -0
  203. package/dist/migrate/export/cognito-config.d.ts +25 -0
  204. package/dist/migrate/export/cognito-config.js +273 -0
  205. package/dist/migrate/export/cognito-config.js.map +1 -0
  206. package/dist/migrate/export/cognito.d.ts +103 -0
  207. package/dist/migrate/export/cognito.js +441 -0
  208. package/dist/migrate/export/cognito.js.map +1 -0
  209. package/dist/migrate/export/corbado-config.d.ts +20 -0
  210. package/dist/migrate/export/corbado-config.js +63 -0
  211. package/dist/migrate/export/corbado-config.js.map +1 -0
  212. package/dist/migrate/export/corbado.d.ts +37 -0
  213. package/dist/migrate/export/corbado.js +132 -0
  214. package/dist/migrate/export/corbado.js.map +1 -0
  215. package/dist/migrate/export/descope.d.ts +35 -0
  216. package/dist/migrate/export/descope.js +208 -0
  217. package/dist/migrate/export/descope.js.map +1 -0
  218. package/dist/migrate/export/fake-vendor.test-helper.d.ts +27 -0
  219. package/dist/migrate/export/fake-vendor.test-helper.js +41 -0
  220. package/dist/migrate/export/fake-vendor.test-helper.js.map +1 -0
  221. package/dist/migrate/export/firebase-config.d.ts +24 -0
  222. package/dist/migrate/export/firebase-config.js +215 -0
  223. package/dist/migrate/export/firebase-config.js.map +1 -0
  224. package/dist/migrate/export/firebase.d.ts +102 -0
  225. package/dist/migrate/export/firebase.js +464 -0
  226. package/dist/migrate/export/firebase.js.map +1 -0
  227. package/dist/migrate/export/frameworks/app-users.d.ts +42 -0
  228. package/dist/migrate/export/frameworks/app-users.js +161 -0
  229. package/dist/migrate/export/frameworks/app-users.js.map +1 -0
  230. package/dist/migrate/export/frameworks/authjs.d.ts +41 -0
  231. package/dist/migrate/export/frameworks/authjs.js +146 -0
  232. package/dist/migrate/export/frameworks/authjs.js.map +1 -0
  233. package/dist/migrate/export/frameworks/devise.d.ts +39 -0
  234. package/dist/migrate/export/frameworks/devise.js +218 -0
  235. package/dist/migrate/export/frameworks/devise.js.map +1 -0
  236. package/dist/migrate/export/frameworks/django.d.ts +45 -0
  237. package/dist/migrate/export/frameworks/django.js +315 -0
  238. package/dist/migrate/export/frameworks/django.js.map +1 -0
  239. package/dist/migrate/export/frameworks/lucia.d.ts +42 -0
  240. package/dist/migrate/export/frameworks/lucia.js +263 -0
  241. package/dist/migrate/export/frameworks/lucia.js.map +1 -0
  242. package/dist/migrate/export/frameworks/tables.d.ts +90 -0
  243. package/dist/migrate/export/frameworks/tables.js +325 -0
  244. package/dist/migrate/export/frameworks/tables.js.map +1 -0
  245. package/dist/migrate/export/frameworks/webauthn.d.ts +25 -0
  246. package/dist/migrate/export/frameworks/webauthn.js +130 -0
  247. package/dist/migrate/export/frameworks/webauthn.js.map +1 -0
  248. package/dist/migrate/export/frontegg-config.d.ts +29 -0
  249. package/dist/migrate/export/frontegg-config.js +238 -0
  250. package/dist/migrate/export/frontegg-config.js.map +1 -0
  251. package/dist/migrate/export/frontegg.d.ts +67 -0
  252. package/dist/migrate/export/frontegg.js +410 -0
  253. package/dist/migrate/export/frontegg.js.map +1 -0
  254. package/dist/migrate/export/fusionauth-config.d.ts +26 -0
  255. package/dist/migrate/export/fusionauth-config.js +226 -0
  256. package/dist/migrate/export/fusionauth-config.js.map +1 -0
  257. package/dist/migrate/export/fusionauth.d.ts +99 -0
  258. package/dist/migrate/export/fusionauth.js +642 -0
  259. package/dist/migrate/export/fusionauth.js.map +1 -0
  260. package/dist/migrate/export/hanko-config.d.ts +27 -0
  261. package/dist/migrate/export/hanko-config.js +265 -0
  262. package/dist/migrate/export/hanko-config.js.map +1 -0
  263. package/dist/migrate/export/hanko.d.ts +52 -0
  264. package/dist/migrate/export/hanko.js +605 -0
  265. package/dist/migrate/export/hanko.js.map +1 -0
  266. package/dist/migrate/export/keycloak-config.d.ts +19 -0
  267. package/dist/migrate/export/keycloak-config.js +219 -0
  268. package/dist/migrate/export/keycloak-config.js.map +1 -0
  269. package/dist/migrate/export/keycloak.d.ts +155 -0
  270. package/dist/migrate/export/keycloak.js +878 -0
  271. package/dist/migrate/export/keycloak.js.map +1 -0
  272. package/dist/migrate/export/kinde-descope-config.d.ts +38 -0
  273. package/dist/migrate/export/kinde-descope-config.js +172 -0
  274. package/dist/migrate/export/kinde-descope-config.js.map +1 -0
  275. package/dist/migrate/export/kinde.d.ts +57 -0
  276. package/dist/migrate/export/kinde.js +333 -0
  277. package/dist/migrate/export/kinde.js.map +1 -0
  278. package/dist/migrate/export/ldap.d.ts +53 -0
  279. package/dist/migrate/export/ldap.js +277 -0
  280. package/dist/migrate/export/ldap.js.map +1 -0
  281. package/dist/migrate/export/logto-config.d.ts +27 -0
  282. package/dist/migrate/export/logto-config.js +264 -0
  283. package/dist/migrate/export/logto-config.js.map +1 -0
  284. package/dist/migrate/export/logto.d.ts +150 -0
  285. package/dist/migrate/export/logto.js +809 -0
  286. package/dist/migrate/export/logto.js.map +1 -0
  287. package/dist/migrate/export/magic-config.d.ts +14 -0
  288. package/dist/migrate/export/magic-config.js +28 -0
  289. package/dist/migrate/export/magic-config.js.map +1 -0
  290. package/dist/migrate/export/magic.d.ts +31 -0
  291. package/dist/migrate/export/magic.js +93 -0
  292. package/dist/migrate/export/magic.js.map +1 -0
  293. package/dist/migrate/export/mini-yaml.d.ts +19 -0
  294. package/dist/migrate/export/mini-yaml.js +581 -0
  295. package/dist/migrate/export/mini-yaml.js.map +1 -0
  296. package/dist/migrate/export/nhost-config.d.ts +26 -0
  297. package/dist/migrate/export/nhost-config.js +360 -0
  298. package/dist/migrate/export/nhost-config.js.map +1 -0
  299. package/dist/migrate/export/nhost.d.ts +64 -0
  300. package/dist/migrate/export/nhost.js +304 -0
  301. package/dist/migrate/export/nhost.js.map +1 -0
  302. package/dist/migrate/export/okta-config.d.ts +30 -0
  303. package/dist/migrate/export/okta-config.js +205 -0
  304. package/dist/migrate/export/okta-config.js.map +1 -0
  305. package/dist/migrate/export/okta.d.ts +43 -0
  306. package/dist/migrate/export/okta.js +337 -0
  307. package/dist/migrate/export/okta.js.map +1 -0
  308. package/dist/migrate/export/onelogin.d.ts +22 -0
  309. package/dist/migrate/export/onelogin.js +123 -0
  310. package/dist/migrate/export/onelogin.js.map +1 -0
  311. package/dist/migrate/export/ory-config.d.ts +58 -0
  312. package/dist/migrate/export/ory-config.js +451 -0
  313. package/dist/migrate/export/ory-config.js.map +1 -0
  314. package/dist/migrate/export/ory.d.ts +81 -0
  315. package/dist/migrate/export/ory.js +555 -0
  316. package/dist/migrate/export/ory.js.map +1 -0
  317. package/dist/migrate/export/password-detect.d.ts +29 -0
  318. package/dist/migrate/export/password-detect.js +81 -0
  319. package/dist/migrate/export/password-detect.js.map +1 -0
  320. package/dist/migrate/export/pingone.d.ts +36 -0
  321. package/dist/migrate/export/pingone.js +218 -0
  322. package/dist/migrate/export/pingone.js.map +1 -0
  323. package/dist/migrate/export/plugin-kit.d.ts +25 -0
  324. package/dist/migrate/export/plugin-kit.js +82 -0
  325. package/dist/migrate/export/plugin-kit.js.map +1 -0
  326. package/dist/migrate/export/pocketbase-config.d.ts +28 -0
  327. package/dist/migrate/export/pocketbase-config.js +180 -0
  328. package/dist/migrate/export/pocketbase-config.js.map +1 -0
  329. package/dist/migrate/export/pocketbase.d.ts +52 -0
  330. package/dist/migrate/export/pocketbase.js +243 -0
  331. package/dist/migrate/export/pocketbase.js.map +1 -0
  332. package/dist/migrate/export/project-files.d.ts +15 -0
  333. package/dist/migrate/export/project-files.js +43 -0
  334. package/dist/migrate/export/project-files.js.map +1 -0
  335. package/dist/migrate/export/propelauth-config.d.ts +18 -0
  336. package/dist/migrate/export/propelauth-config.js +58 -0
  337. package/dist/migrate/export/propelauth-config.js.map +1 -0
  338. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +62 -0
  339. package/dist/migrate/export/propelauth-harness.test-helper.js +109 -0
  340. package/dist/migrate/export/propelauth-harness.test-helper.js.map +1 -0
  341. package/dist/migrate/export/propelauth.d.ts +48 -0
  342. package/dist/migrate/export/propelauth.js +255 -0
  343. package/dist/migrate/export/propelauth.js.map +1 -0
  344. package/dist/migrate/export/record-set.d.ts +44 -0
  345. package/dist/migrate/export/record-set.js +98 -0
  346. package/dist/migrate/export/record-set.js.map +1 -0
  347. package/dist/migrate/export/source-lines.d.ts +17 -0
  348. package/dist/migrate/export/source-lines.js +43 -0
  349. package/dist/migrate/export/source-lines.js.map +1 -0
  350. package/dist/migrate/export/sso-metadata.d.ts +47 -0
  351. package/dist/migrate/export/sso-metadata.js +180 -0
  352. package/dist/migrate/export/sso-metadata.js.map +1 -0
  353. package/dist/migrate/export/stytch-config.d.ts +22 -0
  354. package/dist/migrate/export/stytch-config.js +102 -0
  355. package/dist/migrate/export/stytch-config.js.map +1 -0
  356. package/dist/migrate/export/stytch.d.ts +68 -0
  357. package/dist/migrate/export/stytch.js +510 -0
  358. package/dist/migrate/export/stytch.js.map +1 -0
  359. package/dist/migrate/export/supabase-config.d.ts +48 -0
  360. package/dist/migrate/export/supabase-config.js +408 -0
  361. package/dist/migrate/export/supabase-config.js.map +1 -0
  362. package/dist/migrate/export/supabase.d.ts +86 -0
  363. package/dist/migrate/export/supabase.js +524 -0
  364. package/dist/migrate/export/supabase.js.map +1 -0
  365. package/dist/migrate/export/supertokens-config.d.ts +20 -0
  366. package/dist/migrate/export/supertokens-config.js +150 -0
  367. package/dist/migrate/export/supertokens-config.js.map +1 -0
  368. package/dist/migrate/export/supertokens.d.ts +125 -0
  369. package/dist/migrate/export/supertokens.js +464 -0
  370. package/dist/migrate/export/supertokens.js.map +1 -0
  371. package/dist/migrate/export/table.d.ts +35 -0
  372. package/dist/migrate/export/table.js +248 -0
  373. package/dist/migrate/export/table.js.map +1 -0
  374. package/dist/migrate/export/translate-kit.d.ts +46 -0
  375. package/dist/migrate/export/translate-kit.js +148 -0
  376. package/dist/migrate/export/translate-kit.js.map +1 -0
  377. package/dist/migrate/export/userfront-config.d.ts +15 -0
  378. package/dist/migrate/export/userfront-config.js +49 -0
  379. package/dist/migrate/export/userfront-config.js.map +1 -0
  380. package/dist/migrate/export/userfront.d.ts +38 -0
  381. package/dist/migrate/export/userfront.js +189 -0
  382. package/dist/migrate/export/userfront.js.map +1 -0
  383. package/dist/migrate/export/vendor-http.d.ts +46 -0
  384. package/dist/migrate/export/vendor-http.js +138 -0
  385. package/dist/migrate/export/vendor-http.js.map +1 -0
  386. package/dist/migrate/export/workos-config.d.ts +23 -0
  387. package/dist/migrate/export/workos-config.js +125 -0
  388. package/dist/migrate/export/workos-config.js.map +1 -0
  389. package/dist/migrate/export/workos.d.ts +46 -0
  390. package/dist/migrate/export/workos.js +272 -0
  391. package/dist/migrate/export/workos.js.map +1 -0
  392. package/dist/migrate/export/zip.d.ts +8 -0
  393. package/dist/migrate/export/zip.js +66 -0
  394. package/dist/migrate/export/zip.js.map +1 -0
  395. package/dist/migrate/export/zitadel-config.d.ts +37 -0
  396. package/dist/migrate/export/zitadel-config.js +279 -0
  397. package/dist/migrate/export/zitadel-config.js.map +1 -0
  398. package/dist/migrate/export/zitadel.d.ts +82 -0
  399. package/dist/migrate/export/zitadel.js +447 -0
  400. package/dist/migrate/export/zitadel.js.map +1 -0
  401. package/dist/migrate/firebase/plugin.d.ts +2 -0
  402. package/dist/migrate/firebase/plugin.js +152 -0
  403. package/dist/migrate/firebase/plugin.js.map +1 -0
  404. package/dist/migrate/framework/builtins.d.ts +2 -0
  405. package/dist/migrate/framework/builtins.js +52 -0
  406. package/dist/migrate/framework/builtins.js.map +1 -0
  407. package/dist/migrate/framework/commands.d.ts +20 -0
  408. package/dist/migrate/framework/commands.js +58 -0
  409. package/dist/migrate/framework/commands.js.map +1 -0
  410. package/dist/migrate/framework/custom.d.ts +12 -0
  411. package/dist/migrate/framework/custom.js +96 -0
  412. package/dist/migrate/framework/custom.js.map +1 -0
  413. package/dist/migrate/framework/orchestrator.d.ts +113 -0
  414. package/dist/migrate/framework/orchestrator.js +532 -0
  415. package/dist/migrate/framework/orchestrator.js.map +1 -0
  416. package/dist/migrate/framework/plugin.d.ts +167 -0
  417. package/dist/migrate/framework/plugin.js +3 -0
  418. package/dist/migrate/framework/plugin.js.map +1 -0
  419. package/dist/migrate/framework/registry.d.ts +11 -0
  420. package/dist/migrate/framework/registry.js +44 -0
  421. package/dist/migrate/framework/registry.js.map +1 -0
  422. package/dist/migrate/framework/report.d.ts +17 -0
  423. package/dist/migrate/framework/report.js +103 -0
  424. package/dist/migrate/framework/report.js.map +1 -0
  425. package/dist/migrate/frameworks/plugins.d.ts +29 -0
  426. package/dist/migrate/frameworks/plugins.js +402 -0
  427. package/dist/migrate/frameworks/plugins.js.map +1 -0
  428. package/dist/migrate/frameworks/report.d.ts +92 -0
  429. package/dist/migrate/frameworks/report.js +207 -0
  430. package/dist/migrate/frameworks/report.js.map +1 -0
  431. package/dist/migrate/frameworks/translate-js.d.ts +5 -0
  432. package/dist/migrate/frameworks/translate-js.js +503 -0
  433. package/dist/migrate/frameworks/translate-js.js.map +1 -0
  434. package/dist/migrate/frameworks/translate-rails-django.d.ts +3 -0
  435. package/dist/migrate/frameworks/translate-rails-django.js +1391 -0
  436. package/dist/migrate/frameworks/translate-rails-django.js.map +1 -0
  437. package/dist/migrate/frontegg/plugin.d.ts +2 -0
  438. package/dist/migrate/frontegg/plugin.js +78 -0
  439. package/dist/migrate/frontegg/plugin.js.map +1 -0
  440. package/dist/migrate/fusionauth/plugin.d.ts +2 -0
  441. package/dist/migrate/fusionauth/plugin.js +109 -0
  442. package/dist/migrate/fusionauth/plugin.js.map +1 -0
  443. package/dist/migrate/hanko/plugin.d.ts +2 -0
  444. package/dist/migrate/hanko/plugin.js +100 -0
  445. package/dist/migrate/hanko/plugin.js.map +1 -0
  446. package/dist/migrate/keycloak/plugin.d.ts +2 -0
  447. package/dist/migrate/keycloak/plugin.js +148 -0
  448. package/dist/migrate/keycloak/plugin.js.map +1 -0
  449. package/dist/migrate/kinde/plugin.d.ts +2 -0
  450. package/dist/migrate/kinde/plugin.js +105 -0
  451. package/dist/migrate/kinde/plugin.js.map +1 -0
  452. package/dist/migrate/ldap/plugin.d.ts +2 -0
  453. package/dist/migrate/ldap/plugin.js +73 -0
  454. package/dist/migrate/ldap/plugin.js.map +1 -0
  455. package/dist/migrate/logto/plugin.d.ts +2 -0
  456. package/dist/migrate/logto/plugin.js +131 -0
  457. package/dist/migrate/logto/plugin.js.map +1 -0
  458. package/dist/migrate/magic/plugin.d.ts +2 -0
  459. package/dist/migrate/magic/plugin.js +56 -0
  460. package/dist/migrate/magic/plugin.js.map +1 -0
  461. package/dist/migrate/nhost/plugin.d.ts +2 -0
  462. package/dist/migrate/nhost/plugin.js +115 -0
  463. package/dist/migrate/nhost/plugin.js.map +1 -0
  464. package/dist/migrate/oidc/plugin.d.ts +2 -0
  465. package/dist/migrate/oidc/plugin.js +73 -0
  466. package/dist/migrate/oidc/plugin.js.map +1 -0
  467. package/dist/migrate/okta/plugin.d.ts +2 -0
  468. package/dist/migrate/okta/plugin.js +105 -0
  469. package/dist/migrate/okta/plugin.js.map +1 -0
  470. package/dist/migrate/onelogin/plugin.d.ts +2 -0
  471. package/dist/migrate/onelogin/plugin.js +61 -0
  472. package/dist/migrate/onelogin/plugin.js.map +1 -0
  473. package/dist/migrate/ory/plugin.d.ts +2 -0
  474. package/dist/migrate/ory/plugin.js +186 -0
  475. package/dist/migrate/ory/plugin.js.map +1 -0
  476. package/dist/migrate/ping-identity/plugin.d.ts +2 -0
  477. package/dist/migrate/ping-identity/plugin.js +100 -0
  478. package/dist/migrate/ping-identity/plugin.js.map +1 -0
  479. package/dist/migrate/pocketbase/plugin.d.ts +2 -0
  480. package/dist/migrate/pocketbase/plugin.js +99 -0
  481. package/dist/migrate/pocketbase/plugin.js.map +1 -0
  482. package/dist/migrate/propelauth/plugin.d.ts +2 -0
  483. package/dist/migrate/propelauth/plugin.js +65 -0
  484. package/dist/migrate/propelauth/plugin.js.map +1 -0
  485. package/dist/migrate/saml/plugin.d.ts +2 -0
  486. package/dist/migrate/saml/plugin.js +79 -0
  487. package/dist/migrate/saml/plugin.js.map +1 -0
  488. package/dist/migrate/stytch/plugin.d.ts +2 -0
  489. package/dist/migrate/stytch/plugin.js +97 -0
  490. package/dist/migrate/stytch/plugin.js.map +1 -0
  491. package/dist/migrate/supabase/plugin.d.ts +2 -0
  492. package/dist/migrate/supabase/plugin.js +149 -0
  493. package/dist/migrate/supabase/plugin.js.map +1 -0
  494. package/dist/migrate/supertokens/plugin.d.ts +2 -0
  495. package/dist/migrate/supertokens/plugin.js +114 -0
  496. package/dist/migrate/supertokens/plugin.js.map +1 -0
  497. package/dist/migrate/user-table/plugin.d.ts +2 -0
  498. package/dist/migrate/user-table/plugin.js +62 -0
  499. package/dist/migrate/user-table/plugin.js.map +1 -0
  500. package/dist/migrate/userfront/plugin.d.ts +2 -0
  501. package/dist/migrate/userfront/plugin.js +60 -0
  502. package/dist/migrate/userfront/plugin.js.map +1 -0
  503. package/dist/migrate/workos/plugin.d.ts +2 -0
  504. package/dist/migrate/workos/plugin.js +81 -0
  505. package/dist/migrate/workos/plugin.js.map +1 -0
  506. package/dist/migrate/zitadel/plugin.d.ts +2 -0
  507. package/dist/migrate/zitadel/plugin.js +114 -0
  508. package/dist/migrate/zitadel/plugin.js.map +1 -0
  509. package/dist/output.d.ts +41 -0
  510. package/dist/output.js +72 -0
  511. package/dist/output.js.map +1 -0
  512. package/dist/project.d.ts +64 -0
  513. package/dist/project.js +86 -0
  514. package/dist/project.js.map +1 -0
  515. package/dist/prompt.d.ts +15 -0
  516. package/dist/prompt.js +46 -0
  517. package/dist/prompt.js.map +1 -0
  518. package/dist/run.d.ts +12 -0
  519. package/dist/run.js +157 -0
  520. package/dist/run.js.map +1 -0
  521. package/dist/secrets.d.ts +41 -0
  522. package/dist/secrets.js +142 -0
  523. package/dist/secrets.js.map +1 -0
  524. package/dist/serialize.d.ts +30 -0
  525. package/dist/serialize.js +131 -0
  526. package/dist/serialize.js.map +1 -0
  527. package/dist/version.d.ts +7 -0
  528. package/dist/version.js +21 -0
  529. package/dist/version.js.map +1 -0
  530. package/package.json +3 -3
package/dist/index.js ADDED
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BETTER_AUTH_MIGRATION_STEPS = exports.migrateBetterAuth = exports.translateBetterAuth = exports.planConfigImport = exports.migrate = exports.manifestPath = exports.writeManifest = exports.readManifest = exports.deliverSecret = exports.productDir = exports.renderDotenv = exports.parseDotenv = exports.readEnvFile = exports.writeSecretFile = exports.referrals = exports.client = exports.envCommand = exports.preflight = exports.init = exports.pages = exports.actions = exports.defineConfig = exports.config = exports.sessions = exports.webhooks = exports.apiKeys = exports.orgs = exports.users = exports.whoami = exports.logout = exports.login = exports.getVersion = exports.defaultPrompter = exports.defaultConfigPath = exports.MemoryConfigStore = exports.FileConfigStore = exports.captureIO = exports.defaultIO = exports.CliError = exports.isNotFound = exports.createConfigHttp = exports.defaultContext = exports.run = void 0;
4
+ /**
5
+ * Library surface of `@atlasauth/cli`. The package ships a bin (`atlas`), but
6
+ * exporting the pieces lets the handlers be unit-tested with injected deps and
7
+ * lets another tool embed the CLI (e.g. `create-atlas-app`) without spawning a
8
+ * child process.
9
+ */
10
+ var run_1 = require("./run");
11
+ Object.defineProperty(exports, "run", { enumerable: true, get: function () { return run_1.run; } });
12
+ var context_1 = require("./context");
13
+ Object.defineProperty(exports, "defaultContext", { enumerable: true, get: function () { return context_1.defaultContext; } });
14
+ var config_http_1 = require("./config-http");
15
+ Object.defineProperty(exports, "createConfigHttp", { enumerable: true, get: function () { return config_http_1.createConfigHttp; } });
16
+ Object.defineProperty(exports, "isNotFound", { enumerable: true, get: function () { return config_http_1.isNotFound; } });
17
+ var errors_1 = require("./errors");
18
+ Object.defineProperty(exports, "CliError", { enumerable: true, get: function () { return errors_1.CliError; } });
19
+ var io_1 = require("./io");
20
+ Object.defineProperty(exports, "defaultIO", { enumerable: true, get: function () { return io_1.defaultIO; } });
21
+ Object.defineProperty(exports, "captureIO", { enumerable: true, get: function () { return io_1.captureIO; } });
22
+ var config_1 = require("./config");
23
+ Object.defineProperty(exports, "FileConfigStore", { enumerable: true, get: function () { return config_1.FileConfigStore; } });
24
+ Object.defineProperty(exports, "MemoryConfigStore", { enumerable: true, get: function () { return config_1.MemoryConfigStore; } });
25
+ Object.defineProperty(exports, "defaultConfigPath", { enumerable: true, get: function () { return config_1.defaultConfigPath; } });
26
+ var prompt_1 = require("./prompt");
27
+ Object.defineProperty(exports, "defaultPrompter", { enumerable: true, get: function () { return prompt_1.defaultPrompter; } });
28
+ var version_1 = require("./version");
29
+ Object.defineProperty(exports, "getVersion", { enumerable: true, get: function () { return version_1.getVersion; } });
30
+ // The individual command handlers, exported for direct testing/embedding.
31
+ var auth_1 = require("./commands/auth");
32
+ Object.defineProperty(exports, "login", { enumerable: true, get: function () { return auth_1.login; } });
33
+ Object.defineProperty(exports, "logout", { enumerable: true, get: function () { return auth_1.logout; } });
34
+ Object.defineProperty(exports, "whoami", { enumerable: true, get: function () { return auth_1.whoami; } });
35
+ var users_1 = require("./commands/users");
36
+ Object.defineProperty(exports, "users", { enumerable: true, get: function () { return users_1.users; } });
37
+ var orgs_1 = require("./commands/orgs");
38
+ Object.defineProperty(exports, "orgs", { enumerable: true, get: function () { return orgs_1.orgs; } });
39
+ var api_keys_1 = require("./commands/api-keys");
40
+ Object.defineProperty(exports, "apiKeys", { enumerable: true, get: function () { return api_keys_1.apiKeys; } });
41
+ var webhooks_1 = require("./commands/webhooks");
42
+ Object.defineProperty(exports, "webhooks", { enumerable: true, get: function () { return webhooks_1.webhooks; } });
43
+ var sessions_1 = require("./commands/sessions");
44
+ Object.defineProperty(exports, "sessions", { enumerable: true, get: function () { return sessions_1.sessions; } });
45
+ var config_2 = require("./commands/config");
46
+ Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_2.config; } });
47
+ var define_config_1 = require("./define-config");
48
+ Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_1.defineConfig; } });
49
+ var actions_1 = require("./commands/actions");
50
+ Object.defineProperty(exports, "actions", { enumerable: true, get: function () { return actions_1.actions; } });
51
+ var pages_1 = require("./commands/pages");
52
+ Object.defineProperty(exports, "pages", { enumerable: true, get: function () { return pages_1.pages; } });
53
+ var init_1 = require("./commands/init");
54
+ Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
55
+ var project_commands_1 = require("./commands/project-commands");
56
+ Object.defineProperty(exports, "preflight", { enumerable: true, get: function () { return project_commands_1.preflight; } });
57
+ Object.defineProperty(exports, "envCommand", { enumerable: true, get: function () { return project_commands_1.envCommand; } });
58
+ Object.defineProperty(exports, "client", { enumerable: true, get: function () { return project_commands_1.client; } });
59
+ var referrals_1 = require("./commands/referrals");
60
+ Object.defineProperty(exports, "referrals", { enumerable: true, get: function () { return referrals_1.referrals; } });
61
+ var secrets_1 = require("./secrets");
62
+ Object.defineProperty(exports, "writeSecretFile", { enumerable: true, get: function () { return secrets_1.writeSecretFile; } });
63
+ Object.defineProperty(exports, "readEnvFile", { enumerable: true, get: function () { return secrets_1.readEnvFile; } });
64
+ Object.defineProperty(exports, "parseDotenv", { enumerable: true, get: function () { return secrets_1.parseDotenv; } });
65
+ Object.defineProperty(exports, "renderDotenv", { enumerable: true, get: function () { return secrets_1.renderDotenv; } });
66
+ Object.defineProperty(exports, "productDir", { enumerable: true, get: function () { return secrets_1.productDir; } });
67
+ Object.defineProperty(exports, "deliverSecret", { enumerable: true, get: function () { return secrets_1.deliverSecret; } });
68
+ var project_1 = require("./project");
69
+ Object.defineProperty(exports, "readManifest", { enumerable: true, get: function () { return project_1.readManifest; } });
70
+ Object.defineProperty(exports, "writeManifest", { enumerable: true, get: function () { return project_1.writeManifest; } });
71
+ Object.defineProperty(exports, "manifestPath", { enumerable: true, get: function () { return project_1.manifestPath; } });
72
+ var migrate_1 = require("./commands/migrate");
73
+ Object.defineProperty(exports, "migrate", { enumerable: true, get: function () { return migrate_1.migrate; } });
74
+ var config_3 = require("./commands/config");
75
+ Object.defineProperty(exports, "planConfigImport", { enumerable: true, get: function () { return config_3.planConfigImport; } });
76
+ var translate_1 = require("./migrate/better-auth/translate");
77
+ Object.defineProperty(exports, "translateBetterAuth", { enumerable: true, get: function () { return translate_1.translateBetterAuth; } });
78
+ var orchestrator_1 = require("./migrate/better-auth/orchestrator");
79
+ Object.defineProperty(exports, "migrateBetterAuth", { enumerable: true, get: function () { return orchestrator_1.migrateBetterAuth; } });
80
+ Object.defineProperty(exports, "BETTER_AUTH_MIGRATION_STEPS", { enumerable: true, get: function () { return orchestrator_1.STEPS; } });
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA0C;AAAjC,0FAAA,GAAG,OAAA;AACZ,qCAAmF;AAA1E,yGAAA,cAAc,OAAA;AACvB,6CAA8E;AAArE,+GAAA,gBAAgB,OAAA;AAAE,yGAAA,UAAU,OAAA;AACrC,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,2BAAqE;AAA5D,+FAAA,SAAS,OAAA;AAAE,+FAAA,SAAS,OAAA;AAC7B,mCAOkB;AANhB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AAKnB,mCAA0D;AAAjD,yGAAA,eAAe,OAAA;AACxB,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAEnB,0EAA0E;AAC1E,wCAAwD;AAA/C,6FAAA,KAAK,OAAA;AAAE,8FAAA,MAAM,OAAA;AAAE,8FAAA,MAAM,OAAA;AAC9B,0CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,wCAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,4CAA2C;AAAlC,gGAAA,MAAM,OAAA;AACf,iDAAiE;AAAxD,6GAAA,YAAY,OAAA;AACrB,8CAA6C;AAApC,kGAAA,OAAO,OAAA;AAChB,0CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,wCAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,gEAA4E;AAAnE,6GAAA,SAAS,OAAA;AAAE,8GAAA,UAAU,OAAA;AAAE,0GAAA,MAAM,OAAA;AACtC,kDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,qCAOmB;AANjB,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,sGAAA,WAAW,OAAA;AACX,uGAAA,YAAY,OAAA;AACZ,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AAEf,qCAOmB;AANjB,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AAKd,8CAA6C;AAApC,kGAAA,OAAO,OAAA;AAChB,4CAA0F;AAAjF,0GAAA,gBAAgB,OAAA;AACzB,6DAA+H;AAAtH,gHAAA,mBAAmB,OAAA;AAC5B,mEAA6G;AAApG,iHAAA,iBAAiB,OAAA;AAAE,2HAAA,KAAK,OAA+B"}
package/dist/io.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The two sinks every command writes through, named so tests can capture
3
+ * output instead of spying on `console`. `out` is the data channel (tables,
4
+ * JSON, the answer a script would pipe); `err` is for diagnostics, prompts'
5
+ * echoes and error messages — exactly the stdout/stderr split a `--json`
6
+ * consumer relies on to parse stdout cleanly.
7
+ */
8
+ export interface IO {
9
+ out(text: string): void;
10
+ err(text: string): void;
11
+ }
12
+ /** The real IO: a trailing newline is added so callers pass bare lines. */
13
+ export declare function defaultIO(stdout?: NodeJS.WriteStream, stderr?: NodeJS.WriteStream): IO;
14
+ /** An in-memory IO for tests, exposing the captured lines plus joined views. */
15
+ export interface CaptureIO extends IO {
16
+ readonly outLines: string[];
17
+ readonly errLines: string[];
18
+ stdout(): string;
19
+ stderr(): string;
20
+ }
21
+ export declare function captureIO(): CaptureIO;
package/dist/io.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultIO = defaultIO;
4
+ exports.captureIO = captureIO;
5
+ /** The real IO: a trailing newline is added so callers pass bare lines. */
6
+ function defaultIO(stdout = process.stdout, stderr = process.stderr) {
7
+ return {
8
+ out(text) {
9
+ stdout.write(text + '\n');
10
+ },
11
+ err(text) {
12
+ stderr.write(text + '\n');
13
+ },
14
+ };
15
+ }
16
+ function captureIO() {
17
+ const outLines = [];
18
+ const errLines = [];
19
+ return {
20
+ outLines,
21
+ errLines,
22
+ out: (text) => void outLines.push(text),
23
+ err: (text) => void errLines.push(text),
24
+ stdout: () => outLines.join('\n'),
25
+ stderr: () => errLines.join('\n'),
26
+ };
27
+ }
28
+ //# sourceMappingURL=io.js.map
package/dist/io.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":";;AAaA,8BAYC;AAUD,8BAWC;AAlCD,2EAA2E;AAC3E,SAAgB,SAAS,CACvB,SAA6B,OAAO,CAAC,MAAM,EAC3C,SAA6B,OAAO,CAAC,MAAM;IAE3C,OAAO;QACL,GAAG,CAAC,IAAI;YACN,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,IAAI;YACN,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAUD,SAAgB,SAAS;IACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { MigrationPlugin } from '../framework/plugin';
2
+ export declare const appwritePlugin: MigrationPlugin;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appwritePlugin = void 0;
4
+ const appwrite_1 = require("../export/appwrite");
5
+ const appwrite_config_1 = require("../export/appwrite-config");
6
+ const errors_1 = require("../../errors");
7
+ const plugin_kit_1 = require("../export/plugin-kit");
8
+ const project_files_1 = require("../export/project-files");
9
+ /**
10
+ * `atlas migrate appwrite` — an Appwrite project (Cloud or self-hosted): auth
11
+ * settings from appwrite.json and the project document, users with their
12
+ * hashes and hash options, identities, MFA recovery codes, teams, memberships
13
+ * and invitations through the Server API (an API key on this machine), the
14
+ * `appwrite` remote bridge (Appwrite vouches for a live session once), lazy
15
+ * migration through the Account API for anyone the export missed, and the
16
+ * `appwrite` codemod.
17
+ */
18
+ const ENDPOINT = { flag: '--appwrite-endpoint', env: 'APPWRITE_ENDPOINT', label: 'the Appwrite API endpoint including /v1 (default https://cloud.appwrite.io/v1)', required: false };
19
+ const PROJECT_ID = { flag: '--appwrite-project-id', env: 'APPWRITE_PROJECT_ID', label: 'the Appwrite project id', required: true };
20
+ const API_KEY = { flag: '--appwrite-api-key', env: 'APPWRITE_API_KEY', label: 'an Appwrite API key with users.read and teams.read', required: true, secret: true };
21
+ const RECOVERY_CODES = { flag: '--appwrite-recovery-codes', env: 'APPWRITE_RECOVERY_CODES', label: 'true to export MFA recovery codes', required: false };
22
+ const SKIP_TEAMS = { flag: '--appwrite-skip-teams', env: 'APPWRITE_SKIP_TEAMS', label: 'true to leave teams out', required: false };
23
+ const CONFIG_FILE = { flag: '--appwrite-config', env: 'APPWRITE_CONFIG_FILE', label: 'appwrite.json (after appwrite pull settings)', required: false };
24
+ const PROJECT_FILE = { flag: '--appwrite-project-file', env: 'APPWRITE_PROJECT_FILE', label: 'the project document (appwrite projects get --project-id <id> --json)', required: false };
25
+ function endpointOf(p) {
26
+ return (p.credential(ENDPOINT) ?? appwrite_1.APPWRITE_CLOUD).trim().replace(/\/+$/, '');
27
+ }
28
+ exports.appwritePlugin = {
29
+ vendor: 'appwrite',
30
+ source: 'appwrite',
31
+ label: 'Appwrite',
32
+ help: 'Move an Appwrite project: its auth methods, session and password settings and OAuth providers as Atlas config; its users with their password hashes (Argon2, bcrypt, scrypt, Firebase scrypt, MD5, SHA, phpass), labels, prefs, OAuth identities, MFA recovery codes, teams, memberships and invitations; a zero-logout bridge that asks Appwrite about each live session once; lazy migration for anyone left; and the code. Your API key stays on this machine.',
33
+ config: {
34
+ reads: 'appwrite.json (appwrite pull settings) and, for OAuth providers, the project document (appwrite projects get --json)',
35
+ credentials: [CONFIG_FILE, PROJECT_FILE, ENDPOINT, { ...PROJECT_ID, required: false }],
36
+ async translate(p) {
37
+ const file = (0, project_files_1.projectFile)(p, CONFIG_FILE, ['appwrite.json', 'appwrite.config.json']);
38
+ const projectText = (0, plugin_kit_1.localFile)(p, PROJECT_FILE, 'text');
39
+ if (!file && !projectText)
40
+ throw new errors_1.CliError('Appwrite: no appwrite.json in this folder. Run appwrite pull settings, or pass --set appwrite-config=<file> / --set appwrite-project-file=<appwrite projects get --json output>.');
41
+ let project;
42
+ if (projectText) {
43
+ try {
44
+ project = JSON.parse(projectText);
45
+ }
46
+ catch {
47
+ throw new errors_1.CliError('Appwrite: the project document is not JSON (use appwrite projects get --project-id <id> --json).');
48
+ }
49
+ }
50
+ return (0, plugin_kit_1.vendorStep)('Appwrite', async () => (0, appwrite_config_1.translateAppwriteConfig)({ file, project, endpoint: p.credential(ENDPOINT), projectId: p.credential({ ...PROJECT_ID, required: false }) }));
51
+ },
52
+ },
53
+ export: {
54
+ reads: 'the Appwrite Server API (users with hashes, identities, MFA, teams and memberships)',
55
+ credentials: [ENDPOINT, PROJECT_ID, API_KEY, RECOVERY_CODES, SKIP_TEAMS],
56
+ limits: [
57
+ 'TOTP secrets are encrypted at rest and Appwrite has no API to read them: those users enrol an authenticator app again. Recovery codes move with --set appwrite-recovery-codes=true.',
58
+ 'Sessions are stored as hashes and cannot be exported: the appwrite bridge preset asks Appwrite about each live session once instead.',
59
+ 'A SHA hash imported into Appwrite without a version is ambiguous (SHA3-512 on 1.x, SHA-256 on 2.x): the export picks by digest length and warns.',
60
+ 'OAuth access and refresh tokens are not exported: users keep their link and re-consent when your app next calls the provider.',
61
+ ],
62
+ async run(p, writer, resume) {
63
+ const set = await (0, plugin_kit_1.vendorStep)('Appwrite', () => (0, appwrite_1.exportAppwrite)({
64
+ endpoint: endpointOf(p),
65
+ projectId: (0, plugin_kit_1.need)(p, PROJECT_ID),
66
+ apiKey: (0, plugin_kit_1.need)(p, API_KEY),
67
+ recoveryCodes: (0, project_files_1.truthyCredential)(p, RECOVERY_CODES),
68
+ skipTeams: (0, project_files_1.truthyCredential)(p, SKIP_TEAMS),
69
+ fetchImpl: p.fetch,
70
+ onProgress: (m) => p.say(` reading ${m}`),
71
+ }));
72
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
73
+ },
74
+ },
75
+ bridge: {
76
+ preset: 'appwrite',
77
+ vars(p, t) {
78
+ const vars = { ...t?.bridge?.vars };
79
+ const endpoint = p.credential(ENDPOINT);
80
+ if (endpoint || !vars.endpoint_url)
81
+ vars.endpoint_url = endpointOf(p);
82
+ const project = p.credential({ ...PROJECT_ID, required: false });
83
+ if (project)
84
+ vars.project_id = project;
85
+ return vars;
86
+ },
87
+ },
88
+ lazy: {
89
+ preset: 'appwrite',
90
+ config(p, t) {
91
+ const config = { ...t?.lazy?.config };
92
+ const endpoint = p.credential(ENDPOINT);
93
+ if (endpoint || !config.endpoint)
94
+ config.endpoint = endpointOf(p);
95
+ const project = p.credential({ ...PROJECT_ID, required: false });
96
+ if (project)
97
+ config.project_id = project;
98
+ return config;
99
+ },
100
+ },
101
+ codemod: 'appwrite',
102
+ };
103
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/migrate/appwrite/plugin.ts"],"names":[],"mappings":";;;AAAA,iDAAoE;AACpE,+DAAoE;AACpE,yCAAwC;AAExC,qDAAmF;AACnF,2DAAwE;AAExE;;;;;;;;GAQG;AAEH,MAAM,QAAQ,GAAmB,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,gFAAgF,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrM,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnJ,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,oDAAoD,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACnL,MAAM,cAAc,GAAmB,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,mCAAmC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC1K,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpJ,MAAM,WAAW,GAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,8CAA8C,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvK,MAAM,YAAY,GAAmB,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,uEAAuE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAExM,SAAS,UAAU,CAAC,CAAgB;IAClC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,yBAAc,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAEY,QAAA,cAAc,GAAoB;IAC7C,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,mcAAmc;IACzc,MAAM,EAAE;QACN,KAAK,EAAE,sHAAsH;QAC7H,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACtF,KAAK,CAAC,SAAS,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,IAAA,2BAAW,EAAC,CAAC,EAAE,WAAW,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACpF,MAAM,WAAW,GAAG,IAAA,sBAAS,EAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,iBAAQ,CAAC,kLAAkL,CAAC,CAAC;YAClO,IAAI,OAA4C,CAAC;YACjD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,iBAAQ,CAAC,kGAAkG,CAAC,CAAC;gBACzH,CAAC;YACH,CAAC;YACD,OAAO,IAAA,uBAAU,EAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CACvC,IAAA,yCAAuB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAC1I,CAAC;QACJ,CAAC;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,qFAAqF;QAC5F,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC;QACxE,MAAM,EAAE;YACN,qLAAqL;YACrL,sIAAsI;YACtI,kJAAkJ;YAClJ,+HAA+H;SAChI;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM;YACzB,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAU,EAAC,UAAU,EAAE,GAAG,EAAE,CAC5C,IAAA,yBAAc,EAAC;gBACb,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;gBACvB,SAAS,EAAE,IAAA,iBAAI,EAAC,CAAC,EAAE,UAAU,CAAC;gBAC9B,MAAM,EAAE,IAAA,iBAAI,EAAC,CAAC,EAAE,OAAO,CAAC;gBACxB,aAAa,EAAE,IAAA,gCAAgB,EAAC,CAAC,EAAE,cAAc,CAAC;gBAClD,SAAS,EAAE,IAAA,gCAAgB,EAAC,CAAC,EAAE,UAAU,CAAC;gBAC1C,SAAS,EAAE,CAAC,CAAC,KAAK;gBAClB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;aAC3C,CAAC,CACH,CAAC;YACF,MAAM,IAAA,2BAAc,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,UAAU;QAClB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,GAA2B,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO;gBAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,UAAU;QAClB,MAAM,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAA2B,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO;gBAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IACD,OAAO,EAAE,UAAU;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { MigrationPlugin } from '../framework/plugin';
2
+ export declare const auth0Plugin: MigrationPlugin;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.auth0Plugin = void 0;
4
+ const auth0_1 = require("../export/auth0");
5
+ const auth0_config_1 = require("../export/auth0-config");
6
+ const errors_1 = require("../../errors");
7
+ const plugin_kit_1 = require("../export/plugin-kit");
8
+ const vendor_http_1 = require("../export/vendor-http");
9
+ /**
10
+ * `atlas migrate auth0` (also Okta Customer Identity Cloud) — the tenant's
11
+ * settings through the Management API, users through a users-export job (or
12
+ * an export file), the password hashes and MFA secrets from Auth0 support's
13
+ * encrypted export when the owner has it, the `auth0` bridge preset (the ID
14
+ * token in the app session, verified against the tenant's JWKS) and lazy
15
+ * migration through the password-realm grant for every other password.
16
+ */
17
+ const DOMAIN = { flag: '--auth0-domain', env: 'AUTH0_DOMAIN', label: 'your Auth0 domain (tenant.us.auth0.com)', required: true };
18
+ const MGMT_CLIENT_ID = { flag: '--auth0-mgmt-client-id', env: 'AUTH0_MGMT_CLIENT_ID', label: 'the client id of a machine-to-machine app authorized for the Management API', required: false };
19
+ const MGMT_CLIENT_SECRET = { flag: '--auth0-mgmt-client-secret', env: 'AUTH0_MGMT_CLIENT_SECRET', label: 'that app\'s client secret', required: false, secret: true };
20
+ const MGMT_TOKEN = { flag: '--auth0-mgmt-token', env: 'AUTH0_MGMT_TOKEN', label: 'a Management API token', required: false, secret: true };
21
+ const CLIENT_ID = { flag: '--auth0-client-id', env: 'AUTH0_CLIENT_ID', label: 'your application\'s client id (the ID token audience)', required: false };
22
+ const CLIENT_SECRET = { flag: '--auth0-client-secret', env: 'AUTH0_CLIENT_SECRET', label: 'your application\'s client secret (for a confidential application)', required: false, secret: true };
23
+ const CONNECTION = { flag: '--auth0-connection', env: 'AUTH0_CONNECTION', label: 'the database connection', required: false };
24
+ const USERS_FILE = { flag: '--auth0-users-file', env: 'AUTH0_USERS_FILE', label: 'a users export file (NDJSON or JSON)', required: false };
25
+ const HASHES_FILE = { flag: '--auth0-hashes-file', env: 'AUTH0_HASHES_FILE', label: 'the decrypted password-hash export from Auth0 support', required: false };
26
+ const RP_ID = { flag: '--rp-id', env: 'ATLAS_MIGRATE_RP_ID', label: 'the WebAuthn relying party id passkeys were registered for', required: false };
27
+ function domainOf(p) {
28
+ return (0, plugin_kit_1.hostOf)((0, plugin_kit_1.need)(p, DOMAIN));
29
+ }
30
+ /** The Management API, with a token or client credentials (asked for on this machine, sent only to Auth0). */
31
+ function managementHttp(p, domain) {
32
+ const token = p.credential(MGMT_TOKEN);
33
+ const clientId = p.credential(MGMT_CLIENT_ID);
34
+ const clientSecret = p.credential(MGMT_CLIENT_SECRET);
35
+ if (!token && !(clientId && clientSecret)) {
36
+ throw new errors_1.CliError('Auth0: pass a Management API token (--auth0-mgmt-token / AUTH0_MGMT_TOKEN), or the client id and secret of a machine-to-machine app authorized for it (AUTH0_MGMT_CLIENT_ID, AUTH0_MGMT_CLIENT_SECRET).');
37
+ }
38
+ let bearer = token;
39
+ return new vendor_http_1.VendorHttp({
40
+ vendor: 'Auth0',
41
+ baseUrl: `https://${domain}/api/v2`,
42
+ headers: async () => ({ authorization: `Bearer ${(bearer ??= await (0, auth0_1.managementToken)(domain, { domain, clientId, clientSecret }, p.fetch))}` }),
43
+ fetchImpl: p.fetch,
44
+ });
45
+ }
46
+ exports.auth0Plugin = {
47
+ vendor: 'auth0',
48
+ source: 'auth0',
49
+ label: 'Auth0',
50
+ help: 'Move an Auth0 (Okta Customer Identity Cloud) tenant: its connections, MFA, password policy, applications, APIs, roles and organizations as Atlas config; its users (export job), identities, organizations, members, roles and invitations, plus password hashes and MFA secrets from the encrypted export Auth0 support provides; a zero-logout bridge; lazy migration for every password you do not have; and the code. Management credentials stay on this machine.',
51
+ config: {
52
+ reads: 'your Auth0 tenant via the Management API',
53
+ credentials: [DOMAIN, MGMT_TOKEN, MGMT_CLIENT_ID, MGMT_CLIENT_SECRET],
54
+ async translate(p) {
55
+ const domain = domainOf(p);
56
+ const snap = await (0, plugin_kit_1.vendorStep)('Auth0', () => (0, auth0_config_1.fetchAuth0Config)(managementHttp(p, domain), domain));
57
+ return (0, auth0_config_1.translateAuth0Config)(snap);
58
+ },
59
+ },
60
+ export: {
61
+ reads: 'the Auth0 Management API (users-export job, organizations, roles) and the support hash export (--auth0-hashes-file)',
62
+ credentials: [DOMAIN, MGMT_TOKEN, MGMT_CLIENT_ID, MGMT_CLIENT_SECRET, USERS_FILE, HASHES_FILE, CONNECTION],
63
+ limits: [
64
+ 'Password hashes and MFA secrets never come out of the Management API: Auth0 support exports them on request (paid plans, encrypted to your PGP key). Pass the decrypted file with --auth0-hashes-file; without it, passwords move by lazy migration.',
65
+ 'Users-export jobs are not available on the Free plan: export from the dashboard (or the User Import / Export extension) and pass the file with --auth0-users-file.',
66
+ 'Passkey private keys never leave the authenticator; with --authentication-methods the public credentials are exported and keep working when your Atlas domain matches the relying party (--rp-id).',
67
+ 'Sessions are not exported: the auth0 bridge preset exchanges the ID token from the app session.',
68
+ ],
69
+ async run(p, writer, resume) {
70
+ const domain = domainOf(p);
71
+ const usersText = (0, plugin_kit_1.localFile)(p, USERS_FILE, 'text');
72
+ const token = p.credential(MGMT_TOKEN);
73
+ const clientId = p.credential(MGMT_CLIENT_ID);
74
+ const clientSecret = p.credential(MGMT_CLIENT_SECRET);
75
+ if (!usersText && !token && !(clientId && clientSecret)) {
76
+ throw new errors_1.CliError('Auth0: pass Management API credentials (AUTH0_MGMT_TOKEN, or AUTH0_MGMT_CLIENT_ID and AUTH0_MGMT_CLIENT_SECRET), or a users export file (--auth0-users-file).');
77
+ }
78
+ const set = await (0, plugin_kit_1.vendorStep)('Auth0', () => (0, auth0_1.exportAuth0)({
79
+ domain,
80
+ token,
81
+ clientId,
82
+ clientSecret,
83
+ usersText,
84
+ hashesText: (0, plugin_kit_1.localFile)(p, HASHES_FILE, 'text'),
85
+ connectionId: p.credential(CONNECTION),
86
+ authenticationMethods: (0, plugin_kit_1.flag)(p, 'authentication-methods'),
87
+ rpId: p.credential(RP_ID),
88
+ fetchImpl: p.fetch,
89
+ onProgress: (m) => p.say(` reading ${m}`),
90
+ }));
91
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
92
+ },
93
+ },
94
+ bridge: {
95
+ preset: 'auth0',
96
+ vars(p, t) {
97
+ const vars = { ...t?.bridge?.vars };
98
+ const domain = p.credential({ ...DOMAIN, required: false });
99
+ if (domain)
100
+ vars.domain = (0, plugin_kit_1.hostOf)(domain);
101
+ const clientId = p.credential(CLIENT_ID);
102
+ if (clientId)
103
+ vars.client_id = clientId;
104
+ return vars;
105
+ },
106
+ },
107
+ lazy: {
108
+ preset: 'auth0',
109
+ config(p, t) {
110
+ const config = { ...t?.lazy?.config };
111
+ const domain = p.credential({ ...DOMAIN, required: false });
112
+ if (domain)
113
+ config.domain = (0, plugin_kit_1.hostOf)(domain);
114
+ const clientId = p.credential(CLIENT_ID);
115
+ if (clientId)
116
+ config.client_id = clientId;
117
+ const connection = p.credential(CONNECTION);
118
+ if (connection)
119
+ config.connection = connection;
120
+ return config;
121
+ },
122
+ secret: CLIENT_SECRET,
123
+ },
124
+ codemod: 'auth0',
125
+ };
126
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/migrate/auth0/plugin.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAC/D,yDAAgF;AAChF,yCAAwC;AAExC,qDAAiG;AACjG,uDAAmD;AAEnD;;;;;;;GAOG;AAEH,MAAM,MAAM,GAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjJ,MAAM,cAAc,GAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,6EAA6E,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9M,MAAM,kBAAkB,GAAmB,EAAE,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACtL,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3J,MAAM,SAAS,GAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,uDAAuD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzK,MAAM,aAAa,GAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,oEAAoE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChN,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9I,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC3J,MAAM,WAAW,GAAmB,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,uDAAuD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC/K,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,4DAA4D,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAEpK,SAAS,QAAQ,CAAC,CAAgB;IAChC,OAAO,IAAA,mBAAM,EAAC,IAAA,iBAAI,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,8GAA8G;AAC9G,SAAS,cAAc,CAAC,CAAgB,EAAE,MAAc;IACtD,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,iBAAQ,CAAC,yMAAyM,CAAC,CAAC;IAChO,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO,IAAI,wBAAU,CAAC;QACpB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,WAAW,MAAM,SAAS;QACnC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,KAAK,MAAM,IAAA,uBAAe,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7I,SAAS,EAAE,CAAC,CAAC,KAAK;KACnB,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,WAAW,GAAoB;IAC1C,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,wcAAwc;IAC9c,MAAM,EAAE;QACN,KAAK,EAAE,0CAA0C;QACjD,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC;QACrE,KAAK,CAAC,SAAS,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,+BAAgB,EAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAClG,OAAO,IAAA,mCAAoB,EAAC,IAAI,CAAC,CAAC;QACpC,CAAC;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,qHAAqH;QAC5H,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;QAC1G,MAAM,EAAE;YACN,sPAAsP;YACtP,oKAAoK;YACpK,oMAAoM;YACpM,iGAAiG;SAClG;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAA,sBAAS,EAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,iBAAQ,CAAC,+JAA+J,CAAC,CAAC;YACtL,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CACzC,IAAA,mBAAW,EAAC;gBACV,MAAM;gBACN,KAAK;gBACL,QAAQ;gBACR,YAAY;gBACZ,SAAS;gBACT,UAAU,EAAE,IAAA,sBAAS,EAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC7C,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBACtC,qBAAqB,EAAE,IAAA,iBAAI,EAAC,CAAC,EAAE,wBAAwB,CAAC;gBACxD,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBACzB,SAAS,EAAE,CAAC,CAAC,KAAK;gBAClB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;aAC3C,CAAC,CACH,CAAC;YACF,MAAM,IAAA,2BAAc,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,OAAO;QACf,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,GAA2B,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAM,EAAC,MAAM,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO;QACf,MAAM,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAA2B,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,IAAA,mBAAM,EAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,QAAQ;gBAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,UAAU;gBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,aAAa;KACtB;IACD,OAAO,EAAE,OAAO;CACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { MigrationPlugin } from '../framework/plugin';
2
+ export declare const authentikPlugin: MigrationPlugin;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authentikPlugin = void 0;
4
+ const node_path_1 = require("node:path");
5
+ const errors_1 = require("../../errors");
6
+ const authentik_1 = require("../export/authentik");
7
+ const authentik_config_1 = require("../export/authentik-config");
8
+ const tables_1 = require("../export/frameworks/tables");
9
+ const plugin_kit_1 = require("../export/plugin-kit");
10
+ /**
11
+ * `atlas migrate authentik` — a self-hosted authentik: its blueprint file (or
12
+ * the settings objects through the API) as Atlas config; users with their
13
+ * Django password digests (PBKDF2, bcrypt, Argon2, scrypt), social and SAML
14
+ * source links, groups and RBAC roles, API and app-password tokens, TOTP
15
+ * seeds, recovery codes, SMS / email factors and WebAuthn passkeys from a
16
+ * dump of authentik's own PostgreSQL tables made on this machine; the
17
+ * `authentik` bridge preset (an OAuth2 provider's token becomes an Atlas
18
+ * session); lazy migration through authentik's flow executor when only the API
19
+ * is available; and the code. Nothing here connects to the database.
20
+ */
21
+ const DUMP = { flag: '--authentik-dump', env: 'AUTHENTIK_DUMP_DIR', label: 'a folder of authentik table dumps (authentik_core_user.csv, authentik_core_group.json, …)', required: false };
22
+ const URL_ = { flag: '--authentik-url', env: 'AUTHENTIK_URL', label: 'the authentik URL (https://auth.example.com)', required: false };
23
+ const TOKEN = { flag: '--authentik-token', env: 'AUTHENTIK_TOKEN', label: 'an authentik API token (Directory → Tokens, intent API)', required: false, secret: true };
24
+ const BLUEPRINT = { flag: '--authentik-blueprint', env: 'AUTHENTIK_BLUEPRINT', label: 'a blueprint YAML file (ak export_blueprint)', required: false };
25
+ const SUB_MODE = { flag: '--authentik-sub-mode', env: 'AUTHENTIK_SUB_MODE', label: `the provider's Subject mode (${authentik_1.AUTHENTIK_SUB_MODES.join(', ')}); default: the mode the providers in the dump use, else hashed_user_id`, required: false };
26
+ const INSTALL_ID = { flag: '--authentik-install-id', env: 'AUTHENTIK_INSTALL_ID', label: 'the install id (SELECT id FROM authentik_install_id), when the dump lacks that table', required: false };
27
+ const GROUPS_AS = { flag: '--authentik-groups-as', env: 'AUTHENTIK_GROUPS_AS', label: 'roles (default), organizations or skip: what authentik groups become', required: false };
28
+ const RP_ID = { flag: '--rp-id', env: 'ATLAS_MIGRATE_RP_ID', label: 'the WebAuthn relying party id for passkeys registered before authentik stored one (your authentik host)', required: false };
29
+ const TRUST_EMAILS = { flag: '--authentik-trust-emails', env: 'AUTHENTIK_TRUST_EMAILS', label: '"true" to treat every email address as verified (authentik has no verified flag)', required: false };
30
+ const OAUTH_TOKENS = { flag: '--authentik-oauth-tokens', env: 'AUTHENTIK_OAUTH_TOKENS', label: '"include" to carry the stored upstream OAuth access tokens of social links', required: false };
31
+ const ISSUER = { flag: '--authentik-issuer', env: 'AUTHENTIK_ISSUER', label: "the provider's issuer URL (https://auth.example.com/application/o/<application slug>)", required: false };
32
+ const CLIENT_ID = { flag: '--authentik-client-id', env: 'AUTHENTIK_CLIENT_ID', label: "the OAuth2 provider's client id (the tokens' aud)", required: false };
33
+ const FLOW_SLUG = { flag: '--authentik-flow-slug', env: 'AUTHENTIK_FLOW_SLUG', label: 'the authentication flow slug for lazy migration (default default-authentication-flow)', required: false };
34
+ const LAZY_SUB_MODES = ['hashed_user_id', 'user_id', 'user_username', 'user_email'];
35
+ function subMode(p) {
36
+ const raw = p.credential(SUB_MODE)?.trim().toLowerCase();
37
+ if (!raw)
38
+ return undefined;
39
+ if (!authentik_1.AUTHENTIK_SUB_MODES.includes(raw))
40
+ throw new errors_1.CliError(`authentik: --set authentik-sub-mode takes ${authentik_1.AUTHENTIK_SUB_MODES.join(', ')} (got ${raw}).`);
41
+ return raw;
42
+ }
43
+ const baseUrl = (p) => p.credential(URL_)?.trim().replace(/\/+$/, '');
44
+ exports.authentikPlugin = {
45
+ vendor: 'authentik',
46
+ source: 'authentik',
47
+ label: 'authentik',
48
+ help: "Move authentik: a blueprint file (or the settings objects through the API) as Atlas config; users with their password digests, social and SAML identities, groups and roles, tokens, authenticator apps, recovery codes and passkeys from a dump of authentik's own tables made with psql; a zero-logout bridge for an OAuth2 provider's tokens; lazy migration through authentik's flows when you only have the API; and the code. Database access stays on this machine.",
49
+ config: {
50
+ reads: 'a blueprint YAML file, or the settings objects through the authentik API',
51
+ credentials: [BLUEPRINT, URL_, TOKEN],
52
+ async translate(p) {
53
+ const url = baseUrl(p);
54
+ const file = p.credential(BLUEPRINT);
55
+ if (file) {
56
+ const text = (0, plugin_kit_1.localFile)(p, BLUEPRINT, 'text');
57
+ return (0, authentik_config_1.translateAuthentikConfig)(await (0, plugin_kit_1.vendorStep)('authentik', async () => (0, authentik_config_1.snapshotFromBlueprint)(text, file, url)));
58
+ }
59
+ const token = p.credential(TOKEN);
60
+ if (url && token)
61
+ return (0, authentik_config_1.translateAuthentikConfig)(await (0, plugin_kit_1.vendorStep)('authentik', () => (0, authentik_config_1.fetchAuthentikConfig)({ baseUrl: url, token, fetchImpl: p.fetch })));
62
+ throw new errors_1.CliError('authentik: pass a blueprint file (--set authentik-blueprint=<file>, from `ak export_blueprint`), or the authentik URL and an API token to read the settings through the API.');
63
+ },
64
+ },
65
+ export: {
66
+ reads: "a dump of authentik's tables (psql \\copy of authentik_core_user, groups, tokens, source links, authenticator devices …) or the authentik API",
67
+ credentials: [DUMP, URL_, TOKEN, SUB_MODE, INSTALL_ID, GROUPS_AS, RP_ID, TRUST_EMAILS, OAUTH_TOKENS],
68
+ limits: [
69
+ 'The API never returns password hashes, TOTP seeds, recovery codes or WebAuthn public keys: dump the database tables to move them. The API export has users, groups, roles, source links and API token keys only; passwords then move by lazy migration and authenticator users enrol again.',
70
+ 'authentik has no verified-email flag: addresses are verified only when the user attribute email_verified is true, or with --set authentik-trust-emails=true.',
71
+ 'Users are keyed by the `sub` your providers hand out (the Subject mode; hashed_user_id by default, which needs the install id): the export reads it from the dump, and warns when providers disagree.',
72
+ 'Service accounts, outpost accounts and recovery or verification tokens do not move; LDAP, Kerberos and other directory source links stay with their directory.',
73
+ 'Passkeys only work on the domain they were registered for; devices registered before authentik stored an RP id need --set rp-id=<your authentik host>.',
74
+ ],
75
+ async run(p, writer, resume) {
76
+ const dump = p.credential(DUMP);
77
+ const url = baseUrl(p);
78
+ const token = dump ? undefined : p.credential(TOKEN);
79
+ if (!dump && !(url && token)) {
80
+ throw new errors_1.CliError('authentik: pass a folder of table dumps (--set authentik-dump=<folder>), or the authentik URL and an API token for an export without password hashes.');
81
+ }
82
+ const groups = p.credential(GROUPS_AS)?.trim().toLowerCase();
83
+ if (groups && !['roles', 'organizations', 'skip'].includes(groups))
84
+ throw new errors_1.CliError(`authentik: --set authentik-groups-as takes roles, organizations or skip (got ${groups}).`);
85
+ const set = await (0, plugin_kit_1.vendorStep)('authentik', () => (0, authentik_1.exportAuthentik)({
86
+ tables: dump ? (0, tables_1.readDumpDir)((0, node_path_1.resolve)(dump)) : undefined,
87
+ baseUrl: url,
88
+ token,
89
+ subMode: subMode(p),
90
+ installId: p.credential(INSTALL_ID),
91
+ groupsAs: groups,
92
+ rpId: p.credential(RP_ID),
93
+ trustEmails: p.credential(TRUST_EMAILS)?.toLowerCase() === 'true',
94
+ oauthTokens: p.credential(OAUTH_TOKENS) === 'include',
95
+ fetchImpl: p.fetch,
96
+ onProgress: (m) => p.say(` reading ${m}`),
97
+ }));
98
+ await (0, plugin_kit_1.writeRecordSet)(set, writer, resume, p.say);
99
+ },
100
+ },
101
+ bridge: {
102
+ preset: 'authentik',
103
+ vars(p, t) {
104
+ const vars = { ...t?.bridge?.vars };
105
+ const issuer = p.credential(ISSUER);
106
+ if (issuer)
107
+ vars.issuer = issuer.trim().replace(/\/+$/, '');
108
+ const clientId = p.credential(CLIENT_ID);
109
+ if (clientId)
110
+ vars.client_id = clientId.trim();
111
+ return vars;
112
+ },
113
+ },
114
+ lazy: {
115
+ preset: 'authentik',
116
+ config(p, t) {
117
+ const config = { ...t?.lazy?.config };
118
+ const url = baseUrl(p);
119
+ if (url)
120
+ config.base_url = url;
121
+ const flow = p.credential(FLOW_SLUG);
122
+ if (flow)
123
+ config.flow_slug = flow.trim();
124
+ const mode = subMode(p);
125
+ if (mode) {
126
+ if (!LAZY_SUB_MODES.includes(mode))
127
+ throw new errors_1.CliError(`authentik: lazy migration reads the user from a session, which has no ${mode}: use ${LAZY_SUB_MODES.join(', ')}, or move users with the database export.`);
128
+ config.sub_mode = mode;
129
+ }
130
+ return config;
131
+ },
132
+ },
133
+ codemod: 'authentik',
134
+ };
135
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/migrate/authentik/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type AzureKind } from '../export/azure';
2
+ import { type AzureConfigSnapshot } from '../export/azure-config';
3
+ import type { MigrationPlugin } from '../framework/plugin';
4
+ /** The B2C custom policy files of a folder (`*.xml`), for the config report. */
5
+ export declare function readPolicyDir(dir: string): AzureConfigSnapshot['policies'];
6
+ /** The plugin for one of the two Microsoft customer-identity products. */
7
+ export declare function azurePlugin(kind: AzureKind): MigrationPlugin;
8
+ export declare const azureAdB2cPlugin: MigrationPlugin;