@getbrevo/cli 2.0.2 → 2.1.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.
- package/CHANGELOG.md +209 -0
- package/README.md +8 -5
- package/agent-context/AGENTS.md +59 -15
- package/agent-context/SKILL.md +70 -14
- package/dist/{templates → bin}/files/AGENTS.md.tmpl +11 -1
- package/dist/{templates → bin}/files/CLAUDE.md.tmpl +8 -0
- package/dist/{templates → bin}/files/README.md.tmpl +11 -14
- package/dist/bin/files/app-config.json.tmpl +16 -0
- package/dist/{templates → bin}/files/src/oauth/.env.example.tmpl +8 -0
- package/dist/{templates → bin}/files/src/oauth/.env.local.tmpl +2 -0
- package/dist/{templates → bin}/files/src/oauth/handler.js.tmpl +49 -7
- package/dist/{templates → bin}/files/src/oauth/server.js.tmpl +20 -14
- package/dist/{templates → bin}/files/src/oauth/token-store.js.tmpl +19 -0
- package/dist/bin/index.js +660 -235
- package/dist/bin/index.js.map +7 -1
- package/package.json +6 -4
- package/dist/api/client.d.ts +0 -25
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -205
- package/dist/api/client.js.map +0 -1
- package/dist/bin/index.d.ts +0 -3
- package/dist/bin/index.d.ts.map +0 -1
- package/dist/commands/app/create.d.ts +0 -8
- package/dist/commands/app/create.d.ts.map +0 -1
- package/dist/commands/app/create.js +0 -325
- package/dist/commands/app/create.js.map +0 -1
- package/dist/commands/app/credentials.d.ts +0 -6
- package/dist/commands/app/credentials.d.ts.map +0 -1
- package/dist/commands/app/credentials.js +0 -114
- package/dist/commands/app/credentials.js.map +0 -1
- package/dist/commands/app/delete.d.ts +0 -6
- package/dist/commands/app/delete.d.ts.map +0 -1
- package/dist/commands/app/delete.js +0 -167
- package/dist/commands/app/delete.js.map +0 -1
- package/dist/commands/app/list.d.ts +0 -4
- package/dist/commands/app/list.d.ts.map +0 -1
- package/dist/commands/app/list.js +0 -71
- package/dist/commands/app/list.js.map +0 -1
- package/dist/commands/app/scaffold.d.ts +0 -5
- package/dist/commands/app/scaffold.d.ts.map +0 -1
- package/dist/commands/app/scaffold.js +0 -213
- package/dist/commands/app/scaffold.js.map +0 -1
- package/dist/commands/app/scopes.d.ts +0 -2
- package/dist/commands/app/scopes.d.ts.map +0 -1
- package/dist/commands/app/scopes.js +0 -81
- package/dist/commands/app/scopes.js.map +0 -1
- package/dist/commands/app/start.d.ts +0 -5
- package/dist/commands/app/start.d.ts.map +0 -1
- package/dist/commands/app/start.js +0 -220
- package/dist/commands/app/start.js.map +0 -1
- package/dist/commands/app/update.d.ts +0 -2
- package/dist/commands/app/update.d.ts.map +0 -1
- package/dist/commands/app/update.js +0 -444
- package/dist/commands/app/update.js.map +0 -1
- package/dist/commands/definitions.d.ts +0 -5
- package/dist/commands/definitions.d.ts.map +0 -1
- package/dist/commands/definitions.js +0 -262
- package/dist/commands/definitions.js.map +0 -1
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -138
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/login.d.ts +0 -6
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -251
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -5
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -54
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/skill/install.d.ts +0 -4
- package/dist/commands/skill/install.d.ts.map +0 -1
- package/dist/commands/skill/install.js +0 -29
- package/dist/commands/skill/install.js.map +0 -1
- package/dist/commands/skill/uninstall.d.ts +0 -4
- package/dist/commands/skill/uninstall.d.ts.map +0 -1
- package/dist/commands/skill/uninstall.js +0 -23
- package/dist/commands/skill/uninstall.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -4
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -85
- package/dist/commands/whoami.js.map +0 -1
- package/dist/container.d.ts +0 -7
- package/dist/container.d.ts.map +0 -1
- package/dist/container.js +0 -28
- package/dist/container.js.map +0 -1
- package/dist/lang/en.d.ts +0 -162
- package/dist/lang/en.d.ts.map +0 -1
- package/dist/lang/en.js +0 -189
- package/dist/lang/en.js.map +0 -1
- package/dist/lib/abort.d.ts +0 -3
- package/dist/lib/abort.d.ts.map +0 -1
- package/dist/lib/abort.js +0 -30
- package/dist/lib/abort.js.map +0 -1
- package/dist/lib/auth-guard.d.ts +0 -13
- package/dist/lib/auth-guard.d.ts.map +0 -1
- package/dist/lib/auth-guard.js +0 -60
- package/dist/lib/auth-guard.js.map +0 -1
- package/dist/lib/browser.d.ts +0 -2
- package/dist/lib/browser.d.ts.map +0 -1
- package/dist/lib/browser.js +0 -16
- package/dist/lib/browser.js.map +0 -1
- package/dist/lib/cli-version.d.ts +0 -2
- package/dist/lib/cli-version.d.ts.map +0 -1
- package/dist/lib/cli-version.js +0 -59
- package/dist/lib/cli-version.js.map +0 -1
- package/dist/lib/command-handler.d.ts +0 -10
- package/dist/lib/command-handler.d.ts.map +0 -1
- package/dist/lib/command-handler.js +0 -16
- package/dist/lib/command-handler.js.map +0 -1
- package/dist/lib/command-registry.d.ts +0 -28
- package/dist/lib/command-registry.d.ts.map +0 -1
- package/dist/lib/command-registry.js +0 -54
- package/dist/lib/command-registry.js.map +0 -1
- package/dist/lib/config.d.ts +0 -83
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -430
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -48
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -121
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -30
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -66
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/exit-codes.d.ts +0 -9
- package/dist/lib/exit-codes.d.ts.map +0 -1
- package/dist/lib/exit-codes.js +0 -12
- package/dist/lib/exit-codes.js.map +0 -1
- package/dist/lib/hidden-input.d.ts +0 -2
- package/dist/lib/hidden-input.d.ts.map +0 -1
- package/dist/lib/hidden-input.js +0 -78
- package/dist/lib/hidden-input.js.map +0 -1
- package/dist/lib/json-output.d.ts +0 -6
- package/dist/lib/json-output.d.ts.map +0 -1
- package/dist/lib/json-output.js +0 -11
- package/dist/lib/json-output.js.map +0 -1
- package/dist/lib/logger.d.ts +0 -11
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js +0 -110
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/oauth-freshness.d.ts +0 -30
- package/dist/lib/oauth-freshness.d.ts.map +0 -1
- package/dist/lib/oauth-freshness.js +0 -61
- package/dist/lib/oauth-freshness.js.map +0 -1
- package/dist/lib/port.d.ts +0 -25
- package/dist/lib/port.d.ts.map +0 -1
- package/dist/lib/port.js +0 -103
- package/dist/lib/port.js.map +0 -1
- package/dist/lib/telemetry.d.ts +0 -9
- package/dist/lib/telemetry.d.ts.map +0 -1
- package/dist/lib/telemetry.js +0 -57
- package/dist/lib/telemetry.js.map +0 -1
- package/dist/lib/ui.d.ts +0 -14
- package/dist/lib/ui.d.ts.map +0 -1
- package/dist/lib/ui.js +0 -75
- package/dist/lib/ui.js.map +0 -1
- package/dist/lib/update-notifier.d.ts +0 -37
- package/dist/lib/update-notifier.d.ts.map +0 -1
- package/dist/lib/update-notifier.js +0 -298
- package/dist/lib/update-notifier.js.map +0 -1
- package/dist/lib/validators.d.ts +0 -55
- package/dist/lib/validators.d.ts.map +0 -1
- package/dist/lib/validators.js +0 -166
- package/dist/lib/validators.js.map +0 -1
- package/dist/services/account.d.ts +0 -8
- package/dist/services/account.d.ts.map +0 -1
- package/dist/services/account.js +0 -15
- package/dist/services/account.js.map +0 -1
- package/dist/services/app.d.ts +0 -38
- package/dist/services/app.d.ts.map +0 -1
- package/dist/services/app.js +0 -145
- package/dist/services/app.js.map +0 -1
- package/dist/services/browser-auth.d.ts +0 -15
- package/dist/services/browser-auth.d.ts.map +0 -1
- package/dist/services/browser-auth.js +0 -188
- package/dist/services/browser-auth.js.map +0 -1
- package/dist/services/normalize-app-id.d.ts +0 -12
- package/dist/services/normalize-app-id.d.ts.map +0 -1
- package/dist/services/normalize-app-id.js +0 -38
- package/dist/services/normalize-app-id.js.map +0 -1
- package/dist/services/oauth-metadata.d.ts +0 -7
- package/dist/services/oauth-metadata.d.ts.map +0 -1
- package/dist/services/oauth-metadata.js +0 -43
- package/dist/services/oauth-metadata.js.map +0 -1
- package/dist/services/oauth-refresh.d.ts +0 -14
- package/dist/services/oauth-refresh.d.ts.map +0 -1
- package/dist/services/oauth-refresh.js +0 -70
- package/dist/services/oauth-refresh.js.map +0 -1
- package/dist/services/scopes-html.d.ts +0 -3
- package/dist/services/scopes-html.d.ts.map +0 -1
- package/dist/services/scopes-html.js +0 -516
- package/dist/services/scopes-html.js.map +0 -1
- package/dist/services/scopes-web.d.ts +0 -12
- package/dist/services/scopes-web.d.ts.map +0 -1
- package/dist/services/scopes-web.js +0 -95
- package/dist/services/scopes-web.js.map +0 -1
- package/dist/services/skill.d.ts +0 -48
- package/dist/services/skill.d.ts.map +0 -1
- package/dist/services/skill.js +0 -223
- package/dist/services/skill.js.map +0 -1
- package/dist/skills/index.d.ts +0 -47
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -61
- package/dist/skills/index.js.map +0 -1
- package/dist/templates/files/app-config.json.tmpl +0 -25
- package/dist/templates/index.d.ts +0 -36
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -105
- package/dist/templates/index.js.map +0 -1
- package/dist/types.d.ts +0 -32
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- /package/dist/{templates → bin}/files/gitignore.tmpl +0 -0
- /package/dist/{templates → bin}/files/src/oauth/package.json.tmpl +0 -0
package/dist/lang/en.d.ts
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
export declare const messages: {
|
|
2
|
-
readonly UPDATE_AVAILABLE: (current: string, latest: string) => string;
|
|
3
|
-
readonly UPDATE_RUN: (name: string) => string;
|
|
4
|
-
readonly UPDATE_RUN_YARN: (name: string) => string;
|
|
5
|
-
readonly UPDATE_RUN_BREW: "Or: brew upgrade brevo";
|
|
6
|
-
readonly FORCE_UPDATE_REQUIRED: (current: string, latest: string) => string;
|
|
7
|
-
readonly FORCE_UPDATE_HINT: "Update to continue using the Brevo CLI:";
|
|
8
|
-
readonly AUTH_WELCOME: "Welcome to Brevo CLI";
|
|
9
|
-
readonly AUTH_PROMPT_METHOD: "How would you like to authenticate?";
|
|
10
|
-
readonly AUTH_PROMPT_API_KEY: "Paste your API key:";
|
|
11
|
-
readonly AUTH_SUCCESS: (email: string) => string;
|
|
12
|
-
readonly AUTH_INVALID_KEY: "Invalid API key. Please check and try again.";
|
|
13
|
-
readonly AUTH_HINT: (keysUrl: string, docsUrl: string) => string;
|
|
14
|
-
readonly AUTH_SAVED: (path: string) => string;
|
|
15
|
-
readonly AUTH_NEXT: "Next: brevo app create";
|
|
16
|
-
readonly AUTH_CREATE_APP_PROMPT: "Would you like to create an app?";
|
|
17
|
-
readonly AUTH_NOT_LOGGED_IN: "Not currently authenticated.";
|
|
18
|
-
readonly AUTH_LOGGED_OUT: "Credentials cleared.";
|
|
19
|
-
readonly AUTH_LOGGED_OUT_WITH_APPS: (count: number) => string;
|
|
20
|
-
readonly AUTH_LOGOUT_APP_WARNING: "You have cached app credentials (clientId/clientSecret) that cannot be recovered after logout.\n Run `brevo app credentials --reveal-secret` to view them before proceeding.";
|
|
21
|
-
readonly AUTH_LOGOUT_CONFIRM: "Proceed with logout?";
|
|
22
|
-
readonly AUTH_EXPIRED: "Your API key is invalid or expired.";
|
|
23
|
-
readonly AUTH_EXPIRED_PROMPT: "Enter a new API key:";
|
|
24
|
-
readonly AUTH_GET_KEY_URL: "Create an API key at: https://app.brevo.com/settings/keys/api";
|
|
25
|
-
readonly AUTH_BROWSER_OPENING: "Opening your browser to log you in...";
|
|
26
|
-
readonly AUTH_BROWSER_FALLBACK_URL: (url: string) => string;
|
|
27
|
-
readonly AUTH_BROWSER_WAITING: "Waiting for login to complete (Ctrl+C to cancel)...";
|
|
28
|
-
readonly AUTH_BROWSER_TOKENS_RECEIVED: (path: string) => string;
|
|
29
|
-
readonly AUTH_BROWSER_TIMEOUT: "Login timed out before we received a response from the browser.\n If you were completing 2FA, close the browser tab and run `brevo login` again.\n For non-interactive use, set BREVO_API_KEY instead.";
|
|
30
|
-
readonly AUTH_BROWSER_CANCELLED: "Login cancelled.";
|
|
31
|
-
readonly AUTH_BROWSER_BAD_PAYLOAD: "Unexpected response from the login service. Please try again.";
|
|
32
|
-
readonly AUTH_BROWSER_NON_INTERACTIVE: "Browser login needs an interactive terminal. Set BREVO_API_KEY to authenticate non-interactively.";
|
|
33
|
-
readonly WHOAMI_AUTHENTICATED: (email: string, company: string) => string;
|
|
34
|
-
readonly WHOAMI_NOT_AUTHENTICATED: "Not authenticated. Run: brevo login";
|
|
35
|
-
readonly WHOAMI_CREDENTIAL_MISMATCH: (fields: string[]) => string;
|
|
36
|
-
readonly APP_CREATE_NAME_PROMPT: "App name:";
|
|
37
|
-
readonly APP_CREATE_TYPE_PROMPT: "Distribution type?";
|
|
38
|
-
readonly APP_CREATE_SUCCESS: "App created.";
|
|
39
|
-
readonly APP_CREATE_SCAFFOLD_PROMPT: "Generate starter code now?";
|
|
40
|
-
readonly APP_CREATE_NAME_TAKEN: "That name is already taken. Try a different name.";
|
|
41
|
-
readonly APP_CREATE_REDIRECT_PROMPT: "OAuth callback URL — where users are sent after authorizing your app:";
|
|
42
|
-
readonly APP_CREATE_REDIRECT_HINT: (cmd: string) => string;
|
|
43
|
-
readonly APP_CREATE_REDIRECT_ANOTHER: "Add another redirect URL?";
|
|
44
|
-
readonly APP_CREATE_REDIRECT_EMPTY: "Redirect URL cannot be empty";
|
|
45
|
-
readonly APP_CREATE_REDIRECT_INVALID: "Invalid format. Must start with http:// or https://";
|
|
46
|
-
readonly APP_CREATE_LOGO_PROMPT: "App logo URL (e.g. https://example.com/logo.png, optional — leave blank to skip):";
|
|
47
|
-
readonly APP_CREATE_LOGO_INVALID: "Invalid format. Must be a valid https:// URL (e.g. https://example.com/logo.png).";
|
|
48
|
-
readonly APP_CREATE_PORT_IN_USE: (port: number, available: number) => string;
|
|
49
|
-
readonly APP_CREATE_PORT_SCAN_FAILED: (port: number) => string;
|
|
50
|
-
readonly APP_CREATE_LIMIT_REACHED: "You have reached the maximum number of OAuth apps allowed for your account. To make room, delete an existing app: brevo app delete";
|
|
51
|
-
readonly APP_CREATE_PUBLIC_UNAVAILABLE: "Public distribution is not yet available (coming soon). Use `--distribution private` for now.";
|
|
52
|
-
readonly APP_CREATE_BOX_TITLE: "App created";
|
|
53
|
-
readonly APP_CREATE_BOX_SCOPES_LABEL: "Default scopes:";
|
|
54
|
-
readonly APP_CREATE_BOX_SCOPE_HINT: "You can add more scopes later with: brevo app update --scope <scope>";
|
|
55
|
-
readonly APP_LIST_EMPTY: "No apps found. Create one with: brevo app create";
|
|
56
|
-
readonly APP_LIST_HEADER: "Your OAuth apps:";
|
|
57
|
-
readonly APP_CREDENTIALS_REVEAL_CONFIRM: "Are you sure you want to reveal the client secret?";
|
|
58
|
-
readonly APP_CREDENTIALS_SELECT: "Select an app:";
|
|
59
|
-
readonly CLIENT_SECRET_HIDDEN_HUMAN: `[hidden \u2014 run \`${string}\`]`;
|
|
60
|
-
readonly CLIENT_SECRET_HIDDEN_JSON: "[hidden]";
|
|
61
|
-
readonly CLIENT_SECRET_NOT_AVAILABLE: "[not available]";
|
|
62
|
-
readonly APP_UPDATE_INVALID_JSON: "app-config.json contains invalid JSON. Please check the file and try again.";
|
|
63
|
-
readonly APP_UPDATE_MISSING_APP_ID: "app-config.json is missing \"appId\".";
|
|
64
|
-
readonly APP_UPDATE_NO_REDIRECT_URLS: "app-config.json has no redirect URLs configured.";
|
|
65
|
-
readonly APP_UPDATE_INVALID_APP_ID: "app-config.json has an invalid \"appId\". Expected a non-empty string.";
|
|
66
|
-
readonly APP_UPDATE_INVALID_REDIRECT_URL: (url: string) => string;
|
|
67
|
-
readonly APP_UPDATE_INVALID_REDIRECT_PROTOCOL: (url: string) => string;
|
|
68
|
-
readonly APP_UPDATE_SUMMARY: "Update summary:";
|
|
69
|
-
readonly APP_UPDATE_CONFIRM: "Proceed with update?";
|
|
70
|
-
readonly APP_UPDATE_CANCELLED: "Update cancelled.";
|
|
71
|
-
readonly APP_UPDATE_SUCCESS: "App updated.";
|
|
72
|
-
readonly APP_UPDATE_NOTHING_TO_UPDATE: "Nothing to update. Provide --app-id with --name, --redirect-uri, --scope, or --logo-uri, or run from a scaffolded project directory.";
|
|
73
|
-
readonly APP_UPDATE_NO_APP_RESOLVED: "Cannot determine which app to update. Provide --app-id or run from a directory with app-config.json.";
|
|
74
|
-
readonly APP_UPDATE_APP_ID_MISMATCH: (flagId: string, configId: string) => string;
|
|
75
|
-
readonly APP_UPDATE_SCOPES_APPENDED: (scopes: string[]) => string;
|
|
76
|
-
readonly LEGACY_ALL_SCOPE_DEPRECATED_BLOCK: "This app currently has the legacy 'all' OAuth scope, which is being deprecated.\n Replace 'all' with the specific scopes your integration uses (if you keep an app-config.json, edit auth.scopes there too).\n Run `brevo app available-scopes` to see the catalog, then re-run `brevo app update --scope <scope>` (repeatable) to migrate.";
|
|
77
|
-
readonly LEGACY_ALL_SCOPE_START_BLOCK: `This app's auth.scopes in app-config.json still contains the legacy 'all' OAuth scope, which is being deprecated.
|
|
78
|
-
Replace 'all' with the specific scopes your integration uses (run \`brevo app available-scopes\` to see the catalog),
|
|
79
|
-
migrate with \`brevo app update --scope <scope>\` (repeatable), then re-run \`${string}\`.`;
|
|
80
|
-
readonly LEGACY_ALL_SCOPE_LIST_TAG: " (legacy 'all' — deprecated)";
|
|
81
|
-
readonly LEGACY_ALL_SCOPE_SCAFFOLD_SUBSTITUTED: (writtenScopes: string) => string;
|
|
82
|
-
readonly LEGACY_ALL_SCOPE_UPDATE_MIGRATING: "Migrating from legacy 'all' scope — 'all' will be removed.";
|
|
83
|
-
readonly APP_DELETE_CONFIRM: (name: string, id: string) => string;
|
|
84
|
-
readonly APP_DELETE_SUCCESS: (id: string) => string;
|
|
85
|
-
readonly APP_DELETE_CANCELLED: "Delete cancelled.";
|
|
86
|
-
readonly APP_DELETE_FOLDER_CONFIRM: (dir: string) => string;
|
|
87
|
-
readonly APP_DELETE_FOLDER_SUCCESS: (dir: string) => string;
|
|
88
|
-
readonly APP_DELETE_FOLDER_FAILED: (dir: string) => string;
|
|
89
|
-
readonly APP_SCAFFOLD_DIR_PROMPT: "Output directory:";
|
|
90
|
-
readonly APP_SCAFFOLD_DIR_EXISTS: "Directory already exists. What would you like to do?";
|
|
91
|
-
readonly APP_SCAFFOLD_ALREADY_IN_PROJECT: "Project already scaffolded in this directory (app-config.json found). Run from a different directory, or use `brevo app update` to push config changes.";
|
|
92
|
-
readonly APP_SCAFFOLD_SUCCESS: (count: number) => string;
|
|
93
|
-
readonly APP_SCAFFOLD_NEXT_STEPS_TITLE: "Next steps";
|
|
94
|
-
readonly APP_SCAFFOLD_NEXT_STEPS_LINES: (dir: string) => string[];
|
|
95
|
-
readonly APP_SCAFFOLD_SCOPES_TIP: "Tip: list available scopes with `brevo app available-scopes`. Update scopes via `brevo app update --scope <name>` (repeatable), or by editing `auth.scopes` in app-config.json and running `brevo app update`.";
|
|
96
|
-
readonly APP_START_FEATURE_NOT_FOUND: (entryFile: string) => string;
|
|
97
|
-
readonly APP_START_NO_DEPS: (featureDir: string) => string;
|
|
98
|
-
readonly APP_START_STOPPED: "Process stopped.";
|
|
99
|
-
readonly APP_START_MISSING_FEATURE: (available: string) => string;
|
|
100
|
-
readonly APP_START_UNKNOWN_FEATURE: (feature: string, available: string) => string;
|
|
101
|
-
readonly APP_START_PORT_IN_USE: (port: number) => string;
|
|
102
|
-
readonly APP_START_CUSTOM_PORT_IN_USE: (port: number) => string;
|
|
103
|
-
readonly APP_START_EXITED: (feature: string, code: number) => string;
|
|
104
|
-
readonly APP_START_FAILED: (feature: string, error: string) => string;
|
|
105
|
-
readonly APP_START_REDIRECT_NOT_REGISTERED: (port: number) => string;
|
|
106
|
-
readonly APP_START_REDIRECT_REGISTER_PROMPT: (url: string) => string;
|
|
107
|
-
readonly APP_START_REDIRECT_REGISTERING: "Registering redirect URL...";
|
|
108
|
-
readonly APP_START_REDIRECT_REGISTERED: (url: string) => string;
|
|
109
|
-
readonly APP_START_REDIRECT_DECLINED: (url: string) => string;
|
|
110
|
-
readonly APP_START_REDIRECT_NON_INTERACTIVE: (port: number, url: string) => string;
|
|
111
|
-
readonly AUTH_LOGOUT_NON_INTERACTIVE: "Cannot prompt for confirmation in non-interactive mode. Use --force to skip.";
|
|
112
|
-
readonly ERR_NETWORK: "Cannot reach Brevo API.";
|
|
113
|
-
readonly ERR_RATE_LIMITED: (retryAfter: number) => string;
|
|
114
|
-
readonly ERR_REGISTRY: "Operation failed due to a registry error. Please try again.";
|
|
115
|
-
readonly ERR_AUTH_GATEWAY: "API is behind an authentication gateway (e.g. Cloudflare Access). Sign in via your browser first, or check your API base URL.";
|
|
116
|
-
readonly TLS_VERIFICATION_DISABLED: "TLS certificate verification is disabled (NODE_TLS_REJECT_UNAUTHORIZED=0). This is insecure — API keys and tokens can be intercepted on the network.";
|
|
117
|
-
readonly INIT_WELCOME: "Brevo CLI — Quick Setup";
|
|
118
|
-
readonly INIT_ALREADY_LOGGED_IN: "Already authenticated.";
|
|
119
|
-
readonly INIT_VERIFY_UNAVAILABLE: "Couldn't verify your credentials right now — continuing with the stored session.";
|
|
120
|
-
readonly INIT_STEP_LOGIN: " Step 1: Authenticate with your Brevo account";
|
|
121
|
-
readonly INIT_STEP_CREATE: " Step 2: Create your first OAuth app";
|
|
122
|
-
readonly INIT_APPS_EXIST: (count: number) => string;
|
|
123
|
-
readonly INIT_APP_LINKED: (name: string) => string;
|
|
124
|
-
readonly INIT_APP_ACTION: "What would you like to do?";
|
|
125
|
-
readonly INIT_DONE: `All set! Run \`${string}\` to test your OAuth flow, or \`brevo --help\` to see all commands.`;
|
|
126
|
-
readonly SKILL_INSTALL_SUCCESS: (name: string, version: string, dir: string) => string;
|
|
127
|
-
readonly SKILL_INSTALL_CLAUDE_ONLY: "This skill is consumed by Claude Code. Other AI tools (Claude Desktop chat, Cursor, Copilot CLI, Gemini, etc.) should reference agent-context/AGENTS.md from the @getbrevo/cli npm package instead.";
|
|
128
|
-
readonly SKILL_INSTALL_ALREADY: (name: string, version: string) => string;
|
|
129
|
-
readonly SKILL_UNINSTALL_SUCCESS: (name: string, dir: string) => string;
|
|
130
|
-
readonly SKILL_UNINSTALL_NONE: "No Brevo skills installed.";
|
|
131
|
-
readonly SKILL_AUTOREFRESHED: (name: string, oldVer: string, newVer: string) => string;
|
|
132
|
-
readonly SKILL_AUTOREFRESH_FAILED: (name: string, err: string) => string;
|
|
133
|
-
readonly APP_SCOPES_EMPTY: "The IdP returned an empty scope list.";
|
|
134
|
-
readonly APP_SCOPES_USAGE_HINT: "Add a scope to an app with `brevo app update --scope <scope> --app-id <id>`.";
|
|
135
|
-
readonly APP_SCOPES_DOCS_HINT: "Full CLI reference: https://developers.brevo.com/docs/cli-reference";
|
|
136
|
-
readonly APP_SCOPES_CATALOG_DOCS_HINT: "Scope catalog docs: https://developers.brevo.com/docs/oauth-scopes#scope-catalog";
|
|
137
|
-
readonly APP_SCOPES_WEB_LISTENING: (url: string) => string;
|
|
138
|
-
readonly APP_SCOPES_WEB_TITLE: "Brevo OAuth scopes";
|
|
139
|
-
readonly APP_SCOPES_WEB_INTRO: (count: number, sourceUrl: string) => string;
|
|
140
|
-
readonly APP_SCOPES_WEB_SEARCH_PLACEHOLDER: "Filter scopes…";
|
|
141
|
-
readonly APP_SCOPES_WEB_EMPTY: "The IdP returned an empty scope list.";
|
|
142
|
-
readonly APP_SCOPES_WEB_FOOTER: "Served locally by the Brevo CLI. Press Ctrl+C in the terminal to stop.";
|
|
143
|
-
readonly APP_SCOPES_WEB_REFRESH: "Refresh";
|
|
144
|
-
readonly APP_SCOPES_WEB_REFRESHING: "Refreshing…";
|
|
145
|
-
readonly APP_SCOPES_WEB_REFRESH_FAILED: "Refresh failed. Please restart `brevo app available-scopes --web` to retry.";
|
|
146
|
-
readonly APP_SCOPES_WEB_ENDPOINTS_LABEL: "API endpoints";
|
|
147
|
-
readonly APP_SCOPES_WEB_NO_ENDPOINTS: "No API endpoints listed for this scope.";
|
|
148
|
-
readonly APP_SCOPES_WEB_COPY: "Copy";
|
|
149
|
-
readonly APP_SCOPES_WEB_COPIED: "Copied!";
|
|
150
|
-
readonly APP_SCOPES_WEB_COPY_CATEGORY_ARIA: "Copy {category} scopes";
|
|
151
|
-
readonly APP_SCOPES_WEB_SELECT_SCOPE_ARIA: "Select {scope}";
|
|
152
|
-
readonly APP_SCOPES_WEB_COPY_SELECTED: "Copy selected";
|
|
153
|
-
readonly APP_SCOPES_WEB_SELECTED_PLACEHOLDER: "Tick scopes to build a comma-separated list for `brevo app update --scope` or app-config.json";
|
|
154
|
-
readonly APP_SCOPES_WEB_LEGACY_BADGE: "deprecated";
|
|
155
|
-
readonly APP_SCOPES_WEB_LEGACY_TITLE: "Legacy 'all' scope — replace with the granular scopes your integration uses.";
|
|
156
|
-
readonly APP_SCOPES_WEB_DOCS_LINK: "Full CLI reference";
|
|
157
|
-
readonly APP_SCOPES_WEB_CATALOG_DOCS_CTA: "Read the scope catalog docs";
|
|
158
|
-
readonly OAUTH_METADATA_MISSING_SCOPES: "IdP scopes response did not include a scopes array.";
|
|
159
|
-
readonly OAUTH_METADATA_FETCH_FAILED: (url: string, status: number) => string;
|
|
160
|
-
readonly ABORTED: "Aborted.";
|
|
161
|
-
};
|
|
162
|
-
//# sourceMappingURL=en.d.ts.map
|
package/dist/lang/en.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/lang/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;yCAES,MAAM,UAAU,MAAM,KAAG,MAAM;gCAExC,MAAM,KAAG,MAAM;qCACV,MAAM,KAAG,MAAM;;8CAKN,MAAM,UAAU,MAAM,KAAG,MAAM;;;;;mCAQ1C,MAAM;;kCAEP,MAAM,WAAW,MAAM;gCAEzB,MAAM;;;;;gDAKU,MAAM;;;;;;;8CASR,MAAM;;kDAGF,MAAM;;;;;2CAUb,MAAM,WAAW,MAAM;;kDAGhB,MAAM,EAAE;;;;;;;6CAWb,MAAM;;;;;;4CASP,MAAM,aAAa,MAAM;iDAEpB,MAAM;;;;;;;;;;;;;;;;;oDA2BH,MAAM;yDAED,MAAM;;;;;;;kDAUb,MAAM,YAAY,MAAM;kDAExB,MAAM,EAAE,KAAG,MAAM;;;;;;oEAMC,MAAM,KAAG,MAAM;;wCAK3C,MAAM,MAAM,MAAM;sCAEpB,MAAM;;8CAEE,MAAM;8CACN,MAAM;6CACP,MAAM;;;;2CAMR,MAAM;;kDAEC,MAAM;;sDASF,MAAM;6CAEf,MAAM;;oDAGC,MAAM;kDAER,MAAM,aAAa,MAAM;2CAEhC,MAAM;kDAEC,MAAM;yCAEf,MAAM,QAAQ,MAAM;yCACpB,MAAM,SAAS,MAAM;uDACP,MAAM;uDAEN,MAAM;;kDAGX,MAAM;gDACR,MAAM;wDAEE,MAAM,OAAO,MAAM;;;4CAQ/B,MAAM;;;;;;;;;sCAgBZ,MAAM;qCACP,MAAM;;;2CAKA,MAAM,WAAW,MAAM,OAAO,MAAM;;2CAIpC,MAAM,WAAW,MAAM;6CAErB,MAAM,OAAO,MAAM;;yCAEvB,MAAM,UAAU,MAAM,UAAU,MAAM;8CAEjC,MAAM,OAAO,MAAM;;;;;6CAQpB,MAAM,KAAG,MAAM;;2CAEjB,MAAM,aAAa,MAAM,KAAG,MAAM;;;;;;;;;;;;;;;;;;;;gDAsB7B,MAAM,UAAU,MAAM,KAAG,MAAM;;CAK1D,CAAC"}
|
package/dist/lang/en.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.messages = void 0;
|
|
4
|
-
const constants_1 = require("../lib/constants");
|
|
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
|
-
// Homebrew formula is `brevo` (tap getbrevo/tap), not the npm package name.
|
|
11
|
-
UPDATE_RUN_BREW: 'Or: brew upgrade brevo',
|
|
12
|
-
// Force update (major-version behind — blocks the command)
|
|
13
|
-
FORCE_UPDATE_REQUIRED: (current, latest) => `Update required: v${current} is no longer supported (latest v${latest}).`,
|
|
14
|
-
FORCE_UPDATE_HINT: 'Update to continue using the Brevo CLI:',
|
|
15
|
-
// Auth
|
|
16
|
-
AUTH_WELCOME: 'Welcome to Brevo CLI',
|
|
17
|
-
AUTH_PROMPT_METHOD: 'How would you like to authenticate?',
|
|
18
|
-
AUTH_PROMPT_API_KEY: 'Paste your API key:',
|
|
19
|
-
AUTH_SUCCESS: (email) => `Authenticated as ${email}`,
|
|
20
|
-
AUTH_INVALID_KEY: 'Invalid API key. Please check and try again.',
|
|
21
|
-
AUTH_HINT: (keysUrl, docsUrl) => `\n To authenticate, you need a Brevo API key.\n Create one at: ${keysUrl}\n Docs: ${docsUrl}\n`,
|
|
22
|
-
AUTH_SAVED: (path) => `Credentials saved to ${path}`,
|
|
23
|
-
AUTH_NEXT: `Next: ${constants_1.CLI.APP_CREATE}`,
|
|
24
|
-
AUTH_CREATE_APP_PROMPT: 'Would you like to create an app?',
|
|
25
|
-
AUTH_NOT_LOGGED_IN: 'Not currently authenticated.',
|
|
26
|
-
AUTH_LOGGED_OUT: 'Credentials cleared.',
|
|
27
|
-
AUTH_LOGGED_OUT_WITH_APPS: (count) => `Credentials cleared, including cached credentials for ${count} app${count === 1 ? '' : 's'}.`,
|
|
28
|
-
AUTH_LOGOUT_APP_WARNING: 'You have cached app credentials (clientId/clientSecret) that cannot be recovered after logout.\n Run `brevo app credentials --reveal-secret` to view them before proceeding.',
|
|
29
|
-
AUTH_LOGOUT_CONFIRM: 'Proceed with logout?',
|
|
30
|
-
AUTH_EXPIRED: 'Your API key is invalid or expired.',
|
|
31
|
-
AUTH_EXPIRED_PROMPT: 'Enter a new API key:',
|
|
32
|
-
AUTH_GET_KEY_URL: 'Create an API key at: https://app.brevo.com/settings/keys/api',
|
|
33
|
-
AUTH_BROWSER_OPENING: 'Opening your browser to log you in...',
|
|
34
|
-
AUTH_BROWSER_FALLBACK_URL: (url) => `If your browser didn't open automatically, open this URL to log in:\n ${url}`,
|
|
35
|
-
AUTH_BROWSER_WAITING: 'Waiting for login to complete (Ctrl+C to cancel)...',
|
|
36
|
-
AUTH_BROWSER_TOKENS_RECEIVED: (path) => `Login complete. Credentials saved to ${path}. Verifying account...`,
|
|
37
|
-
AUTH_BROWSER_TIMEOUT: 'Login timed out before we received a response from the browser.\n If you were completing 2FA, close the browser tab and run `brevo login` again.\n For non-interactive use, set BREVO_API_KEY instead.',
|
|
38
|
-
AUTH_BROWSER_CANCELLED: 'Login cancelled.',
|
|
39
|
-
AUTH_BROWSER_BAD_PAYLOAD: 'Unexpected response from the login service. Please try again.',
|
|
40
|
-
AUTH_BROWSER_NON_INTERACTIVE: 'Browser login needs an interactive terminal. Set BREVO_API_KEY to authenticate non-interactively.',
|
|
41
|
-
// Whoami
|
|
42
|
-
WHOAMI_AUTHENTICATED: (email, company) => `Authenticated as ${email} (${company})`,
|
|
43
|
-
WHOAMI_NOT_AUTHENTICATED: `Not authenticated. Run: ${constants_1.CLI.LOGIN}`,
|
|
44
|
-
WHOAMI_CREDENTIAL_MISMATCH: (fields) => `Local credentials mismatch with API for: ${fields.join(', ')}. Run \`${constants_1.CLI.LOGIN}\` to re-authenticate.`,
|
|
45
|
-
// App create
|
|
46
|
-
APP_CREATE_NAME_PROMPT: 'App name:',
|
|
47
|
-
APP_CREATE_TYPE_PROMPT: 'Distribution type?',
|
|
48
|
-
APP_CREATE_SUCCESS: 'App created.',
|
|
49
|
-
APP_CREATE_SCAFFOLD_PROMPT: 'Generate starter code now?',
|
|
50
|
-
APP_CREATE_NAME_TAKEN: 'That name is already taken. Try a different name.',
|
|
51
|
-
APP_CREATE_REDIRECT_PROMPT: 'OAuth callback URL — where users are sent after authorizing your app:',
|
|
52
|
-
APP_CREATE_REDIRECT_HINT: (cmd) => `Tip: The scaffolded example requires the default callback URL shown below — keep it to test with \`${cmd}\`.`,
|
|
53
|
-
APP_CREATE_REDIRECT_ANOTHER: 'Add another redirect URL?',
|
|
54
|
-
APP_CREATE_REDIRECT_EMPTY: 'Redirect URL cannot be empty',
|
|
55
|
-
APP_CREATE_REDIRECT_INVALID: 'Invalid format. Must start with http:// or https://',
|
|
56
|
-
APP_CREATE_LOGO_PROMPT: 'App logo URL (e.g. https://example.com/logo.png, optional — leave blank to skip):',
|
|
57
|
-
APP_CREATE_LOGO_INVALID: 'Invalid format. Must be a valid https:// URL (e.g. https://example.com/logo.png).',
|
|
58
|
-
APP_CREATE_PORT_IN_USE: (port, available) => `Port ${port} is in use. Defaulting to port ${available}.`,
|
|
59
|
-
APP_CREATE_PORT_SCAN_FAILED: (port) => `Warning: Could not find a free port near ${port}. Defaulting to ${port} — it may conflict with a running process.`,
|
|
60
|
-
APP_CREATE_LIMIT_REACHED: 'You have reached the maximum number of OAuth apps allowed for your account. To make room, delete an existing app: brevo app delete',
|
|
61
|
-
APP_CREATE_PUBLIC_UNAVAILABLE: 'Public distribution is not yet available (coming soon). Use `--distribution private` for now.',
|
|
62
|
-
APP_CREATE_BOX_TITLE: 'App created',
|
|
63
|
-
APP_CREATE_BOX_SCOPES_LABEL: 'Default scopes:',
|
|
64
|
-
APP_CREATE_BOX_SCOPE_HINT: `You can add more scopes later with: ${constants_1.CLI.APP_UPDATE_SCOPE} <scope>`,
|
|
65
|
-
// App list
|
|
66
|
-
APP_LIST_EMPTY: `No apps found. Create one with: ${constants_1.CLI.APP_CREATE}`,
|
|
67
|
-
APP_LIST_HEADER: 'Your OAuth apps:',
|
|
68
|
-
// App credentials
|
|
69
|
-
APP_CREDENTIALS_REVEAL_CONFIRM: 'Are you sure you want to reveal the client secret?',
|
|
70
|
-
APP_CREDENTIALS_SELECT: 'Select an app:',
|
|
71
|
-
CLIENT_SECRET_HIDDEN_HUMAN: `[hidden — run \`${constants_1.CLI.APP_CREDENTIALS_REVEAL()}\`]`,
|
|
72
|
-
CLIENT_SECRET_HIDDEN_JSON: '[hidden]',
|
|
73
|
-
CLIENT_SECRET_NOT_AVAILABLE: '[not available]',
|
|
74
|
-
// App update
|
|
75
|
-
APP_UPDATE_INVALID_JSON: 'app-config.json contains invalid JSON. Please check the file and try again.',
|
|
76
|
-
APP_UPDATE_MISSING_APP_ID: 'app-config.json is missing "appId".',
|
|
77
|
-
APP_UPDATE_NO_REDIRECT_URLS: 'app-config.json has no redirect URLs configured.',
|
|
78
|
-
APP_UPDATE_INVALID_APP_ID: 'app-config.json has an invalid "appId". Expected a non-empty string.',
|
|
79
|
-
APP_UPDATE_INVALID_REDIRECT_URL: (url) => `Invalid redirect URL "${url}". Must be a valid http:// or https:// URL.`,
|
|
80
|
-
APP_UPDATE_INVALID_REDIRECT_PROTOCOL: (url) => `Invalid redirect URL "${url}". Must use http:// or https://.`,
|
|
81
|
-
APP_UPDATE_SUMMARY: 'Update summary:',
|
|
82
|
-
APP_UPDATE_CONFIRM: 'Proceed with update?',
|
|
83
|
-
APP_UPDATE_CANCELLED: 'Update cancelled.',
|
|
84
|
-
APP_UPDATE_SUCCESS: 'App updated.',
|
|
85
|
-
APP_UPDATE_NOTHING_TO_UPDATE: 'Nothing to update. Provide --app-id with --name, --redirect-uri, --scope, or --logo-uri, or run from a scaffolded project directory.',
|
|
86
|
-
APP_UPDATE_NO_APP_RESOLVED: 'Cannot determine which app to update. Provide --app-id or run from a directory with app-config.json.',
|
|
87
|
-
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}.`,
|
|
88
|
-
APP_UPDATE_SCOPES_APPENDED: (scopes) => `Scopes appended: ${scopes.join(', ')}`,
|
|
89
|
-
// Legacy 'all' scope deprecation (BEX-214)
|
|
90
|
-
LEGACY_ALL_SCOPE_DEPRECATED_BLOCK: `This app currently has the legacy 'all' OAuth scope, which is being deprecated.\n Replace 'all' with the specific scopes your integration uses (if you keep an app-config.json, edit auth.scopes there too).\n Run \`${constants_1.CLI.APP_SCOPES}\` to see the catalog, then re-run \`${constants_1.CLI.APP_UPDATE_SCOPE} <scope>\` (repeatable) to migrate.`,
|
|
91
|
-
LEGACY_ALL_SCOPE_START_BLOCK: `This app's auth.scopes in app-config.json still contains the legacy 'all' OAuth scope, which is being deprecated.\n Replace 'all' with the specific scopes your integration uses (run \`${constants_1.CLI.APP_SCOPES}\` to see the catalog),\n migrate with \`${constants_1.CLI.APP_UPDATE_SCOPE} <scope>\` (repeatable), then re-run \`${constants_1.CLI.APP_START('oauth')}\`.`,
|
|
92
|
-
LEGACY_ALL_SCOPE_LIST_TAG: ` (legacy 'all' — deprecated)`,
|
|
93
|
-
LEGACY_ALL_SCOPE_SCAFFOLD_SUBSTITUTED: (writtenScopes) => `This app still has the legacy 'all' OAuth scope (deprecated). Wrote ${writtenScopes} to app-config.json instead of 'all'. Migrate the app with \`${constants_1.CLI.APP_UPDATE_SCOPE} <scope>\`.`,
|
|
94
|
-
LEGACY_ALL_SCOPE_UPDATE_MIGRATING: `Migrating from legacy 'all' scope — 'all' will be removed.`,
|
|
95
|
-
// App delete
|
|
96
|
-
APP_DELETE_CONFIRM: (name, id) => `Delete app "${name}" (${id})? This cannot be undone.`,
|
|
97
|
-
APP_DELETE_SUCCESS: (id) => `App ${id} deleted.`,
|
|
98
|
-
APP_DELETE_CANCELLED: 'Delete cancelled.',
|
|
99
|
-
APP_DELETE_FOLDER_CONFIRM: (dir) => `Delete the local project folder at ${dir}?`,
|
|
100
|
-
APP_DELETE_FOLDER_SUCCESS: (dir) => `Project folder deleted: ${dir}`,
|
|
101
|
-
APP_DELETE_FOLDER_FAILED: (dir) => `Could not delete folder ${dir}. Remove it manually.`,
|
|
102
|
-
// App scaffold
|
|
103
|
-
APP_SCAFFOLD_DIR_PROMPT: 'Output directory:',
|
|
104
|
-
APP_SCAFFOLD_DIR_EXISTS: 'Directory already exists. What would you like to do?',
|
|
105
|
-
APP_SCAFFOLD_ALREADY_IN_PROJECT: `Project already scaffolded in this directory (app-config.json found). Run from a different directory, or use \`${constants_1.CLI.APP_UPDATE}\` to push config changes.`,
|
|
106
|
-
APP_SCAFFOLD_SUCCESS: (count) => `Test app scaffolded (${count} files)`,
|
|
107
|
-
APP_SCAFFOLD_NEXT_STEPS_TITLE: 'Next steps',
|
|
108
|
-
APP_SCAFFOLD_NEXT_STEPS_LINES: (dir) => [
|
|
109
|
-
`1. cd ${dir}`,
|
|
110
|
-
`2. yarn --cwd src/oauth`,
|
|
111
|
-
` (or: npm --prefix src/oauth install)`,
|
|
112
|
-
`3. ${constants_1.CLI.APP_START('oauth')}`,
|
|
113
|
-
],
|
|
114
|
-
APP_SCAFFOLD_SCOPES_TIP: `Tip: list available scopes with \`${constants_1.CLI.APP_SCOPES}\`. Update scopes via \`${constants_1.CLI.APP_UPDATE_SCOPE} <name>\` (repeatable), or by editing \`auth.scopes\` in app-config.json and running \`${constants_1.CLI.APP_UPDATE}\`.`,
|
|
115
|
-
// App start
|
|
116
|
-
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.`,
|
|
117
|
-
APP_START_NO_DEPS: (featureDir) => `Dependencies not installed. Run \`yarn --cwd ${featureDir}\` (or \`npm --prefix ${featureDir} install\`) first.`,
|
|
118
|
-
APP_START_STOPPED: 'Process stopped.',
|
|
119
|
-
APP_START_MISSING_FEATURE: (available) => `Missing feature name.\n\nAvailable features:\n${available}\n\nUsage: ${constants_1.CLI.APP_START()}`,
|
|
120
|
-
APP_START_UNKNOWN_FEATURE: (feature, available) => `Unknown feature "${feature}". Available features: ${available}`,
|
|
121
|
-
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\`.`,
|
|
122
|
-
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\`.`,
|
|
123
|
-
APP_START_EXITED: (feature, code) => `${feature} exited with code ${code}`,
|
|
124
|
-
APP_START_FAILED: (feature, error) => `Failed to start ${feature}: ${error}`,
|
|
125
|
-
APP_START_REDIRECT_NOT_REGISTERED: (port) => `Port ${port} isn't registered as a redirect URL for this app.`,
|
|
126
|
-
APP_START_REDIRECT_REGISTER_PROMPT: (url) => `Register ${url}? You can delete it later if you want.`,
|
|
127
|
-
APP_START_REDIRECT_REGISTERING: 'Registering redirect URL...',
|
|
128
|
-
APP_START_REDIRECT_REGISTERED: (url) => `Registered ${url}.`,
|
|
129
|
-
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.`,
|
|
130
|
-
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.`,
|
|
131
|
-
AUTH_LOGOUT_NON_INTERACTIVE: 'Cannot prompt for confirmation in non-interactive mode. Use --force to skip.',
|
|
132
|
-
// Errors
|
|
133
|
-
ERR_NETWORK: 'Cannot reach Brevo API.',
|
|
134
|
-
ERR_RATE_LIMITED: (retryAfter) => `Rate limited. Retrying in ${retryAfter} seconds...`,
|
|
135
|
-
ERR_REGISTRY: 'Operation failed due to a registry error. Please try again.',
|
|
136
|
-
ERR_AUTH_GATEWAY: 'API is behind an authentication gateway (e.g. Cloudflare Access). Sign in via your browser first, or check your API base URL.',
|
|
137
|
-
// Security warnings
|
|
138
|
-
TLS_VERIFICATION_DISABLED: 'TLS certificate verification is disabled (NODE_TLS_REJECT_UNAUTHORIZED=0). This is insecure — API keys and tokens can be intercepted on the network.',
|
|
139
|
-
// Init
|
|
140
|
-
INIT_WELCOME: 'Brevo CLI — Quick Setup',
|
|
141
|
-
INIT_ALREADY_LOGGED_IN: 'Already authenticated.',
|
|
142
|
-
INIT_VERIFY_UNAVAILABLE: "Couldn't verify your credentials right now — continuing with the stored session.",
|
|
143
|
-
INIT_STEP_LOGIN: ' Step 1: Authenticate with your Brevo account',
|
|
144
|
-
INIT_STEP_CREATE: ' Step 2: Create your first OAuth app',
|
|
145
|
-
INIT_APPS_EXIST: (count) => `You have ${count} app${count === 1 ? '' : 's'} already.`,
|
|
146
|
-
INIT_APP_LINKED: (name) => `App "${name}" is linked to this project (app-config.json).`,
|
|
147
|
-
INIT_APP_ACTION: 'What would you like to do?',
|
|
148
|
-
INIT_DONE: `All set! Run \`${constants_1.CLI.APP_START('oauth')}\` to test your OAuth flow, or \`${constants_1.CLI.HELP}\` to see all commands.`,
|
|
149
|
-
// Skill
|
|
150
|
-
SKILL_INSTALL_SUCCESS: (name, version, dir) => `Installed ${name}@${version} → ${dir}`,
|
|
151
|
-
SKILL_INSTALL_CLAUDE_ONLY: 'This skill is consumed by Claude Code. Other AI tools (Claude Desktop chat, Cursor, Copilot CLI, Gemini, etc.) should reference agent-context/AGENTS.md from the @getbrevo/cli npm package instead.',
|
|
152
|
-
SKILL_INSTALL_ALREADY: (name, version) => `${name}@${version} is already up to date.`,
|
|
153
|
-
SKILL_UNINSTALL_SUCCESS: (name, dir) => `Uninstalled ${name} from ${dir}`,
|
|
154
|
-
SKILL_UNINSTALL_NONE: 'No Brevo skills installed.',
|
|
155
|
-
SKILL_AUTOREFRESHED: (name, oldVer, newVer) => `↻ refreshed ${name} skill (v${oldVer} → v${newVer})`,
|
|
156
|
-
SKILL_AUTOREFRESH_FAILED: (name, err) => `⚠ failed to refresh ${name} skill: ${err}`,
|
|
157
|
-
// App scopes
|
|
158
|
-
APP_SCOPES_EMPTY: 'The IdP returned an empty scope list.',
|
|
159
|
-
APP_SCOPES_USAGE_HINT: `Add a scope to an app with \`${constants_1.CLI.APP_UPDATE_SCOPE} <scope> --app-id <id>\`.`,
|
|
160
|
-
APP_SCOPES_DOCS_HINT: `Full CLI reference: ${constants_1.BREVO_CLI_REFERENCE_URL}`,
|
|
161
|
-
APP_SCOPES_CATALOG_DOCS_HINT: `Scope catalog docs: ${constants_1.BREVO_OAUTH_SCOPES_DOCS_URL}`,
|
|
162
|
-
APP_SCOPES_WEB_LISTENING: (url) => `Open in browser: ${url} (Ctrl+C to stop)`,
|
|
163
|
-
APP_SCOPES_WEB_TITLE: 'Brevo OAuth scopes',
|
|
164
|
-
APP_SCOPES_WEB_INTRO: (count, sourceUrl) => `${count} scope${count === 1 ? '' : 's'} from ${sourceUrl}`,
|
|
165
|
-
APP_SCOPES_WEB_SEARCH_PLACEHOLDER: 'Filter scopes…',
|
|
166
|
-
APP_SCOPES_WEB_EMPTY: 'The IdP returned an empty scope list.',
|
|
167
|
-
APP_SCOPES_WEB_FOOTER: 'Served locally by the Brevo CLI. Press Ctrl+C in the terminal to stop.',
|
|
168
|
-
APP_SCOPES_WEB_REFRESH: 'Refresh',
|
|
169
|
-
APP_SCOPES_WEB_REFRESHING: 'Refreshing…',
|
|
170
|
-
APP_SCOPES_WEB_REFRESH_FAILED: `Refresh failed. Please restart \`${constants_1.CLI.APP_SCOPES} --web\` to retry.`,
|
|
171
|
-
APP_SCOPES_WEB_ENDPOINTS_LABEL: 'API endpoints',
|
|
172
|
-
APP_SCOPES_WEB_NO_ENDPOINTS: 'No API endpoints listed for this scope.',
|
|
173
|
-
APP_SCOPES_WEB_COPY: 'Copy',
|
|
174
|
-
APP_SCOPES_WEB_COPIED: 'Copied!',
|
|
175
|
-
// {category} / {scope} are replaced client-side in the web page script.
|
|
176
|
-
APP_SCOPES_WEB_COPY_CATEGORY_ARIA: 'Copy {category} scopes',
|
|
177
|
-
APP_SCOPES_WEB_SELECT_SCOPE_ARIA: 'Select {scope}',
|
|
178
|
-
APP_SCOPES_WEB_COPY_SELECTED: 'Copy selected',
|
|
179
|
-
APP_SCOPES_WEB_SELECTED_PLACEHOLDER: `Tick scopes to build a comma-separated list for \`${constants_1.CLI.APP_UPDATE_SCOPE}\` or app-config.json`,
|
|
180
|
-
APP_SCOPES_WEB_LEGACY_BADGE: 'deprecated',
|
|
181
|
-
APP_SCOPES_WEB_LEGACY_TITLE: `Legacy 'all' scope — replace with the granular scopes your integration uses.`,
|
|
182
|
-
APP_SCOPES_WEB_DOCS_LINK: 'Full CLI reference',
|
|
183
|
-
APP_SCOPES_WEB_CATALOG_DOCS_CTA: 'Read the scope catalog docs',
|
|
184
|
-
OAUTH_METADATA_MISSING_SCOPES: 'IdP scopes response did not include a scopes array.',
|
|
185
|
-
OAUTH_METADATA_FETCH_FAILED: (url, status) => `Failed to fetch OAuth scopes from ${url} (HTTP ${status}).`,
|
|
186
|
-
// General
|
|
187
|
-
ABORTED: 'Aborted.',
|
|
188
|
-
};
|
|
189
|
-
//# sourceMappingURL=en.js.map
|
package/dist/lang/en.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/lang/en.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/abort.d.ts
DELETED
package/dist/lib/abort.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abort.d.ts","sourceRoot":"","sources":["../../src/lib/abort.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAclD;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAS1E"}
|
package/dist/lib/abort.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAbortError = isAbortError;
|
|
4
|
-
exports.withAbortHandler = withAbortHandler;
|
|
5
|
-
const errors_1 = require("./errors");
|
|
6
|
-
function isAbortError(err) {
|
|
7
|
-
if (!(err instanceof Error))
|
|
8
|
-
return false;
|
|
9
|
-
// Check error name/constructor first (more reliable than message strings)
|
|
10
|
-
const name = err.name?.toLowerCase() ?? '';
|
|
11
|
-
if (name === 'exitprompterror')
|
|
12
|
-
return true;
|
|
13
|
-
const msg = err.message.toLowerCase();
|
|
14
|
-
return (msg.includes('readline was closed') ||
|
|
15
|
-
msg.includes('user force closed') ||
|
|
16
|
-
msg.includes('exitprompterror') ||
|
|
17
|
-
msg.includes('prompt was closed'));
|
|
18
|
-
}
|
|
19
|
-
async function withAbortHandler(fn) {
|
|
20
|
-
try {
|
|
21
|
-
return await fn();
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
if (isAbortError(err)) {
|
|
25
|
-
throw new errors_1.AbortError();
|
|
26
|
-
}
|
|
27
|
-
throw err;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=abort.js.map
|
package/dist/lib/abort.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../src/lib/abort.ts"],"names":[],"mappings":";;AAEA,oCAcC;AAED,4CASC;AA3BD,qCAAsC;AAEtC,SAAgB,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,0EAA0E;IAC1E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAClC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAI,EAAoB;IAC5D,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAU,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/dist/lib/auth-guard.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* True when the invocation being dispatched needs stored credentials.
|
|
4
|
-
*
|
|
5
|
-
* Shared by the auth guard and the proactive OAuth refresh hook
|
|
6
|
-
* (`lib/oauth-freshness.ts`) so the two can never gate on different command
|
|
7
|
-
* sets. Arguments match the `preAction` hook signature: `thisCommand` is the
|
|
8
|
-
* command the hook was registered on (the root program), `actionCommand` the
|
|
9
|
-
* one about to run.
|
|
10
|
-
*/
|
|
11
|
-
export declare function commandRequiresAuth(thisCommand: Command, actionCommand: Command): boolean;
|
|
12
|
-
export declare function installAuthGuard(program: Command): void;
|
|
13
|
-
//# sourceMappingURL=auth-guard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAoBpC;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAsBzF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUvD"}
|
package/dist/lib/auth-guard.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.commandRequiresAuth = commandRequiresAuth;
|
|
4
|
-
exports.installAuthGuard = installAuthGuard;
|
|
5
|
-
const config_1 = require("./config");
|
|
6
|
-
const constants_1 = require("./constants");
|
|
7
|
-
const errors_1 = require("./errors");
|
|
8
|
-
// `available-scopes` only fetches the public IdP scope catalog (no Brevo API
|
|
9
|
-
// key involved), so it works before `brevo login`.
|
|
10
|
-
const UNAUTHENTICATED_COMMANDS = new Set([
|
|
11
|
-
'login',
|
|
12
|
-
'help',
|
|
13
|
-
'init',
|
|
14
|
-
'whoami',
|
|
15
|
-
'logout',
|
|
16
|
-
'available-scopes',
|
|
17
|
-
]);
|
|
18
|
-
// Subcommand groups whose entire subtree is local-only and never needs auth.
|
|
19
|
-
// Skill management touches files under ~/.claude/ — there is nothing to call
|
|
20
|
-
// against the Brevo API.
|
|
21
|
-
const UNAUTHENTICATED_GROUPS = new Set(['skill:cli']);
|
|
22
|
-
/**
|
|
23
|
-
* True when the invocation being dispatched needs stored credentials.
|
|
24
|
-
*
|
|
25
|
-
* Shared by the auth guard and the proactive OAuth refresh hook
|
|
26
|
-
* (`lib/oauth-freshness.ts`) so the two can never gate on different command
|
|
27
|
-
* sets. Arguments match the `preAction` hook signature: `thisCommand` is the
|
|
28
|
-
* command the hook was registered on (the root program), `actionCommand` the
|
|
29
|
-
* one about to run.
|
|
30
|
-
*/
|
|
31
|
-
function commandRequiresAuth(thisCommand, actionCommand) {
|
|
32
|
-
const commandName = actionCommand.name();
|
|
33
|
-
const parentName = actionCommand.parent?.name();
|
|
34
|
-
// The root program's default action handles "no args" (help) and
|
|
35
|
-
// "unknown command" (error). Skipping the auth guard there ensures
|
|
36
|
-
// unknown commands surface as "unknown command" instead of being
|
|
37
|
-
// intercepted by an auth-required check.
|
|
38
|
-
if (actionCommand === thisCommand || commandName === thisCommand.name()) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
// Allow login, help, and version through without auth
|
|
42
|
-
return !(UNAUTHENTICATED_COMMANDS.has(commandName) ||
|
|
43
|
-
(parentName && UNAUTHENTICATED_GROUPS.has(parentName)) ||
|
|
44
|
-
process.argv.includes('--help') ||
|
|
45
|
-
process.argv.includes('-h') ||
|
|
46
|
-
process.argv.includes('--version') ||
|
|
47
|
-
process.argv.includes('-V') ||
|
|
48
|
-
process.argv.length <= 2);
|
|
49
|
-
}
|
|
50
|
-
function installAuthGuard(program) {
|
|
51
|
-
program.hook('preAction', (thisCommand, actionCommand) => {
|
|
52
|
-
if (!commandRequiresAuth(thisCommand, actionCommand)) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
if (!(0, config_1.isAuthenticated)()) {
|
|
56
|
-
throw new errors_1.CliError(`Not authenticated. Run: ${constants_1.CLI.LOGIN}`);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=auth-guard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":";;AA6BA,kDAsBC;AAED,4CAUC;AA9DD,qCAA2C;AAC3C,2CAAkC;AAClC,qCAAoC;AAEpC,6EAA6E;AAC7E,mDAAmD;AACnD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,kBAAkB;CACnB,CAAC,CAAC;AACH,6EAA6E;AAC7E,6EAA6E;AAC7E,yBAAyB;AACzB,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAEtD;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,WAAoB,EAAE,aAAsB;IAC9E,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAEhD,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACjE,yCAAyC;IACzC,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sDAAsD;IACtD,OAAO,CAAC,CACN,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC;QACzC,CAAC,UAAU,IAAI,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;QACvD,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;YACrD,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"}
|
package/dist/lib/browser.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ7C"}
|
package/dist/lib/browser.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openBrowser = openBrowser;
|
|
4
|
-
const node_child_process_1 = require("node:child_process");
|
|
5
|
-
function openBrowser(url) {
|
|
6
|
-
if (process.platform === 'darwin') {
|
|
7
|
-
(0, node_child_process_1.execFile)('open', [url]);
|
|
8
|
-
}
|
|
9
|
-
else if (process.platform === 'win32') {
|
|
10
|
-
(0, node_child_process_1.execFile)('cmd', ['/c', 'start', '', url]);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
(0, node_child_process_1.execFile)('xdg-open', [url]);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=browser.js.map
|
package/dist/lib/browser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":";;AAEA,kCAQC;AAVD,2DAA8C;AAE9C,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAA,6BAAQ,EAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,IAAA,6BAAQ,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,IAAA,6BAAQ,EAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-version.d.ts","sourceRoot":"","sources":["../../src/lib/cli-version.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,WAAW,QAAmB,CAAC"}
|
package/dist/lib/cli-version.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CLI_VERSION = void 0;
|
|
37
|
-
const fs = __importStar(require("node:fs"));
|
|
38
|
-
const path = __importStar(require("node:path"));
|
|
39
|
-
/**
|
|
40
|
-
* CLI version pulled from the bundled `package.json` at module-init.
|
|
41
|
-
*
|
|
42
|
-
* Resolved relative to this file so the same lookup works under ts-jest
|
|
43
|
-
* (`src/lib/` → repo root) and the published tarball
|
|
44
|
-
* (`node_modules/@getbrevo/cli/dist/lib/` → package root). Falls back to
|
|
45
|
-
* `'0.0.0'` if the file is missing or malformed — safe default for any
|
|
46
|
-
* consumer that uses this for telemetry or skill-version stamping.
|
|
47
|
-
*/
|
|
48
|
-
function readCliVersion() {
|
|
49
|
-
try {
|
|
50
|
-
const pkgPath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
51
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
52
|
-
return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
return '0.0.0';
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.CLI_VERSION = readCliVersion();
|
|
59
|
-
//# sourceMappingURL=cli-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-version.js","sourceRoot":"","sources":["../../src/lib/cli-version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAElC;;;;;;;;GAQG;AACH,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA0B,CAAC;QACnF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAEY,QAAA,WAAW,GAAG,cAAc,EAAE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wraps a command handler with abort handling (Ctrl+C during inquirer prompts).
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* export const myCommand = withCommandHandler(async (opts) => {
|
|
6
|
-
* // command logic
|
|
7
|
-
* });
|
|
8
|
-
*/
|
|
9
|
-
export declare function withCommandHandler<T extends Record<string, unknown>>(fn: (opts: T) => Promise<void>): (opts: T) => Promise<void>;
|
|
10
|
-
//# sourceMappingURL=command-handler.d.ts.map
|