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
@@ -59,6 +59,15 @@ const web_defaults_1 = require("../utils/web-defaults");
59
59
  const green = '\x1b[32m';
60
60
  const dim = '\x1b[2m';
61
61
  const reset = '\x1b[0m';
62
+ const ADD_MCP_PACKAGE = 'add-mcp@1.14.0';
63
+ const ENV_API_KEY = 'FIRECRAWL_API_KEY';
64
+ const ADD_MCP_LAUNCH_AGENTS = [
65
+ 'claude-code',
66
+ 'vscode',
67
+ 'codex',
68
+ 'opencode',
69
+ 'cursor',
70
+ ];
62
71
  const SKILL_REPO_LABELS = {
63
72
  'firecrawl/cli': 'Core CLI skills',
64
73
  'firecrawl/skills': 'Build skills',
@@ -67,16 +76,128 @@ const SKILL_REPO_LABELS = {
67
76
  function skillRepoLabel(repo) {
68
77
  return SKILL_REPO_LABELS[repo] ?? repo;
69
78
  }
70
- function shellQuote(value) {
71
- return JSON.stringify(value);
79
+ const CMD_META_CHARS = /([()%!^"<>&|])/g;
80
+ function rejectCommandControlCharacters(value, label) {
81
+ if (/[\0\r\n]/.test(value)) {
82
+ throw new Error(`${label} contains an unsupported control character.`);
83
+ }
72
84
  }
73
- function firecrawlHostedMcpUrl() {
74
- const apiKey = (0, config_1.getApiKey)();
75
- if (apiKey) {
76
- return `https://mcp.firecrawl.dev/${encodeURIComponent(apiKey)}/v2/mcp`;
85
+ /** Quote one argv value for cmd.exe using the same two-layer escaping model as
86
+ * established Windows spawn libraries: first the C runtime, then cmd.exe. */
87
+ function escapeCmdArg(arg) {
88
+ rejectCommandControlCharacters(arg, 'Command argument');
89
+ const quoted = `"${arg
90
+ .replace(/(\\*)"/g, '$1$1\\"')
91
+ .replace(/(\\*)$/, '$1$1')}"`;
92
+ return quoted.replace(CMD_META_CHARS, '^$1');
93
+ }
94
+ function windowsPathExtensions(env) {
95
+ const configured = env.PATHEXT ?? '.COM;.EXE;.BAT;.CMD';
96
+ return configured
97
+ .split(';')
98
+ .map((extension) => extension.trim())
99
+ .filter(Boolean);
100
+ }
101
+ /** Resolve the actual Windows launcher instead of assuming every tool is a
102
+ * `.cmd` shim. Native `.exe` clients must bypass cmd.exe entirely. */
103
+ function resolveWindowsCommand(command, env) {
104
+ rejectCommandControlCharacters(command, 'Command');
105
+ const hasPath = /[\\/]/.test(command);
106
+ const hasExtension = path_1.default.extname(command) !== '';
107
+ const candidates = hasExtension
108
+ ? [command]
109
+ : windowsPathExtensions(env).map((extension) => `${command}${extension}`);
110
+ const pathEntries = hasPath
111
+ ? ['']
112
+ : (env.PATH ?? env.Path ?? env.path ?? '')
113
+ .split(path_1.default.delimiter)
114
+ .map((entry) => entry.replace(/^"|"$/g, ''))
115
+ .filter(Boolean);
116
+ for (const directory of pathEntries) {
117
+ for (const candidate of candidates) {
118
+ const resolved = directory ? path_1.default.join(directory, candidate) : candidate;
119
+ if ((0, fs_1.existsSync)(resolved))
120
+ return resolved;
121
+ }
77
122
  }
123
+ // Let CreateProcess perform its normal resolution for native executables.
124
+ // Crucially, do not silently rewrite an unknown command to `<name>.cmd`.
125
+ return command;
126
+ }
127
+ /**
128
+ * Cross-platform, injection-safe replacement for `execFileSync`.
129
+ *
130
+ * On win32, external tools ship as `.cmd`/`.bat` shims (npx.cmd, npm.cmd,
131
+ * codex.cmd, openclaw.cmd). Node's `execFile`/`execFileSync` calls CreateProcess
132
+ * directly and CANNOT launch a `.cmd`/`.bat` file — it throws ENOENT/EINVAL. The
133
+ * only reliable way is to route through the shell (cmd.exe). To keep the argv
134
+ * safety this file relies on (secrets must never be shell-interpreted), we
135
+ * escape every argument for cmd.exe ourselves instead of letting the shell
136
+ * re-split a joined string.
137
+ *
138
+ * On every other platform we spawn the binary directly with no shell, exactly as
139
+ * `execFileSync` did before.
140
+ */
141
+ function runClientCommand(command, args, options) {
142
+ rejectCommandControlCharacters(command, 'Command');
143
+ for (const arg of args)
144
+ rejectCommandControlCharacters(arg, 'Command argument');
145
+ if (process.platform !== 'win32') {
146
+ (0, child_process_1.execFileSync)(command, args, options);
147
+ return;
148
+ }
149
+ const env = options?.env ?? process.env;
150
+ const resolved = resolveWindowsCommand(command, env);
151
+ if (!/\.(?:cmd|bat)$/i.test(resolved)) {
152
+ (0, child_process_1.execFileSync)(resolved, args, options);
153
+ return;
154
+ }
155
+ const line = [escapeCmdArg(resolved), ...args.map(escapeCmdArg)].join(' ');
156
+ const comspec = env.ComSpec ?? env.COMSPEC ?? 'cmd.exe';
157
+ const windowsOptions = {
158
+ ...options,
159
+ windowsVerbatimArguments: true,
160
+ };
161
+ (0, child_process_1.execFileSync)(comspec, ['/d', '/s', '/c', `"${line}"`], windowsOptions);
162
+ }
163
+ function firecrawlHostedMcpUrl() {
78
164
  return 'https://mcp.firecrawl.dev/v2/mcp';
79
165
  }
166
+ function isEnvironmentBackedApiKey(apiKey) {
167
+ return Boolean(apiKey && process.env[ENV_API_KEY] === apiKey);
168
+ }
169
+ function assertSubprocessSafeCredential(apiKey) {
170
+ if (apiKey && !isEnvironmentBackedApiKey(apiKey)) {
171
+ throw new Error('Secure MCP setup cannot pass a stored API key to this client. Export FIRECRAWL_API_KEY and rerun with a supported --agent, or run keyless setup without a credential.');
172
+ }
173
+ }
174
+ function environmentHeaderForAgent(agent) {
175
+ switch (agent) {
176
+ case 'claude-code':
177
+ case 'hermes':
178
+ case 'openclaw':
179
+ return `Bearer \${${ENV_API_KEY}}`;
180
+ case 'cursor':
181
+ case 'vscode':
182
+ return `Bearer \${env:${ENV_API_KEY}}`;
183
+ case 'opencode':
184
+ return `Bearer {env:${ENV_API_KEY}}`;
185
+ default:
186
+ return undefined;
187
+ }
188
+ }
189
+ function firecrawlMcpHeaders(agent, apiKey) {
190
+ if (!apiKey)
191
+ return undefined;
192
+ // Keep this helper safe in isolation. Callers currently reject stored keys
193
+ // before reaching it, but a future call site must not turn one into a raw
194
+ // Authorization header in argv or a client configuration file.
195
+ assertSubprocessSafeCredential(apiKey);
196
+ const environmentHeader = environmentHeaderForAgent(agent);
197
+ if (environmentHeader)
198
+ return { Authorization: environmentHeader };
199
+ throw new Error('This MCP client does not have a verified environment-variable syntax. Choose a supported --agent, use --agent all, or configure the client manually so FIRECRAWL_API_KEY is not persisted as a literal.');
200
+ }
80
201
  function resolveMcpAgent(agent) {
81
202
  if (!agent)
82
203
  return { kind: 'add-mcp' };
@@ -157,7 +278,10 @@ async function handleSetupBundle(options) {
157
278
  console.log('No integrations selected. Nothing changed.');
158
279
  return;
159
280
  }
160
- const bundleOptions = { ...options, global: options.global ?? true };
281
+ const bundleOptions = {
282
+ ...options,
283
+ global: options.project ? undefined : (options.global ?? true),
284
+ };
161
285
  for (const integration of integrations) {
162
286
  await handleSetupCommand(integration, bundleOptions);
163
287
  }
@@ -315,36 +439,64 @@ async function installSkillsForAgent(agent, options = {}, repos = skills_install
315
439
  await installSkills({ ...options, agent, global: options.global ?? true }, repos);
316
440
  }
317
441
  async function installMcp(options) {
442
+ if (options.global && options.project) {
443
+ throw new Error('Choose either --global or --project, not both.');
444
+ }
445
+ const apiKey = options.keyless ? undefined : (0, config_1.getApiKey)();
318
446
  const resolvedAgent = resolveMcpAgent(options.agent);
447
+ if (resolvedAgent.kind === 'all-launchers' && options.project && apiKey) {
448
+ throw new Error('Authenticated --agent all setup does not support --project because Codex requires a global environment-backed MCP configuration. Choose one --agent for project setup, use --agent all --global, or run keyless setup.');
449
+ }
450
+ if (!options.agent && isEnvironmentBackedApiKey(apiKey)) {
451
+ throw new Error("Environment-backed MCP setup requires --agent so Firecrawl can use that client's native variable syntax. Choose a supported client or use --agent all; the API key will not be written literally.");
452
+ }
319
453
  if (resolvedAgent.kind === 'hermes') {
320
454
  await installHermesMcp();
321
455
  return;
322
456
  }
457
+ assertSubprocessSafeCredential(apiKey);
323
458
  if (resolvedAgent.kind === 'openclaw') {
324
459
  await installOpenClawMcp();
325
460
  return;
326
461
  }
327
462
  if (resolvedAgent.kind === 'all-launchers') {
328
- await installAddMcp({ ...options, yes: true }, { kind: 'add-mcp', all: true });
329
- await installHermesMcp();
330
- await installOpenClawMcp();
463
+ await installAllMcpLaunchers(options);
331
464
  return;
332
465
  }
333
466
  await installAddMcp(options, resolvedAgent);
334
467
  }
468
+ async function installAllMcpLaunchers(options) {
469
+ for (const agent of ADD_MCP_LAUNCH_AGENTS) {
470
+ await installAddMcp({ ...options, yes: true }, { kind: 'add-mcp', agent });
471
+ }
472
+ await installHermesMcp();
473
+ await installOpenClawMcp();
474
+ }
335
475
  async function installAddMcp(options, resolvedAgent) {
336
476
  const mcpUrl = firecrawlHostedMcpUrl();
477
+ const apiKey = options.keyless ? undefined : (0, config_1.getApiKey)();
478
+ if (resolvedAgent.agent === 'codex' &&
479
+ !options.project &&
480
+ apiKey &&
481
+ isEnvironmentBackedApiKey(apiKey)) {
482
+ installCodexMcpFromEnvironment(options, mcpUrl);
483
+ return;
484
+ }
485
+ const headers = firecrawlMcpHeaders(resolvedAgent.agent, apiKey);
486
+ const useGlobal = !options.project && Boolean(options.global);
337
487
  const args = [
338
- 'npx',
339
488
  '-y',
340
- 'add-mcp',
341
- shellQuote(mcpUrl),
489
+ ADD_MCP_PACKAGE,
490
+ mcpUrl,
342
491
  '--name',
343
492
  'firecrawl',
344
493
  '--transport',
345
494
  'http',
346
495
  ];
347
- if (options.global) {
496
+ if (headers?.Authorization) {
497
+ args.push('--header', `Authorization: ${headers.Authorization}`);
498
+ }
499
+ if (useGlobal) {
348
500
  args.push('--global');
349
501
  }
350
502
  if (resolvedAgent.agent) {
@@ -356,12 +508,11 @@ async function installAddMcp(options, resolvedAgent) {
356
508
  if (options.yes) {
357
509
  args.push('--yes');
358
510
  }
359
- const cmd = args.join(' ');
360
511
  if (!options.quiet) {
361
- console.log(`Running: ${cmd}\n`);
512
+ console.log('Configuring Firecrawl MCP...\n');
362
513
  }
363
514
  try {
364
- (0, child_process_1.execSync)(cmd, {
515
+ runClientCommand('npx', args, {
365
516
  stdio: 'inherit',
366
517
  env: (0, skills_install_1.cleanNpmEnv)(),
367
518
  });
@@ -375,16 +526,39 @@ async function installAddMcp(options, resolvedAgent) {
375
526
  }
376
527
  }
377
528
  catch {
378
- process.exit(1);
529
+ throw new Error('Failed to configure Firecrawl MCP.');
379
530
  }
380
531
  }
381
- function firecrawlMcpConfig() {
532
+ function installCodexMcpFromEnvironment(options, mcpUrl) {
533
+ if (!options.quiet) {
534
+ console.log('Configuring Firecrawl MCP...\n');
535
+ }
536
+ try {
537
+ runClientCommand('codex', [
538
+ 'mcp',
539
+ 'add',
540
+ 'firecrawl',
541
+ '--url',
542
+ mcpUrl,
543
+ '--bearer-token-env-var',
544
+ 'FIRECRAWL_API_KEY',
545
+ ], { stdio: 'inherit', env: (0, skills_install_1.cleanNpmEnv)() });
546
+ if (options.quiet) {
547
+ console.log(` ${green}✓${reset} Firecrawl MCP configured for codex`);
548
+ }
549
+ }
550
+ catch {
551
+ throw new Error('Failed to configure Firecrawl MCP for Codex.');
552
+ }
553
+ }
554
+ function firecrawlMcpConfig(agent) {
382
555
  return {
383
556
  url: firecrawlHostedMcpUrl(),
557
+ headers: firecrawlMcpHeaders(agent, (0, config_1.getApiKey)()),
384
558
  };
385
559
  }
386
560
  async function installHermesMcp() {
387
- const config = firecrawlMcpConfig();
561
+ const config = firecrawlMcpConfig('hermes');
388
562
  const configPath = path_1.default.join(os_1.default.homedir(), '.hermes', 'config.yaml');
389
563
  (0, fs_1.mkdirSync)(path_1.default.dirname(configPath), { recursive: true });
390
564
  const existing = (0, fs_1.existsSync)(configPath)
@@ -398,30 +572,29 @@ async function installHermesMcp() {
398
572
  : {};
399
573
  mcpServers.firecrawl = config;
400
574
  root.mcp_servers = mcpServers;
401
- (0, fs_1.writeFileSync)(configPath, (0, yaml_1.stringify)(root), 'utf-8');
575
+ (0, fs_1.writeFileSync)(configPath, (0, yaml_1.stringify)(root), {
576
+ encoding: 'utf-8',
577
+ mode: 0o600,
578
+ });
579
+ if (process.platform !== 'win32') {
580
+ (0, fs_1.chmodSync)(configPath, 0o600);
581
+ }
402
582
  console.log(`Hermes Agent MCP configured at ${configPath}.`);
403
583
  }
404
584
  async function installOpenClawMcp() {
405
585
  const config = {
406
- ...firecrawlMcpConfig(),
586
+ ...firecrawlMcpConfig('openclaw'),
407
587
  transport: 'streamable-http',
408
588
  };
409
- const cmd = [
410
- 'openclaw',
411
- 'mcp',
412
- 'set',
413
- 'firecrawl',
414
- shellQuote(JSON.stringify(config)),
415
- ].join(' ');
416
- console.log(`Running: ${cmd}\n`);
589
+ console.log('Configuring Firecrawl MCP for OpenClaw...\n');
417
590
  try {
418
- (0, child_process_1.execSync)(cmd, {
419
- stdio: 'inherit',
591
+ runClientCommand('openclaw', ['mcp', 'set', 'firecrawl', JSON.stringify(config)], {
592
+ stdio: 'pipe',
420
593
  env: (0, skills_install_1.cleanNpmEnv)(),
421
594
  });
422
595
  }
423
596
  catch {
424
- process.exit(1);
597
+ throw new Error('Failed to configure Firecrawl MCP for OpenClaw. Verify that OpenClaw is installed and available on PATH.');
425
598
  }
426
599
  }
427
600
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyQH,gDAuCC;AA2GD,4DAwCC;AA6DD,sDASC;AAED,gCAgCC;AAwHD,4CA0BC;AAED,gDAqBC;AAltBD,iDAAuD;AACvD,2BAMY;AACZ,4CAAoB;AACpB,gDAAwB;AACxB,wDAAgC;AAChC,+BAAsE;AACtE,4CAA4C;AAC5C,qDAK0B;AAC1B,mDAA8D;AAC9D,wDAI+B;AA4B/B,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;CACA,CAAC;AAEX,MAAM,iBAAiB,GAA2B;IAChD,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,cAAc;IAClC,+BAA+B,EAAE,iBAAiB;CACnD,CAAC;AAEF,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC,SAAS,8BAA8B,CAAC,KAAa,EAAE,KAAa;IAClE,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6CAA6C,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;6EAC6E;AAC7E,SAAS,YAAY,CAAC,GAAW;IAC/B,8BAA8B,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG;SACnB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAsB;IACnD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;IACxD,OAAO,UAAU;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;sEACsE;AACtE,SAAS,qBAAqB,CAC5B,OAAe,EACf,GAAsB;IAEtB,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,CAAC,OAAO,CAAC;QACX,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,CAAC,EAAE,CAAC;QACN,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aACrC,KAAK,CAAC,cAAI,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC3C,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,IAAc,EACd,OAA2C;IAE3C,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,8BAA8B,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE1D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,4BAAY,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,IAAA,4BAAY,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IACxD,MAAM,cAAc,GAAG;QACrB,GAAG,OAAO;QACV,wBAAwB,EAAE,IAAI;KACO,CAAC;IACxC,IAAA,4BAAY,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,kCAAkC,CAAC;AAC5C,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA0B;IAC3D,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAe;IACrD,IAAI,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,uKAAuK,CACxK,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,aAAa,WAAW,GAAG,CAAC;QACrC,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,iBAAiB,WAAW,GAAG,CAAC;QACzC,KAAK,UAAU;YACb,OAAO,eAAe,WAAW,GAAG,CAAC;QACvC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,MAAe;IAEf,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,2EAA2E;IAC3E,0EAA0E;IAC1E,+DAA+D;IAC/D,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,iBAAiB;QAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnE,MAAM,IAAI,KAAK,CACb,yMAAyM,CAC1M,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,GAAG,CAAC;QACT,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACnC,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC9C,KAAK,OAAO,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC7C,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAChD,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B;YACE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAA4B,EAC5B,UAAwB,EAAE;IAE1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,aAAa,CAAC,OAAO,EAAE,4BAAW,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,WAAW;YACd,MAAM,aAAa,CAAC,OAAO,EAAE,qCAAoB,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,KAAK;YACR,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,UAAU;YACb,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,sEAAsE,CACvE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,6FAA6F,CAC9F,CAAC;YACF,OAAO,CAAC,GAAG,CACT,+FAA+F,CAChG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IACpD,IAAI,YAAgC,CAAC;IAErC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,YAAY,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,YAAY,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,kKAAkK,CACnK,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;KAC/D,CAAC;IACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACvD,OAAO,QAAQ,CAAmB;QAChC,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,wDAAwD;gBAC9D,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,IAAI;aACd;YACD;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,IAAI;aACd;YACD;gBACE,IAAI,EAAE,+CAA+C;gBACrD,KAAK,EAAE,WAAW;aACnB;YACD;gBACE,IAAI,EAAE,oDAAoD;gBAC1D,KAAK,EAAE,UAAU;aAClB;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,8DAA8D;AAC9D,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAC5D,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;YACvC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,MAAM,IAAI,GAAG,IAAI;QACf,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,8BAA8B,CAAC;IACnC,OAAO,CAAC,GAAG,CACT,IAAI;QACF,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,oDAAoD,CACzD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,yBAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,CACb,MAAM,WAAW,CAAC,KAAK,IAAI,IAAI,KAAK,UAAU,CAAC,CAChD,CAAC,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,UAAwB,EAAE;IAE1B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAuC,CAAC;IAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,kBAAkB,OAAO,CAAC,KAAK,gDAAgD,CAChF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAoB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAqB,EACrB,KAAwB;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAmB,EAAC,IAAI,EAAE;oBAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,IAAI,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE,CACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,iCAAiC,IAAI,GAAG,EACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAA,sBAAM,GAAE,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,IAAA,uCAAsB,EAAC;gBAClC,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAEjC,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAA,4BAAW,GAAE,EAAE,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,iCAAiC,IAAI,GAAG,EACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,UAAwB,EAAE,EAC1B,QAA2B,4BAAW;IAEtC,MAAM,aAAa,CACjB,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,EACrD,KAAK,CACN,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAqB;IACpD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAS,GAAE,CAAC;IACzD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,aAAa,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,wNAAwN,CACzN,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,mMAAmM,CACpM,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC3C,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAqB;IACzD,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC1C,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAqB,EACrB,aAA6D;IAE7D,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAS,GAAE,CAAC;IACzD,IACE,aAAa,CAAC,KAAK,KAAK,OAAO;QAC/B,CAAC,OAAO,CAAC,OAAO;QAChB,MAAM;QACN,yBAAyB,CAAC,MAAM,CAAC,EACjC,CAAC;QACD,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,eAAe;QACf,MAAM;QACN,QAAQ;QACR,WAAW;QACX,aAAa;QACb,MAAM;KACP,CAAC;IAEF,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE;YAC5B,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,IAAA,4BAAW,GAAE;SACnB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK;gBAChC,CAAC,CAAC,QAAQ,aAAa,CAAC,KAAK,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,GAAG;oBACjB,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,KAAK,4BAA4B,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,OAAqB,EACrB,MAAc;IAEd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,CACd,OAAO,EACP;YACE,KAAK;YACL,KAAK;YACL,WAAW;YACX,OAAO;YACP,MAAM;YACN,wBAAwB;YACxB,mBAAmB;SACpB,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAA,4BAAW,GAAE,EAAE,CACzC,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,KAAK,qCAAqC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IAKxC,OAAO;QACL,GAAG,EAAE,qBAAqB,EAAE;QAC5B,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,IAAA,kBAAS,GAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACrE,IAAA,cAAS,EAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAA,eAAU,EAAC,UAAU,CAAC;QACrC,CAAC,CAAC,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,CAAC,IAAA,YAAS,EAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC5E,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QACpC,IAAI,CAAC,WAAW,KAAK,IAAI;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAE,IAAI,CAAC,WAAuC;QAC/C,CAAC,CAAC,EAAE,CAAC;IAET,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAC9B,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAA,gBAAa,EAAC,IAAI,CAAC,EAAE;QAC7C,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,cAAS,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,UAAU,GAAG,CAAC,CAAC;AAC/D,CAAC;AAEM,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAG;QACb,GAAG,kBAAkB,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE,iBAAiB;KAC7B,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,gBAAgB,CACd,UAAU,EACV,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EACnD;YACE,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,IAAA,4BAAW,GAAE;SACnB,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -52,6 +52,7 @@ const map_1 = require("./commands/map");
52
52
  const parse_1 = require("./commands/parse");
53
53
  const monitor_1 = require("./commands/monitor");
54
54
  const search_1 = require("./commands/search");
55
+ const developer_1 = require("./commands/developer");
55
56
  const research_1 = require("./commands/research");
56
57
  const search_feedback_1 = require("./commands/search-feedback");
57
58
  const feedback_1 = require("./commands/feedback");
@@ -657,7 +658,7 @@ function createSearchCommand() {
657
658
  .argument('<query>', 'Search query')
658
659
  .option('--limit <number>', 'Maximum number of results (default: 5, max: 100)', parseInt)
659
660
  .option('--sources <sources>', 'Comma-separated sources to search: web, images, news (default: web)')
660
- .option('--categories <categories>', 'Comma-separated categories to filter: github, research, pdf')
661
+ .option('--categories <categories>', 'Comma-separated categories to filter: github, research, pdf, developer (developer searches indexed GitHub issues, merged PRs, READMEs, and docs)')
661
662
  .option('--tbs <value>', 'Time-based search: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year)')
662
663
  .option('--location <location>', 'Location for geo-targeting (e.g., "Germany", "San Francisco,California,United States")')
663
664
  .option('--country <code>', 'ISO country code for geo-targeting (default: US)')
@@ -700,7 +701,7 @@ function createSearchCommand() {
700
701
  .split(',')
701
702
  .map((c) => c.trim().toLowerCase());
702
703
  // Validate categories
703
- const validCategories = ['github', 'research', 'pdf'];
704
+ const validCategories = ['github', 'research', 'pdf', 'developer'];
704
705
  for (const category of categories) {
705
706
  if (!validCategories.includes(category)) {
706
707
  console.error(`Error: Invalid category "${category}". Valid categories: ${validCategories.join(', ')}`);
@@ -739,6 +740,40 @@ function createSearchCommand() {
739
740
  });
740
741
  return searchCmd;
741
742
  }
743
+ /**
744
+ * Create and configure the developer command
745
+ */
746
+ function createDeveloperCommand() {
747
+ const developerCmd = new commander_1.Command('developer')
748
+ .description('Search an index built for coding agents: GitHub issues, merged PRs, repository READMEs, and curated documentation sites. Use it for a programming question: code behaviour, a library or framework, an API contract, an error message, or a known bug. Returns ranked results with id, type, url, title, and the matched passages in markdown.')
749
+ .argument('<query>', 'Natural-language developer question or search phrase')
750
+ .option('--limit <number>', 'Number of results to return (default: 20, max: 100)', parseInt)
751
+ .addOption(new commander_1.Option('--k <number>').argParser(parseInt).hideHelp())
752
+ .option('--skills-only', 'Search only agent-skill files', false)
753
+ .option('-k, --api-key <key>', 'Firecrawl API key (overrides global --api-key)')
754
+ .option('--api-url <url>', 'API URL (overrides global --api-url)')
755
+ .option('-o, --output <path>', 'Output file path (default: stdout)')
756
+ .option('--json', 'Output as compact JSON', false)
757
+ .option('--pretty', 'Pretty print JSON output', false)
758
+ .addHelpText('after', `
759
+ Examples:
760
+ $ firecrawl developer "axum middleware ordering" --limit 10
761
+ $ firecrawl developer "tokio select cancellation safety" --json
762
+ `)
763
+ .action(async (query, options) => {
764
+ await (0, developer_1.handleDeveloperSearchCommand)({
765
+ query,
766
+ k: researchLimit(options),
767
+ skillsOnly: options.skillsOnly,
768
+ apiKey: options.apiKey,
769
+ apiUrl: options.apiUrl,
770
+ output: options.output,
771
+ json: options.json,
772
+ pretty: options.pretty,
773
+ });
774
+ });
775
+ return developerCmd;
776
+ }
742
777
  /**
743
778
  * Create and configure the research command group
744
779
  */
@@ -1430,6 +1465,7 @@ program.addCommand(createMapCommand());
1430
1465
  program.addCommand(createParseCommand());
1431
1466
  program.addCommand((0, monitor_1.createMonitorCommand)());
1432
1467
  program.addCommand(createSearchCommand());
1468
+ program.addCommand(createDeveloperCommand());
1433
1469
  program.addCommand(createResearchCommand());
1434
1470
  program.addCommand(createFeedbackCommand());
1435
1471
  program.addCommand(createSearchFeedbackCommand());
@@ -1528,7 +1564,8 @@ program
1528
1564
  .description('Set up individual firecrawl integrations (skills, workflows, mcp, defaults)')
1529
1565
  .argument('[subcommand]', 'What to set up: "skills", "workflows", "mcp", or "defaults"; omit for an interactive installer')
1530
1566
  .option('-g, --global', 'Install globally (user-level)')
1531
- .option('-a, --agent <agent>', 'Limit to a specific agent; for "mcp", use "all" to update every launch integration')
1567
+ .option('--project', 'For "mcp", install into project scope (stored API keys are never written to project files)')
1568
+ .option('-a, --agent <agent>', 'Limit to a specific agent; required for environment-backed MCP setup, or use "all" to update every launch integration')
1532
1569
  .option('-y, --yes', 'Skip prompts; for bare setup, install the default skills + MCP bundle')
1533
1570
  .option('--undo', 'Undo setup defaults by re-enabling native web tools where supported')
1534
1571
  .action(async (subcommand, options) => {