firecrawl-cli 1.3.1 → 1.4.1

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.
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Browser command implementation
3
+ * Manages cloud browser sessions via the Firecrawl SDK
4
+ */
5
+ export interface BrowserLaunchOptions {
6
+ ttl?: number;
7
+ ttlInactivity?: number;
8
+ stream?: boolean;
9
+ apiKey?: string;
10
+ apiUrl?: string;
11
+ output?: string;
12
+ json?: boolean;
13
+ }
14
+ export interface BrowserExecuteOptions {
15
+ code: string;
16
+ language?: 'python' | 'node' | 'bash';
17
+ session?: string;
18
+ apiKey?: string;
19
+ apiUrl?: string;
20
+ output?: string;
21
+ json?: boolean;
22
+ }
23
+ export interface BrowserListOptions {
24
+ status?: 'active' | 'destroyed';
25
+ apiKey?: string;
26
+ apiUrl?: string;
27
+ output?: string;
28
+ json?: boolean;
29
+ }
30
+ export interface BrowserCloseOptions {
31
+ session?: string;
32
+ apiKey?: string;
33
+ apiUrl?: string;
34
+ output?: string;
35
+ json?: boolean;
36
+ }
37
+ export interface BrowserQuickExecuteOptions {
38
+ code: string;
39
+ apiKey?: string;
40
+ apiUrl?: string;
41
+ output?: string;
42
+ json?: boolean;
43
+ }
44
+ /**
45
+ * Launch a new browser session
46
+ */
47
+ export declare function handleBrowserLaunch(options: BrowserLaunchOptions): Promise<void>;
48
+ /**
49
+ * Execute a bash command locally with CDP_URL and SESSION_ID env vars.
50
+ * agent-browser reads CDP_URL from the environment automatically.
51
+ */
52
+ export declare function executeBashLocally(command: string, session: {
53
+ id: string;
54
+ cdpUrl: string;
55
+ }): Promise<{
56
+ stdout: string;
57
+ stderr: string;
58
+ exitCode: number;
59
+ }>;
60
+ /**
61
+ * Execute code in a browser session
62
+ */
63
+ export declare function handleBrowserExecute(options: BrowserExecuteOptions): Promise<void>;
64
+ /**
65
+ * List browser sessions
66
+ */
67
+ export declare function handleBrowserList(options: BrowserListOptions): Promise<void>;
68
+ /**
69
+ * Shorthand: auto-launch a session if needed, then execute an agent-browser command.
70
+ * Enables `firecrawl browser "open example.com"` without a separate launch step.
71
+ */
72
+ export declare function handleBrowserQuickExecute(options: BrowserQuickExecuteOptions): Promise<void>;
73
+ /**
74
+ * Close a browser session
75
+ */
76
+ export declare function handleBrowserClose(options: BrowserCloseOptions): Promise<void>;
77
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB/D;AAeD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Hf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ /**
3
+ * Browser command implementation
4
+ * Manages cloud browser sessions via the Firecrawl SDK
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.handleBrowserLaunch = handleBrowserLaunch;
8
+ exports.executeBashLocally = executeBashLocally;
9
+ exports.handleBrowserExecute = handleBrowserExecute;
10
+ exports.handleBrowserList = handleBrowserList;
11
+ exports.handleBrowserQuickExecute = handleBrowserQuickExecute;
12
+ exports.handleBrowserClose = handleBrowserClose;
13
+ const child_process_1 = require("child_process");
14
+ const client_1 = require("../utils/client");
15
+ const browser_session_1 = require("../utils/browser-session");
16
+ const output_1 = require("../utils/output");
17
+ /**
18
+ * Launch a new browser session
19
+ */
20
+ async function handleBrowserLaunch(options) {
21
+ try {
22
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
23
+ const args = {};
24
+ if (options.ttl !== undefined)
25
+ args.ttl = options.ttl;
26
+ if (options.ttlInactivity !== undefined)
27
+ args.activityTtl = options.ttlInactivity;
28
+ if (options.stream !== undefined)
29
+ args.streamWebView = options.stream;
30
+ const data = await app.browser(args);
31
+ if (!data.success) {
32
+ console.error('Error:', data.error || 'Unknown error');
33
+ process.exit(1);
34
+ }
35
+ // Save session for future commands
36
+ (0, browser_session_1.saveBrowserSession)({
37
+ id: data.id,
38
+ cdpUrl: data.cdpUrl,
39
+ createdAt: new Date().toISOString(),
40
+ });
41
+ if (options.json) {
42
+ const output = JSON.stringify(data, null, 2);
43
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
44
+ }
45
+ else {
46
+ const lines = [];
47
+ lines.push(`Session ID: ${data.id}`);
48
+ lines.push(`CDP URL: ${data.cdpUrl}`);
49
+ if (data.liveViewUrl) {
50
+ lines.push(`Live View URL: ${data.liveViewUrl}`);
51
+ }
52
+ (0, output_1.writeOutput)(lines.join('\n'), options.output, !!options.output);
53
+ }
54
+ }
55
+ catch (error) {
56
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
57
+ process.exit(1);
58
+ }
59
+ }
60
+ /**
61
+ * Execute a bash command locally with CDP_URL and SESSION_ID env vars.
62
+ * agent-browser reads CDP_URL from the environment automatically.
63
+ */
64
+ function executeBashLocally(command, session) {
65
+ return new Promise((resolve) => {
66
+ const child = (0, child_process_1.spawn)('sh', ['-c', command], {
67
+ env: {
68
+ ...process.env,
69
+ CDP_URL: session.cdpUrl,
70
+ SESSION_ID: session.id,
71
+ },
72
+ stdio: ['inherit', 'pipe', 'pipe'],
73
+ });
74
+ let stdout = '';
75
+ let stderr = '';
76
+ child.stdout.on('data', (data) => {
77
+ stdout += data.toString();
78
+ });
79
+ child.stderr.on('data', (data) => {
80
+ stderr += data.toString();
81
+ });
82
+ child.on('close', (code) => {
83
+ resolve({ stdout, stderr, exitCode: code ?? 1 });
84
+ });
85
+ });
86
+ }
87
+ /**
88
+ * Detect if an error indicates an expired or destroyed browser session.
89
+ */
90
+ function isSessionExpiredError(error) {
91
+ const msg = error instanceof Error
92
+ ? error.message.toLowerCase()
93
+ : String(error).toLowerCase();
94
+ const status = error.status;
95
+ if (status === 410 || status === 404)
96
+ return true;
97
+ return /destroyed|expired|not found|gone|session.*closed/i.test(msg);
98
+ }
99
+ /**
100
+ * Execute code in a browser session
101
+ */
102
+ async function handleBrowserExecute(options) {
103
+ // Bash execution runs locally — skip the API entirely
104
+ if (options.language === 'bash') {
105
+ try {
106
+ let session = null;
107
+ if (options.session) {
108
+ const stored = (0, browser_session_1.loadBrowserSession)();
109
+ if (stored && stored.id === options.session) {
110
+ session = stored;
111
+ }
112
+ else {
113
+ // Fetch CDP URL from the API for the specified session
114
+ const app = (0, client_1.getClient)({
115
+ apiKey: options.apiKey,
116
+ apiUrl: options.apiUrl,
117
+ });
118
+ const list = await app.listBrowsers({ status: 'active' });
119
+ const match = list.sessions?.find((s) => s.id === options.session);
120
+ if (match && match.cdpUrl) {
121
+ session = { id: match.id, cdpUrl: match.cdpUrl };
122
+ }
123
+ else {
124
+ console.error(`Error: Session ${options.session} not found or not active.`);
125
+ process.exit(1);
126
+ return;
127
+ }
128
+ }
129
+ }
130
+ else {
131
+ session = (0, browser_session_1.loadBrowserSession)();
132
+ }
133
+ if (!session) {
134
+ console.error('Error: No active browser session. Run `firecrawl browser launch` first.');
135
+ process.exit(1);
136
+ return;
137
+ }
138
+ const result = await executeBashLocally(options.code, session);
139
+ if (result.exitCode !== 0) {
140
+ if (result.stderr)
141
+ process.stderr.write(result.stderr);
142
+ if (result.stdout)
143
+ process.stdout.write(result.stdout);
144
+ process.exit(1);
145
+ }
146
+ if (options.json) {
147
+ const data = {
148
+ success: true,
149
+ result: result.stdout.trimEnd(),
150
+ exitCode: result.exitCode,
151
+ };
152
+ const output = JSON.stringify(data, null, 2);
153
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
154
+ }
155
+ else {
156
+ if (result.stdout) {
157
+ (0, output_1.writeOutput)(result.stdout.trimEnd(), options.output, !!options.output);
158
+ }
159
+ }
160
+ }
161
+ catch (error) {
162
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
163
+ process.exit(1);
164
+ }
165
+ return;
166
+ }
167
+ try {
168
+ const sessionId = (0, browser_session_1.getSessionId)(options.session);
169
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
170
+ const data = await app.browserExecute(sessionId, {
171
+ code: options.code,
172
+ language: options.language || 'python',
173
+ });
174
+ if (!data.success) {
175
+ console.error('Error:', data.error || 'Unknown error');
176
+ process.exit(1);
177
+ }
178
+ if (data.error) {
179
+ // Execution succeeded but code had an error
180
+ process.stderr.write(`Code error: ${data.error}\n`);
181
+ }
182
+ if (options.json) {
183
+ const output = JSON.stringify(data, null, 2);
184
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
185
+ }
186
+ else {
187
+ if (data.result !== undefined && data.result !== '') {
188
+ (0, output_1.writeOutput)(data.result, options.output, !!options.output);
189
+ }
190
+ }
191
+ }
192
+ catch (error) {
193
+ if (isSessionExpiredError(error)) {
194
+ const sessionId = options.session || (0, browser_session_1.loadBrowserSession)()?.id || 'unknown';
195
+ console.error(`Error: Session ${sessionId} has expired or been destroyed.\n` +
196
+ 'The session may have exceeded its TTL or been closed.\n' +
197
+ 'Start a new session with: firecrawl browser launch');
198
+ // Clear stale stored session
199
+ const stored = (0, browser_session_1.loadBrowserSession)();
200
+ if (stored && !options.session) {
201
+ (0, browser_session_1.clearBrowserSession)();
202
+ }
203
+ }
204
+ else {
205
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
206
+ }
207
+ process.exit(1);
208
+ }
209
+ }
210
+ /**
211
+ * List browser sessions
212
+ */
213
+ async function handleBrowserList(options) {
214
+ try {
215
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
216
+ const data = await app.listBrowsers(options.status ? { status: options.status } : undefined);
217
+ if (!data.success) {
218
+ console.error('Error:', data.error || 'Unknown error');
219
+ process.exit(1);
220
+ }
221
+ const sessions = data.sessions || [];
222
+ if (options.json) {
223
+ const output = JSON.stringify(data, null, 2);
224
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
225
+ }
226
+ else {
227
+ if (sessions.length === 0) {
228
+ (0, output_1.writeOutput)('No active browser sessions.', options.output, !!options.output);
229
+ }
230
+ else {
231
+ const lines = [];
232
+ for (const s of sessions) {
233
+ const age = s.createdAt
234
+ ? `created ${new Date(s.createdAt).toLocaleString()}`
235
+ : '';
236
+ lines.push(`${s.id} ${s.status} ${age}`);
237
+ }
238
+ (0, output_1.writeOutput)(lines.join('\n'), options.output, !!options.output);
239
+ }
240
+ }
241
+ }
242
+ catch (error) {
243
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
244
+ process.exit(1);
245
+ }
246
+ }
247
+ /**
248
+ * Shorthand: auto-launch a session if needed, then execute an agent-browser command.
249
+ * Enables `firecrawl browser "open example.com"` without a separate launch step.
250
+ */
251
+ async function handleBrowserQuickExecute(options) {
252
+ // Auto-launch if no active session
253
+ const existing = (0, browser_session_1.loadBrowserSession)();
254
+ if (!existing) {
255
+ try {
256
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
257
+ const data = await app.browser({});
258
+ if (!data.success) {
259
+ console.error('Error:', data.error || 'Failed to launch session');
260
+ process.exit(1);
261
+ }
262
+ (0, browser_session_1.saveBrowserSession)({
263
+ id: data.id,
264
+ cdpUrl: data.cdpUrl,
265
+ createdAt: new Date().toISOString(),
266
+ });
267
+ // Print session info to stderr so it doesn't mix with command output
268
+ console.error(`Session launched: ${data.id}`);
269
+ }
270
+ catch (error) {
271
+ console.error('Error:', error instanceof Error ? error.message : 'Failed to launch session');
272
+ process.exit(1);
273
+ }
274
+ }
275
+ // Auto-prefix agent-browser if needed
276
+ let finalCode = options.code;
277
+ if (!finalCode.startsWith('agent-browser')) {
278
+ finalCode = `agent-browser ${finalCode}`;
279
+ }
280
+ // Execute via the standard handler
281
+ await handleBrowserExecute({
282
+ code: finalCode,
283
+ language: 'bash',
284
+ apiKey: options.apiKey,
285
+ apiUrl: options.apiUrl,
286
+ output: options.output,
287
+ json: options.json,
288
+ });
289
+ }
290
+ /**
291
+ * Close a browser session
292
+ */
293
+ async function handleBrowserClose(options) {
294
+ try {
295
+ const sessionId = (0, browser_session_1.getSessionId)(options.session);
296
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
297
+ const data = await app.deleteBrowser(sessionId);
298
+ if (!data.success) {
299
+ console.error('Error:', data.error || 'Unknown error');
300
+ process.exit(1);
301
+ }
302
+ // Clear stored session
303
+ const stored = (0, browser_session_1.loadBrowserSession)();
304
+ if (stored && stored.id === sessionId) {
305
+ (0, browser_session_1.clearBrowserSession)();
306
+ }
307
+ console.log(`Session closed (${sessionId})`);
308
+ if (options.json) {
309
+ const output = JSON.stringify({ success: true, id: sessionId }, null, 2);
310
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
311
+ }
312
+ }
313
+ catch (error) {
314
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
315
+ process.exit(1);
316
+ }
317
+ }
318
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAoCzB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA0EvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAGb,MAAM,iBAAiB,CAAC;AAoCzB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA+EvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -63,6 +63,9 @@ async function executeScrape(options) {
63
63
  if (options.maxAge !== undefined) {
64
64
  scrapeParams.maxAge = options.maxAge;
65
65
  }
66
+ if (options.location) {
67
+ scrapeParams.location = options.location;
68
+ }
66
69
  // Execute scrape with timing - only wrap the scrape call in try-catch
67
70
  const requestStartTime = Date.now();
68
71
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"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"}