@hubspot/cli 8.1.4-experimental.0 → 8.2.0-experimental.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 (50) hide show
  1. package/commands/account/auth.d.ts +3 -1
  2. package/commands/account/auth.js +17 -1
  3. package/commands/app/logDetails.d.ts +9 -0
  4. package/commands/app/logDetails.js +86 -0
  5. package/commands/app/logs.d.ts +13 -0
  6. package/commands/app/logs.js +122 -0
  7. package/commands/app.js +8 -1
  8. package/commands/auth.js +1 -1
  9. package/commands/init.js +1 -1
  10. package/commands/project/lint.js +8 -0
  11. package/lang/en.d.ts +118 -1
  12. package/lang/en.js +119 -3
  13. package/lib/CLIWebSocketServer.d.ts +5 -3
  14. package/lib/CLIWebSocketServer.js +31 -4
  15. package/lib/accountAuth.d.ts +3 -1
  16. package/lib/accountAuth.js +43 -17
  17. package/lib/api/usageTracking.d.ts +1 -0
  18. package/lib/api/usageTracking.js +0 -17
  19. package/lib/app/logs.d.ts +38 -0
  20. package/lib/app/logs.js +225 -0
  21. package/lib/app/urls.d.ts +2 -0
  22. package/lib/app/urls.js +7 -0
  23. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
  24. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +145 -0
  25. package/lib/buildAccount.js +1 -1
  26. package/lib/constants.d.ts +8 -0
  27. package/lib/constants.js +8 -0
  28. package/lib/middleware/commandTargetingUtils.js +1 -0
  29. package/lib/projects/localDev/LocalDevWebsocketServer.js +1 -1
  30. package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
  31. package/lib/projects/workspaces.d.ts +14 -6
  32. package/lib/projects/workspaces.js +75 -29
  33. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -5
  34. package/lib/prompts/personalAccessKeyPrompt.js +7 -5
  35. package/lib/prompts/selectAppPrompt.js +1 -0
  36. package/lib/prompts/setAsDefaultAccountPrompt.js +2 -1
  37. package/lib/serverlessLogs.js +2 -2
  38. package/lib/ui/appLogs.d.ts +32 -0
  39. package/lib/ui/appLogs.js +175 -0
  40. package/lib/usageTracking.js +28 -4
  41. package/package.json +4 -4
  42. package/ui/components/ActionSection.d.ts +1 -1
  43. package/ui/components/InputField.d.ts +1 -1
  44. package/ui/components/SelectInput.d.ts +1 -1
  45. package/ui/components/StatusIcon.d.ts +1 -1
  46. package/ui/components/Table.d.ts +5 -5
  47. package/ui/components/getStarted/GetStartedFlow.d.ts +1 -1
  48. package/ui/components/getStarted/screens/InstallationScreen.d.ts +1 -1
  49. package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +1 -1
  50. package/ui/components/getStarted/screens/UploadScreen.d.ts +1 -1
@@ -1,8 +1,10 @@
1
1
  import { CommonArgs, ConfigArgs, YargsCommandModule } from '../../types/Yargs.js';
2
2
  type AccountAuthArgs = CommonArgs & ConfigArgs & {
3
3
  disableTracking?: boolean;
4
- } & {
5
4
  personalAccessKey?: string;
5
+ default?: boolean;
6
+ name?: string;
7
+ useDefaultName?: boolean;
6
8
  };
7
9
  declare const accountAuthCommand: YargsCommandModule<unknown, AccountAuthArgs>;
8
10
  export default accountAuthCommand;
@@ -20,7 +20,7 @@ const authType = PERSONAL_ACCESS_KEY_AUTH_METHOD.value;
20
20
  const describe = commands.account.subcommands.auth.describe;
21
21
  const command = 'auth';
22
22
  async function handler(args) {
23
- const { disableTracking, personalAccessKey: providedPersonalAccessKey, userProvidedAccount, exit, } = args;
23
+ const { disableTracking, personalAccessKey: providedPersonalAccessKey, userProvidedAccount, default: setAsDefaultAccount, name: accountName, useDefaultName: useDefaultAccountName, exit, } = args;
24
24
  let parsedUserProvidedAccountId;
25
25
  if (userProvidedAccount) {
26
26
  try {
@@ -39,6 +39,9 @@ async function handler(args) {
39
39
  env: args.qa ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD,
40
40
  providedPersonalAccessKey,
41
41
  accountId: parsedUserProvidedAccountId,
42
+ setAsDefaultAccount,
43
+ accountName,
44
+ useDefaultAccountName,
42
45
  });
43
46
  if (!updatedConfig) {
44
47
  if (!disableTracking) {
@@ -76,7 +79,20 @@ function accountAuthBuilder(yargs) {
76
79
  hidden: false,
77
80
  alias: 'pak',
78
81
  },
82
+ default: {
83
+ describe: commands.account.subcommands.auth.options.default,
84
+ type: 'boolean',
85
+ },
86
+ name: {
87
+ describe: commands.account.subcommands.auth.options.name,
88
+ type: 'string',
89
+ },
90
+ 'use-default-name': {
91
+ describe: commands.account.subcommands.auth.options.useDefaultName,
92
+ type: 'boolean',
93
+ },
79
94
  });
95
+ yargs.conflicts('name', 'use-default-name');
80
96
  return yargs;
81
97
  }
82
98
  const builder = makeYargsBuilder(accountAuthBuilder, command, commands.account.subcommands.auth.verboseDescribe, {
@@ -0,0 +1,9 @@
1
+ import { AccountArgs, CommonArgs, ConfigArgs, YargsCommandModule } from '../../types/Yargs.js';
2
+ export type AppLogDetailsArgs = CommonArgs & ConfigArgs & AccountArgs & {
3
+ logId: string;
4
+ app?: number;
5
+ type?: string;
6
+ json?: boolean;
7
+ };
8
+ declare const logDetailsCommand: YargsCommandModule<unknown, AppLogDetailsArgs>;
9
+ export default logDetailsCommand;
@@ -0,0 +1,86 @@
1
+ import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
2
+ import { makeWrappedYargsHandler } from '../../lib/yargs/makeWrappedYargsHandler.js';
3
+ import { makeYargsBuilder } from '../../lib/yargsUtils.js';
4
+ import { commands } from '../../lang/en.js';
5
+ import { selectAppPrompt } from '../../lib/prompts/selectAppPrompt.js';
6
+ import { listPrompt } from '../../lib/prompts/promptUtils.js';
7
+ import { getTypeChoices, handleLogDetailsRequest, SYSTEM_TYPE_CHOICES, toSystemType, } from '../../lib/app/logs.js';
8
+ import { logError } from '../../lib/errorHandlers/index.js';
9
+ const command = 'log-details <log-id>';
10
+ const describe = commands.app.subcommands.logDetails.describe;
11
+ const handler = async (options) => {
12
+ const { logId, app: appIdArg, type: typeArg, derivedAccountId, exit, addUsageMetadata, } = options;
13
+ addUsageMetadata({ type: typeArg });
14
+ let appId = appIdArg;
15
+ if (!appId) {
16
+ const selectedApp = await selectAppPrompt(derivedAccountId);
17
+ if (!selectedApp) {
18
+ return exit(EXIT_CODES.ERROR);
19
+ }
20
+ appId = selectedApp.id;
21
+ }
22
+ let rawType = typeArg;
23
+ if (!rawType) {
24
+ rawType = await listPrompt(commands.app.subcommands.logDetails.prompts.selectType, {
25
+ choices: getTypeChoices(),
26
+ });
27
+ if (!rawType) {
28
+ return exit(EXIT_CODES.ERROR);
29
+ }
30
+ }
31
+ const systemType = toSystemType(rawType);
32
+ try {
33
+ await handleLogDetailsRequest(derivedAccountId, appId, logId, systemType, options);
34
+ return exit(EXIT_CODES.SUCCESS);
35
+ }
36
+ catch (e) {
37
+ logError(e);
38
+ return exit(EXIT_CODES.ERROR);
39
+ }
40
+ };
41
+ function logDetailsBuilder(yargs) {
42
+ yargs
43
+ .positional('log-id', {
44
+ describe: commands.app.subcommands.logDetails.positionals.logId,
45
+ type: 'string',
46
+ demandOption: true,
47
+ })
48
+ .options({
49
+ app: {
50
+ describe: commands.app.subcommands.logDetails.options.appId,
51
+ type: 'number',
52
+ },
53
+ type: {
54
+ describe: commands.app.subcommands.logDetails.options.type,
55
+ type: 'string',
56
+ choices: SYSTEM_TYPE_CHOICES,
57
+ },
58
+ json: {
59
+ describe: commands.app.subcommands.logDetails.options.json,
60
+ type: 'boolean',
61
+ },
62
+ });
63
+ yargs.example([
64
+ [
65
+ '$0 app log-details abc-123-def --app=123456 --type=webhooks',
66
+ commands.app.subcommands.logDetails.examples.basic,
67
+ ],
68
+ [
69
+ '$0 app log-details abc-123-def --app=123456 --type=webhooks --json',
70
+ commands.app.subcommands.logDetails.examples.json,
71
+ ],
72
+ ]);
73
+ return yargs;
74
+ }
75
+ const builder = makeYargsBuilder(logDetailsBuilder, command, commands.app.subcommands.logDetails.verboseDescribe, {
76
+ useGlobalOptions: true,
77
+ useConfigOptions: true,
78
+ useAccountOptions: true,
79
+ });
80
+ const logDetailsCommand = {
81
+ command,
82
+ describe,
83
+ builder,
84
+ handler: makeWrappedYargsHandler('app-log-details', handler),
85
+ };
86
+ export default logDetailsCommand;
@@ -0,0 +1,13 @@
1
+ import { AccountArgs, CommonArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs.js';
2
+ export type AppLogsArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
+ app?: number;
4
+ type?: string;
5
+ json?: boolean;
6
+ limit?: number;
7
+ since?: string;
8
+ tail?: boolean;
9
+ errorsOnly?: boolean;
10
+ compact?: boolean;
11
+ };
12
+ declare const logsCommand: YargsCommandModule<unknown, AppLogsArgs>;
13
+ export default logsCommand;
@@ -0,0 +1,122 @@
1
+ import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
2
+ import { makeWrappedYargsHandler } from '../../lib/yargs/makeWrappedYargsHandler.js';
3
+ import { makeYargsBuilder } from '../../lib/yargsUtils.js';
4
+ import { commands } from '../../lang/en.js';
5
+ import { selectAppPrompt } from '../../lib/prompts/selectAppPrompt.js';
6
+ import { listPrompt } from '../../lib/prompts/promptUtils.js';
7
+ import { getTypeChoices, handleLogsRequest, SYSTEM_TYPE_CHOICES, tailAppLogs, toSystemType, } from '../../lib/app/logs.js';
8
+ import { logError } from '../../lib/errorHandlers/index.js';
9
+ const command = 'logs';
10
+ const describe = commands.app.subcommands.logs.describe;
11
+ const handler = async (options) => {
12
+ const { app: appIdArg, type, tail, derivedAccountId, exit, addUsageMetadata, } = options;
13
+ addUsageMetadata({
14
+ type,
15
+ });
16
+ let appId = appIdArg;
17
+ if (!appId) {
18
+ const selectedApp = await selectAppPrompt(derivedAccountId);
19
+ if (!selectedApp) {
20
+ return exit(EXIT_CODES.ERROR);
21
+ }
22
+ appId = selectedApp.id;
23
+ }
24
+ let rawType = type;
25
+ if (!rawType) {
26
+ rawType = await listPrompt(commands.app.subcommands.logs.prompts.selectType, {
27
+ choices: getTypeChoices(),
28
+ });
29
+ if (!rawType) {
30
+ return exit(EXIT_CODES.ERROR);
31
+ }
32
+ }
33
+ const systemType = toSystemType(rawType);
34
+ try {
35
+ if (tail) {
36
+ await tailAppLogs(derivedAccountId, appId, systemType, options);
37
+ }
38
+ else {
39
+ await handleLogsRequest(derivedAccountId, appId, systemType, options);
40
+ }
41
+ return exit(EXIT_CODES.SUCCESS);
42
+ }
43
+ catch (e) {
44
+ logError(e);
45
+ return exit(EXIT_CODES.ERROR);
46
+ }
47
+ };
48
+ function logsBuilder(yargs) {
49
+ yargs
50
+ .options({
51
+ app: {
52
+ describe: commands.app.subcommands.logs.options.appId,
53
+ type: 'number',
54
+ },
55
+ type: {
56
+ describe: commands.app.subcommands.logs.options.type,
57
+ type: 'string',
58
+ choices: SYSTEM_TYPE_CHOICES,
59
+ },
60
+ json: {
61
+ describe: commands.app.subcommands.logs.options.json,
62
+ type: 'boolean',
63
+ },
64
+ limit: {
65
+ describe: commands.app.subcommands.logs.options.limit,
66
+ type: 'number',
67
+ },
68
+ since: {
69
+ describe: commands.app.subcommands.logs.options.since,
70
+ type: 'string',
71
+ },
72
+ tail: {
73
+ describe: commands.app.subcommands.logs.options.tail,
74
+ type: 'boolean',
75
+ },
76
+ 'errors-only': {
77
+ describe: commands.app.subcommands.logs.options.errorsOnly,
78
+ type: 'boolean',
79
+ },
80
+ compact: {
81
+ describe: commands.app.subcommands.logs.options.compact,
82
+ type: 'boolean',
83
+ },
84
+ })
85
+ .conflicts('tail', ['limit', 'json']);
86
+ yargs.example([
87
+ [
88
+ '$0 app logs --app=123456 --type=webhooks',
89
+ commands.app.subcommands.logs.examples.basic,
90
+ ],
91
+ [
92
+ '$0 app logs --app=123456 --type=api-call --since=1h',
93
+ commands.app.subcommands.logs.examples.since,
94
+ ],
95
+ [
96
+ '$0 app logs --app=123456 --type=serverless-execution --tail',
97
+ commands.app.subcommands.logs.examples.tail,
98
+ ],
99
+ [
100
+ '$0 app logs --app=123456 --type=crm-extensibility-card --json',
101
+ commands.app.subcommands.logs.examples.json,
102
+ ],
103
+ [
104
+ '$0 app logs --app=123456 --type=webhooks --compact',
105
+ commands.app.subcommands.logs.examples.compact,
106
+ ],
107
+ ]);
108
+ return yargs;
109
+ }
110
+ const builder = makeYargsBuilder(logsBuilder, command, commands.app.subcommands.logs.verboseDescribe, {
111
+ useGlobalOptions: true,
112
+ useConfigOptions: true,
113
+ useAccountOptions: true,
114
+ useEnvironmentOptions: true,
115
+ });
116
+ const logsCommand = {
117
+ command,
118
+ describe,
119
+ builder,
120
+ handler: makeWrappedYargsHandler('app-logs', handler),
121
+ };
122
+ export default logsCommand;
package/commands/app.js CHANGED
@@ -1,11 +1,18 @@
1
1
  import migrateCommand from './app/migrate.js';
2
2
  import appSecretCommand from './app/secret.js';
3
+ import logsCommand from './app/logs.js';
4
+ import logDetailsCommand from './app/logDetails.js';
3
5
  import { makeYargsBuilder } from '../lib/yargsUtils.js';
4
6
  import { commands } from '../lang/en.js';
5
7
  const command = ['app', 'apps'];
6
8
  const describe = commands.app.describe;
7
9
  function appBuilder(yargs) {
8
- yargs.command(migrateCommand).command(appSecretCommand).demandCommand(1, '');
10
+ yargs
11
+ .command(migrateCommand)
12
+ .command(appSecretCommand)
13
+ .command(logsCommand)
14
+ .command(logDetailsCommand)
15
+ .demandCommand(1, '');
9
16
  return yargs;
10
17
  }
11
18
  const builder = makeYargsBuilder(appBuilder, command, describe);
package/commands/auth.js CHANGED
@@ -6,7 +6,7 @@ import { getAccessToken, updateConfigWithAccessToken, } from '@hubspot/local-dev
6
6
  import { updateConfigAccount, getConfigFilePath, globalConfigFileExists, } from '@hubspot/local-dev-lib/config';
7
7
  import { commaSeparatedValues, toKebabCase } from '@hubspot/local-dev-lib/text';
8
8
  import { promptUser } from '../lib/prompts/promptUtils.js';
9
- import { personalAccessKeyPrompt, OAUTH_FLOW, } from '../lib/prompts/personalAccessKeyPrompt.js';
9
+ import { legacyPersonalAccessKeyPrompt as personalAccessKeyPrompt, OAUTH_FLOW, } from '../lib/prompts/personalAccessKeyPrompt.js';
10
10
  import { cliAccountNamePrompt } from '../lib/prompts/accountNamePrompt.js';
11
11
  import { setAsDefaultAccountPrompt } from '../lib/prompts/setAsDefaultAccountPrompt.js';
12
12
  import { setCLILogLevel } from '../lib/commonOpts.js';
package/commands/init.js CHANGED
@@ -15,7 +15,7 @@ import { debugError, logError } from '../lib/errorHandlers/index.js';
15
15
  import { isPromptExitError } from '../lib/errors/PromptExitError.js';
16
16
  import { trackAuthAction } from '../lib/usageTracking.js';
17
17
  import { promptUser } from '../lib/prompts/promptUtils.js';
18
- import { OAUTH_FLOW, personalAccessKeyPrompt, } from '../lib/prompts/personalAccessKeyPrompt.js';
18
+ import { OAUTH_FLOW, legacyPersonalAccessKeyPrompt as personalAccessKeyPrompt, } from '../lib/prompts/personalAccessKeyPrompt.js';
19
19
  import { cliAccountNamePrompt } from '../lib/prompts/accountNamePrompt.js';
20
20
  import { authenticateWithOauth } from '../lib/oauth.js';
21
21
  import { EXIT_CODES } from '../lib/enums/exitCodes.js';
@@ -29,6 +29,7 @@ async function handler(args) {
29
29
  const lintLocations = await getUieLintablePackageJsonLocations(projectConfig);
30
30
  const locationsReadyToLint = [];
31
31
  const locationsNeedingPackages = new Map();
32
+ let skippedDirectoryCount = 0;
32
33
  for (const lintLocation of lintLocations) {
33
34
  if (areAllLintPackagesInstalled(lintLocation)) {
34
35
  locationsReadyToLint.push(lintLocation);
@@ -80,6 +81,9 @@ async function handler(args) {
80
81
  }
81
82
  else {
82
83
  uiLogger.warn(commands.project.lint.skippingDirectoriesWarning(relativeLocations));
84
+ if (installMissingDeps === false) {
85
+ skippedDirectoryCount = relativeLocations.length;
86
+ }
83
87
  }
84
88
  }
85
89
  if (locationsReadyToLint.length > 0) {
@@ -162,6 +166,10 @@ async function handler(args) {
162
166
  return exit(EXIT_CODES.ERROR);
163
167
  }
164
168
  }
169
+ if (skippedDirectoryCount > 0) {
170
+ uiLogger.error(commands.project.lint.skippedDirectoriesError(skippedDirectoryCount));
171
+ return exit(EXIT_CODES.ERROR);
172
+ }
165
173
  }
166
174
  catch (e) {
167
175
  if (isPromptExitError(e)) {
package/lang/en.d.ts CHANGED
@@ -115,6 +115,9 @@ export declare const commands: {
115
115
  options: {
116
116
  account: string;
117
117
  personalAccessKey: string;
118
+ default: string;
119
+ name: string;
120
+ useDefaultName: string;
118
121
  };
119
122
  errors: {
120
123
  invalidAccountIdProvided: string;
@@ -2020,6 +2023,7 @@ export declare const commands: {
2020
2023
  failedToReadPackageJson: (packageJsonPath: string) => string;
2021
2024
  installLintPackagesPrompt: (directories: string[], missingPackages: string[]) => string;
2022
2025
  skippingDirectoriesWarning: (directories: string[]) => string;
2026
+ skippedDirectoriesError: (directoryCount: number) => string;
2023
2027
  deprecatedEslintConfigWarning: (details: {
2024
2028
  path: string;
2025
2029
  files: string[];
@@ -2376,6 +2380,111 @@ export declare const commands: {
2376
2380
  };
2377
2381
  };
2378
2382
  };
2383
+ logs: {
2384
+ describe: string;
2385
+ verboseDescribe: string;
2386
+ options: {
2387
+ appId: string;
2388
+ type: string;
2389
+ json: string;
2390
+ limit: string;
2391
+ since: string;
2392
+ tail: string;
2393
+ errorsOnly: string;
2394
+ compact: string;
2395
+ };
2396
+ errors: {
2397
+ noLogs: string;
2398
+ noApps: string;
2399
+ };
2400
+ prompts: {
2401
+ selectType: string;
2402
+ };
2403
+ examples: {
2404
+ basic: string;
2405
+ since: string;
2406
+ tail: string;
2407
+ json: string;
2408
+ compact: string;
2409
+ };
2410
+ outputMessages: {
2411
+ viewInHubSpot: (url: string) => string;
2412
+ tableHeaders: {
2413
+ appId: string;
2414
+ type: string;
2415
+ logsFound: string;
2416
+ };
2417
+ logDetails: {
2418
+ id: string;
2419
+ duration: string;
2420
+ portal: string;
2421
+ trace: string;
2422
+ error: string;
2423
+ viewDetails: (logId: string, appId: number, systemType: string) => string;
2424
+ viewInUI: (url: string) => string;
2425
+ };
2426
+ tailMessages: {
2427
+ following: (appId: number) => string;
2428
+ stop: string;
2429
+ };
2430
+ };
2431
+ };
2432
+ logDetails: {
2433
+ describe: string;
2434
+ verboseDescribe: string;
2435
+ positionals: {
2436
+ logId: string;
2437
+ };
2438
+ options: {
2439
+ appId: string;
2440
+ type: string;
2441
+ json: string;
2442
+ };
2443
+ errors: {
2444
+ noApps: string;
2445
+ };
2446
+ prompts: {
2447
+ selectType: string;
2448
+ };
2449
+ examples: {
2450
+ basic: string;
2451
+ json: string;
2452
+ };
2453
+ outputMessages: {
2454
+ viewInHubSpot: (url: string) => string;
2455
+ logDetailsHeader: string;
2456
+ basicInfo: {
2457
+ id: string;
2458
+ timestamp: string;
2459
+ status: string;
2460
+ duration: string;
2461
+ systemType: string;
2462
+ };
2463
+ contextInfo: {
2464
+ header: string;
2465
+ portalId: string;
2466
+ traceId: string;
2467
+ function: string;
2468
+ location: string;
2469
+ card: string;
2470
+ userId: string;
2471
+ };
2472
+ requestResponse: {
2473
+ header: string;
2474
+ requestBody: string;
2475
+ responseBody: string;
2476
+ };
2477
+ errorInfo: {
2478
+ header: string;
2479
+ errorType: string;
2480
+ errorMessage: string;
2481
+ stackTrace: string;
2482
+ };
2483
+ additionalInfo: {
2484
+ header: string;
2485
+ };
2486
+ };
2487
+ };
2379
2488
  };
2380
2489
  };
2381
2490
  secret: {
@@ -3247,6 +3356,13 @@ export declare const lib: {
3247
3356
  appDataNotFound: string;
3248
3357
  oauthAppRedirectUrlError: (redirectUrl: string) => string;
3249
3358
  };
3359
+ accountAuthWebsocket: {
3360
+ logs: {
3361
+ openingWebBrowser: (url: string) => string;
3362
+ spinner: string;
3363
+ received: string;
3364
+ };
3365
+ };
3250
3366
  CLIWebsocketServer: {
3251
3367
  errors: {
3252
3368
  portManagerNotRunning: (prefix?: string) => string;
@@ -3254,6 +3370,7 @@ export declare const lib: {
3254
3370
  missingTypeField: (data: string) => string;
3255
3371
  invalidJSON: (data: string) => string;
3256
3372
  unknownMessageType: (type: string) => string;
3373
+ failedToBindEphemeralPort: (prefix?: string) => string;
3257
3374
  };
3258
3375
  logs: {
3259
3376
  startup: (port: number) => string;
@@ -3722,7 +3839,7 @@ export declare const lib: {
3722
3839
  functionName: (projectName: string) => string;
3723
3840
  };
3724
3841
  setAsDefaultAccountPrompt: {
3725
- setAsDefaultAccountMessage: string;
3842
+ setAsDefaultAccountMessage: (accountName: string) => string;
3726
3843
  setAsDefaultAccount: (accountName: string) => string;
3727
3844
  keepingCurrentDefault: (accountName: string | number) => string;
3728
3845
  };