@atlasauth/cli 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +4 -4
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -104
  25. package/dist/commands/config.js +0 -1506
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/define-config.d.ts +0 -9
  115. package/dist/define-config.js +0 -8
  116. package/dist/define-config.js.map +0 -1
  117. package/dist/errors.d.ts +0 -15
  118. package/dist/errors.js +0 -25
  119. package/dist/errors.js.map +0 -1
  120. package/dist/help.d.ts +0 -8
  121. package/dist/help.js +0 -868
  122. package/dist/help.js.map +0 -1
  123. package/dist/import/csv.d.ts +0 -6
  124. package/dist/import/csv.js +0 -63
  125. package/dist/import/csv.js.map +0 -1
  126. package/dist/import/vendors.d.ts +0 -57
  127. package/dist/import/vendors.js +0 -568
  128. package/dist/import/vendors.js.map +0 -1
  129. package/dist/index.d.ts +0 -33
  130. package/dist/index.js +0 -81
  131. package/dist/index.js.map +0 -1
  132. package/dist/io.d.ts +0 -21
  133. package/dist/io.js +0 -28
  134. package/dist/io.js.map +0 -1
  135. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  136. package/dist/migrate/appwrite/plugin.js +0 -103
  137. package/dist/migrate/appwrite/plugin.js.map +0 -1
  138. package/dist/migrate/auth0/plugin.d.ts +0 -2
  139. package/dist/migrate/auth0/plugin.js +0 -126
  140. package/dist/migrate/auth0/plugin.js.map +0 -1
  141. package/dist/migrate/authentik/plugin.d.ts +0 -2
  142. package/dist/migrate/authentik/plugin.js +0 -135
  143. package/dist/migrate/authentik/plugin.js.map +0 -1
  144. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  145. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  146. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  147. package/dist/migrate/better-auth/integration.d.ts +0 -59
  148. package/dist/migrate/better-auth/integration.js +0 -81
  149. package/dist/migrate/better-auth/integration.js.map +0 -1
  150. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  151. package/dist/migrate/better-auth/orchestrator.js +0 -525
  152. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  153. package/dist/migrate/better-auth/output.d.ts +0 -20
  154. package/dist/migrate/better-auth/output.js +0 -146
  155. package/dist/migrate/better-auth/output.js.map +0 -1
  156. package/dist/migrate/better-auth/translate.d.ts +0 -77
  157. package/dist/migrate/better-auth/translate.js +0 -1989
  158. package/dist/migrate/better-auth/translate.js.map +0 -1
  159. package/dist/migrate/clerk/plugin.d.ts +0 -2
  160. package/dist/migrate/clerk/plugin.js +0 -76
  161. package/dist/migrate/clerk/plugin.js.map +0 -1
  162. package/dist/migrate/cognito/plugin.d.ts +0 -5
  163. package/dist/migrate/cognito/plugin.js +0 -170
  164. package/dist/migrate/cognito/plugin.js.map +0 -1
  165. package/dist/migrate/corbado/plugin.d.ts +0 -2
  166. package/dist/migrate/corbado/plugin.js +0 -63
  167. package/dist/migrate/corbado/plugin.js.map +0 -1
  168. package/dist/migrate/descope/plugin.d.ts +0 -2
  169. package/dist/migrate/descope/plugin.js +0 -83
  170. package/dist/migrate/descope/plugin.js.map +0 -1
  171. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  172. package/dist/migrate/entra-external-id/plugin.js +0 -12
  173. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  174. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  175. package/dist/migrate/export/appwrite-config.js +0 -170
  176. package/dist/migrate/export/appwrite-config.js.map +0 -1
  177. package/dist/migrate/export/appwrite.d.ts +0 -51
  178. package/dist/migrate/export/appwrite.js +0 -288
  179. package/dist/migrate/export/appwrite.js.map +0 -1
  180. package/dist/migrate/export/auth0-config.d.ts +0 -29
  181. package/dist/migrate/export/auth0-config.js +0 -249
  182. package/dist/migrate/export/auth0-config.js.map +0 -1
  183. package/dist/migrate/export/auth0.d.ts +0 -62
  184. package/dist/migrate/export/auth0.js +0 -575
  185. package/dist/migrate/export/auth0.js.map +0 -1
  186. package/dist/migrate/export/authentik-config.d.ts +0 -45
  187. package/dist/migrate/export/authentik-config.js +0 -357
  188. package/dist/migrate/export/authentik-config.js.map +0 -1
  189. package/dist/migrate/export/authentik.d.ts +0 -110
  190. package/dist/migrate/export/authentik.js +0 -838
  191. package/dist/migrate/export/authentik.js.map +0 -1
  192. package/dist/migrate/export/azure-config.d.ts +0 -58
  193. package/dist/migrate/export/azure-config.js +0 -344
  194. package/dist/migrate/export/azure-config.js.map +0 -1
  195. package/dist/migrate/export/azure.d.ts +0 -85
  196. package/dist/migrate/export/azure.js +0 -373
  197. package/dist/migrate/export/azure.js.map +0 -1
  198. package/dist/migrate/export/clerk-config.d.ts +0 -26
  199. package/dist/migrate/export/clerk-config.js +0 -227
  200. package/dist/migrate/export/clerk-config.js.map +0 -1
  201. package/dist/migrate/export/clerk.d.ts +0 -46
  202. package/dist/migrate/export/clerk.js +0 -486
  203. package/dist/migrate/export/clerk.js.map +0 -1
  204. package/dist/migrate/export/cognito-config.d.ts +0 -25
  205. package/dist/migrate/export/cognito-config.js +0 -273
  206. package/dist/migrate/export/cognito-config.js.map +0 -1
  207. package/dist/migrate/export/cognito.d.ts +0 -103
  208. package/dist/migrate/export/cognito.js +0 -441
  209. package/dist/migrate/export/cognito.js.map +0 -1
  210. package/dist/migrate/export/corbado-config.d.ts +0 -20
  211. package/dist/migrate/export/corbado-config.js +0 -63
  212. package/dist/migrate/export/corbado-config.js.map +0 -1
  213. package/dist/migrate/export/corbado.d.ts +0 -37
  214. package/dist/migrate/export/corbado.js +0 -132
  215. package/dist/migrate/export/corbado.js.map +0 -1
  216. package/dist/migrate/export/descope.d.ts +0 -35
  217. package/dist/migrate/export/descope.js +0 -208
  218. package/dist/migrate/export/descope.js.map +0 -1
  219. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  220. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  221. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  222. package/dist/migrate/export/firebase-config.d.ts +0 -24
  223. package/dist/migrate/export/firebase-config.js +0 -215
  224. package/dist/migrate/export/firebase-config.js.map +0 -1
  225. package/dist/migrate/export/firebase.d.ts +0 -102
  226. package/dist/migrate/export/firebase.js +0 -464
  227. package/dist/migrate/export/firebase.js.map +0 -1
  228. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  229. package/dist/migrate/export/frameworks/app-users.js +0 -161
  230. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  231. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  232. package/dist/migrate/export/frameworks/authjs.js +0 -146
  233. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  234. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  235. package/dist/migrate/export/frameworks/devise.js +0 -218
  236. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  237. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  238. package/dist/migrate/export/frameworks/django.js +0 -315
  239. package/dist/migrate/export/frameworks/django.js.map +0 -1
  240. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  241. package/dist/migrate/export/frameworks/lucia.js +0 -263
  242. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  243. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  244. package/dist/migrate/export/frameworks/tables.js +0 -325
  245. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  246. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  247. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  248. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  249. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  250. package/dist/migrate/export/frontegg-config.js +0 -238
  251. package/dist/migrate/export/frontegg-config.js.map +0 -1
  252. package/dist/migrate/export/frontegg.d.ts +0 -67
  253. package/dist/migrate/export/frontegg.js +0 -410
  254. package/dist/migrate/export/frontegg.js.map +0 -1
  255. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  256. package/dist/migrate/export/fusionauth-config.js +0 -226
  257. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  258. package/dist/migrate/export/fusionauth.d.ts +0 -99
  259. package/dist/migrate/export/fusionauth.js +0 -642
  260. package/dist/migrate/export/fusionauth.js.map +0 -1
  261. package/dist/migrate/export/hanko-config.d.ts +0 -27
  262. package/dist/migrate/export/hanko-config.js +0 -265
  263. package/dist/migrate/export/hanko-config.js.map +0 -1
  264. package/dist/migrate/export/hanko.d.ts +0 -52
  265. package/dist/migrate/export/hanko.js +0 -605
  266. package/dist/migrate/export/hanko.js.map +0 -1
  267. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  268. package/dist/migrate/export/keycloak-config.js +0 -219
  269. package/dist/migrate/export/keycloak-config.js.map +0 -1
  270. package/dist/migrate/export/keycloak.d.ts +0 -155
  271. package/dist/migrate/export/keycloak.js +0 -878
  272. package/dist/migrate/export/keycloak.js.map +0 -1
  273. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  274. package/dist/migrate/export/kinde-descope-config.js +0 -172
  275. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  276. package/dist/migrate/export/kinde.d.ts +0 -57
  277. package/dist/migrate/export/kinde.js +0 -333
  278. package/dist/migrate/export/kinde.js.map +0 -1
  279. package/dist/migrate/export/ldap.d.ts +0 -53
  280. package/dist/migrate/export/ldap.js +0 -277
  281. package/dist/migrate/export/ldap.js.map +0 -1
  282. package/dist/migrate/export/logto-config.d.ts +0 -27
  283. package/dist/migrate/export/logto-config.js +0 -264
  284. package/dist/migrate/export/logto-config.js.map +0 -1
  285. package/dist/migrate/export/logto.d.ts +0 -150
  286. package/dist/migrate/export/logto.js +0 -809
  287. package/dist/migrate/export/logto.js.map +0 -1
  288. package/dist/migrate/export/magic-config.d.ts +0 -14
  289. package/dist/migrate/export/magic-config.js +0 -28
  290. package/dist/migrate/export/magic-config.js.map +0 -1
  291. package/dist/migrate/export/magic.d.ts +0 -31
  292. package/dist/migrate/export/magic.js +0 -93
  293. package/dist/migrate/export/magic.js.map +0 -1
  294. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  295. package/dist/migrate/export/mini-yaml.js +0 -581
  296. package/dist/migrate/export/mini-yaml.js.map +0 -1
  297. package/dist/migrate/export/nhost-config.d.ts +0 -26
  298. package/dist/migrate/export/nhost-config.js +0 -360
  299. package/dist/migrate/export/nhost-config.js.map +0 -1
  300. package/dist/migrate/export/nhost.d.ts +0 -64
  301. package/dist/migrate/export/nhost.js +0 -304
  302. package/dist/migrate/export/nhost.js.map +0 -1
  303. package/dist/migrate/export/okta-config.d.ts +0 -30
  304. package/dist/migrate/export/okta-config.js +0 -205
  305. package/dist/migrate/export/okta-config.js.map +0 -1
  306. package/dist/migrate/export/okta.d.ts +0 -43
  307. package/dist/migrate/export/okta.js +0 -337
  308. package/dist/migrate/export/okta.js.map +0 -1
  309. package/dist/migrate/export/onelogin.d.ts +0 -22
  310. package/dist/migrate/export/onelogin.js +0 -123
  311. package/dist/migrate/export/onelogin.js.map +0 -1
  312. package/dist/migrate/export/ory-config.d.ts +0 -58
  313. package/dist/migrate/export/ory-config.js +0 -451
  314. package/dist/migrate/export/ory-config.js.map +0 -1
  315. package/dist/migrate/export/ory.d.ts +0 -81
  316. package/dist/migrate/export/ory.js +0 -555
  317. package/dist/migrate/export/ory.js.map +0 -1
  318. package/dist/migrate/export/password-detect.d.ts +0 -29
  319. package/dist/migrate/export/password-detect.js +0 -81
  320. package/dist/migrate/export/password-detect.js.map +0 -1
  321. package/dist/migrate/export/pingone.d.ts +0 -36
  322. package/dist/migrate/export/pingone.js +0 -218
  323. package/dist/migrate/export/pingone.js.map +0 -1
  324. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  325. package/dist/migrate/export/plugin-kit.js +0 -82
  326. package/dist/migrate/export/plugin-kit.js.map +0 -1
  327. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  328. package/dist/migrate/export/pocketbase-config.js +0 -180
  329. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  330. package/dist/migrate/export/pocketbase.d.ts +0 -52
  331. package/dist/migrate/export/pocketbase.js +0 -243
  332. package/dist/migrate/export/pocketbase.js.map +0 -1
  333. package/dist/migrate/export/project-files.d.ts +0 -15
  334. package/dist/migrate/export/project-files.js +0 -43
  335. package/dist/migrate/export/project-files.js.map +0 -1
  336. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  337. package/dist/migrate/export/propelauth-config.js +0 -58
  338. package/dist/migrate/export/propelauth-config.js.map +0 -1
  339. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  340. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  341. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  342. package/dist/migrate/export/propelauth.d.ts +0 -48
  343. package/dist/migrate/export/propelauth.js +0 -255
  344. package/dist/migrate/export/propelauth.js.map +0 -1
  345. package/dist/migrate/export/record-set.d.ts +0 -44
  346. package/dist/migrate/export/record-set.js +0 -98
  347. package/dist/migrate/export/record-set.js.map +0 -1
  348. package/dist/migrate/export/source-lines.d.ts +0 -17
  349. package/dist/migrate/export/source-lines.js +0 -43
  350. package/dist/migrate/export/source-lines.js.map +0 -1
  351. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  352. package/dist/migrate/export/sso-metadata.js +0 -180
  353. package/dist/migrate/export/sso-metadata.js.map +0 -1
  354. package/dist/migrate/export/stytch-config.d.ts +0 -22
  355. package/dist/migrate/export/stytch-config.js +0 -102
  356. package/dist/migrate/export/stytch-config.js.map +0 -1
  357. package/dist/migrate/export/stytch.d.ts +0 -68
  358. package/dist/migrate/export/stytch.js +0 -510
  359. package/dist/migrate/export/stytch.js.map +0 -1
  360. package/dist/migrate/export/supabase-config.d.ts +0 -48
  361. package/dist/migrate/export/supabase-config.js +0 -408
  362. package/dist/migrate/export/supabase-config.js.map +0 -1
  363. package/dist/migrate/export/supabase.d.ts +0 -86
  364. package/dist/migrate/export/supabase.js +0 -524
  365. package/dist/migrate/export/supabase.js.map +0 -1
  366. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  367. package/dist/migrate/export/supertokens-config.js +0 -150
  368. package/dist/migrate/export/supertokens-config.js.map +0 -1
  369. package/dist/migrate/export/supertokens.d.ts +0 -125
  370. package/dist/migrate/export/supertokens.js +0 -464
  371. package/dist/migrate/export/supertokens.js.map +0 -1
  372. package/dist/migrate/export/table.d.ts +0 -35
  373. package/dist/migrate/export/table.js +0 -248
  374. package/dist/migrate/export/table.js.map +0 -1
  375. package/dist/migrate/export/translate-kit.d.ts +0 -46
  376. package/dist/migrate/export/translate-kit.js +0 -148
  377. package/dist/migrate/export/translate-kit.js.map +0 -1
  378. package/dist/migrate/export/userfront-config.d.ts +0 -15
  379. package/dist/migrate/export/userfront-config.js +0 -49
  380. package/dist/migrate/export/userfront-config.js.map +0 -1
  381. package/dist/migrate/export/userfront.d.ts +0 -38
  382. package/dist/migrate/export/userfront.js +0 -189
  383. package/dist/migrate/export/userfront.js.map +0 -1
  384. package/dist/migrate/export/vendor-http.d.ts +0 -46
  385. package/dist/migrate/export/vendor-http.js +0 -138
  386. package/dist/migrate/export/vendor-http.js.map +0 -1
  387. package/dist/migrate/export/workos-config.d.ts +0 -23
  388. package/dist/migrate/export/workos-config.js +0 -125
  389. package/dist/migrate/export/workos-config.js.map +0 -1
  390. package/dist/migrate/export/workos.d.ts +0 -46
  391. package/dist/migrate/export/workos.js +0 -272
  392. package/dist/migrate/export/workos.js.map +0 -1
  393. package/dist/migrate/export/zip.d.ts +0 -8
  394. package/dist/migrate/export/zip.js +0 -66
  395. package/dist/migrate/export/zip.js.map +0 -1
  396. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  397. package/dist/migrate/export/zitadel-config.js +0 -279
  398. package/dist/migrate/export/zitadel-config.js.map +0 -1
  399. package/dist/migrate/export/zitadel.d.ts +0 -82
  400. package/dist/migrate/export/zitadel.js +0 -447
  401. package/dist/migrate/export/zitadel.js.map +0 -1
  402. package/dist/migrate/firebase/plugin.d.ts +0 -2
  403. package/dist/migrate/firebase/plugin.js +0 -152
  404. package/dist/migrate/firebase/plugin.js.map +0 -1
  405. package/dist/migrate/framework/builtins.d.ts +0 -2
  406. package/dist/migrate/framework/builtins.js +0 -52
  407. package/dist/migrate/framework/builtins.js.map +0 -1
  408. package/dist/migrate/framework/commands.d.ts +0 -20
  409. package/dist/migrate/framework/commands.js +0 -58
  410. package/dist/migrate/framework/commands.js.map +0 -1
  411. package/dist/migrate/framework/custom.d.ts +0 -12
  412. package/dist/migrate/framework/custom.js +0 -96
  413. package/dist/migrate/framework/custom.js.map +0 -1
  414. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  415. package/dist/migrate/framework/orchestrator.js +0 -532
  416. package/dist/migrate/framework/orchestrator.js.map +0 -1
  417. package/dist/migrate/framework/plugin.d.ts +0 -167
  418. package/dist/migrate/framework/plugin.js +0 -3
  419. package/dist/migrate/framework/plugin.js.map +0 -1
  420. package/dist/migrate/framework/registry.d.ts +0 -11
  421. package/dist/migrate/framework/registry.js +0 -44
  422. package/dist/migrate/framework/registry.js.map +0 -1
  423. package/dist/migrate/framework/report.d.ts +0 -17
  424. package/dist/migrate/framework/report.js +0 -103
  425. package/dist/migrate/framework/report.js.map +0 -1
  426. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  427. package/dist/migrate/frameworks/plugins.js +0 -402
  428. package/dist/migrate/frameworks/plugins.js.map +0 -1
  429. package/dist/migrate/frameworks/report.d.ts +0 -92
  430. package/dist/migrate/frameworks/report.js +0 -207
  431. package/dist/migrate/frameworks/report.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  433. package/dist/migrate/frameworks/translate-js.js +0 -503
  434. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  435. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  436. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  437. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  438. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  439. package/dist/migrate/frontegg/plugin.js +0 -78
  440. package/dist/migrate/frontegg/plugin.js.map +0 -1
  441. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  442. package/dist/migrate/fusionauth/plugin.js +0 -109
  443. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  444. package/dist/migrate/hanko/plugin.d.ts +0 -2
  445. package/dist/migrate/hanko/plugin.js +0 -100
  446. package/dist/migrate/hanko/plugin.js.map +0 -1
  447. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  448. package/dist/migrate/keycloak/plugin.js +0 -148
  449. package/dist/migrate/keycloak/plugin.js.map +0 -1
  450. package/dist/migrate/kinde/plugin.d.ts +0 -2
  451. package/dist/migrate/kinde/plugin.js +0 -105
  452. package/dist/migrate/kinde/plugin.js.map +0 -1
  453. package/dist/migrate/ldap/plugin.d.ts +0 -2
  454. package/dist/migrate/ldap/plugin.js +0 -73
  455. package/dist/migrate/ldap/plugin.js.map +0 -1
  456. package/dist/migrate/logto/plugin.d.ts +0 -2
  457. package/dist/migrate/logto/plugin.js +0 -131
  458. package/dist/migrate/logto/plugin.js.map +0 -1
  459. package/dist/migrate/magic/plugin.d.ts +0 -2
  460. package/dist/migrate/magic/plugin.js +0 -56
  461. package/dist/migrate/magic/plugin.js.map +0 -1
  462. package/dist/migrate/nhost/plugin.d.ts +0 -2
  463. package/dist/migrate/nhost/plugin.js +0 -115
  464. package/dist/migrate/nhost/plugin.js.map +0 -1
  465. package/dist/migrate/oidc/plugin.d.ts +0 -2
  466. package/dist/migrate/oidc/plugin.js +0 -73
  467. package/dist/migrate/oidc/plugin.js.map +0 -1
  468. package/dist/migrate/okta/plugin.d.ts +0 -2
  469. package/dist/migrate/okta/plugin.js +0 -105
  470. package/dist/migrate/okta/plugin.js.map +0 -1
  471. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  472. package/dist/migrate/onelogin/plugin.js +0 -61
  473. package/dist/migrate/onelogin/plugin.js.map +0 -1
  474. package/dist/migrate/ory/plugin.d.ts +0 -2
  475. package/dist/migrate/ory/plugin.js +0 -186
  476. package/dist/migrate/ory/plugin.js.map +0 -1
  477. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  478. package/dist/migrate/ping-identity/plugin.js +0 -100
  479. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  480. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  481. package/dist/migrate/pocketbase/plugin.js +0 -99
  482. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  483. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  484. package/dist/migrate/propelauth/plugin.js +0 -65
  485. package/dist/migrate/propelauth/plugin.js.map +0 -1
  486. package/dist/migrate/saml/plugin.d.ts +0 -2
  487. package/dist/migrate/saml/plugin.js +0 -79
  488. package/dist/migrate/saml/plugin.js.map +0 -1
  489. package/dist/migrate/stytch/plugin.d.ts +0 -2
  490. package/dist/migrate/stytch/plugin.js +0 -97
  491. package/dist/migrate/stytch/plugin.js.map +0 -1
  492. package/dist/migrate/supabase/plugin.d.ts +0 -2
  493. package/dist/migrate/supabase/plugin.js +0 -149
  494. package/dist/migrate/supabase/plugin.js.map +0 -1
  495. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  496. package/dist/migrate/supertokens/plugin.js +0 -114
  497. package/dist/migrate/supertokens/plugin.js.map +0 -1
  498. package/dist/migrate/user-table/plugin.d.ts +0 -2
  499. package/dist/migrate/user-table/plugin.js +0 -62
  500. package/dist/migrate/user-table/plugin.js.map +0 -1
  501. package/dist/migrate/userfront/plugin.d.ts +0 -2
  502. package/dist/migrate/userfront/plugin.js +0 -60
  503. package/dist/migrate/userfront/plugin.js.map +0 -1
  504. package/dist/migrate/workos/plugin.d.ts +0 -2
  505. package/dist/migrate/workos/plugin.js +0 -81
  506. package/dist/migrate/workos/plugin.js.map +0 -1
  507. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  508. package/dist/migrate/zitadel/plugin.js +0 -114
  509. package/dist/migrate/zitadel/plugin.js.map +0 -1
  510. package/dist/output.d.ts +0 -41
  511. package/dist/output.js +0 -72
  512. package/dist/output.js.map +0 -1
  513. package/dist/project.d.ts +0 -64
  514. package/dist/project.js +0 -86
  515. package/dist/project.js.map +0 -1
  516. package/dist/prompt.d.ts +0 -15
  517. package/dist/prompt.js +0 -46
  518. package/dist/prompt.js.map +0 -1
  519. package/dist/run.d.ts +0 -12
  520. package/dist/run.js +0 -157
  521. package/dist/run.js.map +0 -1
  522. package/dist/secrets.d.ts +0 -41
  523. package/dist/secrets.js +0 -142
  524. package/dist/secrets.js.map +0 -1
  525. package/dist/serialize.d.ts +0 -30
  526. package/dist/serialize.js +0 -131
  527. package/dist/serialize.js.map +0 -1
  528. package/dist/version.d.ts +0 -7
  529. package/dist/version.js +0 -21
  530. package/dist/version.js.map +0 -1
@@ -1,438 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.init = init;
4
- const node_fs_1 = require("node:fs");
5
- const node_path_1 = require("node:path");
6
- const backend_1 = require("@atlasauth/backend");
7
- const args_1 = require("../args");
8
- const errors_1 = require("../errors");
9
- const output_1 = require("../output");
10
- const project_1 = require("../project");
11
- const secrets_1 = require("../secrets");
12
- const shared_1 = require("./shared");
13
- /**
14
- * `atlas init` — set up an Atlas app for a product in one idempotent command.
15
- *
16
- * It drives the platform API (a `psk_` platform key) to find or create the app
17
- * + instance, then the instance's own Backend API to set sign-in strategies,
18
- * the email sender, the custom domain, a first-party OAuth client and a
19
- * webhook endpoint. Re-running finds each thing by name / host / URL and only
20
- * fills what is missing.
21
- *
22
- * Every secret it receives goes straight into a 0600 file under
23
- * `~/.config/<product>/` (directory 0700); stdout carries only public values
24
- * and file paths. Before anything that would hand back a NEW secret is
25
- * created, the target file is checked: an existing, different file is refused
26
- * unless `--force`, so a secret is never minted only to be thrown away.
27
- */
28
- const STRATEGY_ALIASES = {
29
- password: 'password',
30
- email_code: 'emailCode',
31
- email_link: 'emailLink',
32
- passkey: 'passkey',
33
- phone_code: 'phoneCode',
34
- username: 'username',
35
- siwe: 'siwe',
36
- };
37
- /** Strategies that need email delivery: turned on only once the instance can send. */
38
- const EMAIL_STRATEGIES = new Set(['emailCode', 'emailLink']);
39
- const EMAIL_PROVIDERS = ['resend', 'brevo'];
40
- function camel(s) {
41
- return s.replace(/_([a-z])/g, (_m, c) => c.toUpperCase());
42
- }
43
- function parseOptions(args) {
44
- const v = args.values;
45
- const product = (0, args_1.str)(v, 'product');
46
- if (!product)
47
- throw new errors_1.CliError('atlas init requires --product <name>.');
48
- (0, secrets_1.assertProductName)(product);
49
- const environment = (0, project_1.parseInstanceEnv)((0, args_1.str)(v, 'instance-env'), 'production');
50
- const domain = (0, args_1.str)(v, 'domain')?.trim().toLowerCase().replace(/\.$/, '');
51
- if (domain && !/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/.test(domain)) {
52
- throw new errors_1.CliError(`--domain must be a domain name like example.com, got '${domain}'.`);
53
- }
54
- const emailRaw = (0, args_1.str)(v, 'email') ?? (domain ? 'managed' : 'none');
55
- if (emailRaw !== 'managed' && emailRaw !== 'development' && emailRaw !== 'none') {
56
- throw new errors_1.CliError(`--email must be managed, development or none, got '${emailRaw}'.`);
57
- }
58
- if (emailRaw === 'managed' && !domain && !(0, args_1.str)(v, 'email-from')) {
59
- throw new errors_1.CliError('--email managed needs --domain (or --email-from <address on your domain>).');
60
- }
61
- if (emailRaw === 'development' && environment !== 'development') {
62
- throw new errors_1.CliError('--email development is only for --instance-env development. Use --email managed on production.');
63
- }
64
- const providerRaw = (0, args_1.str)(v, 'email-provider');
65
- if (providerRaw !== undefined && !EMAIL_PROVIDERS.includes(providerRaw)) {
66
- throw new errors_1.CliError(`--email-provider must be ${EMAIL_PROVIDERS.join(' or ')}, got '${providerRaw}'. Configure other providers with PUT /v1/messaging_providers/email.`);
67
- }
68
- const emailKeyFile = (0, args_1.str)(v, 'email-key-file');
69
- if (emailKeyFile !== undefined && !providerRaw)
70
- throw new errors_1.CliError('--email-key-file needs --email-provider resend|brevo.');
71
- const strategies = (0, args_1.list)(v, 'strategies').map((s) => STRATEGY_ALIASES[s] ?? camel(s));
72
- const redirects = (0, args_1.list)(v, 'client-redirect');
73
- for (const r of redirects) {
74
- try {
75
- new URL(r);
76
- }
77
- catch {
78
- throw new errors_1.CliError(`--client-redirect must be an absolute URL, got '${r}'.`);
79
- }
80
- }
81
- const backchannelUrl = (0, args_1.str)(v, 'backchannel');
82
- if (backchannelUrl !== undefined) {
83
- let u;
84
- try {
85
- u = new URL(backchannelUrl);
86
- }
87
- catch {
88
- throw new errors_1.CliError(`--backchannel must be an absolute URL, got '${backchannelUrl}'.`);
89
- }
90
- if (u.protocol !== 'https:' && !['localhost', '127.0.0.1', '[::1]'].includes(u.hostname)) {
91
- throw new errors_1.CliError('--backchannel must be an https URL (http only on localhost).');
92
- }
93
- if (redirects.length === 0)
94
- throw new errors_1.CliError('--backchannel needs --client-redirect: it is set on the OAuth client.');
95
- }
96
- return {
97
- product,
98
- appName: (0, args_1.str)(v, 'name') || product,
99
- environment,
100
- domain,
101
- authHost: (0, args_1.str)(v, 'auth-host') || (domain ? `auth.${domain}` : undefined),
102
- strategies,
103
- email: emailRaw,
104
- emailFrom: (0, args_1.str)(v, 'email-from') || (emailRaw === 'managed' && domain ? `noreply@mail.${domain}` : undefined),
105
- emailProvider: providerRaw,
106
- emailKeyFile,
107
- redirects,
108
- webhookUrl: (0, args_1.str)(v, 'webhook-url'),
109
- backchannelUrl,
110
- force: v.force === true,
111
- rotateSecret: v['rotate-secret'] === true,
112
- };
113
- }
114
- /** The platform key and API URL: ATLAS_PLATFORM_KEY, else a stored profile holding a psk_ key. */
115
- function platformAuth(ctx, args) {
116
- const file = ctx.config.load();
117
- const profile = (0, args_1.str)(args.values, 'profile') || file.active_profile || 'default';
118
- const stored = file.profiles[profile];
119
- const envKey = ctx.env.ATLAS_PLATFORM_KEY?.trim();
120
- const key = envKey || ((stored?.secret_key?.startsWith('psk_') || /^atlas_(live|test)_psk_/.test(stored?.secret_key ?? '')) ? stored?.secret_key : undefined);
121
- if (!key) {
122
- throw new errors_1.CliError("atlas init needs a platform key (psk_…). Set ATLAS_PLATFORM_KEY, or store one with 'atlas login --secret-key psk_…'.");
123
- }
124
- const apiUrl = (0, shared_1.envApiUrl)(ctx.env) || stored?.api_url || backend_1.DEFAULT_API_URL;
125
- return { secretKey: key, apiUrl };
126
- }
127
- const isStatus = (err, status) => err instanceof backend_1.AtlasApiError && err.status === status;
128
- /**
129
- * Read the customer's provider key from a file, or stdin with '-'. A bare key,
130
- * or a dotenv line (`RESEND_API_KEY=re_…`). Never from argv, never printed.
131
- */
132
- function readProviderKey(ctx, file) {
133
- let text;
134
- try {
135
- text = ctx.readFile(file === '-' ? '/dev/stdin' : file);
136
- }
137
- catch {
138
- throw new errors_1.CliError(`Could not read the email provider key from ${file === '-' ? 'stdin' : file}.`);
139
- }
140
- const line = text.split(/\r?\n/).map((l) => l.trim()).find((l) => l && !l.startsWith('#')) ?? '';
141
- const m = /^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(line);
142
- const key = (m ? m[1] : line).trim().replace(/^"(.*)"$/, '$1');
143
- if (!key || /\s/.test(key))
144
- throw new errors_1.CliError(`No email provider key found in ${file === '-' ? 'stdin' : file}.`);
145
- return key;
146
- }
147
- /** Refuse up front when a NEW secret would land on an existing, different file. */
148
- function assertFreeForNewSecret(path, force) {
149
- if ((0, node_fs_1.existsSync)(path) && !force) {
150
- throw new errors_1.CliError(`${path} already exists. A new secret would be created and could not be saved there. Move the file aside, or re-run with --force to replace it.`);
151
- }
152
- }
153
- async function init(ctx, args) {
154
- const opts = parseOptions(args);
155
- const json = (0, shared_1.wantsJson)(args.values);
156
- const log = (line) => (json ? ctx.io.err(line) : ctx.io.out(line));
157
- const dir = (0, secrets_1.productDir)(ctx.env, opts.product);
158
- const env = opts.environment;
159
- const secretFile = (0, node_path_1.join)(dir, `${env}.env`);
160
- const clientFile = (0, node_path_1.join)(dir, `${env}-oauth-client.env`);
161
- const webhookFile = (0, node_path_1.join)(dir, `${env}-webhook.env`);
162
- // The plan, then a confirmation unless --yes.
163
- log(`atlas init: ${opts.appName} (${env})`);
164
- log(` strategies: ${opts.strategies.length ? opts.strategies.join(', ') : '(instance defaults)'}`);
165
- log(` email: ${opts.email}${opts.email === 'managed' ? ` from ${opts.emailFrom}` : ''}${opts.emailProvider ? ` (your ${opts.emailProvider} account)` : ''}`);
166
- if (opts.authHost)
167
- log(` domain: ${opts.authHost}`);
168
- if (opts.redirects.length)
169
- log(` client: first-party OAuth client → ${opts.redirects.join(', ')}`);
170
- if (opts.webhookUrl)
171
- log(` webhook: ${opts.webhookUrl}`);
172
- log(` secrets: ${dir} (0600 files, never printed)`);
173
- if (args.values.yes !== true) {
174
- const answer = (await ctx.prompt.text('Proceed? (y/N)')).trim().toLowerCase();
175
- if (answer !== 'y' && answer !== 'yes')
176
- throw new errors_1.CliError('Aborted. Nothing was changed.');
177
- }
178
- const platform = platformAuth(ctx, args);
179
- const plat = (0, project_1.httpFor)(ctx, platform);
180
- // --- 1. app + instance --------------------------------------------------
181
- const apps = (await plat.get('/v1/platform/apps')).data ?? [];
182
- let app = apps.find((a) => a.name === opts.appName && a.environment === env);
183
- let created = false;
184
- if (!app) {
185
- assertFreeForNewSecret(secretFile, opts.force);
186
- const origins = [...new Set(opts.redirects.map((r) => new URL(r).origin).filter((o) => o.startsWith('http')))];
187
- app = await plat.post('/v1/platform/apps', {
188
- name: opts.appName,
189
- environment: env,
190
- create_development_sibling: false,
191
- ...(origins.length ? { allowed_origins: origins } : {}),
192
- });
193
- created = true;
194
- (0, secrets_1.writeSecretFile)(dir, `${env}.env`, { ATLAS_SECRET_KEY: app.secret ?? '' }, {
195
- force: opts.force,
196
- comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only.`,
197
- });
198
- log(`Created app ${app.id}. Secret key written to ${secretFile}.`);
199
- }
200
- else {
201
- log(`Found app ${app.id}.`);
202
- }
203
- let secretKey = (0, secrets_1.readEnvFile)(secretFile)?.ATLAS_SECRET_KEY;
204
- if (!secretKey) {
205
- if (!opts.rotateSecret) {
206
- throw new errors_1.CliError(`App ${app.id} exists but its secret key is not in ${secretFile}. Re-run with --rotate-secret to mint a new one (existing keys keep working for the default overlap window).`);
207
- }
208
- const rotated = await plat.post(`/v1/platform/apps/${app.id}/rotate_secret`, {});
209
- (0, secrets_1.writeSecretFile)(dir, `${env}.env`, { ATLAS_SECRET_KEY: rotated.secret }, {
210
- force: true,
211
- comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only.`,
212
- });
213
- secretKey = rotated.secret;
214
- const until = rotated.previous_keys_expire_at ? new Date(rotated.previous_keys_expire_at).toISOString() : 'now';
215
- log(`Minted a new secret key into ${secretFile}. Previous keys stop working: ${until}.`);
216
- }
217
- const api = (0, project_1.httpFor)(ctx, { secretKey, apiUrl: platform.apiUrl });
218
- const previous = (0, project_1.readManifest)(ctx.env, opts.product);
219
- const record = {
220
- ...(previous?.instances[env] ?? {}),
221
- instance_id: app.id,
222
- environment: env,
223
- publishable_key: app.publishable_key,
224
- frontend_api_host: app.frontend_api_host,
225
- issuer: null,
226
- discovery_url: null,
227
- jwks_uri: null,
228
- secret_file: secretFile,
229
- };
230
- // --- 2. email sender (before strategies: email methods need it) ----------
231
- // Always the customer's own provider account: Atlas lends none. The key comes
232
- // from --email-key-file (or stdin) and is sent once; it is never printed.
233
- const providerKey = () => {
234
- if (!opts.emailProvider || !opts.emailKeyFile) {
235
- throw new errors_1.CliError(`--email ${opts.email} sends through your own email provider. Pass --email-provider resend|brevo and --email-key-file <path> (or - to read it from stdin).`);
236
- }
237
- return { transport: opts.emailProvider, config: { api_key: readProviderKey(ctx, opts.emailKeyFile) } };
238
- };
239
- let emailReady = opts.email === 'none';
240
- if (opts.email === 'managed') {
241
- let managed;
242
- try {
243
- managed = await api.get('/v1/messaging_providers/email/managed');
244
- }
245
- catch (err) {
246
- if (!isStatus(err, 404))
247
- throw err;
248
- managed = await api.post('/v1/messaging_providers/email/managed', { from_address: opts.emailFrom, ...providerKey() });
249
- log(`Registered ${opts.emailFrom} on your ${opts.emailProvider} account (managed email).`);
250
- }
251
- emailReady = managed.verified;
252
- record.email = { mode: 'managed', from_address: managed.from_address };
253
- if (!managed.verified) {
254
- log('Publish these DNS records for managed email, then run: atlas init again (or POST /v1/messaging_providers/email/managed/verify):');
255
- for (const r of managed.records ?? []) {
256
- log(` ${r.type.padEnd(5)} ${r.name} ${r.value}${r.priority !== undefined ? ` (priority ${r.priority})` : ''}`);
257
- }
258
- }
259
- else {
260
- log(`Managed email verified: ${managed.from_address}.`);
261
- }
262
- }
263
- else if (opts.email === 'development') {
264
- const providers = await api.get('/v1/messaging_providers');
265
- let dev;
266
- if (providers.email?.mode === 'development' && !opts.emailKeyFile) {
267
- dev = await api.get('/v1/messaging_providers/email/development');
268
- }
269
- else if (providers.email && !opts.emailKeyFile) {
270
- dev = await api.post('/v1/messaging_providers/email/development', {
271
- provider_id: providers.email.id,
272
- ...(opts.emailFrom ? { from_address: opts.emailFrom } : {}),
273
- });
274
- }
275
- else {
276
- dev = await api.post('/v1/messaging_providers/email/development', {
277
- ...providerKey(),
278
- ...(opts.emailFrom ? { from_address: opts.emailFrom } : {}),
279
- });
280
- }
281
- emailReady = dev.active;
282
- record.email = { mode: 'development', from_address: dev.from_address };
283
- log(`Development email sender on: your provider, from ${dev.from_address} (capped, development instances only).`);
284
- if (dev.note)
285
- log(` Note: ${dev.note}`);
286
- }
287
- else {
288
- record.email = { mode: 'none' };
289
- }
290
- // --- 3. strategies --------------------------------------------------------
291
- // Every requested method is switched on, even before the email sender is
292
- // ready: the instance accepts the write and simply does not offer a method
293
- // that needs email (it reports it under inactive_methods) until it can send.
294
- if (opts.strategies.length) {
295
- const current = (await api.get('/v1/instance')).auth_config_resolved?.strategies ?? {};
296
- const missing = opts.strategies.filter((s) => current[s] !== true);
297
- if (missing.length) {
298
- try {
299
- const res = await api.patch('/v1/instance', { auth_config: { strategies: Object.fromEntries(missing.map((s) => [s, true])) } });
300
- log(`Turned on: ${missing.join(', ')}.`);
301
- const inactive = (res?.inactive_methods ?? []).map((m) => m.method);
302
- if (inactive.length) {
303
- log(`Not offered to users yet (they need an email provider, and this instance cannot send email): ${inactive.join(', ')}. They become active once email can be sent.`);
304
- }
305
- }
306
- catch (err) {
307
- // An older server refuses email methods without a sender: say so, keep going.
308
- if (!(err instanceof backend_1.AtlasApiError && err.status === 422 && err.code === 'EMAIL_PROVIDER_REQUIRED'))
309
- throw err;
310
- log(`Not turned on yet: ${err.message} Re-run atlas init once email can be sent.`);
311
- }
312
- }
313
- if (!emailReady && missing.some((s) => EMAIL_STRATEGIES.has(s))) {
314
- log('Email code / email link need the email sender: they start working as soon as it is ready.');
315
- }
316
- }
317
- // --- 4. custom domain ------------------------------------------------------
318
- if (opts.authHost) {
319
- const domains = (await api.get('/v1/domains')).data ?? [];
320
- let d = domains.find((x) => x.host === opts.authHost);
321
- if (!d) {
322
- d = await api.post('/v1/domains', { host: opts.authHost, role: 'fapi' });
323
- log(`Added custom domain ${opts.authHost}.`);
324
- }
325
- record.custom_domain = { host: d.host, cname_target: d.cname_target, status: d.status };
326
- if (!d.live && d.cname_target) {
327
- log(`Publish this DNS record for the sign-in domain: CNAME ${d.host} → ${d.cname_target} (DNS only, not proxied).`);
328
- }
329
- }
330
- // --- 5. first-party OAuth client -----------------------------------------
331
- if (opts.redirects.length) {
332
- const clientName = `${opts.appName} (${env})`;
333
- const clients = (await api.get('/v1/oauth_clients')).data ?? [];
334
- const existing = clients.find((c) => c.name === clientName);
335
- if (existing) {
336
- const missingUris = opts.redirects.filter((r) => !existing.redirect_uris.includes(r));
337
- if (missingUris.length) {
338
- await api.patch(`/v1/oauth_clients/${existing.id}`, { redirect_uris: [...existing.redirect_uris, ...missingUris] });
339
- log(`Added redirect URIs to OAuth client ${existing.client_id}: ${missingUris.join(', ')}.`);
340
- }
341
- else {
342
- log(`Found OAuth client ${existing.client_id}.`);
343
- }
344
- if (opts.backchannelUrl && existing.backchannel_logout_uri !== opts.backchannelUrl) {
345
- await api.patch(`/v1/oauth_clients/${existing.id}`, { backchannel_logout_uri: opts.backchannelUrl });
346
- log(`Set the back-channel logout URI of ${existing.client_id} to ${opts.backchannelUrl}.`);
347
- }
348
- const hasSecret = Boolean((0, secrets_1.readEnvFile)(clientFile)?.ATLAS_CLIENT_SECRET);
349
- if (!hasSecret)
350
- log(`Its secret is not in ${clientFile}. Mint one with: atlas client rotate ${existing.id} --product ${opts.product} --instance-env ${env}`);
351
- record.oauth_client = {
352
- id: existing.id,
353
- client_id: existing.client_id,
354
- redirect_uris: [...new Set([...existing.redirect_uris, ...missingUris])],
355
- secret_file: hasSecret ? clientFile : null,
356
- };
357
- }
358
- else {
359
- assertFreeForNewSecret(clientFile, opts.force);
360
- const c = await api.post('/v1/oauth_clients', {
361
- name: clientName,
362
- redirect_uris: opts.redirects,
363
- first_party: true,
364
- ...(opts.backchannelUrl ? { backchannel_logout_uri: opts.backchannelUrl } : {}),
365
- });
366
- if (c.client_secret) {
367
- (0, secrets_1.writeSecretFile)(dir, `${env}-oauth-client.env`, { ATLAS_CLIENT_ID: c.client_id, ATLAS_CLIENT_SECRET: c.client_secret }, {
368
- force: opts.force,
369
- comment: `OAuth client ${c.id} for ${opts.appName} (${env}). Server-side only.`,
370
- });
371
- }
372
- record.oauth_client = { id: c.id, client_id: c.client_id, redirect_uris: c.redirect_uris, secret_file: c.client_secret ? clientFile : null };
373
- log(`Created first-party OAuth client ${c.client_id}. Secret written to ${clientFile}.`);
374
- }
375
- }
376
- if (opts.backchannelUrl) {
377
- log(`Back-channel logout goes to ${opts.backchannelUrl}. Serve it with @atlasauth/backend: expressBackchannelLogout, fastifyBackchannelLogoutPlugin or nextBackchannelLogout ({ issuer, clientId, onLogout }). Test it with POST /v1/oauth_clients/{id}/backchannel_logout/test.`);
378
- }
379
- // --- 6. webhook endpoint ---------------------------------------------------
380
- if (opts.webhookUrl) {
381
- const hooks = (await api.get('/v1/webhook_endpoints')).data ?? [];
382
- const existing = hooks.find((h) => h.url === opts.webhookUrl);
383
- if (existing) {
384
- const hasSecret = Boolean((0, secrets_1.readEnvFile)(webhookFile)?.ATLAS_WEBHOOK_SECRET);
385
- record.webhook = { id: existing.id, url: existing.url, secret_file: hasSecret ? webhookFile : null };
386
- log(`Found webhook endpoint ${existing.id}.`);
387
- }
388
- else {
389
- assertFreeForNewSecret(webhookFile, opts.force);
390
- const h = await api.post('/v1/webhook_endpoints', { url: opts.webhookUrl });
391
- if (h.secret) {
392
- (0, secrets_1.writeSecretFile)(dir, `${env}-webhook.env`, { ATLAS_WEBHOOK_SECRET: h.secret }, {
393
- force: opts.force,
394
- comment: `Signing secret for webhook endpoint ${h.id} (${opts.webhookUrl}).`,
395
- });
396
- }
397
- record.webhook = { id: h.id, url: h.url, secret_file: h.secret ? webhookFile : null };
398
- log(`Created webhook endpoint ${h.id}. Signing secret written to ${webhookFile}.`);
399
- }
400
- }
401
- // --- 7. public endpoints, manifest, summary ----------------------------------
402
- const inst = await api.get('/v1/instance').catch(() => undefined);
403
- const host = inst?.frontend_api_host ?? app.frontend_api_host;
404
- const base = host ? `https://${host}` : null;
405
- record.publishable_key = inst?.publishable_key ?? app.publishable_key;
406
- record.frontend_api_host = host ?? null;
407
- record.issuer = inst?.issuer ?? app.issuer ?? base;
408
- record.discovery_url = inst?.discovery_url ?? app.discovery_url ?? (record.issuer ? `${record.issuer}/.well-known/openid-configuration` : null);
409
- record.jwks_uri = inst?.jwks_uri ?? app.jwks_uri ?? (base ? `${base}/.well-known/jwks.json` : null);
410
- const manifest = {
411
- product: opts.product,
412
- api_url: platform.apiUrl,
413
- instances: { ...(previous?.instances ?? {}), [env]: record },
414
- };
415
- const manifestFile = (0, project_1.writeManifest)(ctx.env, manifest);
416
- if (json) {
417
- (0, output_1.printJson)(ctx.io, { created, manifest: manifestFile, ...record });
418
- return 0;
419
- }
420
- ctx.io.out('');
421
- ctx.io.out(`Done. ${created ? 'Created' : 'Updated'} ${opts.appName} (${env}).`);
422
- ctx.io.out(` Instance: ${record.instance_id}`);
423
- ctx.io.out(` Publishable key: ${record.publishable_key}`);
424
- ctx.io.out(` Frontend API: ${base ?? '(not assigned)'}`);
425
- ctx.io.out(` Issuer: ${record.issuer ?? '(unknown)'}`);
426
- ctx.io.out(` Discovery: ${record.discovery_url ?? '(unknown)'}`);
427
- if (record.oauth_client)
428
- ctx.io.out(` OAuth client id: ${record.oauth_client.client_id}`);
429
- ctx.io.out(` Secret key file: ${secretFile}`);
430
- if (record.oauth_client?.secret_file)
431
- ctx.io.out(` Client secret file: ${record.oauth_client.secret_file}`);
432
- if (record.webhook?.secret_file)
433
- ctx.io.out(` Webhook secret file: ${record.webhook.secret_file}`);
434
- ctx.io.out(` Project manifest: ${manifestFile}`);
435
- ctx.io.out(`Next: atlas preflight --product ${opts.product} --instance-env ${env}, and atlas env --product ${opts.product} --format dotenv`);
436
- return 0;
437
- }
438
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { type ParsedArgs } from '../args';
2
- import type { RunContext } from '../context';
3
- /**
4
- * `atlas integrations list | get <id> | set <id> | remove <id> | deliveries <id>`:
5
- * identity integrations — the presets (chatly, forumulate, cookiemunch,
6
- * referalli) and custom ones — with their health and delivery log.
7
- */
8
- export declare function integrations(ctx: RunContext, args: ParsedArgs): Promise<number>;
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.integrations = integrations;
4
- const args_1 = require("../args");
5
- const errors_1 = require("../errors");
6
- const output_1 = require("../output");
7
- const project_1 = require("../project");
8
- const shared_1 = require("./shared");
9
- const COLUMNS = [
10
- { header: 'ID', get: (i) => i.id },
11
- { header: 'NAME', get: (i) => i.name ?? i.id },
12
- { header: 'STATUS', get: (i) => (i.connected ? (i.enabled ? 'on' : 'off') : 'not connected') },
13
- { header: 'AUDIENCE', get: (i) => i.audience ?? '' },
14
- { header: 'LAST MINT', get: (i) => (i.health?.last_minted_at ? (0, output_1.fmtTime)(i.health.last_minted_at) : '') },
15
- { header: 'REFUSED 24H', get: (i) => i.health?.verify_errors_24h ?? '' },
16
- ];
17
- const DELIVERY_COLUMNS = [
18
- { header: 'WHEN', get: (d) => (0, output_1.fmtTime)(d.created_at) },
19
- { header: 'KIND', get: (d) => (d.kind === 'event' ? (d.event_type ?? 'event') : 'back-channel logout') },
20
- { header: 'STATUS', get: (d) => d.status },
21
- { header: 'HTTP', get: (d) => d.http_status ?? '' },
22
- { header: 'ERROR', get: (d) => d.error ?? '' },
23
- { header: 'TRACE', get: (d) => d.trace_id ?? '' },
24
- ];
25
- /** A URL flag: absent = unchanged (preset default), "none" = null (no receiver). */
26
- const urlFlag = (v) => (v === undefined ? undefined : v === 'none' ? null : v);
27
- /**
28
- * `atlas integrations list | get <id> | set <id> | remove <id> | deliveries <id>`:
29
- * identity integrations — the presets (chatly, forumulate, cookiemunch,
30
- * referalli) and custom ones — with their health and delivery log.
31
- */
32
- async function integrations(ctx, args) {
33
- const sub = args.positionals[1];
34
- const id = args.positionals[2];
35
- const json = (0, shared_1.wantsJson)(args.values);
36
- const http = () => {
37
- const auth = (0, shared_1.resolveAuth)(ctx, args.values);
38
- return (0, project_1.httpFor)(ctx, { secretKey: auth.secretKey, apiUrl: auth.apiUrl });
39
- };
40
- const path = (i, rest = '') => `/v1/instance/integrations/${encodeURIComponent(i)}${rest}`;
41
- const needId = () => {
42
- if (!id)
43
- throw new errors_1.CliError(`integrations ${sub} needs an integration id (a preset such as chatly, or your own id).`);
44
- return id;
45
- };
46
- switch (sub) {
47
- case 'list': {
48
- const page = await http().get('/v1/instance/integrations');
49
- if (json)
50
- (0, output_1.printJson)(ctx.io, page);
51
- else
52
- ctx.io.out((0, output_1.renderTable)(COLUMNS, page.data));
53
- return 0;
54
- }
55
- case 'get': {
56
- (0, output_1.printJson)(ctx.io, await http().get(path(needId())));
57
- return 0;
58
- }
59
- case 'set': {
60
- const target = needId();
61
- const body = {};
62
- const audience = (0, args_1.str)(args.values, 'audience');
63
- if (audience)
64
- body.audience = audience;
65
- const name = (0, args_1.str)(args.values, 'name');
66
- if (name)
67
- body.name = name;
68
- const events = urlFlag((0, args_1.str)(args.values, 'events-url'));
69
- if (events !== undefined)
70
- body.events_url = events;
71
- const bcl = urlFlag((0, args_1.str)(args.values, 'backchannel-logout-url'));
72
- if (bcl !== undefined)
73
- body.backchannel_logout_url = bcl;
74
- const oauthClient = urlFlag((0, args_1.str)(args.values, 'oauth-client-id'));
75
- if (oauthClient !== undefined)
76
- body.oauth_client_id = oauthClient;
77
- if (args.values.disable === true)
78
- body.enabled = false;
79
- if (Object.keys(body).length === 0)
80
- throw new errors_1.CliError('integrations set needs --audience (and --name for a custom integration), or --disable.');
81
- const saved = await http().put(path(target, args.values['dry-run'] === true ? '?dry_run=true' : ''), body);
82
- if (json)
83
- (0, output_1.printJson)(ctx.io, saved);
84
- else
85
- ctx.io.out(`${saved.dry_run ? 'Would save' : 'Saved'} ${saved.id}: ${saved.enabled ? 'on' : 'off'}, audience ${saved.audience}. In your app: getToken({ for: '${saved.id}' }).`);
86
- return 0;
87
- }
88
- case 'remove': {
89
- const target = needId();
90
- await http().delete(path(target));
91
- if (json)
92
- (0, output_1.printJson)(ctx.io, { id: target, removed: true });
93
- else
94
- ctx.io.out(`Removed ${target}.`);
95
- return 0;
96
- }
97
- case 'deliveries': {
98
- const trace = (0, args_1.str)(args.values, 'trace');
99
- const page = await http().get(path(needId(), `/deliveries${trace ? `?trace=${encodeURIComponent(trace)}` : ''}`));
100
- if (json)
101
- (0, output_1.printJson)(ctx.io, page);
102
- else
103
- ctx.io.out((0, output_1.renderTable)(DELIVERY_COLUMNS, page.data));
104
- return 0;
105
- }
106
- default:
107
- throw new errors_1.CliError(sub
108
- ? `Unknown subcommand 'integrations ${sub}'. Try: list, get, set, remove, deliveries.`
109
- : 'integrations needs a subcommand: list, get, set, remove, deliveries.');
110
- }
111
- }
112
- //# sourceMappingURL=integrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/commands/integrations.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { type ParsedArgs } from '../args';
2
- import type { RunContext } from '../context';
3
- /** Parse a Server-Sent Events byte stream into `{event, id, data}` messages. */
4
- export declare function readSse(body: ReadableStream<Uint8Array>): AsyncGenerator<{
5
- event: string;
6
- id?: string;
7
- data: string;
8
- }>;
9
- /**
10
- * `atlas listen --forward-to <url> [--events user.*,session.created]`: the
11
- * Stripe-CLI pattern for local webhook development. Opens a signed event
12
- * stream from the instance, POSTs each event to your local server with the
13
- * normal `atlas-id` / `atlas-timestamp` / `atlas-signature` headers, and
14
- * prints what your server answered. The signing secret is for this session
15
- * only and is written to a 0600 file; point your verifier at it.
16
- */
17
- export declare function listen(ctx: RunContext, args: ParsedArgs): Promise<number>;