@atlasauth/cli 0.7.0 → 0.9.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 (75) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/args.d.ts +155 -0
  3. package/dist/args.js +66 -1
  4. package/dist/args.js.map +1 -1
  5. package/dist/commands/auth.js +5 -1
  6. package/dist/commands/auth.js.map +1 -1
  7. package/dist/commands/config.d.ts +56 -1
  8. package/dist/commands/config.js +188 -29
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/csp.d.ts +32 -0
  11. package/dist/commands/csp.js +180 -0
  12. package/dist/commands/csp.js.map +1 -0
  13. package/dist/commands/import-better-auth.d.ts +3 -0
  14. package/dist/commands/import-better-auth.js +164 -0
  15. package/dist/commands/import-better-auth.js.map +1 -0
  16. package/dist/commands/import.js +7 -0
  17. package/dist/commands/import.js.map +1 -1
  18. package/dist/commands/info.js +1 -1
  19. package/dist/commands/info.js.map +1 -1
  20. package/dist/commands/init.js +26 -2
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/integrations.d.ts +8 -0
  23. package/dist/commands/integrations.js +112 -0
  24. package/dist/commands/integrations.js.map +1 -0
  25. package/dist/commands/listen.d.ts +17 -0
  26. package/dist/commands/listen.js +223 -0
  27. package/dist/commands/listen.js.map +1 -0
  28. package/dist/commands/migrate.js +40 -1
  29. package/dist/commands/migrate.js.map +1 -1
  30. package/dist/commands/move-origin.d.ts +11 -0
  31. package/dist/commands/move-origin.js +95 -0
  32. package/dist/commands/move-origin.js.map +1 -0
  33. package/dist/commands/operator.d.ts +26 -0
  34. package/dist/commands/operator.js +198 -0
  35. package/dist/commands/operator.js.map +1 -0
  36. package/dist/commands/project-commands.d.ts +12 -0
  37. package/dist/commands/project-commands.js +130 -30
  38. package/dist/commands/project-commands.js.map +1 -1
  39. package/dist/commands/referrals.d.ts +4 -4
  40. package/dist/commands/referrals.js +203 -33
  41. package/dist/commands/referrals.js.map +1 -1
  42. package/dist/commands/shared.d.ts +6 -0
  43. package/dist/commands/shared.js +10 -1
  44. package/dist/commands/shared.js.map +1 -1
  45. package/dist/commands/status.d.ts +3 -0
  46. package/dist/commands/status.js +77 -0
  47. package/dist/commands/status.js.map +1 -0
  48. package/dist/commands/webhooks.d.ts +29 -2
  49. package/dist/commands/webhooks.js +257 -24
  50. package/dist/commands/webhooks.js.map +1 -1
  51. package/dist/config.d.ts +14 -0
  52. package/dist/config.js.map +1 -1
  53. package/dist/context.d.ts +13 -0
  54. package/dist/context.js.map +1 -1
  55. package/dist/help.d.ts +1 -1
  56. package/dist/help.js +221 -17
  57. package/dist/help.js.map +1 -1
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.js +10 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/migrate/better-auth/integration.d.ts +59 -0
  62. package/dist/migrate/better-auth/integration.js +81 -0
  63. package/dist/migrate/better-auth/integration.js.map +1 -0
  64. package/dist/migrate/better-auth/orchestrator.d.ts +43 -0
  65. package/dist/migrate/better-auth/orchestrator.js +525 -0
  66. package/dist/migrate/better-auth/orchestrator.js.map +1 -0
  67. package/dist/migrate/better-auth/output.d.ts +20 -0
  68. package/dist/migrate/better-auth/output.js +146 -0
  69. package/dist/migrate/better-auth/output.js.map +1 -0
  70. package/dist/migrate/better-auth/translate.d.ts +77 -0
  71. package/dist/migrate/better-auth/translate.js +1989 -0
  72. package/dist/migrate/better-auth/translate.js.map +1 -0
  73. package/dist/run.js +14 -0
  74. package/dist/run.js.map +1 -1
  75. package/package.json +5 -4
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.config = config;
4
+ exports.resolveFormat = resolveFormat;
5
+ exports.planConfigImport = planConfigImport;
6
+ exports.diffFields = diffFields;
7
+ exports.printPlan = printPlan;
8
+ exports.interpolate = interpolate;
4
9
  const node_fs_1 = require("node:fs");
5
10
  const node_path_1 = require("node:path");
6
11
  const args_1 = require("../args");
@@ -64,10 +69,12 @@ function registry() {
64
69
  },
65
70
  async apply(http, config) {
66
71
  const c = compact(config);
67
- await http.patch('/v1/instance', {
68
- allowed_origins: c.allowed_origins ?? [],
69
- auth_config: c.auth_config ?? {},
70
- });
72
+ // A file without allowed_origins leaves the live origins alone (a partial
73
+ // document, e.g. one produced by `atlas migrate better-auth config`).
74
+ const body = { auth_config: c.auth_config ?? {} };
75
+ if (c.allowed_origins !== undefined)
76
+ body.allowed_origins = c.allowed_origins;
77
+ await http.patch('/v1/instance', body);
71
78
  },
72
79
  },
73
80
  // 2. Org settings schema (P1-5) — a singleton JSON Schema; 404 when unset.
@@ -150,6 +157,31 @@ function registry() {
150
157
  await http.delete(`/v1/oauth_providers/${enc(live.id)}`);
151
158
  },
152
159
  },
160
+ // 5b. Custom (generic) OAuth 2.0 / OIDC login providers — key = provider_key.
161
+ {
162
+ kind: 'collection',
163
+ type: 'custom_oauth_providers',
164
+ keyOf: (c) => String(obj(c).provider_key ?? ''),
165
+ async fetchLive(http) {
166
+ const rows = await listData(http, '/v1/custom_oauth_providers');
167
+ return rows.map((r) => ({
168
+ key: String(r.provider_key ?? ''),
169
+ id: String(r.id ?? ''),
170
+ config: pick(r, CUSTOM_PROVIDER_KEYS),
171
+ }));
172
+ },
173
+ async create(http, config) {
174
+ await http.post('/v1/custom_oauth_providers', compact(config));
175
+ },
176
+ async update(http, live, config) {
177
+ const body = compact(config);
178
+ delete body.provider_key; // immutable
179
+ await http.patch(`/v1/custom_oauth_providers/${enc(live.id)}`, body);
180
+ },
181
+ async remove(http, live) {
182
+ await http.delete(`/v1/custom_oauth_providers/${enc(live.id)}`);
183
+ },
184
+ },
153
185
  // 6. Resource servers (API audiences) — key = identifier.
154
186
  {
155
187
  kind: 'collection',
@@ -202,6 +234,28 @@ function registry() {
202
234
  await http.delete(`/v1/jwt_templates/${enc(live.id)}`);
203
235
  },
204
236
  },
237
+ // 7b. Custom permissions — key = key. Before roles, which grant them. System ones skipped.
238
+ {
239
+ kind: 'collection',
240
+ type: 'permissions',
241
+ keyOf: (c) => String(obj(c).key ?? ''),
242
+ async fetchLive(http) {
243
+ const rows = await listData(http, '/v1/permissions');
244
+ return rows
245
+ .filter((r) => r.is_system !== true)
246
+ .map((r) => ({ key: String(r.key ?? ''), id: String(r.id ?? ''), config: pick(r, PERMISSION_KEYS) }));
247
+ },
248
+ async create(http, config) {
249
+ await http.post('/v1/permissions', compact(config));
250
+ },
251
+ async update(http, live, config) {
252
+ const c = obj(config);
253
+ await http.patch(`/v1/permissions/${enc(live.id)}`, { name: c.name, description: c.description ?? null });
254
+ },
255
+ async remove(http, live) {
256
+ await http.delete(`/v1/permissions/${enc(live.id)}`);
257
+ },
258
+ },
205
259
  // 8. Roles — key = key; label via PATCH, permission set via PUT. System roles skipped.
206
260
  {
207
261
  kind: 'collection',
@@ -417,6 +471,30 @@ const RESOURCE_SERVER_KEYS = [
417
471
  'signing_alg',
418
472
  ];
419
473
  const ROLE_KEYS = ['key', 'name', 'description', 'permissions'];
474
+ const PERMISSION_KEYS = ['key', 'name', 'description'];
475
+ const CUSTOM_PROVIDER_KEYS = [
476
+ 'provider_key',
477
+ 'display_name',
478
+ 'icon_url',
479
+ 'protocol',
480
+ 'issuer',
481
+ 'discovery_url',
482
+ 'authorization_endpoint',
483
+ 'token_endpoint',
484
+ 'userinfo_endpoint',
485
+ 'jwks_uri',
486
+ 'scopes',
487
+ 'pkce',
488
+ 'authorization_params',
489
+ 'token_params',
490
+ 'token_endpoint_auth_method',
491
+ 'profile_source',
492
+ 'profile_mapping',
493
+ 'client_id',
494
+ 'enabled',
495
+ 'allow_sign_in',
496
+ 'allow_sign_up',
497
+ ];
420
498
  const WEBHOOK_KEYS = ['url', 'enabled_events', 'active'];
421
499
  const SSO_KEYS = [
422
500
  'type',
@@ -450,6 +528,9 @@ const BILLING_KEYS = [
450
528
  'trial_days',
451
529
  'stripe_meter_id',
452
530
  'usage_unit',
531
+ 'provider',
532
+ 'annual_price_id',
533
+ 'kind',
453
534
  ];
454
535
  const NOTIFICATION_KEYS = ['name', 'subject', 'body', 'category'];
455
536
  const EMAIL_KEYS = ['name', 'subject', 'text'];
@@ -478,7 +559,8 @@ function ssoKey(config) {
478
559
  /** Configure an OAuth provider: credentials/scopes (PUT), then scope + enabled toggles. */
479
560
  async function putProvider(http, config) {
480
561
  const c = obj(config);
481
- const values = {};
562
+ // Provider settings (a tenant, a domain, Apple's team/key ids) ride along in `values`.
563
+ const values = { ...obj(c.values ?? null) };
482
564
  if (c.client_id !== undefined && c.client_id !== null)
483
565
  values.client_id = c.client_id;
484
566
  // A secret only exists here when the file carried a ${ENV} placeholder for it.
@@ -490,6 +572,9 @@ async function putProvider(http, config) {
490
572
  body.values = values;
491
573
  if (Array.isArray(c.scopes))
492
574
  body.scopes = c.scopes;
575
+ // Credential-less providers (siwe, siws, siwf) take verifier settings instead.
576
+ if (c.settings && typeof c.settings === 'object' && !Array.isArray(c.settings))
577
+ body.settings = c.settings;
493
578
  const provider = String(c.provider ?? '');
494
579
  if (Object.keys(body).length) {
495
580
  await http.put(`/v1/oauth_providers/${enc(provider)}`, body);
@@ -533,10 +618,12 @@ async function config(ctx, args) {
533
618
  return exportConfig(ctx, args.values);
534
619
  case 'import':
535
620
  return importConfig(ctx, args.values);
621
+ case 'plan':
622
+ return planConfig(ctx, args.values);
536
623
  default:
537
624
  throw new errors_1.CliError(sub
538
- ? `Unknown subcommand 'config ${sub}'. Try: export, import.`
539
- : 'config needs a subcommand: export, import.');
625
+ ? `Unknown subcommand 'config ${sub}'. Try: export, import, plan.`
626
+ : 'config needs a subcommand: export, import, plan.');
540
627
  }
541
628
  }
542
629
  function resolveFormat(values) {
@@ -585,19 +672,19 @@ async function exportConfig(ctx, values) {
585
672
  ctx.io.out('Secrets are never exported — supply any credential at import via a ${ENV} placeholder.');
586
673
  return 0;
587
674
  }
588
- async function importConfig(ctx, values) {
589
- const http = requireHttp(ctx, values);
590
- const dir = resolveDir(values);
591
- const format = resolveFormat(values);
675
+ /**
676
+ * Diff a config directory against the live instance. Nothing is written: the
677
+ * returned changes carry their own `apply`. Used by `atlas config import` and by
678
+ * `atlas migrate better-auth` (which shows the plan before applying it).
679
+ */
680
+ async function planConfigImport(http, opts) {
681
+ const { dir, format, env, prune } = opts;
592
682
  const ext = format === 'json' ? 'json' : 'yaml';
593
- const dryRun = values['dry-run'] === true;
594
- const prune = values.prune === true;
595
683
  if (!(0, node_fs_1.existsSync)(dir)) {
596
684
  throw new errors_1.CliError(`Config directory not found: ${dir}. Run 'atlas config export' first.`);
597
685
  }
598
686
  const present = new Set((0, node_fs_1.readdirSync)(dir));
599
687
  const changes = [];
600
- const applications = [];
601
688
  let unchanged = 0;
602
689
  const skippedDeletes = [];
603
690
  for (const spec of registry()) {
@@ -606,7 +693,7 @@ async function importConfig(ctx, values) {
606
693
  if (!present.has(file))
607
694
  continue;
608
695
  const text = (0, node_fs_1.readFileSync)((0, node_path_1.join)(dir, file), 'utf8');
609
- const parsed = interpolate((0, serialize_1.deserialize)(text, format), ctx.env);
696
+ const parsed = interpolate((0, serialize_1.deserialize)(text, format), env);
610
697
  if (spec.kind === 'singleton') {
611
698
  const desired = parsed;
612
699
  const live = await spec.fetchLive(http);
@@ -614,8 +701,7 @@ async function importConfig(ctx, values) {
614
701
  unchanged += 1;
615
702
  continue;
616
703
  }
617
- changes.push({ type: spec.type, action: live === null ? 'create' : 'update', key: '' });
618
- applications.push(() => spec.apply(http, desired));
704
+ changes.push({ type: spec.type, action: live === null ? 'create' : 'update', key: '', ...(live === null ? {} : { before: live }), after: desired, apply: () => spec.apply(http, desired) });
619
705
  continue;
620
706
  }
621
707
  // Collection: diff desired-by-key against live-by-key.
@@ -628,16 +714,14 @@ async function importConfig(ctx, values) {
628
714
  for (const [key, cfg] of desiredByKey) {
629
715
  const existing = liveByKey.get(key);
630
716
  if (!existing) {
631
- changes.push({ type: spec.type, action: 'create', key });
632
- applications.push(() => spec.create(http, cfg));
717
+ changes.push({ type: spec.type, action: 'create', key, after: cfg, apply: () => spec.create(http, cfg) });
633
718
  }
634
719
  else if (!(0, serialize_1.deepEqual)(cfg, existing.config)) {
635
720
  if (!spec.update) {
636
721
  throw new errors_1.CliError(`${spec.type} '${key}' changed but is immutable; recreate it instead.`);
637
722
  }
638
723
  const upd = spec.update;
639
- changes.push({ type: spec.type, action: 'update', key });
640
- applications.push(() => upd(http, existing, cfg));
724
+ changes.push({ type: spec.type, action: 'update', key, before: existing.config, after: cfg, apply: () => upd(http, existing, cfg) });
641
725
  }
642
726
  else {
643
727
  unchanged += 1;
@@ -646,32 +730,107 @@ async function importConfig(ctx, values) {
646
730
  for (const entry of live) {
647
731
  if (desiredByKey.has(entry.key))
648
732
  continue;
649
- const change = { type: spec.type, action: 'delete', key: entry.key };
733
+ const change = { type: spec.type, action: 'delete', key: entry.key, before: entry.config };
650
734
  if (!spec.remove) {
651
735
  skippedDeletes.push(change);
652
736
  continue;
653
737
  }
654
738
  if (prune) {
655
739
  const rm = spec.remove;
656
- changes.push(change);
657
- applications.push(() => rm(http, entry));
740
+ changes.push({ ...change, apply: () => rm(http, entry) });
658
741
  }
659
742
  else {
660
743
  skippedDeletes.push(change);
661
744
  }
662
745
  }
663
746
  }
664
- printPlan(ctx, changes, unchanged, skippedDeletes, { dryRun, prune });
747
+ return { changes, unchanged, skippedDeletes };
748
+ }
749
+ async function importConfig(ctx, values) {
750
+ const http = requireHttp(ctx, values);
751
+ const dir = resolveDir(values);
752
+ const format = resolveFormat(values);
753
+ const dryRun = values['dry-run'] === true;
754
+ const prune = values.prune === true;
755
+ const plan = await planConfigImport(http, { dir, format, env: ctx.env, prune });
756
+ printPlan(ctx, plan.changes, plan.unchanged, plan.skippedDeletes, { dryRun, prune });
665
757
  if (dryRun)
666
758
  return 0;
667
- for (const apply of applications)
668
- await apply();
669
- if (changes.length)
670
- ctx.io.out(`Applied ${changes.length} change(s).`);
759
+ for (const change of plan.changes)
760
+ await change.apply();
761
+ if (plan.changes.length)
762
+ ctx.io.out(`Applied ${plan.changes.length} change(s).`);
671
763
  else
672
764
  ctx.io.out('No changes to apply.');
673
765
  return 0;
674
766
  }
767
+ /** Leaf-level differences between two documents, as dotted paths (arrays compare whole). */
768
+ function diffFields(before, after, path = '') {
769
+ const isObj = (x) => x !== null && typeof x === 'object' && !Array.isArray(x);
770
+ if (isObj(before) && isObj(after)) {
771
+ const keys = [...new Set([...Object.keys(before), ...Object.keys(after)])].sort();
772
+ return keys.flatMap((k) => diffFields(before[k], after[k], path ? `${path}.${k}` : k));
773
+ }
774
+ if (before !== undefined && after !== undefined && (0, serialize_1.deepEqual)(before, after))
775
+ return [];
776
+ if (before === undefined && after === undefined)
777
+ return [];
778
+ return [{ path: path || '(document)', ...(before === undefined ? {} : { before }), ...(after === undefined ? {} : { after }) }];
779
+ }
780
+ const show = (v) => (v === undefined ? '(unset)' : typeof v === 'string' ? JSON.stringify(v) : JSON.stringify(v));
781
+ /**
782
+ * `atlas config plan`: a Terraform-style, read-only diff of a config directory
783
+ * (`atlas config export` output, committed to git) against the live instance.
784
+ * Field-level for updates, `--json` for tooling, and `--exit-code` to exit 2
785
+ * when there is drift so CI can gate on it. Never writes anything.
786
+ */
787
+ async function planConfig(ctx, values) {
788
+ const http = requireHttp(ctx, values);
789
+ const dir = resolveDir(values);
790
+ const format = resolveFormat(values);
791
+ const prune = values.prune === true;
792
+ const plan = await planConfigImport(http, { dir, format, env: ctx.env, prune });
793
+ const deletes = prune ? [] : plan.skippedDeletes;
794
+ const all = plan.changes;
795
+ const rows = all.map((c) => ({
796
+ type: c.type,
797
+ key: c.key || null,
798
+ action: c.action,
799
+ fields: c.action === 'update' ? diffFields(c.before, c.after) : [],
800
+ }));
801
+ const pending = rows.length;
802
+ if (values.json === true) {
803
+ ctx.io.out(JSON.stringify({
804
+ object: 'config_plan',
805
+ changes: rows,
806
+ unchanged: plan.unchanged,
807
+ unmanaged_live: deletes.map((d) => ({ type: d.type, key: d.key || null })),
808
+ has_changes: pending > 0,
809
+ }, null, 2));
810
+ }
811
+ else {
812
+ ctx.io.out(`Plan: ${pending} to change, ${plan.unchanged} unchanged${deletes.length ? `, ${deletes.length} live but not in config` : ''}.`);
813
+ const sign = { create: '+', update: '~', delete: '-' };
814
+ for (const c of [...all].sort(sortChange)) {
815
+ const label = c.key ? `${c.type} ${c.key}` : c.type;
816
+ ctx.io.out('');
817
+ ctx.io.out(`${sign[c.action]} ${label} (${c.action})`);
818
+ if (c.action === 'update') {
819
+ for (const f of diffFields(c.before, c.after))
820
+ ctx.io.out(` ${f.path}: ${show(f.before)} -> ${show(f.after)}`);
821
+ }
822
+ }
823
+ if (deletes.length) {
824
+ ctx.io.out('');
825
+ ctx.io.out(`Live but not in ${dir} (kept; pass --prune to plan their deletion):`);
826
+ for (const d of deletes)
827
+ ctx.io.out(` ${d.type}${d.key ? ` ${d.key}` : ''}`);
828
+ }
829
+ if (pending === 0)
830
+ ctx.io.out('No drift: the instance matches the config directory.');
831
+ }
832
+ return values['exit-code'] === true && pending > 0 ? 2 : 0;
833
+ }
675
834
  function printPlan(ctx, changes, unchanged, skippedDeletes, opts) {
676
835
  const heading = opts.dryRun ? 'Plan (dry run — nothing applied):' : 'Plan:';
677
836
  ctx.io.out(heading);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type ParsedArgs } from '../args';
2
+ import type { RunContext } from '../context';
3
+ /** One surface of the embed manifest (`GET /v1/embed`): the CSP sources it needs. */
4
+ interface EmbedSurface {
5
+ csp?: Record<string, string[]>;
6
+ requires?: Record<string, string[]>;
7
+ sri?: Record<string, string>;
8
+ }
9
+ interface EmbedManifest {
10
+ product?: string;
11
+ surfaces?: Record<string, EmbedSurface>;
12
+ changes?: Array<{
13
+ effective?: string;
14
+ surface?: string;
15
+ add?: Record<string, string[]>;
16
+ remove?: Record<string, string[]>;
17
+ note?: string;
18
+ }>;
19
+ }
20
+ declare const FRAMEWORKS: readonly ["next", "express", "nginx"];
21
+ type Framework = (typeof FRAMEWORKS)[number];
22
+ /** Merge the CSP sources of the chosen surfaces into one directive map (union, stable order). */
23
+ export declare function mergeCsp(manifest: EmbedManifest, shape?: string): Record<string, string[]>;
24
+ export declare function renderCsp(framework: Framework, directives: Record<string, string[]>): string;
25
+ /**
26
+ * `atlas csp --framework next|express|nginx [--shape redirect|panel|button]`:
27
+ * read the instance's embed manifest (`GET /v1/embed`, which fills in your
28
+ * custom FAPI host and any consent or captcha origins) and print the Content
29
+ * Security Policy sources Atlas needs, ready to paste. Read-only.
30
+ */
31
+ export declare function csp(ctx: RunContext, args: ParsedArgs): Promise<number>;
32
+ export {};