@getbrevo/cli 0.0.1-alpha.1 → 1.0.0-alpha.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 (80) hide show
  1. package/CHANGELOG.md +26 -6
  2. package/README.md +51 -5
  3. package/agent-context/AGENTS.md +59 -0
  4. package/agent-context/SKILL.md +44 -0
  5. package/dist/api/client.d.ts.map +1 -1
  6. package/dist/api/client.js +8 -5
  7. package/dist/api/client.js.map +1 -1
  8. package/dist/bin/index.js +33 -11
  9. package/dist/bin/index.js.map +1 -1
  10. package/dist/commands/app/create.d.ts.map +1 -1
  11. package/dist/commands/app/create.js +16 -8
  12. package/dist/commands/app/create.js.map +1 -1
  13. package/dist/commands/app/credentials.d.ts.map +1 -1
  14. package/dist/commands/app/credentials.js +9 -3
  15. package/dist/commands/app/credentials.js.map +1 -1
  16. package/dist/commands/app/delete.d.ts.map +1 -1
  17. package/dist/commands/app/delete.js +1 -0
  18. package/dist/commands/app/delete.js.map +1 -1
  19. package/dist/commands/app/list.d.ts.map +1 -1
  20. package/dist/commands/app/list.js +18 -1
  21. package/dist/commands/app/list.js.map +1 -1
  22. package/dist/commands/app/scaffold.d.ts.map +1 -1
  23. package/dist/commands/app/scaffold.js +4 -0
  24. package/dist/commands/app/scaffold.js.map +1 -1
  25. package/dist/commands/app/start.d.ts.map +1 -1
  26. package/dist/commands/app/start.js +88 -3
  27. package/dist/commands/app/start.js.map +1 -1
  28. package/dist/commands/app/update.d.ts.map +1 -1
  29. package/dist/commands/app/update.js +9 -5
  30. package/dist/commands/app/update.js.map +1 -1
  31. package/dist/commands/definitions.js +8 -8
  32. package/dist/commands/definitions.js.map +1 -1
  33. package/dist/commands/login.d.ts.map +1 -1
  34. package/dist/commands/login.js +4 -0
  35. package/dist/commands/login.js.map +1 -1
  36. package/dist/lang/en.d.ts +15 -14
  37. package/dist/lang/en.d.ts.map +1 -1
  38. package/dist/lang/en.js +19 -18
  39. package/dist/lang/en.js.map +1 -1
  40. package/dist/lib/auth-guard.d.ts.map +1 -1
  41. package/dist/lib/auth-guard.js +7 -0
  42. package/dist/lib/auth-guard.js.map +1 -1
  43. package/dist/lib/config.d.ts +5 -0
  44. package/dist/lib/config.d.ts.map +1 -1
  45. package/dist/lib/config.js +82 -0
  46. package/dist/lib/config.js.map +1 -1
  47. package/dist/lib/constants.d.ts +1 -0
  48. package/dist/lib/constants.d.ts.map +1 -1
  49. package/dist/lib/constants.js +2 -1
  50. package/dist/lib/constants.js.map +1 -1
  51. package/dist/lib/min-version-check.d.ts +15 -0
  52. package/dist/lib/min-version-check.d.ts.map +1 -0
  53. package/dist/lib/min-version-check.js +33 -0
  54. package/dist/lib/min-version-check.js.map +1 -0
  55. package/dist/lib/port.d.ts +14 -1
  56. package/dist/lib/port.d.ts.map +1 -1
  57. package/dist/lib/port.js +29 -5
  58. package/dist/lib/port.js.map +1 -1
  59. package/dist/lib/update-notifier.d.ts +34 -0
  60. package/dist/lib/update-notifier.d.ts.map +1 -0
  61. package/dist/lib/update-notifier.js +255 -0
  62. package/dist/lib/update-notifier.js.map +1 -0
  63. package/dist/lib/validators.d.ts +1 -1
  64. package/dist/lib/validators.d.ts.map +1 -1
  65. package/dist/lib/validators.js +8 -13
  66. package/dist/lib/validators.js.map +1 -1
  67. package/dist/services/app.d.ts.map +1 -1
  68. package/dist/services/app.js +26 -3
  69. package/dist/services/app.js.map +1 -1
  70. package/dist/templates/files/AGENTS.md.tmpl +18 -12
  71. package/dist/templates/files/CLAUDE.md.tmpl +22 -13
  72. package/dist/templates/files/README.md.tmpl +10 -4
  73. package/dist/templates/files/app-config.json.tmpl +2 -0
  74. package/dist/templates/files/src/oauth/handler.js.tmpl +3 -0
  75. package/dist/templates/files/src/oauth/server.js.tmpl +1 -1
  76. package/package.json +3 -3
  77. package/dist/commands/app/test.d.ts +0 -6
  78. package/dist/commands/app/test.d.ts.map +0 -1
  79. package/dist/commands/app/test.js +0 -495
  80. package/dist/commands/app/test.js.map +0 -1
package/dist/lang/en.js CHANGED
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.messages = void 0;
4
4
  const constants_1 = require("../lib/constants");
5
5
  exports.messages = {
6
+ // Update notifier
7
+ UPDATE_AVAILABLE: (current, latest) => `Update available: ${current} → ${latest}`,
8
+ UPDATE_RUN: (name) => `Run: npm install -g ${name}`,
9
+ UPDATE_RUN_YARN: (name) => `Or: yarn global add ${name}`,
10
+ CLI_BELOW_MIN_VERSION: (current, required) => `This project requires Brevo CLI ≥ ${required}, but you are running ${current}. Some commands may not work correctly. Please upgrade.`,
6
11
  // Auth
7
12
  AUTH_WELCOME: 'Welcome to Brevo CLI',
8
13
  AUTH_PROMPT_METHOD: 'How would you like to authenticate?',
@@ -40,6 +45,7 @@ exports.messages = {
40
45
  APP_CREATE_SCAFFOLD_PROMPT: 'Generate starter code now?',
41
46
  APP_CREATE_NAME_TAKEN: 'That name is already taken. Try a different name.',
42
47
  APP_CREATE_REDIRECT_PROMPT: 'OAuth callback URL — where users are sent after authorizing your app:',
48
+ APP_CREATE_REDIRECT_HINT: (cmd) => `Tip: The scaffolded example requires the default callback URL shown below — keep it to test with \`${cmd}\`.`,
43
49
  APP_CREATE_REDIRECT_ANOTHER: 'Add another redirect URL?',
44
50
  APP_CREATE_REDIRECT_EMPTY: 'Redirect URL cannot be empty',
45
51
  APP_CREATE_REDIRECT_INVALID: 'Invalid format. Must start with http:// or https://',
@@ -53,6 +59,9 @@ exports.messages = {
53
59
  // App credentials
54
60
  APP_CREDENTIALS_REVEAL_CONFIRM: 'Are you sure you want to reveal the client secret?',
55
61
  APP_CREDENTIALS_SELECT: 'Select an app:',
62
+ CLIENT_SECRET_HIDDEN_HUMAN: `[hidden — run \`${constants_1.CLI.APP_CREDENTIALS_REVEAL()}\`]`,
63
+ CLIENT_SECRET_HIDDEN_JSON: '[hidden]',
64
+ CLIENT_SECRET_NOT_AVAILABLE: '[not available]',
56
65
  // App update
57
66
  APP_UPDATE_INVALID_JSON: 'app-config.json contains invalid JSON. Please check the file and try again.',
58
67
  APP_UPDATE_MISSING_APP_ID: 'app-config.json is missing "appId".',
@@ -64,9 +73,9 @@ exports.messages = {
64
73
  APP_UPDATE_CONFIRM: 'Proceed with update?',
65
74
  APP_UPDATE_CANCELLED: 'Update cancelled.',
66
75
  APP_UPDATE_SUCCESS: 'App updated.',
67
- APP_UPDATE_NOTHING_TO_UPDATE: 'Nothing to update. Provide --app-id with --name or --redirect-url, or run from a scaffolded project directory.',
76
+ APP_UPDATE_NOTHING_TO_UPDATE: 'Nothing to update. Provide --app-id with --name or --redirect-uri, or run from a scaffolded project directory.',
68
77
  APP_UPDATE_NO_APP_RESOLVED: 'Cannot determine which app to update. Provide --app-id or run from a directory with app-config.json.',
69
- APP_UPDATE_APP_ID_MISMATCH: (flagId, configId) => `--app-id ${flagId} does not match app-config.json (${configId}). Pass --name or --redirect-url to update app ${flagId}, or remove --app-id to update app ${configId}.`,
78
+ APP_UPDATE_APP_ID_MISMATCH: (flagId, configId) => `--app-id ${flagId} does not match app-config.json (${configId}). Pass --name or --redirect-uri to update app ${flagId}, or remove --app-id to update app ${configId}.`,
70
79
  // App delete
71
80
  APP_DELETE_CONFIRM: (name, id) => `Delete app "${name}" (${id})? This cannot be undone.`,
72
81
  APP_DELETE_SUCCESS: (id) => `App ${id} deleted.`,
@@ -86,30 +95,22 @@ exports.messages = {
86
95
  ` (or: npm --prefix src/oauth install)`,
87
96
  `3. ${constants_1.CLI.APP_START('oauth')}`,
88
97
  ],
89
- // App test
90
- APP_TEST_MISSING_CREDENTIALS: 'Run `brevo app scaffold` to set up a project with credentials.',
91
- APP_TEST_CODE_RECEIVED: 'Authorization code received. Exchanging for tokens...',
92
- APP_TEST_COMPLETE: 'OAuth flow complete. Tokens are live above. Press Ctrl+C to stop.',
93
- APP_TEST_PORT_IN_USE: (port) => `Port ${port} is in use.`,
94
- APP_TEST_STARTING: (port) => `OAuth test server running on http://localhost:${port}`,
95
- APP_TEST_REDIRECT_URI: (uri) => `Redirect URI: ${uri}`,
96
- APP_TEST_BROWSER_OPEN: 'Opening browser for authorization...',
97
- APP_TEST_WAITING: 'Waiting for OAuth callback...',
98
- APP_TEST_ACCESS_TOKEN: (expiresIn) => `Access token received (expires in ${expiresIn}s)`,
99
- APP_TEST_REFRESH_TOKEN_RECEIVED: 'Refresh token received',
100
- APP_TEST_TOKENS_IN_BROWSER: (port) => `View tokens in your browser at http://localhost:${port}`,
101
- APP_TEST_TOKEN_REFRESH_URL: (port) => `Token refresh: http://localhost:${port}/refresh`,
102
- APP_TEST_TOKEN_REFRESHED: (expiresIn) => `Access token refreshed (expires in ${expiresIn}s)`,
103
98
  // App start
104
99
  APP_START_FEATURE_NOT_FOUND: (entryFile) => `Feature entry file not found.\n\n Expected: ${entryFile}\n Current directory: ${process.cwd()}\n\n Make sure you are inside your scaffolded project directory.\n Run \`cd <your-project-folder>\` and try again.`,
105
100
  APP_START_NO_DEPS: (featureDir) => `Dependencies not installed. Run \`yarn --cwd ${featureDir}\` (or \`npm --prefix ${featureDir} install\`) first.`,
106
101
  APP_START_STOPPED: 'Process stopped.',
107
102
  APP_START_MISSING_FEATURE: (available) => `Missing feature name.\n\nAvailable features:\n${available}\n\nUsage: ${constants_1.CLI.APP_START()}`,
108
103
  APP_START_UNKNOWN_FEATURE: (feature, available) => `Unknown feature "${feature}". Available features: ${available}`,
109
- APP_START_PORT_IN_USE: (port) => `Port ${port} is already in use.\n\n Either stop the process using port ${port}, use a different port with \`--port <port>\`,\n or update your redirect URL with \`${constants_1.CLI.APP_UPDATE} --redirect-url http://localhost:<port>/auth/callback\`.`,
110
- APP_START_CUSTOM_PORT_IN_USE: (port) => `Port ${port} is already in use.\n\n Stop the process using port ${port}, or pick another port with \`--port <port>\`\n and update your redirect URL with \`${constants_1.CLI.APP_UPDATE} --redirect-url http://localhost:<port>/auth/callback\`.`,
104
+ APP_START_PORT_IN_USE: (port) => `Port ${port} is already in use.\n\n Either stop the process using port ${port}, use a different port with \`--port <port>\`,\n or update your redirect URL with \`${constants_1.CLI.APP_UPDATE} --redirect-uri http://localhost:<port>/auth/callback\`.`,
105
+ APP_START_CUSTOM_PORT_IN_USE: (port) => `Port ${port} is already in use.\n\n Stop the process using port ${port}, or pick another port with \`--port <port>\`\n and update your redirect URL with \`${constants_1.CLI.APP_UPDATE} --redirect-uri http://localhost:<port>/auth/callback\`.`,
111
106
  APP_START_EXITED: (feature, code) => `${feature} exited with code ${code}`,
112
107
  APP_START_FAILED: (feature, error) => `Failed to start ${feature}: ${error}`,
108
+ APP_START_REDIRECT_NOT_REGISTERED: (port) => `Port ${port} isn't registered as a redirect URL for this app.`,
109
+ APP_START_REDIRECT_REGISTER_PROMPT: (url) => `Register ${url}? You can delete it later if you want.`,
110
+ APP_START_REDIRECT_REGISTERING: 'Registering redirect URL...',
111
+ APP_START_REDIRECT_REGISTERED: (url) => `Registered ${url}.`,
112
+ APP_START_REDIRECT_DECLINED: (url) => `Continuing without registering. The OAuth callback at ${url} will fail until you register it. Run \`${constants_1.CLI.APP_UPDATE} --redirect-uri ${url}\` to register later.`,
113
+ APP_START_REDIRECT_NON_INTERACTIVE: (port, url) => `Port ${port} is not registered as a redirect URL for this app, and we can't prompt in non-interactive mode. Run \`${constants_1.CLI.APP_UPDATE} --redirect-uri ${url}\` first, or re-run interactively.`,
113
114
  AUTH_LOGOUT_NON_INTERACTIVE: 'Cannot prompt for confirmation in non-interactive mode. Use --force to skip.',
114
115
  // Errors
115
116
  ERR_NETWORK: 'Cannot reach Brevo API.',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/lang/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/lang/en.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guard.d.ts","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBvD"}
1
+ {"version":3,"file":"auth-guard.d.ts","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BvD"}
@@ -8,6 +8,13 @@ const UNAUTHENTICATED_COMMANDS = ['login', 'help', 'init', 'whoami', 'logout'];
8
8
  function installAuthGuard(program) {
9
9
  program.hook('preAction', (thisCommand, actionCommand) => {
10
10
  const commandName = actionCommand.name();
11
+ // The root program's default action handles "no args" (help) and
12
+ // "unknown command" (error). Skipping the auth guard there ensures
13
+ // unknown commands surface as "unknown command" instead of being
14
+ // intercepted by an auth-required check.
15
+ if (actionCommand === thisCommand || commandName === program.name()) {
16
+ return;
17
+ }
11
18
  // Allow login, help, and version through without auth
12
19
  if (UNAUTHENTICATED_COMMANDS.includes(commandName) ||
13
20
  process.argv.includes('--help') ||
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":";;AAOA,4CAoBC;AA1BD,qCAA2C;AAC3C,2CAAkC;AAClC,qCAAoC;AAEpC,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/E,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAEzC,sDAAsD;QACtD,IACE,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EACxB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAA,wBAAe,GAAE,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,eAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":";;AAOA,4CA4BC;AAlCD,qCAA2C;AAC3C,2CAAkC;AAClC,qCAAoC;AAEpC,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/E,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAEzC,iEAAiE;QACjE,mEAAmE;QACnE,iEAAiE;QACjE,yCAAyC;QACzC,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,IACE,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EACxB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAA,wBAAe,GAAE,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,eAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -45,9 +45,14 @@ export declare function countAppCredentials(): number;
45
45
  export declare function isAuthenticated(): boolean;
46
46
  export declare function saveAppCredentials(appId: string, cred: AppCredential): void;
47
47
  export declare function getAppCredentials(appId: string): AppCredential | undefined;
48
+ export declare function saveAppName(appId: string, name: string): void;
49
+ export declare function getAppNames(): Record<string, string>;
50
+ export declare function deleteAppName(appId: string): void;
48
51
  export interface ProjectConfig {
49
52
  appId: string;
50
53
  appName: string;
54
+ cliVersion?: string;
55
+ minCliVersion?: string;
51
56
  createdAt?: string;
52
57
  updatedAt?: string;
53
58
  auth: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAUA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAUD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA4JN,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAM9C;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAGnD;AAED,wBAAgB,WAAW,IAAI,QAAQ,GAAG,SAAS,CAKlD;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjE,IAAI,CAON;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClE,IAAI,CAsBN;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAWlE;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAI3E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE1E;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ7D;AAED,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOjD;AAMD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,EAAE,EAAE,MAAM,EAAE,CAAC;QACb,GAAG,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IACF,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAID,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAsBxD;AAED,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAG9D"}
@@ -50,6 +50,9 @@ exports.countAppCredentials = countAppCredentials;
50
50
  exports.isAuthenticated = isAuthenticated;
51
51
  exports.saveAppCredentials = saveAppCredentials;
52
52
  exports.getAppCredentials = getAppCredentials;
53
+ exports.saveAppName = saveAppName;
54
+ exports.getAppNames = getAppNames;
55
+ exports.deleteAppName = deleteAppName;
53
56
  exports.readProjectConfig = readProjectConfig;
54
57
  exports.hasLocalApp = hasLocalApp;
55
58
  exports.writeProjectConfig = writeProjectConfig;
@@ -66,6 +69,32 @@ function getCredentialsPath() {
66
69
  function ensureDir() {
67
70
  fs.mkdirSync(getConfigDir(), { recursive: true, mode: 0o700 });
68
71
  }
72
+ // Cached names patch the eventually-consistent `app list` response. Beyond this
73
+ // window we trust the server, so any out-of-band rename (e.g. dashboard) becomes
74
+ // visible without forcing the user to run `app credentials`.
75
+ const APP_NAME_CACHE_TTL_MS = 10 * 60 * 1000;
76
+ function sanitizeAppNames(value) {
77
+ if (!value || typeof value !== 'object')
78
+ return undefined;
79
+ const out = {};
80
+ for (const [key, raw] of Object.entries(value)) {
81
+ if (typeof raw === 'string' && raw.trim()) {
82
+ // Legacy plain-string entry from earlier alphas — treat as expired so the
83
+ // server response wins on the next list call.
84
+ out[key] = { name: raw, savedAt: 0 };
85
+ }
86
+ else if (raw && typeof raw === 'object') {
87
+ const entry = raw;
88
+ if (typeof entry.name === 'string' &&
89
+ entry.name.trim() &&
90
+ typeof entry.savedAt === 'number' &&
91
+ Number.isFinite(entry.savedAt)) {
92
+ out[key] = { name: entry.name, savedAt: entry.savedAt };
93
+ }
94
+ }
95
+ }
96
+ return Object.keys(out).length > 0 ? out : undefined;
97
+ }
69
98
  function sanitizeApps(apps) {
70
99
  const sanitized = {};
71
100
  for (const [key, value] of Object.entries(apps)) {
@@ -126,6 +155,7 @@ function readCredentials() {
126
155
  organizationId: parsed.organizationId,
127
156
  userId: parsed.userId,
128
157
  apps: sanitizeApps(parsed.apps ?? {}),
158
+ appNames: sanitizeAppNames(parsed.appNames),
129
159
  };
130
160
  }
131
161
  catch {
@@ -276,6 +306,58 @@ function saveAppCredentials(appId, cred) {
276
306
  function getAppCredentials(appId) {
277
307
  return readCredentials().apps[appId];
278
308
  }
309
+ // Locally cached app names mirror values from `app update` and `app credentials`.
310
+ // Server-side, the PUT endpoint and the GET-list endpoint are eventually consistent,
311
+ // so `app list` can return a stale name immediately after an update. Merging this
312
+ // cache on top of the list response masks the lag. Entries expire after
313
+ // APP_NAME_CACHE_TTL_MS so they cannot indefinitely hide an out-of-band rename.
314
+ function saveAppName(appId, name) {
315
+ if (!appId || !name)
316
+ return;
317
+ const creds = readCredentials();
318
+ creds.appNames = {
319
+ ...(creds.appNames ?? {}),
320
+ [appId]: { name, savedAt: Date.now() },
321
+ };
322
+ writeCredentials(creds);
323
+ }
324
+ function getAppNames() {
325
+ const creds = readCredentials();
326
+ const cache = creds.appNames ?? {};
327
+ const now = Date.now();
328
+ const fresh = {};
329
+ const result = {};
330
+ let pruned = false;
331
+ for (const [id, entry] of Object.entries(cache)) {
332
+ if (now - entry.savedAt < APP_NAME_CACHE_TTL_MS) {
333
+ fresh[id] = entry;
334
+ result[id] = entry.name;
335
+ }
336
+ else {
337
+ pruned = true;
338
+ }
339
+ }
340
+ if (pruned) {
341
+ creds.appNames = Object.keys(fresh).length > 0 ? fresh : undefined;
342
+ try {
343
+ writeCredentials(creds);
344
+ }
345
+ catch {
346
+ // non-fatal — we've already returned the fresh subset to the caller
347
+ }
348
+ }
349
+ return result;
350
+ }
351
+ function deleteAppName(appId) {
352
+ if (!appId)
353
+ return;
354
+ const creds = readCredentials();
355
+ if (!creds.appNames || !(appId in creds.appNames))
356
+ return;
357
+ const { [appId]: _removed, ...rest } = creds.appNames;
358
+ creds.appNames = Object.keys(rest).length > 0 ? rest : undefined;
359
+ writeCredentials(creds);
360
+ }
279
361
  const PROJECT_CONFIG_FILE = 'app-config.json';
280
362
  function readProjectConfig() {
281
363
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const DEFAULT_REDIRECT_URI = "http://localhost:3009/auth/callback
28
28
  export declare const PLACEHOLDER_CLIENT_ID = "YOUR_CLIENT_ID";
29
29
  export declare const OAUTH_BASE = "https://oauth.brevo.com";
30
30
  export declare const OAUTH_REALM = "partner";
31
+ export declare const MIN_CLI_VERSION = "0.0.0";
31
32
  export declare const BREVO_DASHBOARD_API_KEYS_URL = "https://app.brevo.com/settings/keys/api";
32
33
  export declare const BREVO_API_KEY_DOCS_URL = "https://developers.brevo.com/docs/api-key-authentication";
33
34
  export declare const BREVO_STATUS_URL = "https://status.brevo.com";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAkBA,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AA0BD,eAAO,MAAM,QAAQ,QAAmB,CAAC;AAkBzC,eAAO,MAAM,eAAe,QAAyB,CAAC;AAEtD,eAAO,MAAM,SAAS;;;gCAGD,MAAM;2CACK,MAAM;;;CAG5B,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;oCAMS,MAAM;uCAEH,MAAM;8CAIC,MAAM;;;mCAMjB,MAAM;CAEpB,CAAC;AAEX,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,oBAAoB,wCAAmD,CAAC;AACrF,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,UAAU,4BAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,4BAA4B,4CAA4C,CAAC;AACtF,eAAO,MAAM,sBAAsB,6DAA6D,CAAC;AACjG,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAkBA,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AA0BD,eAAO,MAAM,QAAQ,QAAmB,CAAC;AAkBzC,eAAO,MAAM,eAAe,QAAyB,CAAC;AAEtD,eAAO,MAAM,SAAS;;;gCAGD,MAAM;2CACK,MAAM;;;CAG5B,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;oCAMS,MAAM;uCAEH,MAAM;8CAIC,MAAM;;;mCAMjB,MAAM;CAEpB,CAAC;AAEX,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,oBAAoB,wCAAmD,CAAC;AACrF,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,UAAU,4BAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,eAAO,MAAM,4BAA4B,4CAA4C,CAAC;AACtF,eAAO,MAAM,sBAAsB,6DAA6D,CAAC;AACjG,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,cAAc,iCAAiC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BREVO_DOCS_URL = exports.BREVO_STATUS_URL = exports.BREVO_API_KEY_DOCS_URL = exports.BREVO_DASHBOARD_API_KEYS_URL = exports.OAUTH_REALM = exports.OAUTH_BASE = exports.PLACEHOLDER_CLIENT_ID = exports.DEFAULT_REDIRECT_URI = exports.DEFAULT_PORT = exports.DEFAULT_APP_FOLDER = exports.CLI = exports.ENDPOINTS = exports.OAUTH_PROXY_URL = exports.API_BASE = void 0;
3
+ exports.BREVO_DOCS_URL = exports.BREVO_STATUS_URL = exports.BREVO_API_KEY_DOCS_URL = exports.BREVO_DASHBOARD_API_KEYS_URL = exports.MIN_CLI_VERSION = exports.OAUTH_REALM = exports.OAUTH_BASE = exports.PLACEHOLDER_CLIENT_ID = exports.DEFAULT_REDIRECT_URI = exports.DEFAULT_PORT = exports.DEFAULT_APP_FOLDER = exports.CLI = exports.ENDPOINTS = exports.OAUTH_PROXY_URL = exports.API_BASE = void 0;
4
4
  exports.warnIfPathStripped = warnIfPathStripped;
5
5
  const errors_1 = require("./errors");
6
6
  // Track whether URL suffix parts were stripped for deferred warning (avoid side effects at import time)
@@ -90,6 +90,7 @@ exports.DEFAULT_REDIRECT_URI = `http://localhost:${exports.DEFAULT_PORT}/auth/ca
90
90
  exports.PLACEHOLDER_CLIENT_ID = 'YOUR_CLIENT_ID';
91
91
  exports.OAUTH_BASE = 'https://oauth.brevo.com';
92
92
  exports.OAUTH_REALM = 'partner';
93
+ exports.MIN_CLI_VERSION = '0.0.0';
93
94
  exports.BREVO_DASHBOARD_API_KEYS_URL = 'https://app.brevo.com/settings/keys/api';
94
95
  exports.BREVO_API_KEY_DOCS_URL = 'https://developers.brevo.com/docs/api-key-authentication';
95
96
  exports.BREVO_STATUS_URL = 'https://status.brevo.com';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ interface CheckOptions {
2
+ currentVersion: string;
3
+ argv?: readonly string[];
4
+ }
5
+ /**
6
+ * Warn if the current CLI version is below the project's `minCliVersion`.
7
+ * Silent when:
8
+ * - cwd has no app-config.json
9
+ * - app-config.json has no `minCliVersion`
10
+ * - current version is `0.0.0` (unpublished local dev build)
11
+ * - `--json` is passed (would corrupt machine-readable output)
12
+ */
13
+ export declare function warnIfCliBelowMinVersion(opts: CheckOptions): void;
14
+ export {};
15
+ //# sourceMappingURL=min-version-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min-version-check.d.ts","sourceRoot":"","sources":["../../src/lib/min-version-check.ts"],"names":[],"mappings":"AAKA,UAAU,YAAY;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAMD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAYjE"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.warnIfCliBelowMinVersion = warnIfCliBelowMinVersion;
4
+ const config_1 = require("./config");
5
+ const update_notifier_1 = require("./update-notifier");
6
+ const logger_1 = require("./logger");
7
+ const en_1 = require("../lang/en");
8
+ function isJsonInvocation(argv) {
9
+ return argv.includes('--json');
10
+ }
11
+ /**
12
+ * Warn if the current CLI version is below the project's `minCliVersion`.
13
+ * Silent when:
14
+ * - cwd has no app-config.json
15
+ * - app-config.json has no `minCliVersion`
16
+ * - current version is `0.0.0` (unpublished local dev build)
17
+ * - `--json` is passed (would corrupt machine-readable output)
18
+ */
19
+ function warnIfCliBelowMinVersion(opts) {
20
+ const argv = opts.argv ?? process.argv;
21
+ if (isJsonInvocation(argv))
22
+ return;
23
+ if (opts.currentVersion === '0.0.0')
24
+ return;
25
+ const cfg = (0, config_1.readProjectConfig)();
26
+ const required = cfg?.minCliVersion;
27
+ if (!required)
28
+ return;
29
+ if ((0, update_notifier_1.isNewer)(opts.currentVersion, required)) {
30
+ (0, logger_1.logWarn)(en_1.messages.CLI_BELOW_MIN_VERSION(opts.currentVersion, required));
31
+ }
32
+ }
33
+ //# sourceMappingURL=min-version-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min-version-check.js","sourceRoot":"","sources":["../../src/lib/min-version-check.ts"],"names":[],"mappings":";;AAsBA,4DAYC;AAlCD,qCAA6C;AAC7C,uDAA4C;AAC5C,qCAAmC;AACnC,mCAAsC;AAOtC,SAAS,gBAAgB,CAAC,IAAuB;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CAAC,IAAkB;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO;IACnC,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO;QAAE,OAAO;IAE5C,MAAM,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,EAAE,aAAa,CAAC;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,IAAI,IAAA,yBAAO,EAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAA,gBAAO,EAAC,aAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -1,7 +1,20 @@
1
1
  /**
2
- * Check whether a TCP port is available on localhost.
2
+ * Check whether a TCP port is available.
3
3
  * Resolves true if the port is free, false if in use.
4
4
  * Rejects on unexpected errors (e.g. EACCES, invalid port).
5
+ *
6
+ * Probes 0.0.0.0 (IPv4 wildcard) and 127.0.0.1 (loopback) sequentially.
7
+ * A single-host probe misses real conflicts: a loopback-only probe doesn't
8
+ * catch wildcard owners (e.g. Mockoon on `*:3009`), and a wildcard-only
9
+ * probe doesn't catch loopback-bound owners. Reporting "in use" if either
10
+ * probe sees EADDRINUSE matches what an OAuth server bound to 127.0.0.1
11
+ * would actually hit at start time or runtime.
12
+ *
13
+ * Probes run sequentially (not Promise.all) because parallel binds to
14
+ * 0.0.0.0:N and 127.0.0.1:N race against each other — whichever the
15
+ * kernel grants first triggers EADDRINUSE on the other, even when the
16
+ * port is genuinely free. Sequential probes with proper close-between
17
+ * avoid the self-collision.
5
18
  */
6
19
  export declare function isPortAvailable(port: number): Promise<boolean>;
7
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/lib/port.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9D;AAKD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKjF"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/lib/port.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIpE;AAKD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKjF"}
package/dist/lib/port.js CHANGED
@@ -37,11 +37,10 @@ exports.isPortAvailable = isPortAvailable;
37
37
  exports.findAvailablePort = findAvailablePort;
38
38
  const net = __importStar(require("node:net"));
39
39
  /**
40
- * Check whether a TCP port is available on localhost.
41
- * Resolves true if the port is free, false if in use.
42
- * Rejects on unexpected errors (e.g. EACCES, invalid port).
40
+ * Try to bind a fresh listener to `port` on `host`. Resolves true if the
41
+ * bind succeeds (port free), false on EADDRINUSE, rejects on other errors.
43
42
  */
44
- function isPortAvailable(port) {
43
+ function tryBind(port, host) {
45
44
  return new Promise((resolve, reject) => {
46
45
  const server = net.createServer();
47
46
  server.once('error', (err) => {
@@ -56,13 +55,38 @@ function isPortAvailable(port) {
56
55
  server.close(() => resolve(true));
57
56
  });
58
57
  try {
59
- server.listen(port, '127.0.0.1');
58
+ server.listen(port, host);
60
59
  }
61
60
  catch (err) {
62
61
  reject(err);
63
62
  }
64
63
  });
65
64
  }
65
+ /**
66
+ * Check whether a TCP port is available.
67
+ * Resolves true if the port is free, false if in use.
68
+ * Rejects on unexpected errors (e.g. EACCES, invalid port).
69
+ *
70
+ * Probes 0.0.0.0 (IPv4 wildcard) and 127.0.0.1 (loopback) sequentially.
71
+ * A single-host probe misses real conflicts: a loopback-only probe doesn't
72
+ * catch wildcard owners (e.g. Mockoon on `*:3009`), and a wildcard-only
73
+ * probe doesn't catch loopback-bound owners. Reporting "in use" if either
74
+ * probe sees EADDRINUSE matches what an OAuth server bound to 127.0.0.1
75
+ * would actually hit at start time or runtime.
76
+ *
77
+ * Probes run sequentially (not Promise.all) because parallel binds to
78
+ * 0.0.0.0:N and 127.0.0.1:N race against each other — whichever the
79
+ * kernel grants first triggers EADDRINUSE on the other, even when the
80
+ * port is genuinely free. Sequential probes with proper close-between
81
+ * avoid the self-collision.
82
+ */
83
+ async function isPortAvailable(port) {
84
+ if (!(await tryBind(port, '0.0.0.0')))
85
+ return false;
86
+ if (!(await tryBind(port, '127.0.0.1')))
87
+ return false;
88
+ return true;
89
+ }
66
90
  /** Maximum number of ports to scan before giving up. */
67
91
  const MAX_SCAN = 20;
68
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/lib/port.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAmBC;AASD,8CAKC;AAxCD,8CAAgC;AAEhC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,KAAK,IAAI,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/D,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/lib/port.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,0CAIC;AASD,8CAKC;AA/DD,8CAAgC;AAEhC;;;GAGG;AACH,SAAS,OAAO,CAAC,IAAY,EAAE,IAAY;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wDAAwD;AACxD,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,KAAK,IAAI,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/D,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,34 @@
1
+ export interface PkgInfo {
2
+ name: string;
3
+ version: string;
4
+ }
5
+ export interface UpdateCheckCache {
6
+ latest: string;
7
+ lastChecked: number;
8
+ }
9
+ export interface UpdateNotifierOptions {
10
+ pkg: PkgInfo;
11
+ argv?: readonly string[];
12
+ env?: NodeJS.ProcessEnv;
13
+ isTTY?: boolean;
14
+ cachePath?: string;
15
+ fetchImpl?: typeof fetch;
16
+ now?: () => number;
17
+ ttlMs?: number;
18
+ fetchTimeoutMs?: number;
19
+ }
20
+ export declare function shouldShowBannerBefore(argv: readonly string[]): boolean;
21
+ export declare function shouldSkipCheck(opts: UpdateNotifierOptions): boolean;
22
+ export declare function compareVersions(current: string, latest: string): number;
23
+ export declare function isNewer(current: string, latest: string): boolean;
24
+ export declare function readCache(cachePath: string): UpdateCheckCache | undefined;
25
+ export declare function writeCache(cachePath: string, cache: UpdateCheckCache): void;
26
+ export declare function fetchLatestVersion(name: string, opts?: UpdateNotifierOptions): Promise<string | undefined>;
27
+ export declare function formatBanner(current: string, latest: string, name: string): string;
28
+ export interface UpdateCheckHandle {
29
+ cachedLatest?: string;
30
+ pending: Promise<void>;
31
+ }
32
+ export declare function startUpdateCheck(opts: UpdateNotifierOptions): UpdateCheckHandle;
33
+ export declare function notifyUpdate(handle: UpdateCheckHandle, pkg: PkgInfo, output?: NodeJS.WriteStream, waitMs?: number): Promise<void>;
34
+ //# sourceMappingURL=update-notifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-notifier.d.ts","sourceRoot":"","sources":["../../src/lib/update-notifier.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAMvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAYpE;AA+CD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAgBzE;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAO3E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,qBAA2D,GAChE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7B;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBlF;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CA8B/E;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,OAAO,EACZ,MAAM,GAAE,MAAM,CAAC,WAA4B,EAC3C,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CASf"}