@brightdata/cli 0.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.
Files changed (170) hide show
  1. package/README.md +624 -0
  2. package/dist/__tests__/commands/budget.test.d.ts +2 -0
  3. package/dist/__tests__/commands/budget.test.d.ts.map +1 -0
  4. package/dist/__tests__/commands/budget.test.js +199 -0
  5. package/dist/__tests__/commands/budget.test.js.map +1 -0
  6. package/dist/__tests__/commands/dataset.test.d.ts +2 -0
  7. package/dist/__tests__/commands/dataset.test.d.ts.map +1 -0
  8. package/dist/__tests__/commands/dataset.test.js +22 -0
  9. package/dist/__tests__/commands/dataset.test.js.map +1 -0
  10. package/dist/__tests__/commands/login.test.d.ts +2 -0
  11. package/dist/__tests__/commands/login.test.d.ts.map +1 -0
  12. package/dist/__tests__/commands/login.test.js +123 -0
  13. package/dist/__tests__/commands/login.test.js.map +1 -0
  14. package/dist/__tests__/commands/scrape.test.d.ts +2 -0
  15. package/dist/__tests__/commands/scrape.test.d.ts.map +1 -0
  16. package/dist/__tests__/commands/scrape.test.js +73 -0
  17. package/dist/__tests__/commands/scrape.test.js.map +1 -0
  18. package/dist/__tests__/commands/search.test.d.ts +2 -0
  19. package/dist/__tests__/commands/search.test.d.ts.map +1 -0
  20. package/dist/__tests__/commands/search.test.js +95 -0
  21. package/dist/__tests__/commands/search.test.js.map +1 -0
  22. package/dist/__tests__/commands/skill-add.test.d.ts +2 -0
  23. package/dist/__tests__/commands/skill-add.test.d.ts.map +1 -0
  24. package/dist/__tests__/commands/skill-add.test.js +177 -0
  25. package/dist/__tests__/commands/skill-add.test.js.map +1 -0
  26. package/dist/__tests__/commands/skill.test.d.ts +2 -0
  27. package/dist/__tests__/commands/skill.test.d.ts.map +1 -0
  28. package/dist/__tests__/commands/skill.test.js +58 -0
  29. package/dist/__tests__/commands/skill.test.js.map +1 -0
  30. package/dist/__tests__/commands/status.test.d.ts +2 -0
  31. package/dist/__tests__/commands/status.test.d.ts.map +1 -0
  32. package/dist/__tests__/commands/status.test.js +71 -0
  33. package/dist/__tests__/commands/status.test.js.map +1 -0
  34. package/dist/__tests__/commands/version.test.d.ts +2 -0
  35. package/dist/__tests__/commands/version.test.d.ts.map +1 -0
  36. package/dist/__tests__/commands/version.test.js +41 -0
  37. package/dist/__tests__/commands/version.test.js.map +1 -0
  38. package/dist/__tests__/utils/browser_auth.test.d.ts +2 -0
  39. package/dist/__tests__/utils/browser_auth.test.d.ts.map +1 -0
  40. package/dist/__tests__/utils/browser_auth.test.js +38 -0
  41. package/dist/__tests__/utils/browser_auth.test.js.map +1 -0
  42. package/dist/__tests__/utils/config.test.d.ts +2 -0
  43. package/dist/__tests__/utils/config.test.d.ts.map +1 -0
  44. package/dist/__tests__/utils/config.test.js +58 -0
  45. package/dist/__tests__/utils/config.test.js.map +1 -0
  46. package/dist/__tests__/utils/polling.test.d.ts +2 -0
  47. package/dist/__tests__/utils/polling.test.d.ts.map +1 -0
  48. package/dist/__tests__/utils/polling.test.js +65 -0
  49. package/dist/__tests__/utils/polling.test.js.map +1 -0
  50. package/dist/commands/budget.d.ts +15 -0
  51. package/dist/commands/budget.d.ts.map +1 -0
  52. package/dist/commands/budget.js +217 -0
  53. package/dist/commands/budget.js.map +1 -0
  54. package/dist/commands/config.d.ts +12 -0
  55. package/dist/commands/config.d.ts.map +1 -0
  56. package/dist/commands/config.js +60 -0
  57. package/dist/commands/config.js.map +1 -0
  58. package/dist/commands/dataset.d.ts +6 -0
  59. package/dist/commands/dataset.d.ts.map +1 -0
  60. package/dist/commands/dataset.js +250 -0
  61. package/dist/commands/dataset.js.map +1 -0
  62. package/dist/commands/init.d.ts +9 -0
  63. package/dist/commands/init.d.ts.map +1 -0
  64. package/dist/commands/init.js +247 -0
  65. package/dist/commands/init.js.map +1 -0
  66. package/dist/commands/login.d.ts +10 -0
  67. package/dist/commands/login.d.ts.map +1 -0
  68. package/dist/commands/login.js +98 -0
  69. package/dist/commands/login.js.map +1 -0
  70. package/dist/commands/logout.d.ts +5 -0
  71. package/dist/commands/logout.d.ts.map +1 -0
  72. package/dist/commands/logout.js +20 -0
  73. package/dist/commands/logout.js.map +1 -0
  74. package/dist/commands/scrape.d.ts +6 -0
  75. package/dist/commands/scrape.d.ts.map +1 -0
  76. package/dist/commands/scrape.js +79 -0
  77. package/dist/commands/scrape.js.map +1 -0
  78. package/dist/commands/search.d.ts +6 -0
  79. package/dist/commands/search.d.ts.map +1 -0
  80. package/dist/commands/search.js +179 -0
  81. package/dist/commands/search.js.map +1 -0
  82. package/dist/commands/skill-add.d.ts +3 -0
  83. package/dist/commands/skill-add.d.ts.map +1 -0
  84. package/dist/commands/skill-add.js +285 -0
  85. package/dist/commands/skill-add.js.map +1 -0
  86. package/dist/commands/skill.d.ts +5 -0
  87. package/dist/commands/skill.d.ts.map +1 -0
  88. package/dist/commands/skill.js +31 -0
  89. package/dist/commands/skill.js.map +1 -0
  90. package/dist/commands/status.d.ts +14 -0
  91. package/dist/commands/status.d.ts.map +1 -0
  92. package/dist/commands/status.js +99 -0
  93. package/dist/commands/status.js.map +1 -0
  94. package/dist/commands/version.d.ts +18 -0
  95. package/dist/commands/version.d.ts.map +1 -0
  96. package/dist/commands/version.js +35 -0
  97. package/dist/commands/version.js.map +1 -0
  98. package/dist/commands/zones.d.ts +13 -0
  99. package/dist/commands/zones.d.ts.map +1 -0
  100. package/dist/commands/zones.js +70 -0
  101. package/dist/commands/zones.js.map +1 -0
  102. package/dist/index.d.ts +3 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +42 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/types/dataset.d.ts +19 -0
  107. package/dist/types/dataset.d.ts.map +1 -0
  108. package/dist/types/dataset.js +3 -0
  109. package/dist/types/dataset.js.map +1 -0
  110. package/dist/types/scrape.d.ts +31 -0
  111. package/dist/types/scrape.d.ts.map +1 -0
  112. package/dist/types/scrape.js +3 -0
  113. package/dist/types/scrape.js.map +1 -0
  114. package/dist/types/search.d.ts +47 -0
  115. package/dist/types/search.d.ts.map +1 -0
  116. package/dist/types/search.js +3 -0
  117. package/dist/types/search.js.map +1 -0
  118. package/dist/utils/auth.d.ts +6 -0
  119. package/dist/utils/auth.d.ts.map +1 -0
  120. package/dist/utils/auth.js +44 -0
  121. package/dist/utils/auth.js.map +1 -0
  122. package/dist/utils/auth_pages.d.ts +3 -0
  123. package/dist/utils/auth_pages.d.ts.map +1 -0
  124. package/dist/utils/auth_pages.js +316 -0
  125. package/dist/utils/auth_pages.js.map +1 -0
  126. package/dist/utils/browser_auth.d.ts +21 -0
  127. package/dist/utils/browser_auth.d.ts.map +1 -0
  128. package/dist/utils/browser_auth.js +290 -0
  129. package/dist/utils/browser_auth.js.map +1 -0
  130. package/dist/utils/client.d.ts +17 -0
  131. package/dist/utils/client.d.ts.map +1 -0
  132. package/dist/utils/client.js +95 -0
  133. package/dist/utils/client.js.map +1 -0
  134. package/dist/utils/config.d.ts +16 -0
  135. package/dist/utils/config.d.ts.map +1 -0
  136. package/dist/utils/config.js +65 -0
  137. package/dist/utils/config.js.map +1 -0
  138. package/dist/utils/credentials.d.ts +11 -0
  139. package/dist/utils/credentials.d.ts.map +1 -0
  140. package/dist/utils/credentials.js +52 -0
  141. package/dist/utils/credentials.js.map +1 -0
  142. package/dist/utils/output.d.ts +23 -0
  143. package/dist/utils/output.d.ts.map +1 -0
  144. package/dist/utils/output.js +89 -0
  145. package/dist/utils/output.js.map +1 -0
  146. package/dist/utils/polling.d.ts +26 -0
  147. package/dist/utils/polling.d.ts.map +1 -0
  148. package/dist/utils/polling.js +46 -0
  149. package/dist/utils/polling.js.map +1 -0
  150. package/dist/utils/skill-installer/agents.d.ts +19 -0
  151. package/dist/utils/skill-installer/agents.d.ts.map +1 -0
  152. package/dist/utils/skill-installer/agents.js +345 -0
  153. package/dist/utils/skill-installer/agents.js.map +1 -0
  154. package/dist/utils/skill-installer/brightdata-skills.d.ts +11 -0
  155. package/dist/utils/skill-installer/brightdata-skills.d.ts.map +1 -0
  156. package/dist/utils/skill-installer/brightdata-skills.js +52 -0
  157. package/dist/utils/skill-installer/brightdata-skills.js.map +1 -0
  158. package/dist/utils/skill-installer/installer.d.ts +34 -0
  159. package/dist/utils/skill-installer/installer.d.ts.map +1 -0
  160. package/dist/utils/skill-installer/installer.js +240 -0
  161. package/dist/utils/skill-installer/installer.js.map +1 -0
  162. package/dist/utils/skill-installer/prompts/search-multiselect.d.ts +22 -0
  163. package/dist/utils/skill-installer/prompts/search-multiselect.d.ts.map +1 -0
  164. package/dist/utils/skill-installer/prompts/search-multiselect.js +251 -0
  165. package/dist/utils/skill-installer/prompts/search-multiselect.js.map +1 -0
  166. package/dist/utils/spinner.d.ts +7 -0
  167. package/dist/utils/spinner.d.ts.map +1 -0
  168. package/dist/utils/spinner.js +27 -0
  169. package/dist/utils/spinner.js.map +1 -0
  170. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/commands/budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAMjC,KAAK,WAAW,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAqID,QAAA,MAAM,qBAAqB,GAAS,MAAM,WAAW,kBAwBpD,CAAA;AAED,QAAA,MAAM,mBAAmB,GAAS,MAAM,WAAW,kBAsElD,CAAA;AAED,QAAA,MAAM,kBAAkB,GAAS,MAAM,MAAM,EAAE,MAAM,WAAW,kBA0D/D,CAAA;AAED,QAAA,MAAM,cAAc,SAInB,CAAA;AA+BD,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACrB,CAAA"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handle_budget_zone = exports.handle_budget_zones = exports.handle_budget_balance = exports.budget_command = void 0;
4
+ const commander_1 = require("commander");
5
+ const auth_1 = require("../utils/auth");
6
+ const client_1 = require("../utils/client");
7
+ const spinner_1 = require("../utils/spinner");
8
+ const output_1 = require("../utils/output");
9
+ const add_common_options = (cmd) => {
10
+ cmd.option('--json', 'Force JSON output');
11
+ cmd.option('--pretty', 'Pretty-print JSON output');
12
+ cmd.option('--timing', 'Show request timing');
13
+ cmd.option('-k, --api-key <key>', 'Override API key');
14
+ return cmd;
15
+ };
16
+ const format_usd = (value) => {
17
+ return `$${value.toFixed(2)}`;
18
+ };
19
+ const format_bytes = (n) => {
20
+ if (n < 1024)
21
+ return `${Math.round(n)} B`;
22
+ if (n < 1024 ** 2)
23
+ return `${(n / 1024).toFixed(1)} KB`;
24
+ if (n < 1024 ** 3)
25
+ return `${(n / 1024 ** 2).toFixed(1)} MB`;
26
+ return `${(n / 1024 ** 3).toFixed(1)} GB`;
27
+ };
28
+ const sum_zone_cost = (response) => {
29
+ if (!response || typeof response != 'object')
30
+ return { bw: 0, cost: 0 };
31
+ let bw = 0;
32
+ let cost = 0;
33
+ for (const period of Object.values(response)) {
34
+ if (!period || typeof period != 'object')
35
+ continue;
36
+ for (const item of Object.values(period)) {
37
+ if (!item || typeof item != 'object')
38
+ continue;
39
+ const item_bw = 'bw' in item
40
+ && typeof item.bw == 'number'
41
+ && Number.isFinite(item.bw)
42
+ ? item.bw
43
+ : 0;
44
+ const item_cost = 'cost' in item
45
+ && typeof item.cost == 'number'
46
+ && Number.isFinite(item.cost)
47
+ ? item.cost
48
+ : 0;
49
+ bw += item_bw;
50
+ cost += item_cost;
51
+ }
52
+ }
53
+ return { bw, cost };
54
+ };
55
+ const print_detail_rows = (rows) => {
56
+ if (!rows.length)
57
+ return;
58
+ const label_width = Math.max(...rows.map(([label]) => label.length));
59
+ for (const [label, value] of rows) {
60
+ process.stdout.write(`${(0, output_1.dim)(label.padEnd(label_width))} ${value}\n`);
61
+ }
62
+ };
63
+ const build_zone_cost_endpoint = (zone, opts) => {
64
+ const params = new URLSearchParams({ zone });
65
+ if (opts.from)
66
+ params.set('from', opts.from);
67
+ if (opts.to)
68
+ params.set('to', opts.to);
69
+ return `/zone/cost?${params.toString()}`;
70
+ };
71
+ const print_balance_summary = (balance) => {
72
+ const balance_value = typeof balance.balance == 'number' ? balance.balance : 0;
73
+ const pending_value = typeof balance.pending_balance == 'number'
74
+ ? balance.pending_balance
75
+ : 0;
76
+ const labels = ['Balance', 'Pending charge'];
77
+ const label_width = Math.max(...labels.map(label => label.length));
78
+ const balance_text = format_usd(balance_value);
79
+ const colored_balance = balance_value > 0
80
+ ? (0, output_1.green)(balance_text)
81
+ : (0, output_1.yellow)(balance_text);
82
+ process.stdout.write(`${(0, output_1.dim)('Balance'.padEnd(label_width))} ${colored_balance}\n`);
83
+ process.stdout.write(`${(0, output_1.dim)('Pending charge'.padEnd(label_width))} `
84
+ + `${format_usd(pending_value)}\n`);
85
+ };
86
+ const handle_budget_balance = async (opts) => {
87
+ const api_key = (0, auth_1.ensure_authenticated)(opts.apiKey);
88
+ const spinner = (0, spinner_1.start)('Fetching account balance...');
89
+ try {
90
+ const balance = await (0, client_1.get)(api_key, '/customer/balance', { timing: opts.timing });
91
+ spinner.stop();
92
+ if (opts.json || opts.pretty) {
93
+ (0, output_1.print)(balance, { json: opts.json, pretty: opts.pretty });
94
+ return;
95
+ }
96
+ print_balance_summary(balance);
97
+ }
98
+ catch (e) {
99
+ spinner.stop();
100
+ console.error(e.message);
101
+ process.exit(1);
102
+ }
103
+ };
104
+ exports.handle_budget_balance = handle_budget_balance;
105
+ const handle_budget_zones = async (opts) => {
106
+ const api_key = (0, auth_1.ensure_authenticated)(opts.apiKey);
107
+ const spinner = (0, spinner_1.start)('Fetching zone costs...');
108
+ try {
109
+ const zones = await (0, client_1.get)(api_key, '/zone/get_active_zones', { timing: opts.timing });
110
+ const zone_names = zones
111
+ .map(zone => zone.name)
112
+ .filter((name) => !!name);
113
+ if (!zone_names.length) {
114
+ spinner.stop();
115
+ if (opts.json || opts.pretty) {
116
+ (0, output_1.print)([], { json: opts.json, pretty: opts.pretty });
117
+ return;
118
+ }
119
+ console.log((0, output_1.dim)('No active zones found.'));
120
+ return;
121
+ }
122
+ const rows = await Promise.all(zone_names.map(async (zone) => {
123
+ const totals = sum_zone_cost(await (0, client_1.get)(api_key, build_zone_cost_endpoint(zone, opts), { timing: opts.timing }));
124
+ return {
125
+ zone,
126
+ cost: totals.cost,
127
+ bw: totals.bw,
128
+ };
129
+ }));
130
+ spinner.stop();
131
+ if (opts.json || opts.pretty) {
132
+ (0, output_1.print)(rows, { json: opts.json, pretty: opts.pretty });
133
+ return;
134
+ }
135
+ const total_cost = rows.reduce((sum, row) => sum + row.cost, 0);
136
+ const total_bw = rows.reduce((sum, row) => sum + row.bw, 0);
137
+ const table_rows = rows.map(row => ({
138
+ zone: row.zone,
139
+ 'cost ($)': format_usd(row.cost),
140
+ bandwidth: format_bytes(row.bw),
141
+ }));
142
+ table_rows.push({
143
+ zone: 'TOTAL',
144
+ 'cost ($)': format_usd(total_cost),
145
+ bandwidth: format_bytes(total_bw),
146
+ });
147
+ (0, output_1.print_table)(table_rows, ['zone', 'cost ($)', 'bandwidth']);
148
+ }
149
+ catch (e) {
150
+ spinner.stop();
151
+ console.error(e.message);
152
+ process.exit(1);
153
+ }
154
+ };
155
+ exports.handle_budget_zones = handle_budget_zones;
156
+ const handle_budget_zone = async (name, opts) => {
157
+ const api_key = (0, auth_1.ensure_authenticated)(opts.apiKey);
158
+ const spinner = (0, spinner_1.start)(`Fetching cost details for "${name}"...`);
159
+ try {
160
+ const [info, raw_cost] = await Promise.all([
161
+ (0, client_1.get)(api_key, `/zone?zone=${encodeURIComponent(name)}`, { timing: opts.timing }),
162
+ (0, client_1.get)(api_key, build_zone_cost_endpoint(name, opts), { timing: opts.timing }),
163
+ ]);
164
+ const totals = sum_zone_cost(raw_cost);
165
+ spinner.stop();
166
+ if (opts.json || opts.pretty) {
167
+ (0, output_1.print)({
168
+ zone: name,
169
+ info,
170
+ cost: raw_cost,
171
+ totals,
172
+ }, { json: opts.json, pretty: opts.pretty });
173
+ return;
174
+ }
175
+ const type_parts = [info.plan?.product, info.plan?.type]
176
+ .filter((value) => !!value);
177
+ const zone_type = type_parts.length
178
+ ? type_parts.join(' / ')
179
+ : (0, output_1.dim)('unknown');
180
+ const plan_bandwidth = info.plan?.bandwidth ?? (0, output_1.dim)('unknown');
181
+ print_detail_rows([
182
+ ['Zone:', name],
183
+ ['Type:', zone_type],
184
+ ['Plan bandwidth:', plan_bandwidth],
185
+ ]);
186
+ process.stdout.write('\n');
187
+ print_detail_rows([
188
+ ['Cost (this month):', format_usd(totals.cost)],
189
+ ['Bandwidth used:', format_bytes(totals.bw)],
190
+ ]);
191
+ }
192
+ catch (e) {
193
+ spinner.stop();
194
+ console.error(e.message);
195
+ process.exit(1);
196
+ }
197
+ };
198
+ exports.handle_budget_zone = handle_budget_zone;
199
+ const budget_command = add_common_options(new commander_1.Command('budget')
200
+ .description('View account balance and zone spending')
201
+ .action(handle_budget_balance));
202
+ exports.budget_command = budget_command;
203
+ budget_command.addCommand(add_common_options(new commander_1.Command('balance')
204
+ .description('Show account balance')
205
+ .action(handle_budget_balance)));
206
+ budget_command.addCommand(add_common_options(new commander_1.Command('zones')
207
+ .description('Show cost and bandwidth for all active zones')
208
+ .option('--from <date>', 'Start date for cost lookup')
209
+ .option('--to <date>', 'End date for cost lookup')
210
+ .action(handle_budget_zones)));
211
+ budget_command.addCommand(add_common_options(new commander_1.Command('zone')
212
+ .description('Show cost and bandwidth for a single zone')
213
+ .argument('<name>', 'Zone name')
214
+ .option('--from <date>', 'Start date for cost lookup')
215
+ .option('--to <date>', 'End date for cost lookup')
216
+ .action(handle_budget_zone)));
217
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/commands/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Command } from 'commander';
2
+ type Show_opts = {
3
+ json?: boolean;
4
+ pretty?: boolean;
5
+ output?: string;
6
+ };
7
+ declare const handle_show_config: (opts: Show_opts) => void;
8
+ declare const handle_get_config: (key: string) => void;
9
+ declare const handle_set_config: (key: string, value: string) => void;
10
+ declare const config_command: Command;
11
+ export { config_command, handle_show_config, handle_get_config, handle_set_config };
12
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AA8BlC,KAAK,SAAS,GAAG;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,MAAM,SAAS,SAG1C,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,KAAK,MAAM,SAYrC,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,SAIpD,CAAC;AAEF,QAAA,MAAM,cAAc,SAKW,CAAC;AAiBhC,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EACxD,iBAAiB,EAAC,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handle_set_config = exports.handle_get_config = exports.handle_show_config = exports.config_command = void 0;
4
+ const commander_1 = require("commander");
5
+ const config_1 = require("../utils/config");
6
+ const output_1 = require("../utils/output");
7
+ const CONFIG_KEYS = [
8
+ 'default_zone_unlocker',
9
+ 'default_zone_serp',
10
+ 'default_format',
11
+ 'api_url',
12
+ ];
13
+ const format_keys = () => CONFIG_KEYS.join(', ');
14
+ const ensure_valid_key = (key) => {
15
+ if (CONFIG_KEYS.includes(key))
16
+ return key;
17
+ (0, output_1.fail)(`Unknown config key "${key}".\n`
18
+ + ` Available keys: ${format_keys()}`);
19
+ return 'default_format';
20
+ };
21
+ const handle_show_config = (opts) => {
22
+ const config = (0, config_1.load)();
23
+ (0, output_1.print)(config, { json: opts.json, pretty: opts.pretty, output: opts.output });
24
+ };
25
+ exports.handle_show_config = handle_show_config;
26
+ const handle_get_config = (key) => {
27
+ const valid_key = ensure_valid_key(key);
28
+ const value = (0, config_1.get)(valid_key);
29
+ if (value === undefined) {
30
+ (0, output_1.fail)(`Config key "${valid_key}" is not set.\n`
31
+ + ' Use \'brightdata config set <key> <value>\' to set it.');
32
+ return;
33
+ }
34
+ process.stdout.write(value + '\n');
35
+ };
36
+ exports.handle_get_config = handle_get_config;
37
+ const handle_set_config = (key, value) => {
38
+ const valid_key = ensure_valid_key(key);
39
+ (0, config_1.set)(valid_key, value);
40
+ (0, output_1.success)(`Config updated: ${valid_key}=${value}`);
41
+ };
42
+ exports.handle_set_config = handle_set_config;
43
+ const config_command = new commander_1.Command('config')
44
+ .description('View and edit CLI configuration')
45
+ .option('--json', 'Force JSON output')
46
+ .option('--pretty', 'Pretty-print JSON output')
47
+ .option('-o, --output <path>', 'Write output to file')
48
+ .action(handle_show_config);
49
+ exports.config_command = config_command;
50
+ config_command
51
+ .addCommand(new commander_1.Command('get')
52
+ .description('Get a configuration value')
53
+ .argument('<key>', `Key (${format_keys()})`)
54
+ .action(handle_get_config))
55
+ .addCommand(new commander_1.Command('set')
56
+ .description('Set a configuration value')
57
+ .argument('<key>', `Key (${format_keys()})`)
58
+ .argument('<value>', 'Value to store')
59
+ .action(handle_set_config));
60
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAClC,4CAIyB;AACzB,4CAAqD;AAKrD,MAAM,WAAW,GAAiB;IAC9B,uBAAuB;IACvB,mBAAmB;IACnB,gBAAgB;IAChB,SAAS;CACZ,CAAC;AAEF,MAAM,WAAW,GAAG,GAAE,EAAE,CAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE/C,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAa,EAAE;IAChD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAiB,CAAC;QACvC,OAAO,GAAiB,CAAC;IAC7B,IAAA,aAAI,EACA,uBAAuB,GAAG,MAAM;UAC/B,qBAAqB,WAAW,EAAE,EAAE,CACxC,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAG,CAAC,IAAe,EAAC,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,aAAW,GAAE,CAAC;IAC7B,IAAA,cAAK,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AA4CsB,gDAAkB;AA1C1C,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAC,EAAE;IACrC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAA,YAAU,EAAC,SAAS,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;QACG,IAAA,aAAI,EACA,eAAe,SAAS,iBAAiB;cACxC,0DAA0D,CAC9D,CAAC;QACF,OAAO;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AA8B0C,8CAAiB;AA5B7D,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,KAAa,EAAC,EAAE;IACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAA,YAAU,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAA,gBAAO,EAAC,mBAAmB,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAyBG,8CAAiB;AAvBtB,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KACvC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACrC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;KACrD,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAiBxB,wCAAc;AAftB,cAAc;KACT,UAAU,CACP,IAAI,mBAAO,CAAC,KAAK,CAAC;KACb,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,WAAW,EAAE,GAAG,CAAC;KAC3C,MAAM,CAAC,iBAAiB,CAAC,CACjC;KACA,UAAU,CACP,IAAI,mBAAO,CAAC,KAAK,CAAC;KACb,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,WAAW,EAAE,GAAG,CAAC;KAC3C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;KACrC,MAAM,CAAC,iBAAiB,CAAC,CACjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ import type { Webdata_opts } from '../types/dataset';
3
+ declare const handle_pipelines: (dataset_type_raw: string, params: string[], opts: Webdata_opts) => Promise<void>;
4
+ declare const pipelines_command: Command;
5
+ export { pipelines_command, handle_pipelines };
6
+ //# sourceMappingURL=dataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAMlC,OAAO,KAAK,EAER,YAAY,EAGf,MAAM,kBAAkB,CAAC;AAkM1B,QAAA,MAAM,gBAAgB,GAClB,kBAAkB,MAAM,EACxB,QAAQ,MAAM,EAAE,EAChB,MAAM,YAAY,kBAiFrB,CAAC;AAEF,QAAA,MAAM,iBAAiB,SAcM,CAAC;AAE9B,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,CAAC"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handle_pipelines = exports.pipelines_command = void 0;
4
+ const commander_1 = require("commander");
5
+ const auth_1 = require("../utils/auth");
6
+ const client_1 = require("../utils/client");
7
+ const output_1 = require("../utils/output");
8
+ const spinner_1 = require("../utils/spinner");
9
+ const polling_1 = require("../utils/polling");
10
+ const TRIGGER_ENDPOINT = '/datasets/v3/trigger';
11
+ const SNAPSHOT_ENDPOINT = '/datasets/v3/snapshot';
12
+ const RUNNING_STATUSES = ['starting', 'building', 'running'];
13
+ const DATASET_IDS = {
14
+ amazon_product: 'gd_l7q7dkf244hwjntr0',
15
+ amazon_product_reviews: 'gd_le8e811kzy4ggddlq',
16
+ amazon_product_search: 'gd_lwdb4vjm1ehb499uxs',
17
+ walmart_product: 'gd_l95fol7l1ru6rlo116',
18
+ walmart_seller: 'gd_m7ke48w81ocyu4hhz0',
19
+ ebay_product: 'gd_ltr9mjt81n0zzdk1fb',
20
+ homedepot_products: 'gd_lmusivh019i7g97q2n',
21
+ zara_products: 'gd_lct4vafw1tgx27d4o0',
22
+ etsy_products: 'gd_ltppk0jdv1jqz25mz',
23
+ bestbuy_products: 'gd_ltre1jqe1jfr7cccf',
24
+ linkedin_person_profile: 'gd_l1viktl72bvl7bjuj0',
25
+ linkedin_company_profile: 'gd_l1vikfnt1wgvvqz95w',
26
+ linkedin_job_listings: 'gd_lpfll7v5hcqtkxl6l',
27
+ linkedin_posts: 'gd_lyy3tktm25m4avu764',
28
+ linkedin_people_search: 'gd_m8d03he47z8nwb5xc',
29
+ crunchbase_company: 'gd_l1vijqt9jfj7olije',
30
+ zoominfo_company_profile: 'gd_m0ci4a4ivx3j5l6nx',
31
+ instagram_profiles: 'gd_l1vikfch901nx3by4',
32
+ instagram_posts: 'gd_lk5ns7kz21pck8jpis',
33
+ instagram_reels: 'gd_lyclm20il4r5helnj',
34
+ instagram_comments: 'gd_ltppn085pokosxh13',
35
+ facebook_posts: 'gd_lyclm1571iy3mv57zw',
36
+ facebook_marketplace_listings: 'gd_lvt9iwuh6fbcwmx1a',
37
+ facebook_company_reviews: 'gd_m0dtqpiu1mbcyc2g86',
38
+ facebook_events: 'gd_m14sd0to1jz48ppm51',
39
+ tiktok_profiles: 'gd_l1villgoiiidt09ci',
40
+ tiktok_posts: 'gd_lu702nij2f790tmv9h',
41
+ tiktok_shop: 'gd_m45m1u911dsa4274pi',
42
+ tiktok_comments: 'gd_lkf2st302ap89utw5k',
43
+ x_posts: 'gd_lwxkxvnf1cynvib9co',
44
+ youtube_profiles: 'gd_lk538t2k2p1k3oos71',
45
+ youtube_videos: 'gd_lk56epmy2i5g7lzu0k',
46
+ youtube_comments: 'gd_lk9q0ew71spt1mxywf',
47
+ reddit_posts: 'gd_lvz8ah06191smkebj4',
48
+ google_maps_reviews: 'gd_luzfs1dn2oa0teb81',
49
+ google_shopping: 'gd_ltppk50q18kdw67omz',
50
+ google_play_store: 'gd_lsk382l8xei8vzm4u',
51
+ apple_app_store: 'gd_lsk9ki3u2iishmwrui',
52
+ reuter_news: 'gd_lyptx9h74wtlvpnfu',
53
+ github_repository_file: 'gd_lyrexgxc24b3d4imjt',
54
+ yahoo_finance_business: 'gd_lmrpz3vxmz972ghd7',
55
+ zillow_properties_listing: 'gd_lfqkr8wm13ixtbd8f5',
56
+ booking_hotel_listings: 'gd_m5mbdl081229ln6t4a',
57
+ };
58
+ const ALLOWED_FORMATS = ['json', 'csv', 'ndjson', 'jsonl'];
59
+ const strip_nulls = (data) => {
60
+ if (data === null)
61
+ return undefined;
62
+ if (Array.isArray(data)) {
63
+ const cleaned = [];
64
+ for (let i = 0; i < data.length; i++) {
65
+ const item = strip_nulls(data[i]);
66
+ if (item !== undefined)
67
+ cleaned.push(item);
68
+ }
69
+ return cleaned;
70
+ }
71
+ if (typeof data == 'object') {
72
+ const cleaned = {};
73
+ const entries = Object.entries(data);
74
+ for (let i = 0; i < entries.length; i++) {
75
+ const [key, value] = entries[i];
76
+ const item = strip_nulls(value);
77
+ if (item !== undefined)
78
+ cleaned[key] = item;
79
+ }
80
+ return cleaned;
81
+ }
82
+ return data;
83
+ };
84
+ const list_dataset_types = () => {
85
+ const types = Object.keys(DATASET_IDS).sort();
86
+ process.stdout.write(types.join('\n') + '\n');
87
+ };
88
+ const resolve_dataset_type = (dataset_type) => {
89
+ if (dataset_type in DATASET_IDS)
90
+ return dataset_type;
91
+ return undefined;
92
+ };
93
+ const resolve_format = (raw_format) => {
94
+ const format = (raw_format ?? 'json').toLowerCase();
95
+ if (ALLOWED_FORMATS.includes(format))
96
+ return format;
97
+ (0, output_1.fail)(`Invalid format "${format}".\n`
98
+ + ' Allowed formats: json, csv, ndjson, jsonl.');
99
+ return 'json';
100
+ };
101
+ const build_input = (dataset_type, params) => {
102
+ if (dataset_type == 'amazon_product_search') {
103
+ const keyword = params[0];
104
+ const url = params[1];
105
+ if (!keyword || !url) {
106
+ (0, output_1.fail)('Usage: brightdata pipelines amazon_product_search '
107
+ + '<keyword> <domain_url>');
108
+ return {};
109
+ }
110
+ return { keyword, url, pages_to_search: '1' };
111
+ }
112
+ if (dataset_type == 'linkedin_people_search') {
113
+ const url = params[0];
114
+ const first_name = params[1];
115
+ const last_name = params[2];
116
+ if (!url || !first_name || !last_name) {
117
+ (0, output_1.fail)('Usage: brightdata pipelines linkedin_people_search '
118
+ + '<url> <first_name> <last_name>');
119
+ return {};
120
+ }
121
+ return { url, first_name, last_name };
122
+ }
123
+ if (dataset_type == 'facebook_company_reviews') {
124
+ const url = params[0];
125
+ const num_of_reviews = params[1] ?? '10';
126
+ if (!url) {
127
+ (0, output_1.fail)('Usage: brightdata pipelines facebook_company_reviews <url> '
128
+ + '[num_reviews]');
129
+ return {};
130
+ }
131
+ return { url, num_of_reviews };
132
+ }
133
+ if (dataset_type == 'google_maps_reviews') {
134
+ const url = params[0];
135
+ const days_limit = params[1] ?? '3';
136
+ if (!url) {
137
+ (0, output_1.fail)('Usage: brightdata pipelines google_maps_reviews <url> '
138
+ + '[days_limit]');
139
+ return {};
140
+ }
141
+ return { url, days_limit };
142
+ }
143
+ if (dataset_type == 'youtube_comments') {
144
+ const url = params[0];
145
+ const num_of_comments = params[1] ?? '10';
146
+ if (!url) {
147
+ (0, output_1.fail)('Usage: brightdata pipelines youtube_comments <url> '
148
+ + '[num_comments]');
149
+ return {};
150
+ }
151
+ return { url, num_of_comments };
152
+ }
153
+ const url = params[0];
154
+ if (!url) {
155
+ (0, output_1.fail)(`Usage: brightdata pipelines ${dataset_type} <url>`);
156
+ return {};
157
+ }
158
+ return { url };
159
+ };
160
+ const extract_status = (result) => {
161
+ if (!result || typeof result != 'object')
162
+ return undefined;
163
+ const status = result.status;
164
+ if (typeof status == 'string')
165
+ return status;
166
+ return undefined;
167
+ };
168
+ const handle_pipelines = async (dataset_type_raw, params, opts) => {
169
+ if (dataset_type_raw == 'list') {
170
+ list_dataset_types();
171
+ return;
172
+ }
173
+ const dataset_type = resolve_dataset_type(dataset_type_raw);
174
+ if (!dataset_type) {
175
+ (0, output_1.fail)(`Unknown pipeline type "${dataset_type_raw}".\n`
176
+ + ' Run \'brightdata pipelines list\' to see available types.');
177
+ return;
178
+ }
179
+ const api_key = (0, auth_1.ensure_authenticated)(opts.apiKey);
180
+ const dataset_id = DATASET_IDS[dataset_type];
181
+ let timeout = 600;
182
+ try {
183
+ timeout = (0, polling_1.parse_timeout)(opts.timeout);
184
+ }
185
+ catch (e) {
186
+ (0, output_1.fail)(e.message);
187
+ return;
188
+ }
189
+ const format = resolve_format(opts.format);
190
+ const input = build_input(dataset_type, params);
191
+ const spinner = (0, spinner_1.start)(`Triggering pipeline collection for ${dataset_type}...`);
192
+ try {
193
+ const endpoint = `${TRIGGER_ENDPOINT}?dataset_id=${dataset_id}`
194
+ + '&include_errors=true';
195
+ const trigger = await (0, client_1.post)(api_key, endpoint, [input], { timing: opts.timing });
196
+ spinner.stop();
197
+ const snapshot_id = trigger.snapshot_id;
198
+ if (!snapshot_id) {
199
+ (0, output_1.fail)('Failed to trigger pipeline collection' +
200
+ '(missing snapshot_id).');
201
+ return;
202
+ }
203
+ console.error((0, output_1.dim)(`Triggered collection with snapshot ID:` +
204
+ `${snapshot_id}`));
205
+ const poll_result = await (0, polling_1.poll_until)({
206
+ timeout_seconds: timeout,
207
+ fetch_once: () => {
208
+ const endpoint = `${SNAPSHOT_ENDPOINT}/${snapshot_id}`
209
+ + `?format=${format}`;
210
+ return (0, client_1.get)(api_key, endpoint, { timing: opts.timing });
211
+ },
212
+ get_status: extract_status,
213
+ running_statuses: RUNNING_STATUSES,
214
+ timeout_label: 'data',
215
+ on_running: ({ attempt, timeout_seconds, status }) => {
216
+ console.error((0, output_1.dim)(`Status: ${status} - polling again `
217
+ + `(attempt ${attempt}/${timeout_seconds})`));
218
+ },
219
+ });
220
+ console.error((0, output_1.dim)(`Data received after ${poll_result.attempts} attempts`));
221
+ const result = poll_result.result;
222
+ const cleaned_result = format == 'json' ? strip_nulls(result) : result;
223
+ (0, output_1.print)(cleaned_result, {
224
+ json: opts.json,
225
+ pretty: opts.pretty,
226
+ output: opts.output,
227
+ });
228
+ }
229
+ catch (e) {
230
+ spinner.stop();
231
+ console.error(e.message);
232
+ process.exit(1);
233
+ }
234
+ };
235
+ exports.handle_pipelines = handle_pipelines;
236
+ const pipelines_command = new commander_1.Command('pipelines')
237
+ .description('Extract structured data using Bright Data Pipelines')
238
+ .argument('<type>', 'Pipeline type or "list"')
239
+ .argument('[params...]', 'Type-specific input arguments')
240
+ .option('--format <fmt>', 'Result format: json, csv, ndjson, jsonl (default: json)')
241
+ .option('--timeout <seconds>', 'Polling timeout in seconds' +
242
+ '(default: 600 or BRIGHTDATA_POLLING_TIMEOUT)')
243
+ .option('-o, --output <path>', 'Write output to file')
244
+ .option('--json', 'Force JSON output')
245
+ .option('--pretty', 'Pretty-print JSON output')
246
+ .option('--timing', 'Show request timing')
247
+ .option('-k, --api-key <key>', 'Override API key')
248
+ .action(handle_pipelines);
249
+ exports.pipelines_command = pipelines_command;
250
+ //# sourceMappingURL=dataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Command } from 'commander';
2
+ type Init_opts = {
3
+ skipAuth?: boolean;
4
+ apiKey?: string;
5
+ };
6
+ declare const handle_init: (opts: Init_opts) => Promise<void>;
7
+ declare const init_command: Command;
8
+ export { init_command, handle_init };
9
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAqBlC,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAmOF,QAAA,MAAM,WAAW,GAAS,MAAM,SAAS,kBAuExC,CAAC;AAEF,QAAA,MAAM,YAAY,SAIM,CAAC;AAEzB,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,CAAC"}