@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
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decryptKindeExport = decryptKindeExport;
4
+ exports.exportKinde = exportKinde;
5
+ exports.mapKindeUser = mapKindeUser;
6
+ exports.kindePasswordHash = kindePasswordHash;
7
+ exports.m2mToken = m2mToken;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const record_set_1 = require("./record-set");
10
+ const vendor_http_1 = require("./vendor-http");
11
+ const zip_1 = require("./zip");
12
+ /** AES-256-CTR, the scheme of Kinde's `.dat` export (`openssl aes-256-ctr -d -nosalt -K <key> -iv <iv>`). */
13
+ function decryptKindeExport(data, keyHex, ivHex) {
14
+ const key = Buffer.from(keyHex.trim(), 'hex');
15
+ const iv = Buffer.from(ivHex.trim(), 'hex');
16
+ if (key.length !== 32)
17
+ throw new Error('The Kinde export Key must be 64 hex characters (AES-256).');
18
+ if (iv.length !== 16)
19
+ throw new Error('The Kinde export Initialization Vector must be 32 hex characters.');
20
+ const d = (0, node_crypto_1.createDecipheriv)('aes-256-ctr', key, iv);
21
+ return Buffer.concat([d.update(data), d.final()]);
22
+ }
23
+ async function exportKinde(opts) {
24
+ const set = new record_set_1.RecordSet();
25
+ const progress = opts.onProgress ?? (() => undefined);
26
+ // ── the data export (users + passwords) ──
27
+ let usersText = opts.usersNdjson;
28
+ let orgsText = opts.organizationsNdjson;
29
+ if (opts.encryptedExport || opts.zip) {
30
+ const zip = opts.zip ?? decryptKindeExport(opts.encryptedExport.data, opts.encryptedExport.key, opts.encryptedExport.iv);
31
+ if (zip.readUInt32LE(0) !== 0x04034b50)
32
+ throw new Error('The decrypted Kinde export is not a zip: check the Key and IV.');
33
+ const files = (0, zip_1.readZip)(zip);
34
+ usersText ??= (0, zip_1.zipFile)(files, 'users.ndjson')?.toString('utf8');
35
+ orgsText ??= (0, zip_1.zipFile)(files, 'organizations.ndjson')?.toString('utf8');
36
+ if (usersText === undefined)
37
+ throw new Error('The Kinde export has no users.ndjson.');
38
+ }
39
+ const exported = usersText !== undefined ? ndjson(usersText) : [];
40
+ const online = Boolean(opts.domain && opts.clientId && opts.clientSecret);
41
+ if (!online && usersText === undefined) {
42
+ throw new Error('Kinde export needs the data export file (with its Key and IV) and/or a machine-to-machine application (domain, client id, secret).');
43
+ }
44
+ const base = opts.domain ? `https://${opts.domain.replace(/^https?:\/\//, '').replace(/\/+$/, '')}` : '';
45
+ let token;
46
+ const http = new vendor_http_1.VendorHttp({
47
+ vendor: 'Kinde',
48
+ baseUrl: `${base}/api/v1`,
49
+ headers: async () => ({ authorization: `Bearer ${(token ??= await m2mToken(base, opts))}` }),
50
+ fetchImpl: opts.fetchImpl,
51
+ sleep: opts.sleep,
52
+ });
53
+ // ── organizations ──
54
+ progress('organizations');
55
+ const orgCodes = new Set();
56
+ let defaultOrg;
57
+ const orgRows = online ? await tokenAll(http, '/organizations?page_size=500', 'organizations') : orgsText ? ndjson(orgsText) : [];
58
+ for (const o of orgRows) {
59
+ const code = (0, record_set_1.str)(o.code) ?? (0, record_set_1.str)(o.organization_code);
60
+ const name = (0, record_set_1.str)(o.name);
61
+ if (!code || !name)
62
+ continue;
63
+ // The API flags it; the export file does not, so it is known there by Kinde's default name.
64
+ if (o.is_default === true || (o.is_default === undefined && name === 'Default Organization'))
65
+ defaultOrg = code;
66
+ if (code === defaultOrg && !opts.includeDefaultOrganization)
67
+ continue;
68
+ orgCodes.add(code);
69
+ set.add('organization', (0, record_set_1.compact)({ id: code, name, slug: (0, record_set_1.str)(o.handle), created_at: (0, record_set_1.str)(o.created_on) }));
70
+ }
71
+ if (defaultOrg && !opts.includeDefaultOrganization) {
72
+ set.warn(`Kinde's default organization (${defaultOrg}) holds every user and was not exported as an organization (pass --kinde-include-default-org to keep it).`);
73
+ }
74
+ // ── roles ──
75
+ const roleById = new Map();
76
+ if (online) {
77
+ progress('roles');
78
+ for (const r of await tokenAll(http, '/roles?page_size=500', 'roles')) {
79
+ const id = (0, record_set_1.str)(r.id);
80
+ const key = (0, record_set_1.str)(r.key);
81
+ if (!id || !key)
82
+ continue;
83
+ roleById.set(id, key);
84
+ const permissions = (await tokenAll(http, `/roles/${id}/permissions?page_size=500`, 'permissions')).map((p) => (0, record_set_1.str)(p.key)).filter((p) => !!p);
85
+ set.add('role', (0, record_set_1.compact)({ key, name: (0, record_set_1.str)(r.name), description: (0, record_set_1.str)(r.description), scope: 'organization', permissions }), key);
86
+ }
87
+ }
88
+ // ── users: the export (with passwords) first, the API fills the rest ──
89
+ progress('users');
90
+ const users = new Map();
91
+ for (const u of exported)
92
+ if ((0, record_set_1.str)(u.id))
93
+ users.set(u.id, u);
94
+ if (online) {
95
+ for (const u of await tokenAll(http, '/users?page_size=500&expand=organizations,identities', 'users')) {
96
+ const id = (0, record_set_1.str)(u.id);
97
+ if (!id)
98
+ continue;
99
+ users.set(id, { ...u, ...(users.get(id) ?? {}) });
100
+ }
101
+ }
102
+ let withPassword = 0;
103
+ for (const u of users.values()) {
104
+ const user = mapKindeUser(u, set);
105
+ if (!user) {
106
+ set.omit('user', 'no email, phone number or username');
107
+ continue;
108
+ }
109
+ if (user.password)
110
+ withPassword++;
111
+ set.add('user', user);
112
+ // Without API access, memberships come from the export's organization codes.
113
+ if (!online) {
114
+ for (const code of (0, record_set_1.strs)(u.organizations)) {
115
+ if (orgCodes.has(code))
116
+ set.add('membership', { organization_id: code, user_id: user.id, role: 'member' }, `${code}:${user.id}`);
117
+ }
118
+ }
119
+ }
120
+ if (exported.length === 0) {
121
+ set.warn('No data export given: password hashes come only from Kinde\'s data export ("All data"). Without them users set a new password (Kinde has no API to verify one).');
122
+ }
123
+ else if (withPassword === 0) {
124
+ set.warn('The data export has no passwords: request "All data" (not "All data except passwords") to carry them.');
125
+ }
126
+ // ── memberships with roles ──
127
+ if (online) {
128
+ progress('organization members');
129
+ const userIds = new Set(set.list('user').map((u) => u.id));
130
+ for (const code of orgCodes) {
131
+ for (const m of await tokenAll(http, `/organizations/${code}/users?page_size=500`, 'organization_users')) {
132
+ const uid = (0, record_set_1.str)(m.id);
133
+ if (!uid || !userIds.has(uid))
134
+ continue;
135
+ const role = (0, record_set_1.strs)(m.roles)[0] ?? 'member';
136
+ set.add('membership', (0, record_set_1.compact)({ organization_id: code, user_id: uid, role, created_at: (0, record_set_1.str)(m.joined_on) }), `${code}:${uid}`);
137
+ if ((0, record_set_1.strs)(m.roles).length > 1)
138
+ set.warn('Some organization members hold several Kinde roles; Atlas seats each member with one role (the first).');
139
+ }
140
+ }
141
+ progress('connections');
142
+ await addConnections(set, http);
143
+ }
144
+ set.warn('Kinde does not export second-factor secrets or passkeys: those users re-enrol in Atlas.');
145
+ set.manifest = { origin: base || null, providers: [...new Set(set.list('identity').map((i) => i.provider))].sort() };
146
+ return set;
147
+ }
148
+ /** One Kinde user (export row and/or API row) → a user record. */
149
+ function mapKindeUser(u, set) {
150
+ const id = (0, record_set_1.str)(u.id);
151
+ if (!id)
152
+ return null;
153
+ const identities = (0, record_set_1.objs)(u.identities);
154
+ const email = ((0, record_set_1.str)(u.email) ?? (0, record_set_1.str)(u.preferred_email))?.toLowerCase();
155
+ const emailIdentity = identities.find((i) => (0, record_set_1.str)(i.type) === 'email' && (0, record_set_1.str)(i.identity)?.toLowerCase() === email);
156
+ const phone = (0, record_set_1.e164)(u.phone) ?? (0, record_set_1.e164)(identities.find((i) => (0, record_set_1.str)(i.type) === 'phone')?.identity);
157
+ const username = (0, record_set_1.str)(u.username) ?? (0, record_set_1.str)(identities.find((i) => (0, record_set_1.str)(i.type) === 'username')?.identity);
158
+ const user = (0, record_set_1.compact)({
159
+ id,
160
+ emails: email
161
+ ? [{ email, verified: u.email_verified === true || emailIdentity?.is_confirmed === true || (u.email_verified === undefined && identities.some((i) => (0, record_set_1.str)(i.type)?.startsWith('oauth2:'))), primary: true }]
162
+ : [],
163
+ phones: phone ? [{ phone, verified: false, primary: !email }] : [],
164
+ username,
165
+ first_name: (0, record_set_1.str)(u.first_name),
166
+ last_name: (0, record_set_1.str)(u.last_name),
167
+ image_url: (0, record_set_1.str)(u.picture),
168
+ banned: u.is_suspended === true ? true : undefined,
169
+ private_metadata: (0, record_set_1.bag)((0, record_set_1.compact)({ kinde_external_id: (0, record_set_1.str)(u.external_id) ?? (0, record_set_1.str)(u.provided_id) })),
170
+ created_at: (0, record_set_1.str)(u.created_on),
171
+ last_sign_in_at: (0, record_set_1.str)(u.last_signed_in),
172
+ });
173
+ if ((0, record_set_1.isObj)(u.password)) {
174
+ const mapped = kindePasswordHash(u.password);
175
+ if ('reason' in mapped)
176
+ set?.omit('password', mapped.reason);
177
+ else
178
+ user.password = mapped;
179
+ }
180
+ const social = identities.filter((i) => (0, record_set_1.str)(i.type)?.startsWith('oauth2:'));
181
+ if (social.length)
182
+ set?.omit('identity', "Kinde does not export social accounts' provider user ids: they relink by verified email on first social sign-in", social.length);
183
+ return user.emails?.length || user.phones?.length || user.username ? user : null;
184
+ }
185
+ /**
186
+ * Kinde's exported `password` object → the bundle's password hash. Kinde
187
+ * stores bcrypt; users imported into Kinde keep the algorithm they came with
188
+ * (crypt, md5, sha256, wordpress, pbkdf2, firebase-scrypt, aspnet-identity-v2).
189
+ */
190
+ function kindePasswordHash(p) {
191
+ const hash = (0, record_set_1.str)(p.hashed_password);
192
+ if (!hash)
193
+ return { reason: 'empty Kinde password hash' };
194
+ const algorithm = ((0, record_set_1.str)(p.hashing_algorithm) ?? '').toLowerCase().replace(/_/g, '-');
195
+ const config = (0, record_set_1.isObj)(p.hashing_config) ? p.hashing_config : {};
196
+ const salt = (0, record_set_1.str)(config.salt);
197
+ const position = ((0, record_set_1.str)(config.salt_position) ?? (0, record_set_1.str)(config.salt_location) ?? (0, record_set_1.str)(config.position) ?? 'suffix').toLowerCase();
198
+ switch (algorithm) {
199
+ case '':
200
+ case 'bcrypt':
201
+ return { algorithm: 'bcrypt', hash };
202
+ case 'crypt':
203
+ case 'wordpress':
204
+ case 'phpass':
205
+ // Self-describing ($1$, $5$, $6$, $2y$, $P$): the registry recognises them.
206
+ return { algorithm: 'auto', hash };
207
+ case 'md5':
208
+ case 'sha256':
209
+ if (!salt)
210
+ return { algorithm, hash, params: { encoding: /^[0-9a-f]+$/i.test(hash) ? 'hex' : 'base64' } };
211
+ return {
212
+ algorithm: `${algorithm}_salted`,
213
+ hash,
214
+ salt,
215
+ params: { encoding: /^[0-9a-f]+$/i.test(hash) ? 'hex' : 'base64', salt_position: position === 'prefix' ? 'prefix' : 'suffix' },
216
+ };
217
+ case 'pbkdf2': {
218
+ if (hash.includes('$'))
219
+ return { algorithm: 'auto', hash };
220
+ const iterations = Number(config.iterations ?? config.rounds);
221
+ if (!salt || !Number.isInteger(iterations))
222
+ return { reason: 'Kinde pbkdf2 hash without salt or iterations' };
223
+ return {
224
+ algorithm: 'pbkdf2',
225
+ hash,
226
+ salt,
227
+ params: { digest: (0, record_set_1.str)(config.digest)?.toLowerCase() ?? 'sha256', iterations, ...((0, record_set_1.str)(config.salt_encoding) ? { salt_encoding: (0, record_set_1.str)(config.salt_encoding) } : {}) },
228
+ };
229
+ }
230
+ case 'firebase-scrypt': {
231
+ const signer = (0, record_set_1.str)(config.signer_key) ?? (0, record_set_1.str)(config.base64_signer_key);
232
+ if (!signer)
233
+ return { reason: 'Kinde firebase-scrypt hash without the project signer key' };
234
+ return {
235
+ algorithm: 'scrypt_firebase',
236
+ hash,
237
+ salt: salt ?? '',
238
+ params: {
239
+ signer_key: signer,
240
+ salt_separator: (0, record_set_1.str)(config.salt_separator) ?? (0, record_set_1.str)(config.base64_salt_separator) ?? 'Bw==',
241
+ rounds: Number(config.rounds ?? 8),
242
+ mem_cost: Number(config.mem_cost ?? config.memory_cost ?? 14),
243
+ },
244
+ };
245
+ }
246
+ case 'aspnet-identity-v2':
247
+ case 'aspnet-identity-v3':
248
+ return { algorithm: 'aspnet_identity', hash };
249
+ default:
250
+ return { reason: `Kinde password algorithm "${algorithm}" is not supported` };
251
+ }
252
+ }
253
+ async function addConnections(set, http) {
254
+ let conns;
255
+ try {
256
+ conns = await tokenAll(http, '/connections?page_size=500', 'connections');
257
+ }
258
+ catch (err) {
259
+ if (err instanceof vendor_http_1.VendorApiError && (err.status === 403 || err.status === 404))
260
+ return;
261
+ throw err;
262
+ }
263
+ for (const c of conns) {
264
+ const id = (0, record_set_1.str)(c.id);
265
+ const strategy = (0, record_set_1.str)(c.strategy) ?? '';
266
+ if (!id || !/^(saml|wsfed|oidc|oauth2:(azure_ad|microsoft_entra|okta|google_workspace))/.test(strategy))
267
+ continue;
268
+ let detail = c;
269
+ try {
270
+ const { body } = await http.get(`/connections/${id}`);
271
+ detail = (0, record_set_1.isObj)(body) && (0, record_set_1.isObj)(body.connection) ? body.connection : (0, record_set_1.isObj)(body) ? body : c;
272
+ }
273
+ catch (err) {
274
+ if (!(err instanceof vendor_http_1.VendorApiError))
275
+ throw err;
276
+ }
277
+ const o = (0, record_set_1.isObj)(detail.options) ? detail.options : {};
278
+ const domains = (0, record_set_1.strs)(o.home_realm_domains);
279
+ const name = (0, record_set_1.str)(c.display_name) ?? (0, record_set_1.str)(c.name);
280
+ if (strategy.startsWith('saml')) {
281
+ set.add('sso_connection', (0, record_set_1.compact)({
282
+ id,
283
+ name,
284
+ protocol: 'saml',
285
+ domains,
286
+ saml: (0, record_set_1.compact)({
287
+ idp_entity_id: (0, record_set_1.str)(o.saml_entity_id),
288
+ idp_metadata_url: (0, record_set_1.str)(o.saml_idp_metadata_url),
289
+ idp_sso_url: (0, record_set_1.str)(o.saml_sign_in_url) ?? (0, record_set_1.str)(o.saml_sso_url),
290
+ idp_certificate: (0, record_set_1.str)(o.saml_signing_certificate) ?? (0, record_set_1.str)(o.saml_certificate),
291
+ sp_acs_url: (0, record_set_1.str)(o.saml_acs_url),
292
+ }),
293
+ }));
294
+ }
295
+ else {
296
+ set.add('sso_connection', (0, record_set_1.compact)({ id, name, protocol: 'oidc', domains, oidc: (0, record_set_1.compact)({ issuer: (0, record_set_1.str)(o.issuer) ?? (0, record_set_1.str)(o.entra_id_domain), client_id: (0, record_set_1.str)(o.client_id) }) }));
297
+ set.warn(`Enterprise connection ${name ?? id}: Kinde does not return its client secret; enter it in Atlas after the import.`);
298
+ }
299
+ }
300
+ }
301
+ async function m2mToken(base, opts) {
302
+ const res = await (opts.fetchImpl ?? fetch)(`${base}/oauth2/token`, {
303
+ method: 'POST',
304
+ headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
305
+ body: new URLSearchParams({ grant_type: 'client_credentials', client_id: opts.clientId, client_secret: opts.clientSecret, audience: `${base}/api` }).toString(),
306
+ });
307
+ const body = (await res.json().catch(() => ({})));
308
+ if (!res.ok || !body.access_token)
309
+ throw new vendor_http_1.VendorApiError('Kinde', res.status, '/oauth2/token', body.error_description ?? 'could not get a Management API token');
310
+ return body.access_token;
311
+ }
312
+ /** Kinde's `next_token` paging. */
313
+ async function tokenAll(http, path, key) {
314
+ const out = [];
315
+ let next;
316
+ do {
317
+ const { body } = await http.get(`${path}${next ? `&next_token=${encodeURIComponent(next)}` : ''}`);
318
+ const rows = (0, record_set_1.isObj)(body) ? (0, record_set_1.objs)(body[key]) : [];
319
+ out.push(...rows);
320
+ next = (0, record_set_1.isObj)(body) ? (0, record_set_1.str)(body.next_token) : undefined;
321
+ if (rows.length === 0)
322
+ break;
323
+ } while (next);
324
+ return out;
325
+ }
326
+ function ndjson(text) {
327
+ return text
328
+ .split(/\r?\n/)
329
+ .filter((l) => l.trim())
330
+ .map((l) => JSON.parse(l))
331
+ .filter(record_set_1.isObj);
332
+ }
333
+ //# sourceMappingURL=kinde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinde.js","sourceRoot":"","sources":["../../../src/migrate/export/kinde.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { RecordSet } from './record-set';
2
+ /**
3
+ * `atlas migrate ldap export` — a directory's users and groups from an LDIF
4
+ * export (RFC 2849), as the directory's own tools write it:
5
+ *
6
+ * OpenLDAP slapcat -n 1 > dir.ldif (or ldapsearch -LLL … '*' '+')
7
+ * 389 DS dsctl <instance> db2ldif userroot
8
+ * PingDirectory export-ldif --backendID userRoot --ldifFile dir.ldif
9
+ * Oracle / Sun export-ldif / db2ldif
10
+ * Active Dir. ldifde -f dir.ldif -d "dc=corp,dc=example" -p subtree
11
+ *
12
+ * Users keep their password when `userPassword` holds a hash Atlas verifies
13
+ * (`{SSHA*}`, `{PBKDF2-*}`, `{CRYPT}$6$…`, bcrypt, …). Active Directory never
14
+ * exports one (unicodePwd is write-only), and pass-through schemes (`{SASL}`)
15
+ * or DES `{CRYPT}` cannot be checked: those users move with lazy migration
16
+ * (the `ldap` preset binds to the directory on their first sign-in).
17
+ *
18
+ * Groups (groupOfNames, groupOfUniqueNames, posixGroup, AD group) become app
19
+ * roles, or organizations with members (`--set ldap-groups=organizations`).
20
+ */
21
+ export interface LdifEntry {
22
+ dn: string;
23
+ /** Lower-cased attribute name (options such as `;binary` dropped) → values. Binary values are base64 strings. */
24
+ attrs: Map<string, string[]>;
25
+ /** The line the entry starts on (1-based), for messages. */
26
+ line: number;
27
+ }
28
+ /**
29
+ * Parse LDIF content records. Change records other than `add` are skipped;
30
+ * comments and folded lines are handled; a malformed line is reported, not fatal.
31
+ */
32
+ export declare function parseLdif(text: string): {
33
+ entries: LdifEntry[];
34
+ problems: string[];
35
+ };
36
+ export interface LdapExportOptions {
37
+ /** `roles` (default) or `organizations`. */
38
+ groups?: 'roles' | 'organizations' | 'none';
39
+ /** The attribute used as the user id (default: entryUUID, nsUniqueId, objectGUID, ibm-entryUUID, orclGUID, then the DN). */
40
+ idAttribute?: string;
41
+ /** Directory addresses are set by administrators: mark them verified (default false). */
42
+ trustEmails?: boolean;
43
+ /** Where the LDIF came from (shown in the dashboard). */
44
+ origin?: string;
45
+ }
46
+ /** Canonical DN for matching member values (case and spacing around `,`/`=` vary). */
47
+ export declare function normalizeDn(dn: string): string;
48
+ /** AD objectGUID (base64 of the little-endian GUID) → the textual GUID. */
49
+ export declare function guidFromBase64(b64: string): string | undefined;
50
+ /** LDAP GeneralizedTime (`20240102030405Z`, `20240102030405.0Z`, `…+0100`) → ISO-8601. */
51
+ export declare function generalizedTime(v: string | undefined): string | undefined;
52
+ /** Map a parsed LDIF onto canonical records. */
53
+ export declare function mapLdif(entries: LdifEntry[], options?: LdapExportOptions): RecordSet;