firecrawl-cli 1.3.1 → 1.4.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.
@@ -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
+ * Auto-injects --cdp for agent-browser commands.
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,CAmC/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,327 @@
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
+ * Auto-injects --cdp for agent-browser commands.
63
+ */
64
+ function executeBashLocally(command, session) {
65
+ return new Promise((resolve) => {
66
+ // Auto-inject --cdp for agent-browser commands
67
+ let finalCommand = command;
68
+ if (command.startsWith('agent-browser') && !command.includes('--cdp')) {
69
+ const parts = command.split(' ');
70
+ // Insert --cdp after "agent-browser <subcommand>"
71
+ const insertIdx = Math.min(2, parts.length);
72
+ parts.splice(insertIdx, 0, '--cdp', `'${session.cdpUrl}'`);
73
+ finalCommand = parts.join(' ');
74
+ }
75
+ const child = (0, child_process_1.spawn)('sh', ['-c', finalCommand], {
76
+ env: {
77
+ ...process.env,
78
+ CDP_URL: session.cdpUrl,
79
+ SESSION_ID: session.id,
80
+ },
81
+ stdio: ['inherit', 'pipe', 'pipe'],
82
+ });
83
+ let stdout = '';
84
+ let stderr = '';
85
+ child.stdout.on('data', (data) => {
86
+ stdout += data.toString();
87
+ });
88
+ child.stderr.on('data', (data) => {
89
+ stderr += data.toString();
90
+ });
91
+ child.on('close', (code) => {
92
+ resolve({ stdout, stderr, exitCode: code ?? 1 });
93
+ });
94
+ });
95
+ }
96
+ /**
97
+ * Detect if an error indicates an expired or destroyed browser session.
98
+ */
99
+ function isSessionExpiredError(error) {
100
+ const msg = error instanceof Error
101
+ ? error.message.toLowerCase()
102
+ : String(error).toLowerCase();
103
+ const status = error.status;
104
+ if (status === 410 || status === 404)
105
+ return true;
106
+ return /destroyed|expired|not found|gone|session.*closed/i.test(msg);
107
+ }
108
+ /**
109
+ * Execute code in a browser session
110
+ */
111
+ async function handleBrowserExecute(options) {
112
+ // Bash execution runs locally — skip the API entirely
113
+ if (options.language === 'bash') {
114
+ try {
115
+ let session = null;
116
+ if (options.session) {
117
+ const stored = (0, browser_session_1.loadBrowserSession)();
118
+ if (stored && stored.id === options.session) {
119
+ session = stored;
120
+ }
121
+ else {
122
+ // Fetch CDP URL from the API for the specified session
123
+ const app = (0, client_1.getClient)({
124
+ apiKey: options.apiKey,
125
+ apiUrl: options.apiUrl,
126
+ });
127
+ const list = await app.listBrowsers({ status: 'active' });
128
+ const match = list.sessions?.find((s) => s.id === options.session);
129
+ if (match && match.cdpUrl) {
130
+ session = { id: match.id, cdpUrl: match.cdpUrl };
131
+ }
132
+ else {
133
+ console.error(`Error: Session ${options.session} not found or not active.`);
134
+ process.exit(1);
135
+ return;
136
+ }
137
+ }
138
+ }
139
+ else {
140
+ session = (0, browser_session_1.loadBrowserSession)();
141
+ }
142
+ if (!session) {
143
+ console.error('Error: No active browser session. Run `firecrawl browser launch` first.');
144
+ process.exit(1);
145
+ return;
146
+ }
147
+ const result = await executeBashLocally(options.code, session);
148
+ if (result.exitCode !== 0) {
149
+ if (result.stderr)
150
+ process.stderr.write(result.stderr);
151
+ if (result.stdout)
152
+ process.stdout.write(result.stdout);
153
+ process.exit(1);
154
+ }
155
+ if (options.json) {
156
+ const data = {
157
+ success: true,
158
+ result: result.stdout.trimEnd(),
159
+ exitCode: result.exitCode,
160
+ };
161
+ const output = JSON.stringify(data, null, 2);
162
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
163
+ }
164
+ else {
165
+ if (result.stdout) {
166
+ (0, output_1.writeOutput)(result.stdout.trimEnd(), options.output, !!options.output);
167
+ }
168
+ }
169
+ }
170
+ catch (error) {
171
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
172
+ process.exit(1);
173
+ }
174
+ return;
175
+ }
176
+ try {
177
+ const sessionId = (0, browser_session_1.getSessionId)(options.session);
178
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
179
+ const data = await app.browserExecute(sessionId, {
180
+ code: options.code,
181
+ language: options.language || 'python',
182
+ });
183
+ if (!data.success) {
184
+ console.error('Error:', data.error || 'Unknown error');
185
+ process.exit(1);
186
+ }
187
+ if (data.error) {
188
+ // Execution succeeded but code had an error
189
+ process.stderr.write(`Code error: ${data.error}\n`);
190
+ }
191
+ if (options.json) {
192
+ const output = JSON.stringify(data, null, 2);
193
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
194
+ }
195
+ else {
196
+ if (data.result !== undefined && data.result !== '') {
197
+ (0, output_1.writeOutput)(data.result, options.output, !!options.output);
198
+ }
199
+ }
200
+ }
201
+ catch (error) {
202
+ if (isSessionExpiredError(error)) {
203
+ const sessionId = options.session || (0, browser_session_1.loadBrowserSession)()?.id || 'unknown';
204
+ console.error(`Error: Session ${sessionId} has expired or been destroyed.\n` +
205
+ 'The session may have exceeded its TTL or been closed.\n' +
206
+ 'Start a new session with: firecrawl browser launch');
207
+ // Clear stale stored session
208
+ const stored = (0, browser_session_1.loadBrowserSession)();
209
+ if (stored && !options.session) {
210
+ (0, browser_session_1.clearBrowserSession)();
211
+ }
212
+ }
213
+ else {
214
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
215
+ }
216
+ process.exit(1);
217
+ }
218
+ }
219
+ /**
220
+ * List browser sessions
221
+ */
222
+ async function handleBrowserList(options) {
223
+ try {
224
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
225
+ const data = await app.listBrowsers(options.status ? { status: options.status } : undefined);
226
+ if (!data.success) {
227
+ console.error('Error:', data.error || 'Unknown error');
228
+ process.exit(1);
229
+ }
230
+ const sessions = data.sessions || [];
231
+ if (options.json) {
232
+ const output = JSON.stringify(data, null, 2);
233
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
234
+ }
235
+ else {
236
+ if (sessions.length === 0) {
237
+ (0, output_1.writeOutput)('No active browser sessions.', options.output, !!options.output);
238
+ }
239
+ else {
240
+ const lines = [];
241
+ for (const s of sessions) {
242
+ const age = s.createdAt
243
+ ? `created ${new Date(s.createdAt).toLocaleString()}`
244
+ : '';
245
+ lines.push(`${s.id} ${s.status} ${age}`);
246
+ }
247
+ (0, output_1.writeOutput)(lines.join('\n'), options.output, !!options.output);
248
+ }
249
+ }
250
+ }
251
+ catch (error) {
252
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
253
+ process.exit(1);
254
+ }
255
+ }
256
+ /**
257
+ * Shorthand: auto-launch a session if needed, then execute an agent-browser command.
258
+ * Enables `firecrawl browser "open example.com"` without a separate launch step.
259
+ */
260
+ async function handleBrowserQuickExecute(options) {
261
+ // Auto-launch if no active session
262
+ const existing = (0, browser_session_1.loadBrowserSession)();
263
+ if (!existing) {
264
+ try {
265
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
266
+ const data = await app.browser({});
267
+ if (!data.success) {
268
+ console.error('Error:', data.error || 'Failed to launch session');
269
+ process.exit(1);
270
+ }
271
+ (0, browser_session_1.saveBrowserSession)({
272
+ id: data.id,
273
+ cdpUrl: data.cdpUrl,
274
+ createdAt: new Date().toISOString(),
275
+ });
276
+ // Print session info to stderr so it doesn't mix with command output
277
+ console.error(`Session launched: ${data.id}`);
278
+ }
279
+ catch (error) {
280
+ console.error('Error:', error instanceof Error ? error.message : 'Failed to launch session');
281
+ process.exit(1);
282
+ }
283
+ }
284
+ // Auto-prefix agent-browser if needed
285
+ let finalCode = options.code;
286
+ if (!finalCode.startsWith('agent-browser')) {
287
+ finalCode = `agent-browser ${finalCode}`;
288
+ }
289
+ // Execute via the standard handler
290
+ await handleBrowserExecute({
291
+ code: finalCode,
292
+ language: 'bash',
293
+ apiKey: options.apiKey,
294
+ apiUrl: options.apiUrl,
295
+ output: options.output,
296
+ json: options.json,
297
+ });
298
+ }
299
+ /**
300
+ * Close a browser session
301
+ */
302
+ async function handleBrowserClose(options) {
303
+ try {
304
+ const sessionId = (0, browser_session_1.getSessionId)(options.session);
305
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
306
+ const data = await app.deleteBrowser(sessionId);
307
+ if (!data.success) {
308
+ console.error('Error:', data.error || 'Unknown error');
309
+ process.exit(1);
310
+ }
311
+ // Clear stored session
312
+ const stored = (0, browser_session_1.loadBrowserSession)();
313
+ if (stored && stored.id === sessionId) {
314
+ (0, browser_session_1.clearBrowserSession)();
315
+ }
316
+ console.log(`Session closed (${sessionId})`);
317
+ if (options.json) {
318
+ const output = JSON.stringify({ success: true, id: sessionId }, null, 2);
319
+ (0, output_1.writeOutput)(output, options.output, !!options.output);
320
+ }
321
+ }
322
+ catch (error) {
323
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
324
+ process.exit(1);
325
+ }
326
+ }
327
+ //# 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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"}