firecrawl-cli 1.19.12 → 1.19.15

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,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleSearchPapersCommand = handleSearchPapersCommand;
4
+ exports.handleInspectPaperCommand = handleInspectPaperCommand;
5
+ exports.handleRelatedPapersCommand = handleRelatedPapersCommand;
6
+ exports.handleReadPaperCommand = handleReadPaperCommand;
7
+ exports.handleSearchGitHubCommand = handleSearchGitHubCommand;
8
+ const client_1 = require("../utils/client");
9
+ const output_1 = require("../utils/output");
10
+ const BASE = '/v2/search/research';
11
+ const MAX_AUTHORS = 15;
12
+ const MAX_ABSTRACT_CHARS = 600;
13
+ const MAX_AFFIL_CHARS = 60;
14
+ const MAX_AUTHORS_LINE_CHARS = 400;
15
+ const MAX_GITHUB_CONTENT_CHARS = 1200;
16
+ function appendParam(params, key, value) {
17
+ if (value == null)
18
+ return;
19
+ if (Array.isArray(value)) {
20
+ for (const item of value) {
21
+ if (item != null && String(item).length > 0) {
22
+ params.append(key, String(item));
23
+ }
24
+ }
25
+ return;
26
+ }
27
+ params.append(key, String(value));
28
+ }
29
+ function withQuery(path, params) {
30
+ const qs = params.toString();
31
+ return qs ? `${path}?${qs}` : path;
32
+ }
33
+ async function getResearch(path, options) {
34
+ if ((0, client_1.isKeylessMode)(options.apiKey, options.apiUrl)) {
35
+ return (await (0, client_1.keylessGet)(path));
36
+ }
37
+ const app = (0, client_1.getClient)({ apiKey: options.apiKey, apiUrl: options.apiUrl });
38
+ const response = await app.http.get(path);
39
+ return (response?.data ?? {});
40
+ }
41
+ function displayId(paper) {
42
+ return paper.primaryId ?? 'missing-primary-id';
43
+ }
44
+ function fmtAuthors(authors) {
45
+ if (!authors)
46
+ return null;
47
+ let shown;
48
+ let total;
49
+ if (typeof authors === 'string') {
50
+ const names = authors
51
+ .split(',')
52
+ .map((name) => name.trim())
53
+ .filter(Boolean);
54
+ if (names.length === 0)
55
+ return null;
56
+ total = names.length;
57
+ shown = names.slice(0, MAX_AUTHORS);
58
+ }
59
+ else {
60
+ if (authors.length === 0)
61
+ return null;
62
+ total = authors.length;
63
+ shown = authors.slice(0, MAX_AUTHORS).map((author) => {
64
+ const affiliation = author.affiliation?.trim();
65
+ return affiliation
66
+ ? `${author.name} (${affiliation.slice(0, MAX_AFFIL_CHARS)})`
67
+ : author.name;
68
+ });
69
+ }
70
+ const extra = total > MAX_AUTHORS ? `; +${total - MAX_AUTHORS} more` : '';
71
+ return ('Authors: ' + shown.join('; ') + extra).slice(0, MAX_AUTHORS_LINE_CHARS);
72
+ }
73
+ function fmtHits(results) {
74
+ if (!results || results.length === 0)
75
+ return '(no results)';
76
+ return results
77
+ .map((paper) => {
78
+ const lines = [`## [${displayId(paper)}] ${paper.title ?? '(untitled)'}`];
79
+ const authors = fmtAuthors(paper.authors);
80
+ if (authors)
81
+ lines.push(authors);
82
+ lines.push((paper.abstract || '(no abstract)')
83
+ .replace(/\s+/g, ' ')
84
+ .slice(0, MAX_ABSTRACT_CHARS));
85
+ return lines.join('\n');
86
+ })
87
+ .join('\n\n');
88
+ }
89
+ function fmtPaperMetadata(paper) {
90
+ if (!paper)
91
+ return '(paper not found)';
92
+ const lines = [`# ${paper.title ?? '(untitled)'}`, ''];
93
+ lines.push(`Paper ID: ${paper.paperId ?? '?'}`);
94
+ const ids = Object.entries(paper.ids ?? {})
95
+ .flatMap(([namespace, values]) => values.map((value) => `${namespace}:${value}`))
96
+ .join(', ');
97
+ if (ids)
98
+ lines.push(`IDs: ${ids}`);
99
+ const authors = fmtAuthors(paper.authors);
100
+ if (authors)
101
+ lines.push(authors);
102
+ if (paper.categories?.length) {
103
+ lines.push(`Categories: ${paper.categories.join(', ')}`);
104
+ }
105
+ const dates = [
106
+ paper.createdDate ? `created ${paper.createdDate}` : '',
107
+ paper.updateDate ? `updated ${paper.updateDate}` : '',
108
+ ]
109
+ .filter(Boolean)
110
+ .join('; ');
111
+ if (dates)
112
+ lines.push(`Dates: ${dates}`);
113
+ lines.push('', '## Abstract');
114
+ lines.push((paper.abstract || '(no abstract)').replace(/\s+/g, ' '));
115
+ return lines.join('\n');
116
+ }
117
+ function fmtGithub(results) {
118
+ if (!results || results.length === 0)
119
+ return '(no results)';
120
+ return results
121
+ .map((item) => {
122
+ const lines = [];
123
+ if (item.resultType === 'repo_readme') {
124
+ lines.push(`[${item.repo ?? '?'}] README`);
125
+ }
126
+ else {
127
+ const ref = item.number != null ? `#${item.number}` : '';
128
+ const meta = [
129
+ item.pageType,
130
+ item.segmentCount ? `${item.segmentCount} segments` : '',
131
+ ]
132
+ .filter(Boolean)
133
+ .join(', ');
134
+ lines.push(`[${item.repo ?? '?'}${ref}]${meta ? ` (${meta})` : ''}`);
135
+ }
136
+ const url = item.readmeUrl ?? item.url;
137
+ if (url)
138
+ lines.push(url);
139
+ const body = (item.contentMd || item.snippet || '').trim();
140
+ lines.push(body ? body.slice(0, MAX_GITHUB_CONTENT_CHARS) : '(no content)');
141
+ return lines.join('\n');
142
+ })
143
+ .join('\n\n');
144
+ }
145
+ function writeResearchOutput(data, readable, options) {
146
+ const content = options.json || options.pretty
147
+ ? options.pretty
148
+ ? JSON.stringify(data, null, 2)
149
+ : JSON.stringify(data)
150
+ : readable;
151
+ (0, output_1.writeOutput)(content, options.output, !!options.output);
152
+ }
153
+ function handleError(error) {
154
+ console.error('Error:', error instanceof Error ? error.message : 'Unknown error occurred');
155
+ process.exit(1);
156
+ }
157
+ async function handleSearchPapersCommand(options) {
158
+ try {
159
+ const params = new URLSearchParams();
160
+ appendParam(params, 'query', options.query);
161
+ appendParam(params, 'k', options.k);
162
+ appendParam(params, 'authors', options.authors);
163
+ appendParam(params, 'categories', options.categories);
164
+ appendParam(params, 'from', options.from);
165
+ appendParam(params, 'to', options.to);
166
+ const data = await getResearch(withQuery(`${BASE}/papers`, params), options);
167
+ writeResearchOutput(data, fmtHits(data.results), options);
168
+ }
169
+ catch (error) {
170
+ handleError(error);
171
+ }
172
+ }
173
+ async function handleInspectPaperCommand(options) {
174
+ try {
175
+ const data = await getResearch(`${BASE}/papers/${encodeURIComponent(options.paperId)}`, options);
176
+ writeResearchOutput(data, fmtPaperMetadata(data.paper), options);
177
+ }
178
+ catch (error) {
179
+ handleError(error);
180
+ }
181
+ }
182
+ async function handleRelatedPapersCommand(options) {
183
+ try {
184
+ const [primary, ...anchors] = options.seedIds;
185
+ const params = new URLSearchParams();
186
+ appendParam(params, 'intent', options.intent);
187
+ appendParam(params, 'mode', options.mode);
188
+ appendParam(params, 'k', options.k);
189
+ appendParam(params, 'rerank', options.rerank);
190
+ appendParam(params, 'anchor', anchors);
191
+ const data = await getResearch(withQuery(`${BASE}/papers/${encodeURIComponent(primary)}/similar`, params), options);
192
+ const note = data.note ? `\nnote: ${data.note}` : '';
193
+ writeResearchOutput(data, `${fmtHits(data.results)}\n(poolSize=${data.poolSize ?? 0})${note}`, options);
194
+ }
195
+ catch (error) {
196
+ handleError(error);
197
+ }
198
+ }
199
+ async function handleReadPaperCommand(options) {
200
+ try {
201
+ const params = new URLSearchParams();
202
+ appendParam(params, 'query', options.question);
203
+ appendParam(params, 'k', options.k);
204
+ const data = await getResearch(withQuery(`${BASE}/papers/${encodeURIComponent(options.paperId)}`, params), options);
205
+ const passages = data.passages ?? [];
206
+ writeResearchOutput(data, passages.length
207
+ ? passages.map((passage) => passage.text).join('\n---\n')
208
+ : '(no full-text passages available for this paper)', options);
209
+ }
210
+ catch (error) {
211
+ handleError(error);
212
+ }
213
+ }
214
+ async function handleSearchGitHubCommand(options) {
215
+ try {
216
+ const params = new URLSearchParams();
217
+ appendParam(params, 'query', options.query);
218
+ appendParam(params, 'k', options.k);
219
+ const data = await getResearch(withQuery(`${BASE}/github`, params), options);
220
+ writeResearchOutput(data, fmtGithub(data.results), options);
221
+ }
222
+ catch (error) {
223
+ handleError(error);
224
+ }
225
+ }
226
+ //# sourceMappingURL=research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/commands/research.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ export interface SetupOptions {
13
13
  /**
14
14
  * Main setup command handler
15
15
  */
16
- export declare function handleSetupCommand(subcommand: SetupSubcommand, options?: SetupOptions): Promise<void>;
16
+ export declare function handleSetupCommand(subcommand?: SetupSubcommand, options?: SetupOptions): Promise<void>;
17
17
  export declare function handleMakeDefaultCommand(options?: SetupOptions): Promise<void>;
18
+ export declare function installSkillsForAgent(agent: string, options?: SetupOptions, repos?: readonly string[]): Promise<void>;
19
+ export declare function installMcp(options: SetupOptions): Promise<void>;
20
+ export declare function installHermesMcp(): Promise<void>;
21
+ export declare function installOpenClawMcp(): Promise<void>;
18
22
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAqDD,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAsCf"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAU1E,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAiDD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,CAAC,EAAE,eAAe,EAC5B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAwGD,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAuCD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,EAC1B,KAAK,GAAE,SAAS,MAAM,EAAgB,GACrC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE;AAuDD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBtD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBxD"}
@@ -3,22 +3,111 @@
3
3
  * Setup command implementation
4
4
  * Installs firecrawl skill files and MCP server into AI coding agents
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
6
39
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
40
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
41
  };
9
42
  Object.defineProperty(exports, "__esModule", { value: true });
10
43
  exports.handleSetupCommand = handleSetupCommand;
11
44
  exports.handleMakeDefaultCommand = handleMakeDefaultCommand;
45
+ exports.installSkillsForAgent = installSkillsForAgent;
46
+ exports.installMcp = installMcp;
47
+ exports.installHermesMcp = installHermesMcp;
48
+ exports.installOpenClawMcp = installOpenClawMcp;
12
49
  const child_process_1 = require("child_process");
50
+ const fs_1 = require("fs");
51
+ const os_1 = __importDefault(require("os"));
52
+ const path_1 = __importDefault(require("path"));
13
53
  const readline_1 = __importDefault(require("readline"));
54
+ const yaml_1 = require("yaml");
14
55
  const config_1 = require("../utils/config");
15
56
  const skills_install_1 = require("./skills-install");
16
57
  const skills_native_1 = require("./skills-native");
17
58
  const web_defaults_1 = require("../utils/web-defaults");
59
+ function shellQuote(value) {
60
+ return JSON.stringify(value);
61
+ }
62
+ function firecrawlHostedMcpUrl() {
63
+ const apiKey = (0, config_1.getApiKey)();
64
+ if (apiKey) {
65
+ return `https://mcp.firecrawl.dev/${encodeURIComponent(apiKey)}/v2/mcp`;
66
+ }
67
+ return 'https://mcp.firecrawl.dev/v2/mcp';
68
+ }
69
+ function resolveMcpAgent(agent) {
70
+ if (!agent)
71
+ return { kind: 'add-mcp' };
72
+ const normalized = agent.trim().toLowerCase();
73
+ switch (normalized) {
74
+ case '*':
75
+ case 'all':
76
+ case 'launchers':
77
+ case 'launcher':
78
+ return { kind: 'all-launchers' };
79
+ case 'claude':
80
+ case 'claude-code':
81
+ return { kind: 'add-mcp', agent: 'claude-code' };
82
+ case 'code':
83
+ case 'vscode':
84
+ case 'vs-code':
85
+ return { kind: 'add-mcp', agent: 'vscode' };
86
+ case 'codex':
87
+ case 'codex-app':
88
+ case 'codex-desktop':
89
+ case 'codex-gui':
90
+ return { kind: 'add-mcp', agent: 'codex' };
91
+ case 'opencode':
92
+ case 'open-code':
93
+ return { kind: 'add-mcp', agent: 'opencode' };
94
+ case 'hermes':
95
+ case 'hermes-agent':
96
+ return { kind: 'hermes' };
97
+ case 'openclaw':
98
+ return { kind: 'openclaw' };
99
+ default:
100
+ return { kind: 'add-mcp', agent };
101
+ }
102
+ }
18
103
  /**
19
104
  * Main setup command handler
20
105
  */
21
106
  async function handleSetupCommand(subcommand, options = {}) {
107
+ if (!subcommand) {
108
+ await handleSetupBundle(options);
109
+ return;
110
+ }
22
111
  switch (subcommand) {
23
112
  case 'skills':
24
113
  await installSkills(options, skills_install_1.SKILL_REPOS);
@@ -42,6 +131,52 @@ async function handleSetupCommand(subcommand, options = {}) {
42
131
  process.exit(1);
43
132
  }
44
133
  }
134
+ async function handleSetupBundle(options) {
135
+ let integrations;
136
+ if (options.yes) {
137
+ integrations = ['skills', 'mcp'];
138
+ }
139
+ else if (process.stdin.isTTY) {
140
+ integrations = await pickSetupIntegrations();
141
+ }
142
+ else {
143
+ throw new Error('Setup subcommand is required in non-interactive mode. Use `firecrawl setup --yes` to install skills and MCP, or choose one of: skills, workflows, mcp, defaults.');
144
+ }
145
+ if (integrations.length === 0) {
146
+ console.log('No integrations selected. Nothing changed.');
147
+ return;
148
+ }
149
+ const bundleOptions = { ...options, global: options.global ?? true };
150
+ for (const integration of integrations) {
151
+ await handleSetupCommand(integration, bundleOptions);
152
+ }
153
+ }
154
+ async function pickSetupIntegrations() {
155
+ const { checkbox } = await Promise.resolve().then(() => __importStar(require('@inquirer/prompts')));
156
+ return checkbox({
157
+ message: 'What should Firecrawl set up?',
158
+ choices: [
159
+ {
160
+ name: 'Skills — install Firecrawl skills for AI coding agents',
161
+ value: 'skills',
162
+ checked: true,
163
+ },
164
+ {
165
+ name: 'MCP — install Firecrawl MCP server',
166
+ value: 'mcp',
167
+ checked: true,
168
+ },
169
+ {
170
+ name: 'Workflows — install Firecrawl workflow skills',
171
+ value: 'workflows',
172
+ },
173
+ {
174
+ name: 'Defaults — make Firecrawl the default web provider',
175
+ value: 'defaults',
176
+ },
177
+ ],
178
+ });
179
+ }
45
180
  /** Map a user-supplied --agent value to a known web agent. */
46
181
  function resolveWebAgent(agent) {
47
182
  const normalized = agent.trim().toLowerCase();
@@ -148,31 +283,103 @@ async function installSkills(options, repos) {
148
283
  }
149
284
  }
150
285
  }
286
+ async function installSkillsForAgent(agent, options = {}, repos = skills_install_1.SKILL_REPOS) {
287
+ await installSkills({ ...options, agent, global: options.global ?? true }, repos);
288
+ }
151
289
  async function installMcp(options) {
152
- const apiKey = (0, config_1.getApiKey)();
153
- if (!apiKey) {
154
- console.error('No API key found. Please run `firecrawl login` first, or set FIRECRAWL_API_KEY.');
155
- process.exit(1);
290
+ const resolvedAgent = resolveMcpAgent(options.agent);
291
+ if (resolvedAgent.kind === 'hermes') {
292
+ await installHermesMcp();
293
+ return;
294
+ }
295
+ if (resolvedAgent.kind === 'openclaw') {
296
+ await installOpenClawMcp();
297
+ return;
298
+ }
299
+ if (resolvedAgent.kind === 'all-launchers') {
300
+ await installAddMcp({ ...options, yes: true }, { kind: 'add-mcp', all: true });
301
+ await installHermesMcp();
302
+ await installOpenClawMcp();
303
+ return;
156
304
  }
305
+ await installAddMcp(options, resolvedAgent);
306
+ }
307
+ async function installAddMcp(options, resolvedAgent) {
308
+ const mcpUrl = firecrawlHostedMcpUrl();
157
309
  const args = [
158
310
  'npx',
311
+ '-y',
159
312
  'add-mcp',
160
- `"npx -y firecrawl-mcp"`,
313
+ shellQuote(mcpUrl),
161
314
  '--name',
162
315
  'firecrawl',
316
+ '--transport',
317
+ 'http',
163
318
  ];
164
319
  if (options.global) {
165
320
  args.push('--global');
166
321
  }
167
- if (options.agent) {
168
- args.push('--agent', options.agent);
322
+ if (resolvedAgent.agent) {
323
+ args.push('--agent', resolvedAgent.agent);
324
+ }
325
+ else if (resolvedAgent.all) {
326
+ args.push('--all');
327
+ }
328
+ if (options.yes) {
329
+ args.push('--yes');
169
330
  }
170
331
  const cmd = args.join(' ');
171
332
  console.log(`Running: ${cmd}\n`);
172
333
  try {
173
334
  (0, child_process_1.execSync)(cmd, {
174
335
  stdio: 'inherit',
175
- env: { ...(0, skills_install_1.cleanNpmEnv)(), FIRECRAWL_API_KEY: apiKey },
336
+ env: (0, skills_install_1.cleanNpmEnv)(),
337
+ });
338
+ }
339
+ catch {
340
+ process.exit(1);
341
+ }
342
+ }
343
+ function firecrawlMcpConfig() {
344
+ return {
345
+ url: firecrawlHostedMcpUrl(),
346
+ };
347
+ }
348
+ async function installHermesMcp() {
349
+ const config = firecrawlMcpConfig();
350
+ const configPath = path_1.default.join(os_1.default.homedir(), '.hermes', 'config.yaml');
351
+ (0, fs_1.mkdirSync)(path_1.default.dirname(configPath), { recursive: true });
352
+ const existing = (0, fs_1.existsSync)(configPath)
353
+ ? (0, fs_1.readFileSync)(configPath, 'utf-8')
354
+ : '';
355
+ const root = ((0, yaml_1.parse)(existing || '{}') ?? {});
356
+ const mcpServers = typeof root.mcp_servers === 'object' &&
357
+ root.mcp_servers !== null &&
358
+ !Array.isArray(root.mcp_servers)
359
+ ? root.mcp_servers
360
+ : {};
361
+ mcpServers.firecrawl = config;
362
+ root.mcp_servers = mcpServers;
363
+ (0, fs_1.writeFileSync)(configPath, (0, yaml_1.stringify)(root), 'utf-8');
364
+ console.log(`Hermes Agent MCP configured at ${configPath}.`);
365
+ }
366
+ async function installOpenClawMcp() {
367
+ const config = {
368
+ ...firecrawlMcpConfig(),
369
+ transport: 'streamable-http',
370
+ };
371
+ const cmd = [
372
+ 'openclaw',
373
+ 'mcp',
374
+ 'set',
375
+ 'firecrawl',
376
+ shellQuote(JSON.stringify(config)),
377
+ ].join(' ');
378
+ console.log(`Running: ${cmd}\n`);
379
+ try {
380
+ (0, child_process_1.execSync)(cmd, {
381
+ stdio: 'inherit',
382
+ env: (0, skills_install_1.cleanNpmEnv)(),
176
383
  });
177
384
  }
178
385
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AA+BH,gDAkCC;AAqDD,4DAwCC;AA5JD,iDAAyC;AACzC,wDAAgC;AAChC,4CAA4C;AAC5C,qDAK0B;AAC1B,mDAA8D;AAC9D,wDAI+B;AAY/B;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAA2B,EAC3B,UAAwB,EAAE;IAE1B,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,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,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,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;AAED,KAAK,UAAU,UAAU,CAAC,OAAqB;IAC7C,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,iFAAiF,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG;QACX,KAAK;QACL,SAAS;QACT,wBAAwB;QACxB,QAAQ;QACR,WAAW;KACZ,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEjC,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,GAAG,EAAE;YACZ,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,EAAE,GAAG,IAAA,4BAAW,GAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}