@getbrevo/cli 1.0.1 → 1.1.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 (111) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +16 -4
  3. package/agent-context/AGENTS.md +23 -5
  4. package/agent-context/SKILL.md +23 -3
  5. package/dist/api/client.d.ts +2 -0
  6. package/dist/api/client.d.ts.map +1 -1
  7. package/dist/api/client.js +50 -36
  8. package/dist/api/client.js.map +1 -1
  9. package/dist/bin/index.js +9 -5
  10. package/dist/bin/index.js.map +1 -1
  11. package/dist/commands/app/create.d.ts +1 -0
  12. package/dist/commands/app/create.d.ts.map +1 -1
  13. package/dist/commands/app/create.js +257 -201
  14. package/dist/commands/app/create.js.map +1 -1
  15. package/dist/commands/app/delete.d.ts.map +1 -1
  16. package/dist/commands/app/delete.js +81 -62
  17. package/dist/commands/app/delete.js.map +1 -1
  18. package/dist/commands/app/list.d.ts.map +1 -1
  19. package/dist/commands/app/list.js +10 -2
  20. package/dist/commands/app/list.js.map +1 -1
  21. package/dist/commands/app/scaffold.d.ts.map +1 -1
  22. package/dist/commands/app/scaffold.js +14 -3
  23. package/dist/commands/app/scaffold.js.map +1 -1
  24. package/dist/commands/app/scopes.d.ts +2 -0
  25. package/dist/commands/app/scopes.d.ts.map +1 -0
  26. package/dist/commands/app/scopes.js +81 -0
  27. package/dist/commands/app/scopes.js.map +1 -0
  28. package/dist/commands/app/start.d.ts.map +1 -1
  29. package/dist/commands/app/start.js +7 -0
  30. package/dist/commands/app/start.js.map +1 -1
  31. package/dist/commands/app/update.d.ts.map +1 -1
  32. package/dist/commands/app/update.js +305 -189
  33. package/dist/commands/app/update.js.map +1 -1
  34. package/dist/commands/definitions.d.ts.map +1 -1
  35. package/dist/commands/definitions.js +44 -1
  36. package/dist/commands/definitions.js.map +1 -1
  37. package/dist/commands/init.d.ts.map +1 -1
  38. package/dist/commands/init.js +15 -2
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/login.d.ts.map +1 -1
  41. package/dist/commands/login.js +154 -138
  42. package/dist/commands/login.js.map +1 -1
  43. package/dist/commands/whoami.d.ts.map +1 -1
  44. package/dist/commands/whoami.js +27 -20
  45. package/dist/commands/whoami.js.map +1 -1
  46. package/dist/lang/en.d.ts +43 -3
  47. package/dist/lang/en.d.ts.map +1 -1
  48. package/dist/lang/en.js +44 -3
  49. package/dist/lang/en.js.map +1 -1
  50. package/dist/lib/auth-guard.d.ts.map +1 -1
  51. package/dist/lib/auth-guard.js +10 -1
  52. package/dist/lib/auth-guard.js.map +1 -1
  53. package/dist/lib/cli-version.d.ts +2 -0
  54. package/dist/lib/cli-version.d.ts.map +1 -0
  55. package/dist/lib/cli-version.js +59 -0
  56. package/dist/lib/cli-version.js.map +1 -0
  57. package/dist/lib/config.d.ts +1 -1
  58. package/dist/lib/config.d.ts.map +1 -1
  59. package/dist/lib/config.js +15 -1
  60. package/dist/lib/config.js.map +1 -1
  61. package/dist/lib/constants.d.ts +12 -1
  62. package/dist/lib/constants.d.ts.map +1 -1
  63. package/dist/lib/constants.js +26 -2
  64. package/dist/lib/constants.js.map +1 -1
  65. package/dist/lib/logger.d.ts.map +1 -1
  66. package/dist/lib/logger.js +16 -3
  67. package/dist/lib/logger.js.map +1 -1
  68. package/dist/lib/telemetry.d.ts +9 -0
  69. package/dist/lib/telemetry.d.ts.map +1 -0
  70. package/dist/lib/telemetry.js +57 -0
  71. package/dist/lib/telemetry.js.map +1 -0
  72. package/dist/lib/update-notifier.d.ts.map +1 -1
  73. package/dist/lib/update-notifier.js +24 -20
  74. package/dist/lib/update-notifier.js.map +1 -1
  75. package/dist/lib/validators.d.ts +23 -0
  76. package/dist/lib/validators.d.ts.map +1 -1
  77. package/dist/lib/validators.js +75 -0
  78. package/dist/lib/validators.js.map +1 -1
  79. package/dist/services/app.d.ts +3 -0
  80. package/dist/services/app.d.ts.map +1 -1
  81. package/dist/services/app.js +6 -1
  82. package/dist/services/app.js.map +1 -1
  83. package/dist/services/oauth-metadata.d.ts +7 -0
  84. package/dist/services/oauth-metadata.d.ts.map +1 -0
  85. package/dist/services/oauth-metadata.js +43 -0
  86. package/dist/services/oauth-metadata.js.map +1 -0
  87. package/dist/services/scopes-html.d.ts +3 -0
  88. package/dist/services/scopes-html.d.ts.map +1 -0
  89. package/dist/services/scopes-html.js +516 -0
  90. package/dist/services/scopes-html.js.map +1 -0
  91. package/dist/services/scopes-web.d.ts +12 -0
  92. package/dist/services/scopes-web.d.ts.map +1 -0
  93. package/dist/services/scopes-web.js +95 -0
  94. package/dist/services/scopes-web.js.map +1 -0
  95. package/dist/services/skill.js +1 -1
  96. package/dist/services/skill.js.map +1 -1
  97. package/dist/skills/index.d.ts +2 -1
  98. package/dist/skills/index.d.ts.map +1 -1
  99. package/dist/skills/index.js +3 -22
  100. package/dist/skills/index.js.map +1 -1
  101. package/dist/templates/files/AGENTS.md.tmpl +1 -1
  102. package/dist/templates/files/CLAUDE.md.tmpl +1 -1
  103. package/dist/templates/files/README.md.tmpl +2 -1
  104. package/dist/templates/files/app-config.json.tmpl +1 -1
  105. package/dist/types.d.ts +2 -0
  106. package/dist/types.d.ts.map +1 -1
  107. package/package.json +1 -2
  108. package/dist/lib/min-version-check.d.ts +0 -15
  109. package/dist/lib/min-version-check.d.ts.map +0 -1
  110. package/dist/lib/min-version-check.js +0 -33
  111. package/dist/lib/min-version-check.js.map +0 -1
@@ -12,6 +12,7 @@ const credentials_1 = require("./app/credentials");
12
12
  const update_1 = require("./app/update");
13
13
  const delete_1 = require("./app/delete");
14
14
  const scaffold_1 = require("./app/scaffold");
15
+ const scopes_1 = require("./app/scopes");
15
16
  const start_1 = require("./app/start");
16
17
  const install_1 = require("./skill/install");
17
18
  const uninstall_1 = require("./skill/uninstall");
@@ -63,6 +64,7 @@ exports.appCommandGroup = {
63
64
  'brevo app create --name "My App" --distribution private',
64
65
  'brevo app create --name "My App" --distribution private --redirect-uri http://localhost:3009/auth/callback',
65
66
  'brevo app create --name "My App" --distribution private --redirect-uri http://localhost:3009/auth/callback --redirect-uri https://myapp.com/callback --json',
67
+ 'brevo app create --name "My App" --distribution private --logo-uri https://example.com/logo.png',
66
68
  ],
67
69
  options: [
68
70
  { flags: '--name <name>', description: 'App name' },
@@ -72,12 +74,21 @@ exports.appCommandGroup = {
72
74
  description: 'Redirect URI (repeatable)',
73
75
  parser: validators_1.collectUrls,
74
76
  },
77
+ {
78
+ flags: '--logo-uri <url>',
79
+ description: 'App logo URL (http or https)',
80
+ parser: (v) => {
81
+ (0, validators_1.validateUrl)(v, 'logo URL');
82
+ return v;
83
+ },
84
+ },
75
85
  { flags: '--json', description: 'Output as JSON' },
76
86
  ],
77
87
  handler: (opts) => (0, create_1.createCommand)({
78
88
  name: opts.name,
79
89
  distribution: opts.distribution,
80
90
  redirectUri: opts.redirectUri,
91
+ logoUri: opts.logoUri,
81
92
  json: Boolean(opts.json),
82
93
  }),
83
94
  },
@@ -112,7 +123,7 @@ exports.appCommandGroup = {
112
123
  },
113
124
  {
114
125
  name: 'update',
115
- description: 'Update an app name or redirect URLs',
126
+ description: 'Update an app name, redirect URLs, scopes, or logo URL',
116
127
  examples: [
117
128
  'brevo app update',
118
129
  'brevo app update --name "My New Name"',
@@ -120,6 +131,9 @@ exports.appCommandGroup = {
120
131
  'brevo app update --name "My App" --redirect-uri https://myapp.com/callback',
121
132
  'brevo app update --app-id 42 --name "My App"',
122
133
  'brevo app update --app-id 42 --redirect-uri https://myapp.com/callback --json',
134
+ 'brevo app update --logo-uri https://example.com/logo.png',
135
+ 'brevo app update --scope crm:write',
136
+ 'brevo app update --scope contacts:read --scope crm:write',
123
137
  ],
124
138
  options: [
125
139
  {
@@ -133,6 +147,19 @@ exports.appCommandGroup = {
133
147
  description: 'Redirect URI to append (repeatable)',
134
148
  parser: validators_1.collectUrls,
135
149
  },
150
+ {
151
+ flags: '--scope <scope>',
152
+ description: 'OAuth scope to append (repeatable; comma- or whitespace-separated values are split)',
153
+ parser: validators_1.collectScopes,
154
+ },
155
+ {
156
+ flags: '--logo-uri <url>',
157
+ description: 'App logo URL (http or https)',
158
+ parser: (v) => {
159
+ (0, validators_1.validateUrl)(v, 'logo URL');
160
+ return v;
161
+ },
162
+ },
136
163
  { flags: '--yes', description: 'Skip confirmation prompt' },
137
164
  { flags: '--json', description: 'Output as JSON' },
138
165
  ],
@@ -140,6 +167,8 @@ exports.appCommandGroup = {
140
167
  appId: opts.appId,
141
168
  name: opts.name,
142
169
  redirectUri: opts.redirectUri,
170
+ logoUri: opts.logoUri,
171
+ scope: opts.scope,
143
172
  yes: Boolean(opts.yes),
144
173
  json: Boolean(opts.json),
145
174
  }),
@@ -177,6 +206,20 @@ exports.appCommandGroup = {
177
206
  ],
178
207
  handler: (opts) => (0, scaffold_1.scaffoldCommand)({ appId: opts.appId, json: Boolean(opts.json) }),
179
208
  },
209
+ {
210
+ name: 'available-scopes',
211
+ description: 'List OAuth scopes supported by the IdP',
212
+ examples: [
213
+ 'brevo app available-scopes',
214
+ 'brevo app available-scopes --web',
215
+ 'brevo app available-scopes --json',
216
+ ],
217
+ options: [
218
+ { flags: '--json', description: 'Output as JSON' },
219
+ { flags: '--web', description: 'Open the scope catalog in a local browser page' },
220
+ ],
221
+ handler: (opts) => (0, scopes_1.scopesCommand)({ json: Boolean(opts.json), web: Boolean(opts.web) }),
222
+ },
180
223
  {
181
224
  name: 'start',
182
225
  description: 'Run a scaffolded feature locally',
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/commands/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/commands/definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,WAAW,kDAwCvB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqEA,eAAO,MAAM,WAAW,kDAwCvB,CAAC"}
@@ -17,8 +17,21 @@ const scaffold_1 = require("./app/scaffold");
17
17
  const container_1 = require("../container");
18
18
  async function ensureLoggedIn() {
19
19
  if ((0, config_1.isAuthenticated)()) {
20
- (0, logger_1.logSuccess)(en_1.messages.INIT_ALREADY_LOGGED_IN);
21
- return;
20
+ // Local creds exist — verify they still work against the backend before
21
+ // the user invests time in the init prompts. Without this, init proceeds
22
+ // happily and the first real API call (app create) hits a 401 mid-flow.
23
+ const spinner = (0, ui_1.createSpinner)('Verifying credentials...');
24
+ try {
25
+ await container_1.accountService.getAccount();
26
+ spinner.stop();
27
+ (0, logger_1.logSuccess)(en_1.messages.INIT_ALREADY_LOGGED_IN);
28
+ return;
29
+ }
30
+ catch {
31
+ spinner.stop();
32
+ (0, logger_1.logWarn)(en_1.messages.AUTH_EXPIRED);
33
+ // Fall through to the login flow below.
34
+ }
22
35
  }
23
36
  (0, logger_1.logInfo)(en_1.messages.INIT_STEP_LOGIN);
24
37
  await (0, login_1.loginCommand)({ suppressNextSteps: true });
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,0CAAmE;AACnE,0CAA6D;AAC7D,kCAA0C;AAC1C,mCAAsC;AACtC,0CAAyC;AACzC,4DAA4D;AAC5D,mCAAuC;AACvC,yCAA6C;AAC7C,6CAAiD;AACjD,4CAA0C;AAE1C,KAAK,UAAU,cAAc;IAC3B,IAAI,IAAA,wBAAe,GAAE,EAAE,CAAC;QACtB,IAAA,mBAAU,EAAC,aAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAA,gBAAO,EAAC,aAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,IAAA,oBAAY,EAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,IAAA,wBAAe,GAAE,EAAE,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,IAAA,kBAAa,EAAC,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,sBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,UAAkB;IAElB,IAAA,mBAAU,EAAC,aAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACvC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAQ,CAAC,eAAe;YACjC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE;gBAChD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC7C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE;aAC9C;SACF;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAEY,QAAA,WAAW,GAAG,IAAA,oCAAkB,EAC3C,KAAK,EAAE,QAAiC,EAAiB,EAAE;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,aAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAErE,MAAM,cAAc,EAAE,CAAC;IAEvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,aAAa,GAAG,IAAA,0BAAiB,GAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,aAAa,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,UAAU,GAAG,aAAa,EAAE,OAAO,IAAI,WAAW,CAAC;IAEzD,IAAI,WAAW,IAAI,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAA,gBAAO,EAAC,OAAO,aAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9C,IAAA,gBAAO,EAAC,OAAO,aAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,qCAAqC;IACvC,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,IAAA,gBAAO,EACL,QAAQ,UAAU,oFAAoF,CACvG,CAAC;QACF,IAAA,gBAAO,EAAC,aAAQ,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAA,gBAAO,EAAC,aAAQ,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAA,sBAAa,EAAC,EAAE,CAAC,CAAC;IACxB,IAAA,gBAAO,EAAC,OAAO,aAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;AACzC,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAqDA,eAAO,MAAM,YAAY;cAEX,OAAO;WACV,OAAO;wBACM,OAAO;mBA8M9B,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AA0QA,eAAO,MAAM,YAAY;cAEX,OAAO;WACV,OAAO;wBACM,OAAO;mBA8B9B,CAAC"}
@@ -40,167 +40,161 @@ async function promptApiKey() {
40
40
  ]);
41
41
  return key;
42
42
  }
43
- exports.loginCommand = (0, command_handler_1.withCommandHandler)(async (options) => {
44
- // In --json mode, stdout must be a single JSON document. Suppress the
45
- // welcome banner and every human-oriented log on stdout below; errors
46
- // still go to stderr via logError, which is fine for JSON consumers.
47
- const quiet = !!options.json;
48
- if (!quiet) {
49
- process.stdout.write(`\n ${en_1.messages.AUTH_WELCOME}\n`);
50
- process.stdout.write(' ──────────────────────────────────────\n');
51
- }
52
- let apiKey = process.env.BREVO_API_KEY;
53
- let method;
54
- // Explicit `--browser` wins over BREVO_API_KEY so users can force the
55
- // browser flow on machines that have a stale env var. Browser login still
56
- // needs a TTY (the inquirer prompts after success), so reject early in
57
- // non-interactive contexts instead of hanging until timeout.
58
- if (options.browser) {
43
+ // Explicit `--browser` wins over BREVO_API_KEY so users can force the
44
+ // browser flow on machines that have a stale env var. Browser login still
45
+ // needs a TTY (the inquirer prompts after success), so reject early in
46
+ // non-interactive contexts instead of hanging until timeout.
47
+ async function resolveLoginMethod(forceBrowser, apiKey) {
48
+ if (forceBrowser) {
59
49
  if (!process.stdin.isTTY) {
60
50
  throw new errors_1.CliError(en_1.messages.AUTH_BROWSER_NON_INTERACTIVE);
61
51
  }
62
- method = 'browser';
52
+ return 'browser';
63
53
  }
64
- else if (apiKey) {
65
- method = 'api-key';
54
+ if (apiKey) {
55
+ return 'api-key';
66
56
  }
67
- else if (!process.stdin.isTTY) {
57
+ if (!process.stdin.isTTY) {
68
58
  throw new errors_1.CliError(en_1.messages.AUTH_BROWSER_NON_INTERACTIVE);
69
59
  }
70
- else {
71
- const { chosen } = await inquirer_1.default.prompt([
72
- {
73
- type: 'list',
74
- name: 'chosen',
75
- message: en_1.messages.AUTH_PROMPT_METHOD,
76
- choices: [
77
- { name: 'Browser (sign in through your browser)', value: 'browser' },
78
- { name: 'API key (paste from your Brevo dashboard)', value: 'api-key' },
79
- ],
80
- default: 'browser',
81
- },
82
- ]);
83
- method = chosen;
60
+ const { chosen } = await inquirer_1.default.prompt([
61
+ {
62
+ type: 'list',
63
+ name: 'chosen',
64
+ message: en_1.messages.AUTH_PROMPT_METHOD,
65
+ choices: [
66
+ { name: 'Browser (sign in through your browser)', value: 'browser' },
67
+ { name: 'API key (paste from your Brevo dashboard)', value: 'api-key' },
68
+ ],
69
+ default: 'browser',
70
+ },
71
+ ]);
72
+ return chosen;
73
+ }
74
+ // One interactive retry on a 401: the first paste is easy to fumble. A second
75
+ // 401 (or any other error) propagates to the command handler.
76
+ async function retryApiKeyValidation(quiet) {
77
+ const retryKey = await promptApiKey();
78
+ const retrySpinner = (0, ui_1.createSpinner)('Validating API key...', { silent: quiet });
79
+ try {
80
+ const account = await container_1.accountService.validateApiKey(retryKey);
81
+ retrySpinner.stop();
82
+ return { account, apiKey: retryKey };
84
83
  }
85
- let account;
86
- if (method === 'api-key') {
87
- if (!apiKey) {
88
- (0, browser_1.openBrowser)(constants_1.BREVO_DASHBOARD_API_KEYS_URL);
89
- if (!quiet) {
90
- process.stdout.write(en_1.messages.AUTH_HINT(constants_1.BREVO_DASHBOARD_API_KEYS_URL, constants_1.BREVO_API_KEY_DOCS_URL));
91
- }
92
- apiKey = await promptApiKey();
84
+ catch (retryErr) {
85
+ retrySpinner.stop();
86
+ if (retryErr instanceof errors_1.ApiError && retryErr.statusCode === 401) {
87
+ throw new errors_1.CliError(en_1.messages.AUTH_INVALID_KEY, exit_codes_1.EXIT_CODES.AUTH_FAILURE);
93
88
  }
94
- if (!apiKey) {
95
- throw new errors_1.CliError('No API key provided.');
96
- }
97
- const spinner = (0, ui_1.createSpinner)('Validating API key...', { silent: quiet });
98
- try {
99
- account = await container_1.accountService.validateApiKey(apiKey);
100
- spinner.stop();
101
- }
102
- catch (err) {
103
- spinner.stop();
104
- if (err instanceof errors_1.ApiError && err.statusCode === 401) {
105
- (0, logger_1.logError)(en_1.messages.AUTH_INVALID_KEY);
106
- if (!quiet)
107
- (0, logger_1.logInfo)(` ${en_1.messages.AUTH_GET_KEY_URL}`);
108
- if (!process.stdin.isTTY) {
109
- throw err;
110
- }
111
- const retryKey = await promptApiKey();
112
- const retrySpinner = (0, ui_1.createSpinner)('Validating API key...', { silent: quiet });
113
- try {
114
- account = await container_1.accountService.validateApiKey(retryKey);
115
- retrySpinner.stop();
116
- apiKey = retryKey;
117
- }
118
- catch (retryErr) {
119
- retrySpinner.stop();
120
- if (retryErr instanceof errors_1.ApiError && retryErr.statusCode === 401) {
121
- throw new errors_1.CliError(en_1.messages.AUTH_INVALID_KEY, exit_codes_1.EXIT_CODES.AUTH_FAILURE);
122
- }
123
- throw retryErr;
124
- }
125
- }
126
- else {
127
- throw err;
128
- }
129
- }
130
- if (!account) {
131
- throw new errors_1.CliError('Authentication failed.');
89
+ throw retryErr;
90
+ }
91
+ }
92
+ async function validateApiKeyWithRetry(apiKey, quiet) {
93
+ const spinner = (0, ui_1.createSpinner)('Validating API key...', { silent: quiet });
94
+ try {
95
+ const account = await container_1.accountService.validateApiKey(apiKey);
96
+ spinner.stop();
97
+ return { account, apiKey };
98
+ }
99
+ catch (err) {
100
+ spinner.stop();
101
+ if (!(err instanceof errors_1.ApiError && err.statusCode === 401)) {
102
+ throw err;
132
103
  }
133
- wipeAppsCacheIfAccountChanged(account.organization_id);
134
- (0, config_1.saveCredentials)(apiKey, {
135
- email: account.email,
136
- organizationId: account.organization_id,
137
- userId: account.user_id,
138
- });
139
- }
140
- else {
141
- if (!quiet)
142
- (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_OPENING}`);
143
- const tokens = await (0, browser_auth_1.runBrowserLoginFlow)({
144
- proxyUrl: constants_1.OAUTH_PROXY_URL,
145
- openBrowser: browser_1.openBrowser,
146
- onWaiting: (url) => {
147
- if (quiet)
148
- return;
149
- (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_FALLBACK_URL(url)}`);
150
- (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_WAITING}`);
151
- },
152
- });
153
- // Persist tokens before validating /v3/account so transient API failures
154
- // (5xx, 424, network) don't force the user to redo the OAuth dance. Only
155
- // a 401 unambiguously means the token itself is bad — see catch below.
156
- const tokensToStore = {
157
- accessToken: tokens.accessToken,
158
- refreshToken: tokens.refreshToken,
159
- expiresIn: tokens.expiresIn,
160
- tokenType: tokens.tokenType,
161
- scope: tokens.scope,
162
- };
163
- (0, config_1.saveOauthCredentials)(tokensToStore);
104
+ (0, logger_1.logError)(en_1.messages.AUTH_INVALID_KEY);
164
105
  if (!quiet)
165
- (0, logger_1.logSuccess)(en_1.messages.AUTH_BROWSER_TOKENS_RECEIVED((0, config_1.getCredentialsPath)()));
166
- const spinner = (0, ui_1.createSpinner)('Finishing login...', { silent: quiet });
167
- try {
168
- account = await container_1.client.getWithBearer(constants_1.ENDPOINTS.ACCOUNT, tokens.accessToken, tokens.tokenType);
169
- }
170
- catch (err) {
171
- if (err instanceof errors_1.ApiError && err.statusCode === 401) {
172
- (0, config_1.clearCredentials)();
173
- }
106
+ (0, logger_1.logInfo)(` ${en_1.messages.AUTH_GET_KEY_URL}`);
107
+ if (!process.stdin.isTTY) {
174
108
  throw err;
175
109
  }
176
- finally {
177
- spinner.stop();
110
+ return retryApiKeyValidation(quiet);
111
+ }
112
+ }
113
+ async function loginWithApiKey(envApiKey, quiet) {
114
+ let apiKey = envApiKey;
115
+ if (!apiKey) {
116
+ (0, browser_1.openBrowser)(constants_1.BREVO_DASHBOARD_API_KEYS_URL);
117
+ if (!quiet) {
118
+ process.stdout.write(en_1.messages.AUTH_HINT(constants_1.BREVO_DASHBOARD_API_KEYS_URL, constants_1.BREVO_API_KEY_DOCS_URL));
178
119
  }
179
- if (!account) {
180
- throw new errors_1.CliError('Authentication failed.');
120
+ apiKey = await promptApiKey();
121
+ }
122
+ if (!apiKey) {
123
+ throw new errors_1.CliError('No API key provided.');
124
+ }
125
+ const validated = await validateApiKeyWithRetry(apiKey, quiet);
126
+ if (!validated.account) {
127
+ throw new errors_1.CliError('Authentication failed.');
128
+ }
129
+ wipeAppsCacheIfAccountChanged(validated.account.organization_id);
130
+ (0, config_1.saveCredentials)(validated.apiKey, {
131
+ email: validated.account.email,
132
+ organizationId: validated.account.organization_id,
133
+ userId: validated.account.user_id,
134
+ });
135
+ return validated.account;
136
+ }
137
+ async function loginWithBrowser(quiet) {
138
+ if (!quiet)
139
+ (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_OPENING}`);
140
+ const tokens = await (0, browser_auth_1.runBrowserLoginFlow)({
141
+ proxyUrl: constants_1.OAUTH_PROXY_URL,
142
+ openBrowser: browser_1.openBrowser,
143
+ onWaiting: (url) => {
144
+ if (quiet)
145
+ return;
146
+ (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_FALLBACK_URL(url)}`);
147
+ (0, logger_1.logInfo)(` ${en_1.messages.AUTH_BROWSER_WAITING}`);
148
+ },
149
+ });
150
+ // Persist tokens before validating /v3/account so transient API failures
151
+ // (5xx, 424, network) don't force the user to redo the OAuth dance. Only
152
+ // a 401 unambiguously means the token itself is bad — see catch below.
153
+ const tokensToStore = {
154
+ accessToken: tokens.accessToken,
155
+ refreshToken: tokens.refreshToken,
156
+ expiresIn: tokens.expiresIn,
157
+ tokenType: tokens.tokenType,
158
+ scope: tokens.scope,
159
+ };
160
+ (0, config_1.saveOauthCredentials)(tokensToStore);
161
+ if (!quiet)
162
+ (0, logger_1.logSuccess)(en_1.messages.AUTH_BROWSER_TOKENS_RECEIVED((0, config_1.getCredentialsPath)()));
163
+ const spinner = (0, ui_1.createSpinner)('Finishing login...', { silent: quiet });
164
+ let account;
165
+ try {
166
+ account = await container_1.client.getWithBearer(constants_1.ENDPOINTS.ACCOUNT, tokens.accessToken, tokens.tokenType);
167
+ }
168
+ catch (err) {
169
+ if (err instanceof errors_1.ApiError && err.statusCode === 401) {
170
+ (0, config_1.clearCredentials)();
181
171
  }
182
- wipeAppsCacheIfAccountChanged(account.organization_id);
183
- (0, config_1.saveOauthCredentials)(tokensToStore, {
184
- email: account.email,
185
- organizationId: account.organization_id,
186
- userId: account.user_id,
187
- });
172
+ throw err;
188
173
  }
189
- if (options.json) {
190
- (0, json_output_1.jsonOutput)({ authenticated: true, email: account.email, company: account.companyName });
191
- return;
174
+ finally {
175
+ spinner.stop();
192
176
  }
193
- (0, logger_1.logSuccess)(en_1.messages.AUTH_SUCCESS(account.email));
194
- (0, logger_1.logInfo)(en_1.messages.AUTH_SAVED((0, config_1.getCredentialsPath)()));
195
- if (options.suppressNextSteps)
196
- return;
177
+ if (!account) {
178
+ throw new errors_1.CliError('Authentication failed.');
179
+ }
180
+ wipeAppsCacheIfAccountChanged(account.organization_id);
181
+ (0, config_1.saveOauthCredentials)(tokensToStore, {
182
+ email: account.email,
183
+ organizationId: account.organization_id,
184
+ userId: account.user_id,
185
+ });
186
+ return account;
187
+ }
188
+ async function showNextSteps() {
197
189
  let apps = [];
198
190
  const appsSpinner = (0, ui_1.createSpinner)('Checking your apps...');
199
191
  try {
200
192
  apps = await container_1.appService.fetchAppsList();
201
- appsSpinner.stop();
202
193
  }
203
194
  catch {
195
+ // Best-effort: the next-steps box is a nicety — login already succeeded.
196
+ }
197
+ finally {
204
198
  appsSpinner.stop();
205
199
  }
206
200
  if (apps.length > 0) {
@@ -231,5 +225,27 @@ exports.loginCommand = (0, command_handler_1.withCommandHandler)(async (options)
231
225
  return;
232
226
  }
233
227
  (0, logger_1.logInfo)(`\n ${en_1.messages.AUTH_NEXT}\n`);
228
+ }
229
+ exports.loginCommand = (0, command_handler_1.withCommandHandler)(async (options) => {
230
+ // In --json mode, stdout must be a single JSON document. Suppress the
231
+ // welcome banner and every human-oriented log on stdout below; errors
232
+ // still go to stderr via logError, which is fine for JSON consumers.
233
+ const quiet = !!options.json;
234
+ if (!quiet) {
235
+ process.stdout.write(`\n ${en_1.messages.AUTH_WELCOME}\n`);
236
+ process.stdout.write(' ──────────────────────────────────────\n');
237
+ }
238
+ const apiKey = process.env.BREVO_API_KEY;
239
+ const method = await resolveLoginMethod(options.browser, apiKey);
240
+ const account = method === 'api-key' ? await loginWithApiKey(apiKey, quiet) : await loginWithBrowser(quiet);
241
+ if (options.json) {
242
+ (0, json_output_1.jsonOutput)({ authenticated: true, email: account.email, company: account.companyName });
243
+ return;
244
+ }
245
+ (0, logger_1.logSuccess)(en_1.messages.AUTH_SUCCESS(account.email));
246
+ (0, logger_1.logInfo)(en_1.messages.AUTH_SAVED((0, config_1.getCredentialsPath)()));
247
+ if (options.suppressNextSteps)
248
+ return;
249
+ await showNextSteps();
234
250
  });
235
251
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa;WACC,OAAO;mBAiEjC,CAAC"}
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,aAAa;WACC,OAAO;mBAgDjC,CAAC"}
@@ -9,6 +9,31 @@ const container_1 = require("../container");
9
9
  const command_handler_1 = require("../lib/command-handler");
10
10
  const json_output_1 = require("../lib/json-output");
11
11
  const ui_1 = require("../lib/ui");
12
+ // Check for mismatches between stored credentials and API response
13
+ function findCredentialMismatches(account) {
14
+ const mismatched = [];
15
+ const storedEmail = (0, config_1.getEmail)();
16
+ const storedOrgId = (0, config_1.getOrganizationId)();
17
+ const storedUserId = (0, config_1.getUserId)();
18
+ if (storedEmail && storedEmail !== account.email)
19
+ mismatched.push('email');
20
+ if (storedOrgId && storedOrgId !== account.organization_id)
21
+ mismatched.push('organization');
22
+ if (storedUserId != null && storedUserId !== account.user_id)
23
+ mismatched.push('user id');
24
+ return mismatched;
25
+ }
26
+ function renderAccount(account) {
27
+ const authKind = (0, config_1.getAuthCred)()?.kind;
28
+ let kindLabel = '';
29
+ if (authKind === 'oauth')
30
+ kindLabel = ' (browser login)';
31
+ else if (authKind === 'api-key')
32
+ kindLabel = ' (API key)';
33
+ (0, logger_1.logInfo)(`\n ${en_1.messages.WHOAMI_AUTHENTICATED(account.email, account.companyName || 'N/A')}${kindLabel}\n` +
34
+ ` Organization: ${account.organization_id}\n` +
35
+ ` User ID: ${account.user_id}\n`);
36
+ }
12
37
  exports.whoamiCommand = (0, command_handler_1.withCommandHandler)(async (options) => {
13
38
  // No stored key at all
14
39
  if (!(0, config_1.isAuthenticated)()) {
@@ -22,17 +47,7 @@ exports.whoamiCommand = (0, command_handler_1.withCommandHandler)(async (options
22
47
  try {
23
48
  const account = await container_1.accountService.getAccount();
24
49
  spinner.stop();
25
- // Check for mismatches between stored credentials and API response
26
- const mismatched = [];
27
- const storedEmail = (0, config_1.getEmail)();
28
- const storedOrgId = (0, config_1.getOrganizationId)();
29
- const storedUserId = (0, config_1.getUserId)();
30
- if (storedEmail && storedEmail !== account.email)
31
- mismatched.push('email');
32
- if (storedOrgId && storedOrgId !== account.organization_id)
33
- mismatched.push('organization');
34
- if (storedUserId != null && storedUserId !== account.user_id)
35
- mismatched.push('user id');
50
+ const mismatched = findCredentialMismatches(account);
36
51
  if (mismatched.length > 0) {
37
52
  if (options.json) {
38
53
  (0, json_output_1.jsonOutput)({
@@ -54,15 +69,7 @@ exports.whoamiCommand = (0, command_handler_1.withCommandHandler)(async (options
54
69
  });
55
70
  }
56
71
  else {
57
- const authKind = (0, config_1.getAuthCred)()?.kind;
58
- let kindLabel = '';
59
- if (authKind === 'oauth')
60
- kindLabel = ' (browser login)';
61
- else if (authKind === 'api-key')
62
- kindLabel = ' (API key)';
63
- (0, logger_1.logInfo)(`\n ${en_1.messages.WHOAMI_AUTHENTICATED(account.email, account.companyName || 'N/A')}${kindLabel}\n` +
64
- ` Organization: ${account.organization_id}\n` +
65
- ` User ID: ${account.user_id}\n`);
72
+ renderAccount(account);
66
73
  }
67
74
  }
68
75
  catch (err) {