@brightdata/cli 0.1.3 → 0.1.5

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 (92) hide show
  1. package/README.md +410 -1
  2. package/dist/__tests__/browser/connection.test.d.ts +2 -0
  3. package/dist/__tests__/browser/connection.test.d.ts.map +1 -0
  4. package/dist/__tests__/browser/connection.test.js +168 -0
  5. package/dist/__tests__/browser/connection.test.js.map +1 -0
  6. package/dist/__tests__/browser/daemon.test.d.ts +2 -0
  7. package/dist/__tests__/browser/daemon.test.d.ts.map +1 -0
  8. package/dist/__tests__/browser/daemon.test.js +586 -0
  9. package/dist/__tests__/browser/daemon.test.js.map +1 -0
  10. package/dist/__tests__/browser/entrypoint.test.d.ts +2 -0
  11. package/dist/__tests__/browser/entrypoint.test.d.ts.map +1 -0
  12. package/dist/__tests__/browser/entrypoint.test.js +53 -0
  13. package/dist/__tests__/browser/entrypoint.test.js.map +1 -0
  14. package/dist/__tests__/browser/ipc.test.d.ts +2 -0
  15. package/dist/__tests__/browser/ipc.test.d.ts.map +1 -0
  16. package/dist/__tests__/browser/ipc.test.js +199 -0
  17. package/dist/__tests__/browser/ipc.test.js.map +1 -0
  18. package/dist/__tests__/browser/lifecycle.test.d.ts +2 -0
  19. package/dist/__tests__/browser/lifecycle.test.d.ts.map +1 -0
  20. package/dist/__tests__/browser/lifecycle.test.js +176 -0
  21. package/dist/__tests__/browser/lifecycle.test.js.map +1 -0
  22. package/dist/__tests__/browser/snapshot.test.d.ts +2 -0
  23. package/dist/__tests__/browser/snapshot.test.d.ts.map +1 -0
  24. package/dist/__tests__/browser/snapshot.test.js +202 -0
  25. package/dist/__tests__/browser/snapshot.test.js.map +1 -0
  26. package/dist/__tests__/commands/add-mcp.test.d.ts +2 -0
  27. package/dist/__tests__/commands/add-mcp.test.d.ts.map +1 -0
  28. package/dist/__tests__/commands/add-mcp.test.js +138 -0
  29. package/dist/__tests__/commands/add-mcp.test.js.map +1 -0
  30. package/dist/__tests__/commands/browser.test.d.ts +2 -0
  31. package/dist/__tests__/commands/browser.test.d.ts.map +1 -0
  32. package/dist/__tests__/commands/browser.test.js +431 -0
  33. package/dist/__tests__/commands/browser.test.js.map +1 -0
  34. package/dist/__tests__/utils/browser-credentials.test.d.ts +2 -0
  35. package/dist/__tests__/utils/browser-credentials.test.d.ts.map +1 -0
  36. package/dist/__tests__/utils/browser-credentials.test.js +81 -0
  37. package/dist/__tests__/utils/browser-credentials.test.js.map +1 -0
  38. package/dist/__tests__/utils/mcp-config.test.d.ts +2 -0
  39. package/dist/__tests__/utils/mcp-config.test.d.ts.map +1 -0
  40. package/dist/__tests__/utils/mcp-config.test.js +154 -0
  41. package/dist/__tests__/utils/mcp-config.test.js.map +1 -0
  42. package/dist/browser/connection.d.ts +24 -0
  43. package/dist/browser/connection.d.ts.map +1 -0
  44. package/dist/browser/connection.js +55 -0
  45. package/dist/browser/connection.js.map +1 -0
  46. package/dist/browser/daemon.d.ts +130 -0
  47. package/dist/browser/daemon.d.ts.map +1 -0
  48. package/dist/browser/daemon.js +645 -0
  49. package/dist/browser/daemon.js.map +1 -0
  50. package/dist/browser/entrypoint.d.ts +20 -0
  51. package/dist/browser/entrypoint.d.ts.map +1 -0
  52. package/dist/browser/entrypoint.js +46 -0
  53. package/dist/browser/entrypoint.js.map +1 -0
  54. package/dist/browser/interaction.d.ts +32 -0
  55. package/dist/browser/interaction.d.ts.map +1 -0
  56. package/dist/browser/interaction.js +215 -0
  57. package/dist/browser/interaction.js.map +1 -0
  58. package/dist/browser/ipc.d.ts +52 -0
  59. package/dist/browser/ipc.d.ts.map +1 -0
  60. package/dist/browser/ipc.js +254 -0
  61. package/dist/browser/ipc.js.map +1 -0
  62. package/dist/browser/lifecycle.d.ts +31 -0
  63. package/dist/browser/lifecycle.d.ts.map +1 -0
  64. package/dist/browser/lifecycle.js +202 -0
  65. package/dist/browser/lifecycle.js.map +1 -0
  66. package/dist/browser/screenshot.d.ts +19 -0
  67. package/dist/browser/screenshot.d.ts.map +1 -0
  68. package/dist/browser/screenshot.js +44 -0
  69. package/dist/browser/screenshot.js.map +1 -0
  70. package/dist/browser/snapshot.d.ts +48 -0
  71. package/dist/browser/snapshot.d.ts.map +1 -0
  72. package/dist/browser/snapshot.js +490 -0
  73. package/dist/browser/snapshot.js.map +1 -0
  74. package/dist/commands/add-mcp.d.ts +18 -0
  75. package/dist/commands/add-mcp.d.ts.map +1 -0
  76. package/dist/commands/add-mcp.js +196 -0
  77. package/dist/commands/add-mcp.js.map +1 -0
  78. package/dist/commands/browser.d.ts +62 -0
  79. package/dist/commands/browser.d.ts.map +1 -0
  80. package/dist/commands/browser.js +615 -0
  81. package/dist/commands/browser.js.map +1 -0
  82. package/dist/index.js +40 -21
  83. package/dist/index.js.map +1 -1
  84. package/dist/utils/browser-credentials.d.ts +5 -0
  85. package/dist/utils/browser-credentials.d.ts.map +1 -0
  86. package/dist/utils/browser-credentials.js +53 -0
  87. package/dist/utils/browser-credentials.js.map +1 -0
  88. package/dist/utils/mcp-config.d.ts +15 -0
  89. package/dist/utils/mcp-config.d.ts.map +1 -0
  90. package/dist/utils/mcp-config.js +87 -0
  91. package/dist/utils/mcp-config.js.map +1 -0
  92. package/package.json +2 -1
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run_add_mcp = exports.add_mcp_command = void 0;
4
+ const prompts_1 = require("@inquirer/prompts");
5
+ const commander_1 = require("commander");
6
+ const credentials_1 = require("../utils/credentials");
7
+ const output_1 = require("../utils/output");
8
+ const mcp_config_1 = require("../utils/mcp-config");
9
+ const backtick = String.fromCharCode(96);
10
+ const mcp_agent_labels = {
11
+ 'claude-code': 'Claude Code',
12
+ cursor: 'Cursor',
13
+ codex: 'Codex',
14
+ };
15
+ const mcp_agents = ['claude-code', 'cursor', 'codex'];
16
+ const default_writers = {
17
+ write_claude_code_mcp: mcp_config_1.write_claude_code_mcp,
18
+ write_cursor_mcp: mcp_config_1.write_cursor_mcp,
19
+ write_codex_mcp: mcp_config_1.write_codex_mcp,
20
+ };
21
+ const format_error = (error) => {
22
+ if (error instanceof Error)
23
+ return error.message;
24
+ return 'Unknown error';
25
+ };
26
+ const format_agent_list = () => mcp_agents.join(', ');
27
+ const is_tty = () => process.stdin.isTTY !== false && process.stdout.isTTY !== false;
28
+ const parse_selected_agents = (agent_flag) => {
29
+ const selected = Array.from(new Set(agent_flag.split(',')
30
+ .map(agent => agent.trim().toLowerCase())
31
+ .filter(Boolean)));
32
+ if (!selected.length) {
33
+ process.stderr.write('No agents provided. Use --agent '
34
+ + format_agent_list() + '\n');
35
+ process.exitCode = 1;
36
+ return null;
37
+ }
38
+ const invalid = selected.filter(agent => !mcp_agents.includes(agent));
39
+ if (invalid.length) {
40
+ process.stderr.write('Unknown agent ' + invalid[0] + '. Supported agents: '
41
+ + format_agent_list() + '\n');
42
+ process.exitCode = 1;
43
+ return null;
44
+ }
45
+ return selected;
46
+ };
47
+ const resolve_selected_agents = async (opts) => {
48
+ if (opts.agent)
49
+ return parse_selected_agents(opts.agent);
50
+ if (!is_tty()) {
51
+ process.stderr.write('Non-interactive MCP installation requires --agent <agents>.\n');
52
+ process.exitCode = 1;
53
+ return null;
54
+ }
55
+ return await (0, prompts_1.checkbox)({
56
+ message: 'Which coding agents should Bright Data MCP be added to?',
57
+ choices: mcp_agents.map(agent => ({
58
+ name: mcp_agent_labels[agent],
59
+ value: agent,
60
+ })),
61
+ validate: value => {
62
+ if (value.length)
63
+ return true;
64
+ return 'Select at least one coding agent';
65
+ },
66
+ });
67
+ };
68
+ const resolve_scope_from_flags = (selected_agents, opts) => {
69
+ if (opts.global && opts.project) {
70
+ process.stderr.write('Choose either --global or --project, not both.\n');
71
+ process.exitCode = 1;
72
+ return 'error';
73
+ }
74
+ if (selected_agents.every(agent => agent == 'codex')) {
75
+ if (opts.project) {
76
+ process.stderr.write('Codex only supports global MCP installation.\n');
77
+ process.exitCode = 1;
78
+ return 'error';
79
+ }
80
+ return 'global';
81
+ }
82
+ if (opts.global)
83
+ return 'global';
84
+ if (opts.project)
85
+ return 'project';
86
+ return 'prompt';
87
+ };
88
+ const resolve_scope = async (selected_agents, opts) => {
89
+ const scope_from_flags = resolve_scope_from_flags(selected_agents, opts);
90
+ if (scope_from_flags == 'global' || scope_from_flags == 'project')
91
+ return scope_from_flags;
92
+ if (scope_from_flags == 'error')
93
+ return null;
94
+ if (!is_tty()) {
95
+ process.stderr.write('Non-interactive MCP installation requires --global or --project '
96
+ + 'when targeting Claude Code or Cursor.\n');
97
+ process.exitCode = 1;
98
+ return null;
99
+ }
100
+ return await (0, prompts_1.select)({
101
+ message: 'Install globally or for this project?',
102
+ choices: [
103
+ {
104
+ name: 'Global',
105
+ value: 'global',
106
+ },
107
+ {
108
+ name: 'Project',
109
+ value: 'project',
110
+ },
111
+ ],
112
+ default: 'global',
113
+ });
114
+ };
115
+ const write_agent_mcp = async (agent, api_key, scope, writers, opts = {}) => {
116
+ if (agent == 'claude-code')
117
+ return writers.write_claude_code_mcp(api_key, scope, opts);
118
+ if (agent == 'cursor')
119
+ return writers.write_cursor_mcp(api_key, scope, opts);
120
+ return writers.write_codex_mcp(api_key, opts);
121
+ };
122
+ const write_agent_with_recovery = async (agent, api_key, scope, writers) => {
123
+ try {
124
+ await write_agent_mcp(agent, api_key, scope, writers);
125
+ return;
126
+ }
127
+ catch (error) {
128
+ if (!(error instanceof mcp_config_1.Invalid_mcp_config_error))
129
+ throw error;
130
+ (0, output_1.warn)(error.message);
131
+ if (!is_tty()) {
132
+ throw new Error('Fix the invalid JSON manually or rerun with a TTY to '
133
+ + 'overwrite it.');
134
+ }
135
+ const overwrite = await (0, prompts_1.confirm)({
136
+ message: 'Overwrite invalid config at ' + error.file_path + '?',
137
+ default: false,
138
+ });
139
+ if (!overwrite) {
140
+ throw new Error('Aborted because ' + error.file_path + ' contains invalid JSON');
141
+ }
142
+ await write_agent_mcp(agent, api_key, scope, writers, { overwrite_invalid: true });
143
+ }
144
+ };
145
+ const print_summary = (selected_agents, success_count, failures) => {
146
+ process.stderr.write('\n');
147
+ process.stderr.write((0, output_1.dim)('Summary: ' + selected_agents.length + ' target'
148
+ + (selected_agents.length == 1 ? '' : 's') + ', ' + success_count
149
+ + ' succeeded, ' + failures.length + ' failed.\n'));
150
+ for (const failure of failures) {
151
+ process.stderr.write((0, output_1.red)('✗ ' + mcp_agent_labels[failure.agent] + ': ' + failure.reason + '\n'));
152
+ }
153
+ };
154
+ const run_add_mcp = async (opts = {}, writers = default_writers) => {
155
+ const api_key = (0, credentials_1.get_api_key)();
156
+ if (api_key == null) {
157
+ process.stderr.write('Not logged in. Run ' + backtick
158
+ + 'brightdata login' + backtick + ' first.\n');
159
+ process.exitCode = 1;
160
+ return;
161
+ }
162
+ const selected_agents = await resolve_selected_agents(opts);
163
+ if (selected_agents == null)
164
+ return;
165
+ const scope = await resolve_scope(selected_agents, opts);
166
+ if (scope == null)
167
+ return;
168
+ const failures = [];
169
+ let success_count = 0;
170
+ for (const agent of selected_agents) {
171
+ try {
172
+ await write_agent_with_recovery(agent, api_key, scope, writers);
173
+ success_count++;
174
+ process.stderr.write((0, output_1.green)('✓ Added Bright Data MCP to '
175
+ + mcp_agent_labels[agent] + '\n'));
176
+ }
177
+ catch (error) {
178
+ const reason = format_error(error);
179
+ failures.push({ agent, reason });
180
+ process.stderr.write((0, output_1.red)('✗ Failed ' + mcp_agent_labels[agent] + ': ' + reason + '\n'));
181
+ process.exitCode = 1;
182
+ }
183
+ }
184
+ print_summary(selected_agents, success_count, failures);
185
+ };
186
+ exports.run_add_mcp = run_add_mcp;
187
+ const add_mcp_command = new commander_1.Command('mcp')
188
+ .description('Add Bright Data MCP to Claude Code, Cursor, or Codex')
189
+ .option('--agent <agents>', 'Comma-separated: claude-code,cursor,codex')
190
+ .option('--global', 'Install to global config')
191
+ .option('--project', 'Install to project config')
192
+ .action(async (opts) => {
193
+ await run_add_mcp(opts);
194
+ });
195
+ exports.add_mcp_command = add_mcp_command;
196
+ //# sourceMappingURL=add-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-mcp.js","sourceRoot":"","sources":["../../src/commands/add-mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { Command } from 'commander';
2
+ type Browser_cli_opts = {
3
+ all?: boolean;
4
+ append?: boolean;
5
+ apiKey?: string;
6
+ base64?: boolean;
7
+ compact?: boolean;
8
+ country?: string;
9
+ daemonDir?: string;
10
+ depth?: string;
11
+ direction?: string;
12
+ distance?: string;
13
+ fullPage?: boolean;
14
+ headed?: boolean;
15
+ idleTimeout?: string;
16
+ interactive?: boolean;
17
+ json?: boolean;
18
+ output?: string;
19
+ pretty?: boolean;
20
+ ref?: string;
21
+ selector?: string;
22
+ session?: string;
23
+ submit?: boolean;
24
+ timeout?: string;
25
+ wrap?: boolean;
26
+ zone?: string;
27
+ };
28
+ type Browser_daemon_status = {
29
+ connected?: boolean;
30
+ current_title?: string | null;
31
+ current_url?: string | null;
32
+ idle_timeout_ms?: number;
33
+ listener?: unknown;
34
+ session_name?: string;
35
+ tracked_requests?: number;
36
+ };
37
+ declare const get_browser_session_names: (opts?: Browser_cli_opts) => string[];
38
+ declare const list_browser_sessions: (opts?: Browser_cli_opts) => Promise<Browser_daemon_status[]>;
39
+ declare const handle_browser_open: (url: string, opts: Browser_cli_opts) => Promise<void>;
40
+ declare const handle_browser_back: (opts: Browser_cli_opts) => Promise<void>;
41
+ declare const handle_browser_forward: (opts: Browser_cli_opts) => Promise<void>;
42
+ declare const handle_browser_reload: (opts: Browser_cli_opts) => Promise<void>;
43
+ declare const handle_browser_snapshot: (opts: Browser_cli_opts) => Promise<void>;
44
+ declare const handle_browser_screenshot: (file_path: string | undefined, opts: Browser_cli_opts) => Promise<void>;
45
+ declare const handle_browser_fill: (ref: string, value: string, opts: Browser_cli_opts) => Promise<void>;
46
+ declare const handle_browser_get_text: (selector: string | undefined, opts: Browser_cli_opts) => Promise<void>;
47
+ declare const handle_browser_get_html: (selector: string | undefined, opts: Browser_cli_opts) => Promise<void>;
48
+ declare const handle_browser_click: (ref: string, opts: Browser_cli_opts) => Promise<void>;
49
+ declare const handle_browser_type: (ref: string, text: string, opts: Browser_cli_opts) => Promise<void>;
50
+ declare const handle_browser_select: (ref: string, value: string, opts: Browser_cli_opts) => Promise<void>;
51
+ declare const handle_browser_check: (ref: string, checked: boolean, opts: Browser_cli_opts) => Promise<void>;
52
+ declare const handle_browser_hover: (ref: string, opts: Browser_cli_opts) => Promise<void>;
53
+ declare const handle_browser_scroll: (opts: Browser_cli_opts) => Promise<void>;
54
+ declare const handle_browser_status: (opts: Browser_cli_opts) => Promise<void>;
55
+ declare const handle_browser_network: (opts: Browser_cli_opts) => Promise<void>;
56
+ declare const handle_browser_cookies: (opts: Browser_cli_opts) => Promise<void>;
57
+ declare const handle_browser_sessions: (opts?: Browser_cli_opts) => Promise<void>;
58
+ declare const handle_browser_close: (opts?: Browser_cli_opts) => Promise<void>;
59
+ declare const create_browser_command: () => Command;
60
+ declare const browser_command: Command;
61
+ export { browser_command, create_browser_command, get_browser_session_names, handle_browser_back, handle_browser_check, handle_browser_click, handle_browser_close, handle_browser_cookies, handle_browser_fill, handle_browser_forward, handle_browser_get_html, handle_browser_get_text, handle_browser_hover, handle_browser_network, handle_browser_open, handle_browser_reload, handle_browser_screenshot, handle_browser_scroll, handle_browser_select, handle_browser_sessions, handle_browser_snapshot, handle_browser_status, handle_browser_type, list_browser_sessions, };
62
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"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"}