@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":"browser_auth.js","sourceRoot":"","sources":["../../src/utils/browser_auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ type Request_opts = {
2
+ method?: string;
3
+ body?: unknown;
4
+ headers?: Record<string, string>;
5
+ timing?: boolean;
6
+ };
7
+ type Api_error = {
8
+ status: number;
9
+ message: string;
10
+ hint?: string;
11
+ };
12
+ declare const request: <T = unknown>(api_key: string, endpoint: string, opts?: Request_opts) => Promise<T>;
13
+ declare const post: <T = unknown>(api_key: string, endpoint: string, body: unknown, opts?: Omit<Request_opts, "method" | "body">) => Promise<T>;
14
+ declare const get: <T = unknown>(api_key: string, endpoint: string, opts?: Omit<Request_opts, "method">) => Promise<T>;
15
+ export { request, post, get };
16
+ export type { Request_opts, Api_error };
17
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAaA,KAAK,YAAY,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,QAAA,MAAM,OAAO,GAAS,CAAC,GAAG,OAAO,EAC7B,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,OAAM,YAAiB,KACxB,OAAO,CAAC,CAAC,CA0EX,CAAC;AAEF,QAAA,MAAM,IAAI,GAAI,CAAC,GAAG,OAAO,EACrB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,MAAM,OAAO,EACb,OAAM,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAC,MAAM,CAAM,KAC/C,OAAO,CAAC,CAAC,CAAiE,CAAC;AAE9E,QAAA,MAAM,GAAG,GAAI,CAAC,GAAG,OAAO,EACpB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,OAAM,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAM,KACxC,OAAO,CAAC,CAAC,CAA0D,CAAC;AAEvE,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;AAC5B,YAAY,EAAC,YAAY,EAAE,SAAS,EAAC,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.get = exports.post = exports.request = void 0;
4
+ const config_1 = require("./config");
5
+ const TRANSIENT_STATUSES = [429, 500, 502, 503, 504];
6
+ const MAX_RETRIES = 3;
7
+ const RETRY_BASE_MS = 500;
8
+ const ERROR_HINTS = {
9
+ 401: 'Invalid or expired API key. Run \'brightdata login\' to re-authenticate.',
10
+ 403: 'Access denied. Check your zone permissions in the control panel.',
11
+ 404: 'Resource not found. Check the URL or dataset type.',
12
+ 429: 'Rate limit exceeded. Wait a moment and try again.',
13
+ };
14
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
15
+ const format_error = (status, detail) => ({
16
+ status,
17
+ message: detail,
18
+ hint: ERROR_HINTS[status],
19
+ });
20
+ const request = async (api_key, endpoint, opts = {}) => {
21
+ const config = (0, config_1.load)();
22
+ const base_url = config.api_url ?? 'https://api.brightdata.com';
23
+ const url = endpoint.startsWith('http') ? endpoint :
24
+ `${base_url}${endpoint}`;
25
+ const headers = {
26
+ 'Authorization': `Bearer ${api_key}`,
27
+ 'Content-Type': 'application/json',
28
+ 'User-Agent': 'brightdata-cli',
29
+ ...opts.headers,
30
+ };
31
+ const fetch_opts = {
32
+ method: opts.method ?? 'GET',
33
+ headers,
34
+ };
35
+ if (opts.body !== undefined)
36
+ fetch_opts.body = JSON.stringify(opts.body);
37
+ let attempt = 0;
38
+ let start = opts.timing ? Date.now() : 0;
39
+ while (attempt <= MAX_RETRIES) {
40
+ try {
41
+ const res = await fetch(url, fetch_opts);
42
+ if (opts.timing) {
43
+ console.error(`Timing: ${Date.now() - start}ms
44
+ (attempt ${attempt + 1})`);
45
+ }
46
+ if (res.ok) {
47
+ const content_type = res.headers.get('content-type') ?? '';
48
+ if (content_type.includes('application/json'))
49
+ return await res.json();
50
+ return await res.text();
51
+ }
52
+ if (TRANSIENT_STATUSES.includes(res.status) &&
53
+ attempt < MAX_RETRIES) {
54
+ const delay = RETRY_BASE_MS * 2 ** attempt;
55
+ await sleep(delay);
56
+ attempt++;
57
+ continue;
58
+ }
59
+ let detail = `HTTP ${res.status}`;
60
+ try {
61
+ const err_body = await res.text();
62
+ if (err_body)
63
+ detail = err_body;
64
+ }
65
+ catch (_e) { }
66
+ const api_err = format_error(res.status, detail);
67
+ const msg = [
68
+ `Error: ${api_err.message}`,
69
+ ` Status: ${api_err.status}`,
70
+ ];
71
+ if (api_err.hint)
72
+ msg.push(` Hint: ${api_err.hint}`);
73
+ throw new Error(msg.join('\n'));
74
+ }
75
+ catch (e) {
76
+ if (e instanceof Error && e.message.startsWith('Error:'))
77
+ throw e;
78
+ if (attempt < MAX_RETRIES) {
79
+ const delay = RETRY_BASE_MS * 2 ** attempt;
80
+ await sleep(delay);
81
+ attempt++;
82
+ continue;
83
+ }
84
+ throw new Error(`Error: Network request failed — ${e.message}\n`
85
+ + ' Check your internet connection and try again.');
86
+ }
87
+ }
88
+ throw new Error('Error: Max retries exceeded.');
89
+ };
90
+ exports.request = request;
91
+ const post = (api_key, endpoint, body, opts = {}) => request(api_key, endpoint, { method: 'POST', body, ...opts });
92
+ exports.post = post;
93
+ const get = (api_key, endpoint, opts = {}) => request(api_key, endpoint, { method: 'GET', ...opts });
94
+ exports.get = get;
95
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ type Config = {
2
+ default_zone_unlocker?: string;
3
+ default_zone_serp?: string;
4
+ default_format?: string;
5
+ api_url?: string;
6
+ };
7
+ declare const DEFAULTS: Config;
8
+ declare const load: () => Config;
9
+ declare const save: (config: Config) => void;
10
+ declare const get: (key: keyof Config) => string | undefined;
11
+ declare const set: (key: keyof Config, value: string) => void;
12
+ declare const resolve: (cli_val: string | undefined, env_key: string, config_key: keyof Config) => string | undefined;
13
+ declare const resolve_api_key: (cli_val: string | undefined) => string | undefined;
14
+ export { load, save, get, set, resolve, resolve_api_key, DEFAULTS };
15
+ export type { Config };
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAMA,KAAK,MAAM,GAAG;IACV,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,MAGf,CAAC;AAEF,QAAA,MAAM,IAAI,QAAO,MAUhB,CAAC;AAEF,QAAA,MAAM,IAAI,GAAI,QAAQ,MAAM,SAK3B,CAAC;AAEF,QAAA,MAAM,GAAG,GAAI,KAAK,MAAM,MAAM,KAAG,MAAM,GAAC,SAGvC,CAAC;AAEF,QAAA,MAAM,GAAG,GAAI,KAAK,MAAM,MAAM,EAAE,OAAO,MAAM,SAI5C,CAAC;AAGF,QAAA,MAAM,OAAO,GACT,SAAS,MAAM,GAAC,SAAS,EACzB,SAAS,MAAM,EACf,YAAY,MAAM,MAAM,KACzB,MAAM,GAAC,SAOT,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,SAAS,MAAM,GAAC,SAAS,KAAG,MAAM,GAAC,SAO3D,CAAC;AAEF,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAC,CAAC;AAClE,YAAY,EAAC,MAAM,EAAC,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULTS = exports.resolve_api_key = exports.resolve = exports.set = exports.get = exports.save = exports.load = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const credentials_1 = require("./credentials");
10
+ const get_config_path = () => path_1.default.join((0, credentials_1.get_config_dir)(), 'config.json');
11
+ const DEFAULTS = {
12
+ default_format: 'markdown',
13
+ api_url: 'https://api.brightdata.com',
14
+ };
15
+ exports.DEFAULTS = DEFAULTS;
16
+ const load = () => {
17
+ const config_path = get_config_path();
18
+ if (!fs_1.default.existsSync(config_path))
19
+ return { ...DEFAULTS };
20
+ try {
21
+ const raw = fs_1.default.readFileSync(config_path, 'utf8');
22
+ return { ...DEFAULTS, ...JSON.parse(raw) };
23
+ }
24
+ catch (e) {
25
+ return { ...DEFAULTS };
26
+ }
27
+ };
28
+ exports.load = load;
29
+ const save = (config) => {
30
+ const dir = (0, credentials_1.get_config_dir)();
31
+ if (!fs_1.default.existsSync(dir))
32
+ fs_1.default.mkdirSync(dir, { recursive: true });
33
+ fs_1.default.writeFileSync(get_config_path(), JSON.stringify(config, null, 4));
34
+ };
35
+ exports.save = save;
36
+ const get = (key) => {
37
+ const config = load();
38
+ return config[key];
39
+ };
40
+ exports.get = get;
41
+ const set = (key, value) => {
42
+ const config = load();
43
+ config[key] = value;
44
+ save(config);
45
+ };
46
+ exports.set = set;
47
+ const resolve = (cli_val, env_key, config_key) => {
48
+ if (cli_val)
49
+ return cli_val;
50
+ const env_val = process.env[env_key];
51
+ if (env_val)
52
+ return env_val;
53
+ return get(config_key);
54
+ };
55
+ exports.resolve = resolve;
56
+ const resolve_api_key = (cli_val) => {
57
+ if (cli_val)
58
+ return cli_val;
59
+ const env_val = process.env['BRIGHTDATA_API_KEY'];
60
+ if (env_val)
61
+ return env_val;
62
+ return undefined;
63
+ };
64
+ exports.resolve_api_key = resolve_api_key;
65
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,+CAA6C;AAE7C,MAAM,eAAe,GAAG,GAAE,EAAE,CAAA,cAAI,CAAC,IAAI,CAAC,IAAA,4BAAc,GAAE,EAAE,aAAa,CAAC,CAAC;AASvE,MAAM,QAAQ,GAAW;IACrB,cAAc,EAAE,UAAU;IAC1B,OAAO,EAAE,4BAA4B;CACxC,CAAC;AAuDsD,4BAAQ;AArDhE,MAAM,IAAI,GAAG,GAAU,EAAE;IACrB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3B,OAAO,EAAC,GAAG,QAAQ,EAAC,CAAC;IACzB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,EAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,EAAC,CAAC;IACvD,CAAC;IAAC,OAAM,CAAC,EAAE,CAAC;QACR,OAAO,EAAC,GAAG,QAAQ,EAAC,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AA2CM,oBAAI;AAzCZ,MAAM,IAAI,GAAG,CAAC,MAAc,EAAC,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC7B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACnB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,YAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAoCY,oBAAI;AAlClB,MAAM,GAAG,GAAG,CAAC,GAAiB,EAAmB,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;IACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AA+BkB,kBAAG;AA7BvB,MAAM,GAAG,GAAG,CAAC,GAAiB,EAAE,KAAa,EAAC,EAAE;IAC5C,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC;AAyBuB,kBAAG;AAtB5B,MAAM,OAAO,GAAG,CACZ,OAAyB,EACzB,OAAe,EACf,UAAwB,EACT,EAAE;IACjB,IAAI,OAAO;QACP,OAAO,OAAO,CAAC;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO;QACP,OAAO,OAAO,CAAC;IACnB,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC,CAAC;AAW4B,0BAAO;AATrC,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAmB,EAAE;IACnE,IAAI,OAAO;QACP,OAAO,OAAO,CAAC;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClD,IAAI,OAAO;QACP,OAAO,OAAO,CAAC;IACnB,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEqC,0CAAe"}
@@ -0,0 +1,11 @@
1
+ declare const get_config_dir: () => string;
2
+ type Credentials = {
3
+ api_key: string;
4
+ };
5
+ declare const load: () => Credentials | null;
6
+ declare const save: (creds: Credentials) => void;
7
+ declare const clear: () => void;
8
+ declare const get_api_key: () => string | undefined;
9
+ export { get_config_dir, load, save, clear, get_api_key };
10
+ export type { Credentials };
11
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,cAAc,cAUnB,CAAC;AAKF,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,IAAI,QAAO,WAAW,GAAC,IAU5B,CAAC;AAEF,QAAA,MAAM,IAAI,GAAI,OAAO,WAAW,SAM/B,CAAC;AAEF,QAAA,MAAM,KAAK,YAIV,CAAC;AAEF,QAAA,MAAM,WAAW,QAAO,MAAM,GAAC,SAG9B,CAAC;AAEF,OAAO,EAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;AACxD,YAAY,EAAC,WAAW,EAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.get_api_key = exports.clear = exports.save = exports.load = exports.get_config_dir = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const os_1 = __importDefault(require("os"));
10
+ const get_config_dir = () => {
11
+ const platform = process.platform;
12
+ if (platform == 'darwin') {
13
+ return path_1.default.join(os_1.default.homedir(), 'Library', 'Application Support', 'brightdata-cli');
14
+ }
15
+ if (platform == 'win32')
16
+ return path_1.default.join(os_1.default.homedir(), 'AppData', 'Roaming', 'brightdata-cli');
17
+ return path_1.default.join(os_1.default.homedir(), '.config', 'brightdata-cli');
18
+ };
19
+ exports.get_config_dir = get_config_dir;
20
+ const get_credentials_path = () => path_1.default.join(get_config_dir(), 'credentials.json');
21
+ const load = () => {
22
+ const cred_path = get_credentials_path();
23
+ if (!fs_1.default.existsSync(cred_path))
24
+ return null;
25
+ try {
26
+ const raw = fs_1.default.readFileSync(cred_path, 'utf8');
27
+ return JSON.parse(raw);
28
+ }
29
+ catch (e) {
30
+ return null;
31
+ }
32
+ };
33
+ exports.load = load;
34
+ const save = (creds) => {
35
+ const dir = get_config_dir();
36
+ if (!fs_1.default.existsSync(dir))
37
+ fs_1.default.mkdirSync(dir, { recursive: true });
38
+ fs_1.default.writeFileSync(get_credentials_path(), JSON.stringify(creds, null, 4), { mode: 0o600 });
39
+ };
40
+ exports.save = save;
41
+ const clear = () => {
42
+ const cred_path = get_credentials_path();
43
+ if (fs_1.default.existsSync(cred_path))
44
+ fs_1.default.unlinkSync(cred_path);
45
+ };
46
+ exports.clear = clear;
47
+ const get_api_key = () => {
48
+ const creds = load();
49
+ return creds?.api_key;
50
+ };
51
+ exports.get_api_key = get_api_key;
52
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,cAAc,GAAG,GAAE,EAAE;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,IAAI,QAAQ,EACxB,CAAC;QACG,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAC3D,gBAAgB,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,IAAI,OAAO;QACnB,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3E,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAChE,CAAC,CAAC;AAwCM,wCAAc;AAtCtB,MAAM,oBAAoB,GAAG,GAAE,EAAE,CAAA,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EACvD,kBAAkB,CAAC,CAAC;AAMxB,MAAM,IAAI,GAAG,GAAoB,EAAE;IAC/B,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IAC1C,CAAC;IAAC,OAAM,CAAC,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAqBsB,oBAAI;AAnB5B,MAAM,IAAI,GAAG,CAAC,KAAkB,EAAC,EAAE;IAC/B,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACnB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,YAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EACnE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAa4B,oBAAI;AAXlC,MAAM,KAAK,GAAG,GAAE,EAAE;IACd,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACxB,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAOkC,sBAAK;AALzC,MAAM,WAAW,GAAG,GAAoB,EAAE;IACtC,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;IACrB,OAAO,KAAK,EAAE,OAAO,CAAC;AAC1B,CAAC,CAAC;AAEyC,kCAAW"}
@@ -0,0 +1,23 @@
1
+ declare const is_tty: boolean;
2
+ declare const green: (s: string) => string;
3
+ declare const red: (s: string) => string;
4
+ declare const yellow: (s: string) => string;
5
+ declare const dim: (s: string) => string;
6
+ declare const success: (msg: string) => void;
7
+ declare const warn: (msg: string) => void;
8
+ declare const info: (msg: string) => void;
9
+ declare const fail: (msg: string) => never;
10
+ type Output_format = 'markdown' | 'json' | 'pretty' | 'html' | 'csv' | 'raw';
11
+ declare const format_from_ext: (file_path: string) => Output_format | null;
12
+ type Print_opts = {
13
+ json?: boolean;
14
+ pretty?: boolean;
15
+ output?: string;
16
+ format?: Output_format;
17
+ };
18
+ declare const serialize: (data: unknown, fmt: Output_format) => string;
19
+ declare const print: (data: unknown, opts?: Print_opts) => void;
20
+ declare const print_table: (rows: Record<string, unknown>[], cols: string[]) => void;
21
+ export { is_tty, green, red, yellow, dim, success, warn, info, fail, format_from_ext, serialize, print, print_table, };
22
+ export type { Output_format, Print_opts };
23
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,SAAgC,CAAC;AAK7C,QAAA,MAAM,KAAK,GAAK,GAAG,MAAM,WAAgB,CAAC;AAC1C,QAAA,MAAM,GAAG,GAAO,GAAG,MAAM,WAAgB,CAAC;AAC1C,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,WAAgB,CAAC;AAC1C,QAAA,MAAM,GAAG,GAAO,GAAG,MAAM,WAAe,CAAC;AAEzC,QAAA,MAAM,OAAO,GAAI,KAAK,MAAM,SAAmC,CAAC;AAChE,QAAA,MAAM,IAAI,GAAO,KAAK,MAAM,SAAoC,CAAC;AACjE,QAAA,MAAM,IAAI,GAAO,KAAK,MAAM,SAA0B,CAAC;AACvD,QAAA,MAAM,IAAI,GAAO,KAAK,MAAM,UACN,CAAC;AAEvB,KAAK,aAAa,GAAG,UAAU,GAAC,MAAM,GAAC,QAAQ,GAAC,MAAM,GAAC,KAAK,GAAC,KAAK,CAAC;AAEnE,QAAA,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,aAAa,GAAC,IAO1D,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,SAAS,GAAI,MAAM,OAAO,EAAE,KAAK,aAAa,KAAG,MAQtD,CAAC;AAEF,QAAA,MAAM,KAAK,GAAI,MAAM,OAAO,EAAE,OAAM,UAAe,SAmBlD,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,MAAM,EAAE,SAgBnE,CAAC;AAEF,OAAO,EACH,MAAM,EACN,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACzB,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GACjD,CAAC;AACF,YAAY,EAAC,aAAa,EAAE,UAAU,EAAC,CAAC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.print_table = exports.print = exports.serialize = exports.format_from_ext = exports.fail = exports.info = exports.warn = exports.success = exports.dim = exports.yellow = exports.red = exports.green = exports.is_tty = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const is_tty = process.stdout.isTTY === true;
10
+ exports.is_tty = is_tty;
11
+ const ansi = (code, text) => is_tty ? `\x1b[${code}m${text}\x1b[0m` : text;
12
+ const green = (s) => ansi('32', s);
13
+ exports.green = green;
14
+ const red = (s) => ansi('31', s);
15
+ exports.red = red;
16
+ const yellow = (s) => ansi('33', s);
17
+ exports.yellow = yellow;
18
+ const dim = (s) => ansi('2', s);
19
+ exports.dim = dim;
20
+ const success = (msg) => console.error(green(`✓ ${msg}`));
21
+ exports.success = success;
22
+ const warn = (msg) => console.error(yellow(`⚠ ${msg}`));
23
+ exports.warn = warn;
24
+ const info = (msg) => console.error(dim(msg));
25
+ exports.info = info;
26
+ const fail = (msg) => {
27
+ console.error(red(`✗ ${msg}`));
28
+ process.exit(1);
29
+ };
30
+ exports.fail = fail;
31
+ const format_from_ext = (file_path) => {
32
+ const ext = path_1.default.extname(file_path).toLowerCase();
33
+ if (ext == '.json')
34
+ return 'json';
35
+ if (ext == '.md')
36
+ return 'markdown';
37
+ if (ext == '.html')
38
+ return 'html';
39
+ if (ext == '.csv')
40
+ return 'csv';
41
+ return null;
42
+ };
43
+ exports.format_from_ext = format_from_ext;
44
+ const serialize = (data, fmt) => {
45
+ if (fmt == 'pretty')
46
+ return JSON.stringify(data, null, 2);
47
+ if (fmt == 'json')
48
+ return JSON.stringify(data);
49
+ if (typeof data == 'string')
50
+ return data;
51
+ return JSON.stringify(data, null, 2);
52
+ };
53
+ exports.serialize = serialize;
54
+ const print = (data, opts = {}) => {
55
+ // Determine effective format
56
+ let fmt = opts.format ?? 'raw';
57
+ if (opts.pretty)
58
+ fmt = 'pretty';
59
+ else if (opts.json)
60
+ fmt = 'json';
61
+ if (opts.output) {
62
+ const ext_fmt = format_from_ext(opts.output);
63
+ const file_fmt = ext_fmt ?? fmt;
64
+ const content = serialize(data, file_fmt);
65
+ fs_1.default.writeFileSync(opts.output, content, 'utf8');
66
+ info(`Output written to ${opts.output}`);
67
+ return;
68
+ }
69
+ if (!is_tty && fmt == 'raw')
70
+ fmt = typeof data == 'string' ? 'raw' : 'json';
71
+ process.stdout.write(serialize(data, fmt) + '\n');
72
+ };
73
+ exports.print = print;
74
+ const print_table = (rows, cols) => {
75
+ if (!rows.length)
76
+ return;
77
+ const widths = cols.map(c => Math.max(c.length, ...rows.map(r => String(r[c] ?? '').length)));
78
+ const divider = widths.map(w => '-'.repeat(w)).join('-+-');
79
+ const header = cols.map((c, i) => c.padEnd(widths[i])).join(' | ');
80
+ console.log(dim(header));
81
+ console.log(dim(divider));
82
+ for (let i = 0; i < rows.length; i++) {
83
+ const row = cols.map((c, j) => String(rows[i][c] ?? '').
84
+ padEnd(widths[j]));
85
+ console.log(row.join(' | '));
86
+ }
87
+ };
88
+ exports.print_table = print_table;
89
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ type Poll_running_cb<T> = (ctx: {
2
+ attempt: number;
3
+ timeout_seconds: number;
4
+ status: string;
5
+ result: T;
6
+ }) => void;
7
+ type Poll_opts<T> = {
8
+ timeout_seconds: number;
9
+ fetch_once: () => Promise<T>;
10
+ get_status: (result: T) => string | undefined;
11
+ running_statuses: string[];
12
+ interval_ms?: number;
13
+ timeout_label?: string;
14
+ on_running?: Poll_running_cb<T>;
15
+ };
16
+ type Poll_result<T> = {
17
+ result: T;
18
+ attempts: number;
19
+ last_status?: string;
20
+ };
21
+ declare const sleep: (ms: number) => Promise<unknown>;
22
+ declare const parse_timeout: (raw_timeout: string | undefined, env_key?: string) => number;
23
+ declare const poll_until: <T>(opts: Poll_opts<T>) => Promise<Poll_result<T>>;
24
+ export { sleep, parse_timeout, poll_until };
25
+ export type { Poll_running_cb, Poll_opts, Poll_result };
26
+ //# sourceMappingURL=polling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../src/utils/polling.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;CACb,KAAG,IAAI,CAAC;AAET,KAAK,SAAS,CAAC,CAAC,IAAI;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAG,MAAM,GAAC,SAAS,CAAC;IAC1C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IAAI;IAClB,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,QAAA,MAAM,KAAK,GAAI,IAAI,MAAM,qBAAgD,CAAC;AAE1E,QAAA,MAAM,aAAa,GACf,aAAa,MAAM,GAAC,SAAS,EAC7B,gBAAsC,KACvC,MAYF,CAAC;AAEF,QAAA,MAAM,UAAU,GAAS,CAAC,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CA8BtE,CAAC;AAEF,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAC,CAAC;AAC1C,YAAY,EAAC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.poll_until = exports.parse_timeout = exports.sleep = void 0;
4
+ const DEFAULT_TIMEOUT_SECONDS = 600;
5
+ const DEFAULT_POLL_INTERVAL_MS = 1000;
6
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
7
+ exports.sleep = sleep;
8
+ const parse_timeout = (raw_timeout, env_key = 'BRIGHTDATA_POLLING_TIMEOUT') => {
9
+ const timeout_raw = raw_timeout ?? process.env[env_key]
10
+ ?? String(DEFAULT_TIMEOUT_SECONDS);
11
+ const timeout = +timeout_raw;
12
+ if (!Number.isFinite(timeout) || timeout <= 0) {
13
+ throw new Error(`Invalid timeout "${timeout_raw}".\n`
14
+ + ' Use a positive integer number of seconds.');
15
+ }
16
+ return Math.floor(timeout);
17
+ };
18
+ exports.parse_timeout = parse_timeout;
19
+ const poll_until = async (opts) => {
20
+ const interval_ms = opts.interval_ms ?? DEFAULT_POLL_INTERVAL_MS;
21
+ const timeout_label = opts.timeout_label ?? 'completion';
22
+ for (let attempt = 0; attempt < opts.timeout_seconds; attempt++) {
23
+ const result = await opts.fetch_once();
24
+ const status = opts.get_status(result);
25
+ if (!status || !opts.running_statuses.includes(status)) {
26
+ return {
27
+ result,
28
+ attempts: attempt + 1,
29
+ last_status: status,
30
+ };
31
+ }
32
+ if (opts.on_running) {
33
+ opts.on_running({
34
+ attempt: attempt + 1,
35
+ timeout_seconds: opts.timeout_seconds,
36
+ status,
37
+ result,
38
+ });
39
+ }
40
+ await sleep(interval_ms);
41
+ }
42
+ throw new Error(`Timeout after ${opts.timeout_seconds} seconds `
43
+ + `waiting for ${timeout_label}.`);
44
+ };
45
+ exports.poll_until = poll_until;
46
+ //# sourceMappingURL=polling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../src/utils/polling.ts"],"names":[],"mappings":";;;AAuBA,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAC,EAAE,CAAA,IAAI,OAAO,CAAC,OAAO,CAAA,EAAE,CAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAmDlE,sBAAK;AAjDb,MAAM,aAAa,GAAG,CAClB,WAA6B,EAC7B,OAAO,GAAG,4BAA4B,EACjC,EAAE;IACP,MAAM,WAAW,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;WAChD,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAC7C,CAAC;QACG,MAAM,IAAI,KAAK,CACX,oBAAoB,WAAW,MAAM;cACpC,6CAA6C,CACjD,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAkCa,sCAAa;AAhC5B,MAAM,UAAU,GAAG,KAAK,EAAI,IAAkB,EAA0B,EAAE;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC;IACzD,KAAK,IAAI,OAAO,GAAC,CAAC,EAAE,OAAO,GAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAC3D,CAAC;QACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtD,CAAC;YACG,OAAO;gBACH,MAAM;gBACN,QAAQ,EAAE,OAAO,GAAC,CAAC;gBACnB,WAAW,EAAE,MAAM;aACtB,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EACnB,CAAC;YACG,IAAI,CAAC,UAAU,CAAC;gBACZ,OAAO,EAAE,OAAO,GAAC,CAAC;gBAClB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,MAAM;gBACN,MAAM;aACT,CAAC,CAAC;QACP,CAAC;QACD,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,KAAK,CACX,iBAAiB,IAAI,CAAC,eAAe,WAAW;UAC/C,eAAe,aAAa,GAAG,CACnC,CAAC;AACN,CAAC,CAAC;AAE4B,gCAAU"}
@@ -0,0 +1,19 @@
1
+ type Agent_type = 'amp' | 'antigravity' | 'augment' | 'claude-code' | 'openclaw' | 'cline' | 'codebuddy' | 'codex' | 'command-code' | 'continue' | 'cortex' | 'crush' | 'cursor' | 'droid' | 'gemini-cli' | 'github-copilot' | 'goose' | 'iflow-cli' | 'junie' | 'kilo' | 'kimi-cli' | 'kiro-cli' | 'kode' | 'mcpjam' | 'mistral-vibe' | 'mux' | 'neovate' | 'opencode' | 'openhands' | 'pi' | 'qoder' | 'qwen-code' | 'replit' | 'roo' | 'trae' | 'trae-cn' | 'windsurf' | 'zencoder' | 'pochi' | 'adal' | 'universal';
2
+ type Agent_config = {
3
+ name: Agent_type;
4
+ displayName: string;
5
+ skillsDir: string;
6
+ globalSkillsDir: string | undefined;
7
+ detectInstalled: () => Promise<boolean>;
8
+ showInUniversalList?: boolean;
9
+ };
10
+ declare const getOpenClawGlobalSkillsDir: (home_dir?: string, path_exists?: (path: string) => boolean) => string;
11
+ declare const agents: Record<Agent_type, Agent_config>;
12
+ declare const detectInstalledAgents: () => Promise<Agent_type[]>;
13
+ declare const getAgentConfig: (type: Agent_type) => Agent_config;
14
+ declare const getUniversalAgents: () => Agent_type[];
15
+ declare const getNonUniversalAgents: () => Agent_type[];
16
+ declare const isUniversalAgent: (type: Agent_type) => boolean;
17
+ export { agents, detectInstalledAgents, getAgentConfig, getNonUniversalAgents, getOpenClawGlobalSkillsDir, getUniversalAgents, isUniversalAgent, };
18
+ export type { Agent_type, Agent_config };
19
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/utils/skill-installer/agents.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GACT,KAAK,GACL,aAAa,GACb,SAAS,GACT,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,OAAO,GACP,cAAc,GACd,UAAU,GACV,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,OAAO,GACP,WAAW,GACX,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,cAAc,GACd,KAAK,GACL,SAAS,GACT,UAAU,GACV,WAAW,GACX,IAAI,GACJ,OAAO,GACP,WAAW,GACX,QAAQ,GACR,KAAK,GACL,MAAM,GACN,SAAS,GACT,UAAU,GACV,UAAU,GACV,OAAO,GACP,MAAM,GACN,WAAW,CAAA;AAEjB,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAC,SAAS,CAAC;IAClC,eAAe,EAAE,MAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAA;AASD,QAAA,MAAM,0BAA0B,GAC5B,iBAAe,EACf,cAAa,CAAC,IAAI,EAAE,MAAM,KAAG,OAAoB,WASpD,CAAA;AAED,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAuS5C,CAAA;AAED,QAAA,MAAM,qBAAqB,QAAY,OAAO,CAAC,UAAU,EAAE,CAQ1D,CAAA;AAED,QAAA,MAAM,cAAc,GAAI,MAAM,UAAU,KAAG,YAA0B,CAAA;AAErE,QAAA,MAAM,kBAAkB,QAAO,UAAU,EAMxC,CAAA;AAED,QAAA,MAAM,qBAAqB,QAAO,UAAU,EAI3C,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,OACC,CAAA;AAE9C,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACnB,CAAA;AACD,YAAY,EAAC,UAAU,EAAE,YAAY,EAAC,CAAA"}