firecrawl-cli 1.19.27 → 1.19.28

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 (36) hide show
  1. package/README.md +37 -1
  2. package/dist/__tests__/cli-argv.test.js +19 -0
  3. package/dist/__tests__/cli-argv.test.js.map +1 -1
  4. package/dist/__tests__/commands/developer.test.d.ts +5 -0
  5. package/dist/__tests__/commands/developer.test.d.ts.map +1 -0
  6. package/dist/__tests__/commands/developer.test.js +142 -0
  7. package/dist/__tests__/commands/developer.test.js.map +1 -0
  8. package/dist/__tests__/commands/init.test.js +54 -0
  9. package/dist/__tests__/commands/init.test.js.map +1 -1
  10. package/dist/__tests__/commands/search.test.js +87 -0
  11. package/dist/__tests__/commands/search.test.js.map +1 -1
  12. package/dist/__tests__/commands/setup.test.js +442 -24
  13. package/dist/__tests__/commands/setup.test.js.map +1 -1
  14. package/dist/commands/developer.d.ts +3 -0
  15. package/dist/commands/developer.d.ts.map +1 -0
  16. package/dist/commands/developer.js +64 -0
  17. package/dist/commands/developer.js.map +1 -0
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +18 -21
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/search.d.ts.map +1 -1
  22. package/dist/commands/search.js +38 -2
  23. package/dist/commands/search.js.map +1 -1
  24. package/dist/commands/setup.d.ts +4 -0
  25. package/dist/commands/setup.d.ts.map +1 -1
  26. package/dist/commands/setup.js +206 -33
  27. package/dist/commands/setup.js.map +1 -1
  28. package/dist/index.js +40 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/types/developer.d.ts +20 -0
  31. package/dist/types/developer.d.ts.map +1 -0
  32. package/dist/types/developer.js +3 -0
  33. package/dist/types/developer.js.map +1 -0
  34. package/dist/types/search.d.ts +16 -2
  35. package/dist/types/search.d.ts.map +1 -1
  36. package/package.json +1 -1
@@ -13,6 +13,7 @@ const skills_install_1 = require("../../commands/skills-install");
13
13
  const web_defaults_1 = require("../../utils/web-defaults");
14
14
  const config_1 = require("../../utils/config");
15
15
  vitest_1.vi.mock('child_process', () => ({
16
+ execFileSync: vitest_1.vi.fn(),
16
17
  execSync: vitest_1.vi.fn(),
17
18
  }));
18
19
  vitest_1.vi.mock('../../utils/web-defaults', () => ({
@@ -23,16 +24,23 @@ vitest_1.vi.mock('../../utils/config', () => ({
23
24
  }));
24
25
  (0, vitest_1.describe)('handleSetupCommand', () => {
25
26
  let originalHome;
27
+ let originalApiKey;
26
28
  (0, vitest_1.beforeEach)(() => {
27
29
  vitest_1.vi.clearAllMocks();
28
30
  vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue('fc-test-key');
29
31
  originalHome = process.env.HOME;
32
+ originalApiKey = process.env.FIRECRAWL_API_KEY;
33
+ delete process.env.FIRECRAWL_API_KEY;
30
34
  });
31
35
  (0, vitest_1.afterEach)(() => {
32
36
  if (originalHome === undefined)
33
37
  delete process.env.HOME;
34
38
  else
35
39
  process.env.HOME = originalHome;
40
+ if (originalApiKey === undefined)
41
+ delete process.env.FIRECRAWL_API_KEY;
42
+ else
43
+ process.env.FIRECRAWL_API_KEY = originalApiKey;
36
44
  vitest_1.vi.restoreAllMocks();
37
45
  });
38
46
  (0, vitest_1.it)('installs core and build skills globally across all detected agents by default', async () => {
@@ -63,12 +71,21 @@ vitest_1.vi.mock('../../utils/config', () => ({
63
71
  });
64
72
  });
65
73
  (0, vitest_1.it)('installs the default setup bundle with --yes', async () => {
74
+ vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(undefined);
66
75
  await (0, setup_1.handleSetupCommand)(undefined, { yes: true });
67
76
  (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y skills add firecrawl/cli --full-depth --global --all --yes', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
68
77
  (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y skills add firecrawl/skills --full-depth --global --all --yes', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
69
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y add-mcp "https://mcp.firecrawl.dev/fc-test-key/v2/mcp" --name firecrawl --transport http --global --yes', vitest_1.expect.objectContaining({
70
- stdio: 'inherit',
71
- }));
78
+ (0, vitest_1.expect)(child_process_1.execFileSync).toHaveBeenCalledWith('npx', [
79
+ '-y',
80
+ 'add-mcp@1.14.0',
81
+ 'https://mcp.firecrawl.dev/v2/mcp',
82
+ '--name',
83
+ 'firecrawl',
84
+ '--transport',
85
+ 'http',
86
+ '--global',
87
+ '--yes',
88
+ ], vitest_1.expect.objectContaining({ stdio: 'inherit' }));
72
89
  });
73
90
  (0, vitest_1.it)('requires a subcommand for bare setup in non-interactive mode', async () => {
74
91
  const originalIsTty = process.stdin.isTTY;
@@ -107,23 +124,86 @@ vitest_1.vi.mock('../../utils/config', () => ({
107
124
  agents: ['Codex'],
108
125
  });
109
126
  });
110
- (0, vitest_1.it)('installs MCP with the hosted Firecrawl URL when credentials exist', async () => {
111
- await (0, setup_1.handleSetupCommand)('mcp', {
127
+ (0, vitest_1.it)('fails closed before spawning when only a stored API key is available', async () => {
128
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
129
+ agent: 'claude-code',
130
+ global: true,
131
+ yes: true,
132
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
133
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
134
+ });
135
+ (0, vitest_1.it)('can explicitly install keyless MCP without exposing a stored API key', async () => {
136
+ await (0, setup_1.installMcp)({
112
137
  agent: 'claude-code',
113
138
  global: true,
114
139
  yes: true,
140
+ keyless: true,
115
141
  });
116
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y add-mcp "https://mcp.firecrawl.dev/fc-test-key/v2/mcp" --name firecrawl --transport http --global --agent claude-code --yes', vitest_1.expect.objectContaining({
117
- stdio: 'inherit',
118
- }));
142
+ (0, vitest_1.expect)(child_process_1.execFileSync).toHaveBeenCalledWith('npx', [
143
+ '-y',
144
+ 'add-mcp@1.14.0',
145
+ 'https://mcp.firecrawl.dev/v2/mcp',
146
+ '--name',
147
+ 'firecrawl',
148
+ '--transport',
149
+ 'http',
150
+ '--global',
151
+ '--agent',
152
+ 'claude-code',
153
+ '--yes',
154
+ ], vitest_1.expect.objectContaining({ stdio: 'inherit' }));
155
+ (0, vitest_1.expect)(vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls.flat().join(' ')).not.toContain('fc-test-key');
119
156
  });
120
- (0, vitest_1.it)('normalizes launch aliases when reinstalling MCP after auth changes', async () => {
157
+ (0, vitest_1.it)('normalizes launch aliases for environment-backed MCP setup', async () => {
158
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
121
159
  await (0, setup_1.handleSetupCommand)('mcp', {
122
160
  agent: 'codex-app',
123
161
  global: true,
124
162
  yes: true,
125
163
  });
126
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y add-mcp "https://mcp.firecrawl.dev/fc-test-key/v2/mcp" --name firecrawl --transport http --global --agent codex --yes', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
164
+ (0, vitest_1.expect)(child_process_1.execFileSync).toHaveBeenCalledWith('codex', [
165
+ 'mcp',
166
+ 'add',
167
+ 'firecrawl',
168
+ '--url',
169
+ 'https://mcp.firecrawl.dev/v2/mcp',
170
+ '--bearer-token-env-var',
171
+ 'FIRECRAWL_API_KEY',
172
+ ], vitest_1.expect.objectContaining({ stdio: 'inherit' }));
173
+ });
174
+ vitest_1.it.each([
175
+ ['claude-code', 'Bearer ${FIRECRAWL_API_KEY}'],
176
+ ['vscode', 'Bearer ${env:FIRECRAWL_API_KEY}'],
177
+ ['cursor', 'Bearer ${env:FIRECRAWL_API_KEY}'],
178
+ ['opencode', 'Bearer {env:FIRECRAWL_API_KEY}'],
179
+ ])('uses the %s environment reference when the API key came from the environment', async (agent, header) => {
180
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
181
+ await (0, setup_1.handleSetupCommand)('mcp', {
182
+ agent,
183
+ global: true,
184
+ yes: true,
185
+ });
186
+ const args = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1];
187
+ (0, vitest_1.expect)(args).toContain(`Authorization: ${header}`);
188
+ (0, vitest_1.expect)(args?.join(' ')).not.toContain('Bearer fc-test-key');
189
+ });
190
+ (0, vitest_1.it)('uses Codex native environment-backed bearer configuration', async () => {
191
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
192
+ await (0, setup_1.handleSetupCommand)('mcp', {
193
+ agent: 'codex',
194
+ global: true,
195
+ yes: true,
196
+ });
197
+ (0, vitest_1.expect)(child_process_1.execFileSync).toHaveBeenCalledWith('codex', [
198
+ 'mcp',
199
+ 'add',
200
+ 'firecrawl',
201
+ '--url',
202
+ 'https://mcp.firecrawl.dev/v2/mcp',
203
+ '--bearer-token-env-var',
204
+ 'FIRECRAWL_API_KEY',
205
+ ], vitest_1.expect.objectContaining({ stdio: 'inherit' }));
206
+ (0, vitest_1.expect)(vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls.flat(2).join(' ')).not.toContain('fc-test-key');
127
207
  });
128
208
  (0, vitest_1.it)('installs MCP with the keyless hosted Firecrawl URL without credentials', async () => {
129
209
  vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(undefined);
@@ -132,45 +212,383 @@ vitest_1.vi.mock('../../utils/config', () => ({
132
212
  global: true,
133
213
  yes: true,
134
214
  });
135
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y add-mcp "https://mcp.firecrawl.dev/v2/mcp" --name firecrawl --transport http --global --agent claude-code --yes', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
215
+ (0, vitest_1.expect)(child_process_1.execFileSync).toHaveBeenCalledWith('npx', [
216
+ '-y',
217
+ 'add-mcp@1.14.0',
218
+ 'https://mcp.firecrawl.dev/v2/mcp',
219
+ '--name',
220
+ 'firecrawl',
221
+ '--transport',
222
+ 'http',
223
+ '--global',
224
+ '--agent',
225
+ 'claude-code',
226
+ '--yes',
227
+ ], vitest_1.expect.objectContaining({ stdio: 'inherit' }));
136
228
  });
137
- (0, vitest_1.it)('writes Hermes MCP config with Firecrawl credentials', async () => {
229
+ (0, vitest_1.it)('rejects a stored key before writing Hermes MCP config', async () => {
138
230
  const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-hermes-test-'));
139
231
  process.env.HOME = home;
232
+ const configPath = path_1.default.join(home, '.hermes', 'config.yaml');
233
+ (0, fs_1.mkdirSync)(path_1.default.dirname(configPath), { recursive: true });
234
+ const originalConfig = 'theme: dark\nmcp_servers:\n existing:\n url: https://example.com/mcp\n';
235
+ (0, fs_1.writeFileSync)(configPath, originalConfig, { mode: 0o600 });
236
+ try {
237
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
238
+ agent: 'hermes',
239
+ global: true,
240
+ yes: true,
241
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
242
+ const config = (0, fs_1.readFileSync)(configPath, 'utf-8');
243
+ (0, vitest_1.expect)(config).toBe(originalConfig);
244
+ (0, vitest_1.expect)(config).toContain('theme: dark');
245
+ (0, vitest_1.expect)(config).toContain('existing:');
246
+ (0, vitest_1.expect)(config).toContain('mcp_servers:');
247
+ (0, vitest_1.expect)(config).not.toContain('firecrawl:');
248
+ (0, vitest_1.expect)(config).not.toContain('fc-test-key');
249
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
250
+ if (process.platform !== 'win32') {
251
+ (0, vitest_1.expect)((0, fs_1.statSync)(configPath).mode & 0o777).toBe(0o600);
252
+ }
253
+ }
254
+ finally {
255
+ (0, fs_1.rmSync)(home, { recursive: true, force: true });
256
+ }
257
+ });
258
+ (0, vitest_1.it)('keeps an environment-backed key indirect in Hermes config', async () => {
259
+ const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-hermes-env-test-'));
260
+ process.env.HOME = home;
261
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
140
262
  try {
141
263
  await (0, setup_1.installHermesMcp)();
142
264
  const config = (0, fs_1.readFileSync)(path_1.default.join(home, '.hermes', 'config.yaml'), 'utf-8');
143
- (0, vitest_1.expect)(config).toContain('mcp_servers:');
144
- (0, vitest_1.expect)(config).toContain('firecrawl:');
145
- (0, vitest_1.expect)(config).toContain('url: https://mcp.firecrawl.dev/fc-test-key/v2/mcp');
265
+ (0, vitest_1.expect)(config).toContain('Authorization: Bearer ${FIRECRAWL_API_KEY}');
266
+ (0, vitest_1.expect)(config).not.toContain('Bearer fc-test-key');
146
267
  }
147
268
  finally {
148
269
  (0, fs_1.rmSync)(home, { recursive: true, force: true });
149
270
  }
150
271
  });
151
- (0, vitest_1.it)('configures OpenClaw MCP with its native CLI command', async () => {
272
+ (0, vitest_1.it)('rejects a stored key before invoking the OpenClaw CLI', async () => {
273
+ await (0, vitest_1.expect)((0, setup_1.installOpenClawMcp)()).rejects.toThrow('Export FIRECRAWL_API_KEY');
274
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
275
+ });
276
+ (0, vitest_1.it)('uses OpenClaw environment expansion instead of persisting an env-backed key', async () => {
277
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
152
278
  await (0, setup_1.installOpenClawMcp)();
153
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('openclaw mcp set firecrawl "{\\"url\\":\\"https://mcp.firecrawl.dev/fc-test-key/v2/mcp\\",\\"transport\\":\\"streamable-http\\"}"', vitest_1.expect.objectContaining({
154
- stdio: 'inherit',
155
- }));
279
+ const config = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1]?.[3];
280
+ (0, vitest_1.expect)(config).toContain('Bearer ${FIRECRAWL_API_KEY}');
281
+ (0, vitest_1.expect)(config).not.toContain('Bearer fc-test-key');
282
+ });
283
+ (0, vitest_1.it)('surfaces a sanitized OpenClaw setup failure', async () => {
284
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
285
+ vitest_1.vi.mocked(child_process_1.execFileSync).mockImplementationOnce(() => {
286
+ throw new Error('spawn failed with Authorization: Bearer fc-test-key');
287
+ });
288
+ await (0, vitest_1.expect)((0, setup_1.installOpenClawMcp)()).rejects.toThrow('Failed to configure Firecrawl MCP for OpenClaw. Verify that OpenClaw is installed and available on PATH.');
156
289
  });
157
- (0, vitest_1.it)('reinstalls MCP for all launch integrations with --agent all', async () => {
158
- const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-all-mcp-test-'));
290
+ (0, vitest_1.it)('rejects stored credentials before configuring any launch integration', async () => {
291
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
292
+ agent: 'all',
293
+ global: true,
294
+ yes: true,
295
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
296
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
297
+ });
298
+ (0, vitest_1.it)('uses each client native environment binding with --agent all', async () => {
299
+ const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-all-env-test-'));
159
300
  process.env.HOME = home;
301
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
160
302
  try {
161
303
  await (0, setup_1.handleSetupCommand)('mcp', {
162
304
  agent: 'all',
163
305
  global: true,
164
306
  yes: true,
165
307
  });
166
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('npx -y add-mcp "https://mcp.firecrawl.dev/fc-test-key/v2/mcp" --name firecrawl --transport http --global --all --yes', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
167
- (0, vitest_1.expect)((0, fs_1.readFileSync)(path_1.default.join(home, '.hermes', 'config.yaml'), 'utf-8')).toContain('url: https://mcp.firecrawl.dev/fc-test-key/v2/mcp');
168
- (0, vitest_1.expect)(child_process_1.execSync).toHaveBeenCalledWith('openclaw mcp set firecrawl "{\\"url\\":\\"https://mcp.firecrawl.dev/fc-test-key/v2/mcp\\",\\"transport\\":\\"streamable-http\\"}"', vitest_1.expect.objectContaining({ stdio: 'inherit' }));
308
+ const calls = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls;
309
+ const serialized = calls.map((call) => call[1].join(' '));
310
+ (0, vitest_1.expect)(serialized).toEqual(vitest_1.expect.arrayContaining([
311
+ vitest_1.expect.stringContaining('claude-code --yes'),
312
+ vitest_1.expect.stringContaining('Authorization: Bearer ${env:FIRECRAWL_API_KEY}'),
313
+ vitest_1.expect.stringContaining('--bearer-token-env-var FIRECRAWL_API_KEY'),
314
+ vitest_1.expect.stringContaining('Authorization: Bearer {env:FIRECRAWL_API_KEY}'),
315
+ vitest_1.expect.stringContaining('Authorization: Bearer ${FIRECRAWL_API_KEY}'),
316
+ ]));
317
+ (0, vitest_1.expect)(calls.flat(2).join(' ')).not.toContain('Bearer fc-test-key');
318
+ (0, vitest_1.expect)((0, fs_1.readFileSync)(path_1.default.join(home, '.hermes', 'config.yaml'), 'utf-8')).toContain('Authorization: Bearer ${FIRECRAWL_API_KEY}');
319
+ }
320
+ finally {
321
+ (0, fs_1.rmSync)(home, { recursive: true, force: true });
322
+ }
323
+ });
324
+ (0, vitest_1.it)('rejects authenticated --agent all project setup before changing any client', async () => {
325
+ const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-all-project-preflight-'));
326
+ process.env.HOME = home;
327
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
328
+ try {
329
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
330
+ agent: 'all',
331
+ project: true,
332
+ yes: true,
333
+ })).rejects.toThrow('Authenticated --agent all setup does not support --project');
334
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
335
+ (0, vitest_1.expect)(child_process_1.execSync).not.toHaveBeenCalled();
336
+ (0, vitest_1.expect)((0, fs_1.existsSync)(path_1.default.join(home, '.hermes', 'config.yaml'))).toBe(false);
337
+ }
338
+ finally {
339
+ (0, fs_1.rmSync)(home, { recursive: true, force: true });
340
+ }
341
+ });
342
+ (0, vitest_1.it)('keeps keyless --agent all project setup available', async () => {
343
+ const home = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-all-project-keyless-'));
344
+ process.env.HOME = home;
345
+ vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(undefined);
346
+ try {
347
+ await (0, setup_1.handleSetupCommand)('mcp', {
348
+ agent: 'all',
349
+ project: true,
350
+ yes: true,
351
+ });
352
+ const addMcpCalls = vitest_1.vi
353
+ .mocked(child_process_1.execFileSync)
354
+ .mock.calls.filter(([, args]) => args?.includes('add-mcp@1.14.0'));
355
+ (0, vitest_1.expect)(addMcpCalls).toHaveLength(5);
356
+ (0, vitest_1.expect)(addMcpCalls.flat(2)).not.toContain('--global');
357
+ (0, vitest_1.expect)((0, fs_1.readFileSync)(path_1.default.join(home, '.hermes', 'config.yaml'), 'utf-8')).toContain('https://mcp.firecrawl.dev/v2/mcp');
169
358
  }
170
359
  finally {
171
360
  (0, fs_1.rmSync)(home, { recursive: true, force: true });
172
361
  }
173
362
  });
363
+ (0, vitest_1.it)('requires a client selection for no-agent environment-backed setup', async () => {
364
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
365
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', { global: true, yes: true })).rejects.toThrow('requires --agent');
366
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
367
+ });
368
+ (0, vitest_1.it)('rejects an environment-backed key for an unknown client instead of persisting it', async () => {
369
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
370
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
371
+ agent: 'future-client',
372
+ global: true,
373
+ yes: true,
374
+ })).rejects.toThrow('does not have a verified environment-variable syntax');
375
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
376
+ });
377
+ (0, vitest_1.it)('rejects a stored key for an unknown client before spawning', async () => {
378
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
379
+ agent: 'future-client',
380
+ global: true,
381
+ yes: true,
382
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
383
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
384
+ });
385
+ (0, vitest_1.it)('never includes environment-backed credentials in generated URLs or normal output', async () => {
386
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
387
+ const log = vitest_1.vi.spyOn(console, 'log').mockImplementation(() => undefined);
388
+ await (0, setup_1.handleSetupCommand)('mcp', {
389
+ agent: 'claude-code',
390
+ global: true,
391
+ yes: true,
392
+ });
393
+ const args = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1];
394
+ (0, vitest_1.expect)(args).toContain('https://mcp.firecrawl.dev/v2/mcp');
395
+ (0, vitest_1.expect)(args?.join(' ')).not.toContain('fc-test-key');
396
+ (0, vitest_1.expect)(log.mock.calls.flat().join(' ')).not.toContain('fc-test-key');
397
+ });
398
+ (0, vitest_1.it)('never places a stored API key in subprocess argv', async () => {
399
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
400
+ agent: 'claude-code',
401
+ global: true,
402
+ yes: true,
403
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
404
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
405
+ });
406
+ (0, vitest_1.it)('does not print a stored OpenClaw credential when setup is rejected', async () => {
407
+ const log = vitest_1.vi.spyOn(console, 'log').mockImplementation(() => undefined);
408
+ await (0, vitest_1.expect)((0, setup_1.installOpenClawMcp)()).rejects.toThrow('Export FIRECRAWL_API_KEY');
409
+ (0, vitest_1.expect)(log.mock.calls.flat().join(' ')).not.toContain('fc-test-key');
410
+ });
411
+ (0, vitest_1.it)('rejects stored credentials containing hostile characters without spawning or printing them', async () => {
412
+ const hostileKey = 'fc-$(touch /tmp/firecrawl-pwned)`echo bad`"\\n$HOME';
413
+ vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(hostileKey);
414
+ const log = vitest_1.vi.spyOn(console, 'log').mockImplementation(() => undefined);
415
+ const error = vitest_1.vi
416
+ .spyOn(console, 'error')
417
+ .mockImplementation(() => undefined);
418
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
419
+ agent: 'claude-code',
420
+ global: true,
421
+ yes: true,
422
+ })).rejects.toThrow('Export FIRECRAWL_API_KEY');
423
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
424
+ (0, vitest_1.expect)(child_process_1.execSync).not.toHaveBeenCalled();
425
+ (0, vitest_1.expect)(log.mock.calls.flat().join(' ')).not.toContain(hostileKey);
426
+ (0, vitest_1.expect)(error.mock.calls.flat().join(' ')).not.toContain(hostileKey);
427
+ });
428
+ // --- Scope: project and global are mutually exclusive ---
429
+ (0, vitest_1.it)('rejects conflicting MCP scope flags', async () => {
430
+ await (0, vitest_1.expect)((0, setup_1.handleSetupCommand)('mcp', {
431
+ agent: 'claude-code',
432
+ global: true,
433
+ project: true,
434
+ })).rejects.toThrow('Choose either --global or --project');
435
+ (0, vitest_1.expect)(child_process_1.execFileSync).not.toHaveBeenCalled();
436
+ });
437
+ (0, vitest_1.it)('keeps project scope for an environment-backed credential', async () => {
438
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
439
+ await (0, setup_1.handleSetupCommand)('mcp', {
440
+ agent: 'cursor',
441
+ project: true,
442
+ yes: true,
443
+ });
444
+ const args = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1];
445
+ (0, vitest_1.expect)(args).toContain('Authorization: Bearer ${env:FIRECRAWL_API_KEY}');
446
+ (0, vitest_1.expect)(args).not.toContain('--global');
447
+ (0, vitest_1.expect)(args.join(' ')).not.toContain('Bearer fc-test-key');
448
+ });
449
+ (0, vitest_1.it)('does not force global MCP scope in the default bundle when --project is set', async () => {
450
+ vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(undefined);
451
+ await (0, setup_1.handleSetupCommand)(undefined, {
452
+ agent: 'cursor',
453
+ project: true,
454
+ yes: true,
455
+ });
456
+ const mcpCall = vitest_1.vi
457
+ .mocked(child_process_1.execFileSync)
458
+ .mock.calls.find(([command]) => command === 'npx');
459
+ (0, vitest_1.expect)(mcpCall?.[1]).not.toContain('--global');
460
+ });
461
+ (0, vitest_1.it)('does not force global when using an environment reference (no raw key in header)', async () => {
462
+ // Env-backed cursor uses ${env:FIRECRAWL_API_KEY}, not the literal secret,
463
+ // so project scope is safe and must not be silently overridden.
464
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
465
+ await (0, setup_1.handleSetupCommand)('mcp', {
466
+ agent: 'cursor',
467
+ yes: true,
468
+ });
469
+ const args = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1];
470
+ (0, vitest_1.expect)(args.join(' ')).not.toContain('Bearer fc-test-key');
471
+ (0, vitest_1.expect)(args).toContain('Authorization: Bearer ${env:FIRECRAWL_API_KEY}');
472
+ (0, vitest_1.expect)(args).not.toContain('--global');
473
+ });
474
+ (0, vitest_1.it)('does not force global for the keyless (unauthenticated) setup', async () => {
475
+ vitest_1.vi.mocked(config_1.getApiKey).mockReturnValue(undefined);
476
+ await (0, setup_1.handleSetupCommand)('mcp', {
477
+ agent: 'claude-code',
478
+ yes: true,
479
+ });
480
+ const args = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0]?.[1];
481
+ (0, vitest_1.expect)(args.join(' ')).not.toContain('--header');
482
+ (0, vitest_1.expect)(args).not.toContain('--global');
483
+ });
484
+ // --- Windows: launch .cmd/.exe shims correctly (execFileSync cannot) ---
485
+ (0, vitest_1.it)('launches the npx.cmd shim via the shell on win32 with cmd-escaped args', async () => {
486
+ const root = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-win-'));
487
+ const bin = path_1.default.join(root, 'Program Files', 'nodejs');
488
+ (0, fs_1.mkdirSync)(bin, { recursive: true });
489
+ (0, fs_1.writeFileSync)(path_1.default.join(bin, 'npx.CMD'), '@exit /b 0\r\n');
490
+ const originalPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
491
+ const originalPath = process.env.PATH;
492
+ const originalPathext = process.env.PATHEXT;
493
+ const originalComspec = process.env.ComSpec;
494
+ Object.defineProperty(process, 'platform', {
495
+ configurable: true,
496
+ value: 'win32',
497
+ });
498
+ process.env.PATH = bin;
499
+ process.env.PATHEXT = '.EXE;.CMD';
500
+ process.env.ComSpec = 'cmd.exe';
501
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
502
+ try {
503
+ await (0, setup_1.handleSetupCommand)('mcp', {
504
+ agent: 'claude-code',
505
+ global: true,
506
+ yes: true,
507
+ });
508
+ const call = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0];
509
+ const command = call?.[0];
510
+ const passthruArgs = call?.[1];
511
+ const opts = call?.[2];
512
+ (0, vitest_1.expect)(command).toBe('cmd.exe');
513
+ (0, vitest_1.expect)(passthruArgs.slice(0, 3)).toEqual(['/d', '/s', '/c']);
514
+ (0, vitest_1.expect)(opts?.windowsVerbatimArguments).toBe(true);
515
+ (0, vitest_1.expect)(passthruArgs[3]).toContain(`^\"${path_1.default.join(bin, 'npx.CMD')}^\"`);
516
+ (0, vitest_1.expect)(passthruArgs[3]).toContain('add-mcp@1.14.0');
517
+ (0, vitest_1.expect)(passthruArgs[3]).toContain('^"Authorization: Bearer ${FIRECRAWL_API_KEY}^"');
518
+ }
519
+ finally {
520
+ if (originalPlatform)
521
+ Object.defineProperty(process, 'platform', originalPlatform);
522
+ if (originalPath === undefined)
523
+ delete process.env.PATH;
524
+ else
525
+ process.env.PATH = originalPath;
526
+ if (originalPathext === undefined)
527
+ delete process.env.PATHEXT;
528
+ else
529
+ process.env.PATHEXT = originalPathext;
530
+ if (originalComspec === undefined)
531
+ delete process.env.ComSpec;
532
+ else
533
+ process.env.ComSpec = originalComspec;
534
+ (0, fs_1.rmSync)(root, { recursive: true, force: true });
535
+ }
536
+ });
537
+ (0, vitest_1.it)('launches a native Codex executable directly on win32', async () => {
538
+ const bin = (0, fs_1.mkdtempSync)(path_1.default.join(os_1.default.tmpdir(), 'firecrawl-win-bin-'));
539
+ const codexExe = path_1.default.join(bin, 'codex.EXE');
540
+ (0, fs_1.writeFileSync)(codexExe, '');
541
+ const originalPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
542
+ const originalPath = process.env.PATH;
543
+ const originalPathext = process.env.PATHEXT;
544
+ Object.defineProperty(process, 'platform', {
545
+ configurable: true,
546
+ value: 'win32',
547
+ });
548
+ process.env.PATH = bin;
549
+ process.env.PATHEXT = '.EXE;.CMD';
550
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
551
+ try {
552
+ await (0, setup_1.handleSetupCommand)('mcp', {
553
+ agent: 'codex',
554
+ global: true,
555
+ yes: true,
556
+ });
557
+ const call = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0];
558
+ const command = call?.[0];
559
+ const args = call?.[1];
560
+ const opts = call?.[2];
561
+ (0, vitest_1.expect)(command).toBe(codexExe);
562
+ (0, vitest_1.expect)(args).toContain('--bearer-token-env-var');
563
+ (0, vitest_1.expect)(opts?.windowsVerbatimArguments).toBeUndefined();
564
+ }
565
+ finally {
566
+ if (originalPlatform)
567
+ Object.defineProperty(process, 'platform', originalPlatform);
568
+ if (originalPath === undefined)
569
+ delete process.env.PATH;
570
+ else
571
+ process.env.PATH = originalPath;
572
+ if (originalPathext === undefined)
573
+ delete process.env.PATHEXT;
574
+ else
575
+ process.env.PATHEXT = originalPathext;
576
+ (0, fs_1.rmSync)(bin, { recursive: true, force: true });
577
+ }
578
+ });
579
+ (0, vitest_1.it)('still spawns bare argv with no shell on non-win32', async () => {
580
+ process.env.FIRECRAWL_API_KEY = 'fc-test-key';
581
+ // Sanity: the pre-existing POSIX path is unchanged (argv-safe, no shell).
582
+ await (0, setup_1.handleSetupCommand)('mcp', {
583
+ agent: 'claude-code',
584
+ global: true,
585
+ yes: true,
586
+ });
587
+ const call = vitest_1.vi.mocked(child_process_1.execFileSync).mock.calls[0];
588
+ (0, vitest_1.expect)(call?.[0]).toBe('npx');
589
+ (0, vitest_1.expect)(Array.isArray(call?.[1]) && (call?.[1]).length).toBeGreaterThan(0);
590
+ (0, vitest_1.expect)(call?.[2]?.shell).toBeUndefined();
591
+ });
174
592
  (0, vitest_1.it)('strips inherited npm_* env vars before nested npx calls', async () => {
175
593
  // Reproduces the bug where running this CLI under `npx -y firecrawl-cli@VERSION`
176
594
  // leaks npm_command/npm_lifecycle_event/npm_execpath into nested
@@ -1 +1 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/__tests__/commands/setup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/__tests__/commands/setup.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DeveloperSearchOptions } from '../types/developer';
2
+ export declare function handleDeveloperSearchCommand(options: DeveloperSearchOptions): Promise<void>;
3
+ //# sourceMappingURL=developer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer.d.ts","sourceRoot":"","sources":["../../src/commands/developer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AA8DhF,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAcf"}