@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
@@ -48,160 +48,230 @@ const container_1 = require("../../container");
48
48
  const ui_1 = require("../../lib/ui");
49
49
  const config_1 = require("../../lib/config");
50
50
  const validators_1 = require("../../lib/validators");
51
+ const constants_1 = require("../../lib/constants");
51
52
  const inquirer_1 = __importDefault(require("inquirer"));
52
- exports.updateCommand = (0, command_handler_1.withCommandHandler)(async (options) => {
53
- const config = (0, config_1.readProjectConfig)();
54
- const hasFlags = !!(options.name !== undefined ||
55
- (options.redirectUri && options.redirectUri.length > 0));
56
- // Validate --name if provided (even empty strings)
57
- if (options.name !== undefined) {
58
- const nameCheck = (0, validators_1.validateAppName)(options.name);
59
- if (nameCheck !== true)
60
- throw new errors_1.CliError(nameCheck);
53
+ const NON_INTERACTIVE_CONFIRM_ERROR = 'Cannot prompt for confirmation in non-interactive mode. Use --yes or --json to skip.';
54
+ // File exists but readProjectConfig returned null — invalid JSON or missing appId
55
+ function assertConfigFileUsable() {
56
+ const configPath = path.resolve(process.cwd(), 'app-config.json');
57
+ if (!fs.existsSync(configPath))
58
+ return;
59
+ let raw;
60
+ try {
61
+ raw = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
61
62
  }
62
- // readProjectConfig normalizes appId (trim + coerce finite numbers, reject
63
- // empty) so `config.appId` is a guaranteed non-empty string whenever `config`
64
- // is non-null.
65
- const configAppId = config?.appId;
66
- const configAppIdValid = !!configAppId;
67
- // app-config.json is only usable when it describes the app being updated.
68
- // When --app-id differs from config.appId, the local file belongs to a
69
- // different app and must not be used as the update payload or merge base.
70
- const configMatches = configAppIdValid && (!options.appId || options.appId === configAppId);
71
- // No flags and no usable config: emit a specific error.
72
- if (!hasFlags && !configMatches) {
73
- // File exists but appId is empty/invalid — surface that over a
74
- // mismatch error, which would otherwise quote a garbage configAppId.
75
- if (config != null && !configAppIdValid) {
76
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_INVALID_APP_ID);
77
- }
78
- if (config != null && options.appId && options.appId !== configAppId) {
79
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_APP_ID_MISMATCH(options.appId, configAppId));
80
- }
81
- const configExists = fs.existsSync(path.resolve(process.cwd(), 'app-config.json'));
82
- if (configExists) {
83
- // File exists but readProjectConfig returned null — invalid JSON or missing appId
84
- let raw;
85
- try {
86
- raw = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), 'app-config.json'), 'utf-8'));
87
- }
88
- catch {
89
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_INVALID_JSON);
90
- }
91
- if (!raw ||
92
- typeof raw !== 'object' ||
93
- !('appId' in raw) ||
94
- !raw.appId) {
95
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_MISSING_APP_ID);
96
- }
97
- }
98
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_NOTHING_TO_UPDATE);
63
+ catch {
64
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_INVALID_JSON);
65
+ }
66
+ if (!raw ||
67
+ typeof raw !== 'object' ||
68
+ !('appId' in raw) ||
69
+ !raw.appId) {
70
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_MISSING_APP_ID);
99
71
  }
100
- // Resolve appId: flag > config
101
- let appId;
102
- if (options.appId) {
103
- appId = options.appId;
72
+ }
73
+ // No flags and no usable config: emit a specific error.
74
+ function throwNoUpdateSource(config, configAppIdValid, configAppId, flagAppId) {
75
+ // File exists but appId is empty/invalid — surface that over a
76
+ // mismatch error, which would otherwise quote a garbage configAppId.
77
+ if (config != null && !configAppIdValid) {
78
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_INVALID_APP_ID);
104
79
  }
105
- else if (configAppIdValid) {
106
- appId = configAppId;
80
+ if (config != null && flagAppId && flagAppId !== configAppId) {
81
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_APP_ID_MISMATCH(flagAppId, configAppId));
107
82
  }
108
- else if (config) {
83
+ assertConfigFileUsable();
84
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_NOTHING_TO_UPDATE);
85
+ }
86
+ // Resolve appId: flag > config
87
+ function resolveAppId(flagAppId, configAppId, config) {
88
+ if (flagAppId)
89
+ return flagAppId;
90
+ if (configAppId)
91
+ return configAppId;
92
+ if (config)
109
93
  throw new errors_1.CliError(en_1.messages.APP_UPDATE_INVALID_APP_ID);
94
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_NO_APP_RESOLVED);
95
+ }
96
+ async function confirmUpdate() {
97
+ const { confirmed } = await inquirer_1.default.prompt([
98
+ {
99
+ type: 'confirm',
100
+ name: 'confirmed',
101
+ message: en_1.messages.APP_UPDATE_CONFIRM,
102
+ default: true,
103
+ },
104
+ ]);
105
+ if (!confirmed) {
106
+ (0, logger_1.logInfo)(`\n ${en_1.messages.APP_UPDATE_CANCELLED}\n`);
107
+ return false;
110
108
  }
111
- if (!appId) {
112
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_NO_APP_RESOLVED);
109
+ return true;
110
+ }
111
+ function reportUpdateResult(params, jsonMode) {
112
+ if (jsonMode) {
113
+ (0, json_output_1.jsonOutput)({
114
+ app_id: params.appId,
115
+ name: params.name,
116
+ redirect_uris: params.redirectUris,
117
+ scopes: params.scopes,
118
+ ...(params.logoUri ? { logo_uri: params.logoUri } : {}),
119
+ });
120
+ return;
113
121
  }
114
- // Write back only when config describes the app being updated.
115
- const shouldWriteBack = configMatches;
116
- // No flags provided: push full config from app-config.json.
117
- // (config is guaranteed non-null here — the !hasFlags && !config case is handled above)
118
- if (!hasFlags) {
119
- const redirectUrls = config.auth?.redirectUrls;
120
- if (!redirectUrls || redirectUrls.length === 0) {
121
- throw new errors_1.CliError(en_1.messages.APP_UPDATE_NO_REDIRECT_URLS);
122
- }
123
- validateRedirectUrls(redirectUrls);
124
- if (!options.json) {
125
- // Fail fast before the network fetch when we'd have nowhere to show the diff.
126
- if (!options.yes && !process.stdin.isTTY) {
127
- throw new errors_1.CliError('Cannot prompt for confirmation in non-interactive mode. Use --yes or --json to skip.');
128
- }
129
- // Fetch current remote state so the summary can show deltas vs. what the
130
- // push will apply. Hard-fail on fetch error — the user asked for a diff.
131
- const remote = await fetchExistingApp(appId, options.json);
132
- renderUpdateSummary({
133
- appId,
134
- currentName: remote.name,
135
- nextName: config.appName,
136
- currentUrls: remote.redirect_uris ?? [],
137
- nextUrls: redirectUrls,
138
- });
139
- }
140
- if (!options.json && !options.yes) {
141
- const { confirmed } = await inquirer_1.default.prompt([
142
- {
143
- type: 'confirm',
144
- name: 'confirmed',
145
- message: en_1.messages.APP_UPDATE_CONFIRM,
146
- default: true,
147
- },
148
- ]);
149
- if (!confirmed) {
150
- (0, logger_1.logInfo)(`\n ${en_1.messages.APP_UPDATE_CANCELLED}\n`);
151
- return;
152
- }
122
+ (0, logger_1.logSuccess)(en_1.messages.APP_UPDATE_SUCCESS);
123
+ if (params.name) {
124
+ (0, logger_1.logInfo)(` Name: ${params.name}`);
125
+ }
126
+ (0, logger_1.logInfo)(` Redirect URLs: ${params.redirectUris.length > 0 ? params.redirectUris.join(', ') : '(none)'}`);
127
+ (0, logger_1.logInfo)(` Scopes: ${params.scopes.length > 0 ? params.scopes.join(', ') : '(none)'}`);
128
+ if (params.logoUri) {
129
+ (0, logger_1.logInfo)(` Logo URL: ${params.logoUri}`);
130
+ }
131
+ if (params.configWrittenBack) {
132
+ (0, logger_1.logInfo)(' app-config.json updated.');
133
+ }
134
+ process.stdout.write('\n');
135
+ }
136
+ // No flags provided: push full config from app-config.json.
137
+ async function pushFullConfig(appId, config, options) {
138
+ const redirectUrls = config.auth?.redirectUrls;
139
+ if (!redirectUrls || redirectUrls.length === 0) {
140
+ throw new errors_1.CliError(en_1.messages.APP_UPDATE_NO_REDIRECT_URLS);
141
+ }
142
+ validateRedirectUrls(redirectUrls);
143
+ const nextScopes = config.auth?.scopes ?? [];
144
+ (0, validators_1.validateScopes)(nextScopes);
145
+ // The legacy 'all' scope is deprecated — block the push and point at the
146
+ // migration path (--scope). No silent rewrite, no escape hatch (BEX-214).
147
+ if ((0, validators_1.containsLegacyAllScope)(nextScopes)) {
148
+ throw new errors_1.CliError(en_1.messages.LEGACY_ALL_SCOPE_DEPRECATED_BLOCK);
149
+ }
150
+ if (!options.json) {
151
+ // Fail fast before the network fetch when we'd have nowhere to show the diff.
152
+ if (!options.yes && !process.stdin.isTTY) {
153
+ throw new errors_1.CliError(NON_INTERACTIVE_CONFIRM_ERROR);
153
154
  }
154
- const spinner = (0, ui_1.createSpinner)('Updating app...', { silent: options.json });
155
- await container_1.appService.updateApp(appId, {
156
- name: config.appName,
157
- redirect_uris: redirectUrls,
155
+ // Fetch current remote state so the summary can show deltas vs. what the
156
+ // push will apply. Hard-fail on fetch error — the user asked for a diff.
157
+ const remote = await fetchExistingApp(appId, options.json);
158
+ renderUpdateSummary({
159
+ appId,
160
+ currentName: remote.name,
161
+ nextName: config.appName,
162
+ currentUrls: remote.redirect_uris ?? [],
163
+ nextUrls: redirectUrls,
164
+ currentLogoUri: remote.logo_uri,
165
+ nextLogoUri: config.logoUri,
166
+ currentScopes: remote.scopes ?? [],
167
+ nextScopes,
158
168
  });
159
- spinner.stop();
160
- if (config.appName)
161
- (0, config_1.saveAppName)(appId, config.appName);
162
- if (options.json) {
163
- (0, json_output_1.jsonOutput)({ app_id: appId, name: config.appName, redirect_uris: redirectUrls });
164
- return;
165
- }
166
- (0, logger_1.logSuccess)(en_1.messages.APP_UPDATE_SUCCESS);
167
- if (config.appName) {
168
- (0, logger_1.logInfo)(` Name: ${config.appName}`);
169
- }
170
- (0, logger_1.logInfo)(` Redirect URLs: ${redirectUrls.join(', ')}`);
171
- process.stdout.write('\n');
169
+ }
170
+ if (!options.json && !options.yes && !(await confirmUpdate())) {
172
171
  return;
173
172
  }
174
- // Flags provided: merge with existing values
175
- let existingName;
176
- let existingRedirectUrls = [];
173
+ const spinner = (0, ui_1.createSpinner)('Updating app...', { silent: options.json });
174
+ await container_1.appService.updateApp(appId, {
175
+ name: config.appName,
176
+ redirect_uris: redirectUrls,
177
+ scopes: nextScopes,
178
+ ...(config.logoUri ? { logo_uri: config.logoUri } : {}),
179
+ });
180
+ spinner.stop();
181
+ if (config.appName)
182
+ (0, config_1.saveAppName)(appId, config.appName);
183
+ reportUpdateResult({
184
+ appId,
185
+ name: config.appName,
186
+ redirectUris: redirectUrls,
187
+ scopes: nextScopes,
188
+ logoUri: config.logoUri,
189
+ }, options.json);
190
+ }
191
+ async function resolveExistingState(appId, config, shouldWriteBack, silent) {
177
192
  const configRedirectUrls = config?.auth?.redirectUrls;
178
193
  const hasUsableConfigRedirectUrls = Array.isArray(configRedirectUrls) && configRedirectUrls.length > 0;
179
194
  if (config && shouldWriteBack && hasUsableConfigRedirectUrls) {
180
195
  // Use config as baseline only when it can safely preserve redirect URLs
181
- existingName = config.appName;
182
- existingRedirectUrls = configRedirectUrls;
196
+ return {
197
+ name: config.appName,
198
+ redirectUrls: configRedirectUrls,
199
+ logoUri: config.logoUri,
200
+ scopes: config.auth?.scopes ?? [],
201
+ };
183
202
  }
184
- else if (config && shouldWriteBack) {
203
+ if (config && shouldWriteBack) {
185
204
  // Config matches the app, but missing/empty redirect URLs would otherwise clear
186
205
  // remote redirect URIs on a name-only update. Fall back to the API for preservation.
187
- const app = await fetchExistingApp(appId, options.json);
188
- existingName = config.appName ?? app.name;
189
- existingRedirectUrls = app.redirect_uris ?? [];
190
- }
191
- else {
192
- const app = await fetchExistingApp(appId, options.json);
193
- existingName = app.name;
194
- existingRedirectUrls = app.redirect_uris ?? [];
195
- }
196
- // Merge: --name wins, --redirect-uri appends (deduplicated)
197
- const finalName = options.name ?? existingName;
198
- const appendedUrls = options.redirectUri ?? [];
199
- const mergedUrls = [...existingRedirectUrls];
200
- for (const url of appendedUrls) {
201
- if (!mergedUrls.includes(url)) {
202
- mergedUrls.push(url);
206
+ const app = await fetchExistingApp(appId, silent);
207
+ return {
208
+ name: config.appName ?? app.name,
209
+ redirectUrls: app.redirect_uris ?? [],
210
+ logoUri: config.logoUri ?? app.logo_uri,
211
+ scopes: config.auth?.scopes ?? app.scopes ?? [],
212
+ };
213
+ }
214
+ const app = await fetchExistingApp(appId, silent);
215
+ return {
216
+ name: app.name,
217
+ redirectUrls: app.redirect_uris ?? [],
218
+ logoUri: app.logo_uri,
219
+ scopes: app.scopes ?? [],
220
+ };
221
+ }
222
+ function appendUnique(existing, additions) {
223
+ const merged = [...existing];
224
+ for (const item of additions) {
225
+ if (!merged.includes(item)) {
226
+ merged.push(item);
203
227
  }
204
228
  }
229
+ return merged;
230
+ }
231
+ // Passing --scope signals migration intent: drop the deprecated legacy 'all'
232
+ // scope from the merge baseline so the outgoing payload is clean (BEX-214).
233
+ function mergeScopes(existingScopes, appendedScopes) {
234
+ const hasScopeFlag = appendedScopes.length > 0;
235
+ const migratingLegacyScopes = hasScopeFlag && (0, validators_1.containsLegacyAllScope)(existingScopes);
236
+ const baseline = migratingLegacyScopes
237
+ ? existingScopes.filter((s) => s !== constants_1.LEGACY_ALL_SCOPE)
238
+ : existingScopes;
239
+ const mergedScopes = appendUnique(baseline, appendedScopes);
240
+ // Block any outgoing payload that still carries 'all' — either no --scope
241
+ // was passed (no migration intent), or 'all' was explicitly re-added.
242
+ if ((0, validators_1.containsLegacyAllScope)(mergedScopes)) {
243
+ throw new errors_1.CliError(en_1.messages.LEGACY_ALL_SCOPE_DEPRECATED_BLOCK);
244
+ }
245
+ return { mergedScopes, migratingLegacyScopes };
246
+ }
247
+ // Write back to app-config.json if appropriate
248
+ function writeBackProjectConfig(config, shouldWriteBack, options, mergedUrls, mergedScopes) {
249
+ if (!shouldWriteBack || !config) {
250
+ return false;
251
+ }
252
+ const updatedConfig = { ...config };
253
+ if (options.name) {
254
+ updatedConfig.appName = options.name;
255
+ }
256
+ if (options.logoUri) {
257
+ updatedConfig.logoUri = options.logoUri;
258
+ }
259
+ updatedConfig.auth = {
260
+ ...updatedConfig.auth,
261
+ redirectUrls: mergedUrls,
262
+ scopes: mergedScopes,
263
+ };
264
+ (0, config_1.writeProjectConfig)(updatedConfig);
265
+ return true;
266
+ }
267
+ // Flags provided: merge with existing values
268
+ async function updateWithFlags(appId, config, shouldWriteBack, options) {
269
+ const existing = await resolveExistingState(appId, config, shouldWriteBack, options.json);
270
+ // Merge: --name wins, --redirect-uri appends (deduplicated), --logo-uri wins
271
+ const finalName = options.name ?? existing.name;
272
+ const mergedUrls = appendUnique(existing.redirectUrls, options.redirectUri ?? []);
273
+ const finalLogoUri = options.logoUri ?? existing.logoUri;
274
+ const { mergedScopes, migratingLegacyScopes } = mergeScopes(existing.scopes, options.scope ?? []);
205
275
  const hasRedirectUriFlag = options.redirectUri !== undefined;
206
276
  if (hasRedirectUriFlag && mergedUrls.length === 0) {
207
277
  throw new errors_1.CliError(en_1.messages.APP_UPDATE_NO_REDIRECT_URLS);
@@ -209,29 +279,26 @@ exports.updateCommand = (0, command_handler_1.withCommandHandler)(async (options
209
279
  if (mergedUrls.length > 0) {
210
280
  validateRedirectUrls(mergedUrls);
211
281
  }
282
+ (0, validators_1.validateScopes)(mergedScopes);
212
283
  if (!options.json) {
213
284
  renderUpdateSummary({
214
285
  appId,
215
- currentName: existingName,
286
+ currentName: existing.name,
216
287
  nextName: finalName,
217
- currentUrls: existingRedirectUrls,
288
+ currentUrls: existing.redirectUrls,
218
289
  nextUrls: mergedUrls,
290
+ currentLogoUri: existing.logoUri,
291
+ nextLogoUri: finalLogoUri,
292
+ currentScopes: existing.scopes,
293
+ nextScopes: mergedScopes,
294
+ migratingLegacyScopes,
219
295
  });
220
296
  }
221
297
  if (!options.json && !options.yes) {
222
298
  if (!process.stdin.isTTY) {
223
- throw new errors_1.CliError('Cannot prompt for confirmation in non-interactive mode. Use --yes or --json to skip.');
299
+ throw new errors_1.CliError(NON_INTERACTIVE_CONFIRM_ERROR);
224
300
  }
225
- const { confirmed } = await inquirer_1.default.prompt([
226
- {
227
- type: 'confirm',
228
- name: 'confirmed',
229
- message: en_1.messages.APP_UPDATE_CONFIRM,
230
- default: true,
231
- },
232
- ]);
233
- if (!confirmed) {
234
- (0, logger_1.logInfo)(`\n ${en_1.messages.APP_UPDATE_CANCELLED}\n`);
301
+ if (!(await confirmUpdate())) {
235
302
  return;
236
303
  }
237
304
  }
@@ -239,35 +306,55 @@ exports.updateCommand = (0, command_handler_1.withCommandHandler)(async (options
239
306
  await container_1.appService.updateApp(appId, {
240
307
  name: finalName,
241
308
  redirect_uris: mergedUrls,
309
+ scopes: mergedScopes,
310
+ ...(finalLogoUri ? { logo_uri: finalLogoUri } : {}),
242
311
  });
243
312
  spinner.stop();
244
313
  if (finalName)
245
314
  (0, config_1.saveAppName)(appId, finalName);
246
- // Write back to app-config.json if appropriate
247
- if (shouldWriteBack && config) {
248
- const updatedConfig = { ...config };
249
- if (options.name) {
250
- updatedConfig.appName = options.name;
251
- }
252
- updatedConfig.auth = {
253
- ...updatedConfig.auth,
254
- redirectUrls: mergedUrls,
255
- };
256
- (0, config_1.writeProjectConfig)(updatedConfig);
257
- }
258
- if (options.json) {
259
- (0, json_output_1.jsonOutput)({ app_id: appId, name: finalName, redirect_uris: mergedUrls });
260
- return;
315
+ const configWrittenBack = writeBackProjectConfig(config, shouldWriteBack, options, mergedUrls, mergedScopes);
316
+ reportUpdateResult({
317
+ appId,
318
+ name: finalName,
319
+ redirectUris: mergedUrls,
320
+ scopes: mergedScopes,
321
+ logoUri: finalLogoUri,
322
+ configWrittenBack,
323
+ }, options.json);
324
+ }
325
+ exports.updateCommand = (0, command_handler_1.withCommandHandler)(async (options) => {
326
+ const config = (0, config_1.readProjectConfig)();
327
+ const hasFlags = !!(options.name !== undefined ||
328
+ (options.redirectUri && options.redirectUri.length > 0) ||
329
+ options.logoUri !== undefined ||
330
+ (options.scope && options.scope.length > 0));
331
+ // Validate --name if provided (even empty strings)
332
+ if (options.name !== undefined) {
333
+ const nameCheck = (0, validators_1.validateAppName)(options.name);
334
+ if (nameCheck !== true)
335
+ throw new errors_1.CliError(nameCheck);
261
336
  }
262
- (0, logger_1.logSuccess)(en_1.messages.APP_UPDATE_SUCCESS);
263
- if (finalName) {
264
- (0, logger_1.logInfo)(` Name: ${finalName}`);
337
+ // readProjectConfig normalizes appId (trim + coerce finite numbers, reject
338
+ // empty) so `config.appId` is a guaranteed non-empty string whenever `config`
339
+ // is non-null.
340
+ const configAppId = config?.appId;
341
+ const configAppIdValid = !!configAppId;
342
+ // app-config.json is only usable when it describes the app being updated.
343
+ // When --app-id differs from config.appId, the local file belongs to a
344
+ // different app and must not be used as the update payload or merge base.
345
+ const configMatches = configAppIdValid && (!options.appId || options.appId === configAppId);
346
+ if (!hasFlags && !configMatches) {
347
+ throwNoUpdateSource(config, configAppIdValid, configAppId, options.appId);
265
348
  }
266
- (0, logger_1.logInfo)(` Redirect URLs: ${mergedUrls.length > 0 ? mergedUrls.join(', ') : '(none)'}`);
267
- if (shouldWriteBack && config) {
268
- (0, logger_1.logInfo)(' app-config.json updated.');
349
+ const appId = resolveAppId(options.appId, configAppId, config);
350
+ // Write back only when config describes the app being updated.
351
+ const shouldWriteBack = configMatches;
352
+ if (!hasFlags) {
353
+ // config is guaranteed non-null here — the !hasFlags && !configMatches case throws above
354
+ await pushFullConfig(appId, config, options);
355
+ return;
269
356
  }
270
- process.stdout.write('\n');
357
+ await updateWithFlags(appId, config, shouldWriteBack, options);
271
358
  });
272
359
  async function fetchExistingApp(appId, silent) {
273
360
  const spinner = (0, ui_1.createSpinner)('Fetching app...', { silent });
@@ -283,31 +370,60 @@ async function fetchExistingApp(appId, silent) {
283
370
  }
284
371
  return app;
285
372
  }
373
+ // Diff `current` vs `next`: next values keep their order (tagged `(new)` when
374
+ // absent from current), values dropped from current trail with `(removed)`.
375
+ function diffLines(current, next) {
376
+ const currentSet = new Set(current);
377
+ const nextSet = new Set(next);
378
+ return [
379
+ ...next.map((v) => (currentSet.has(v) ? v : `${v} (new)`)),
380
+ ...current.filter((v) => !nextSet.has(v)).map((v) => `${v} (removed)`),
381
+ ];
382
+ }
383
+ // Print a labelled block; continuation lines are indented to align under the
384
+ // first value.
385
+ function logAligned(label, lines) {
386
+ lines.forEach((line, i) => {
387
+ (0, logger_1.logInfo)(`${i === 0 ? label : ' '}${line}`);
388
+ });
389
+ }
390
+ function renderNameLine(currentName, nextName) {
391
+ if (!nextName) {
392
+ return;
393
+ }
394
+ const renamePrefix = currentName && currentName !== nextName ? `${currentName} → ` : '';
395
+ (0, logger_1.logInfo)(` Name: ${renamePrefix}${nextName}`);
396
+ }
397
+ function renderScopeLines(currentScopes, nextScopes) {
398
+ if (nextScopes === undefined) {
399
+ return;
400
+ }
401
+ const lines = diffLines(currentScopes ?? [], nextScopes);
402
+ logAligned(' Scopes: ', lines.length > 0 ? lines : ['(none)']);
403
+ }
404
+ function renderLogoLine(currentLogoUri, nextLogoUri) {
405
+ const label = ' Logo URL: ';
406
+ if (currentLogoUri && nextLogoUri && currentLogoUri !== nextLogoUri) {
407
+ (0, logger_1.logInfo)(`${label}${currentLogoUri} → ${nextLogoUri}`);
408
+ }
409
+ else if (nextLogoUri) {
410
+ (0, logger_1.logInfo)(`${label}${nextLogoUri}`);
411
+ }
412
+ else if (currentLogoUri) {
413
+ (0, logger_1.logInfo)(`${label}${currentLogoUri} (unchanged)`);
414
+ }
415
+ }
286
416
  function renderUpdateSummary(params) {
287
- const { appId, currentName, nextName, currentUrls, nextUrls } = params;
288
- const currentSet = new Set(currentUrls);
289
- const nextSet = new Set(nextUrls);
290
- const addedSet = new Set(nextUrls.filter((u) => !currentSet.has(u)));
291
- const removed = currentUrls.filter((u) => !nextSet.has(u));
292
417
  (0, logger_1.logInfo)('');
293
418
  (0, logger_1.logInfo)(` ${en_1.messages.APP_UPDATE_SUMMARY}`);
294
- (0, logger_1.logInfo)(` App ID: ${appId}`);
295
- if (nextName) {
296
- if (currentName && currentName !== nextName) {
297
- (0, logger_1.logInfo)(` Name: ${currentName} → ${nextName}`);
298
- }
299
- else {
300
- (0, logger_1.logInfo)(` Name: ${nextName}`);
301
- }
419
+ (0, logger_1.logInfo)(` App ID: ${params.appId}`);
420
+ renderNameLine(params.currentName, params.nextName);
421
+ logAligned(' Redirect URLs: ', diffLines(params.currentUrls, params.nextUrls));
422
+ if (params.migratingLegacyScopes) {
423
+ (0, logger_1.logInfo)(` ${en_1.messages.LEGACY_ALL_SCOPE_UPDATE_MIGRATING}`);
302
424
  }
303
- const lines = [
304
- ...nextUrls.map((u) => (addedSet.has(u) ? `${u} (new)` : u)),
305
- ...removed.map((u) => `${u} (removed)`),
306
- ];
307
- lines.forEach((line, i) => {
308
- const prefix = i === 0 ? ' Redirect URLs: ' : ' ';
309
- (0, logger_1.logInfo)(`${prefix}${line}`);
310
- });
425
+ renderScopeLines(params.currentScopes, params.nextScopes);
426
+ renderLogoLine(params.currentLogoUri, params.nextLogoUri);
311
427
  (0, logger_1.logInfo)('');
312
428
  }
313
429
  function validateRedirectUrls(urls) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/app/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/app/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/commands/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAiBvF,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EA8B/C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,yBA4J7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBAoB/B,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/commands/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAwBvF,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EA8B/C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,yBAuM7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBAoB/B,CAAC"}