firecrawl-cli 0.0.1 → 0.0.3

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 (71) hide show
  1. package/dist/__tests__/commands/crawl.test.d.ts +5 -0
  2. package/dist/__tests__/commands/crawl.test.d.ts.map +1 -0
  3. package/dist/__tests__/commands/crawl.test.js +415 -0
  4. package/dist/__tests__/commands/crawl.test.js.map +1 -0
  5. package/dist/__tests__/commands/credit-usage.test.d.ts +5 -0
  6. package/dist/__tests__/commands/credit-usage.test.d.ts.map +1 -0
  7. package/dist/__tests__/commands/credit-usage.test.js +200 -0
  8. package/dist/__tests__/commands/credit-usage.test.js.map +1 -0
  9. package/dist/__tests__/commands/map.test.d.ts +5 -0
  10. package/dist/__tests__/commands/map.test.d.ts.map +1 -0
  11. package/dist/__tests__/commands/map.test.js +287 -0
  12. package/dist/__tests__/commands/map.test.js.map +1 -0
  13. package/dist/__tests__/commands/scrape.test.d.ts +5 -0
  14. package/dist/__tests__/commands/scrape.test.d.ts.map +1 -0
  15. package/dist/__tests__/commands/scrape.test.js +231 -0
  16. package/dist/__tests__/commands/scrape.test.js.map +1 -0
  17. package/dist/__tests__/utils/job.test.d.ts +5 -0
  18. package/dist/__tests__/utils/job.test.d.ts.map +1 -0
  19. package/dist/__tests__/utils/job.test.js +53 -0
  20. package/dist/__tests__/utils/job.test.js.map +1 -0
  21. package/dist/__tests__/utils/mock-client.d.ts +23 -0
  22. package/dist/__tests__/utils/mock-client.d.ts.map +1 -0
  23. package/dist/__tests__/utils/mock-client.js +24 -0
  24. package/dist/__tests__/utils/mock-client.js.map +1 -0
  25. package/dist/commands/config.d.ts.map +1 -1
  26. package/dist/commands/config.js +5 -3
  27. package/dist/commands/config.js.map +1 -1
  28. package/dist/commands/crawl.d.ts +13 -0
  29. package/dist/commands/crawl.d.ts.map +1 -0
  30. package/dist/commands/crawl.js +242 -0
  31. package/dist/commands/crawl.js.map +1 -0
  32. package/dist/commands/credit-usage.d.ts +32 -0
  33. package/dist/commands/credit-usage.d.ts.map +1 -0
  34. package/dist/commands/credit-usage.js +175 -0
  35. package/dist/commands/credit-usage.js.map +1 -0
  36. package/dist/commands/map.d.ts +13 -0
  37. package/dist/commands/map.d.ts.map +1 -0
  38. package/dist/commands/map.js +96 -0
  39. package/dist/commands/map.js.map +1 -0
  40. package/dist/commands/scrape.d.ts.map +1 -1
  41. package/dist/commands/scrape.js.map +1 -1
  42. package/dist/index.js +134 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/types/crawl.d.ts +63 -0
  45. package/dist/types/crawl.d.ts.map +1 -0
  46. package/dist/types/crawl.js +6 -0
  47. package/dist/types/crawl.js.map +1 -0
  48. package/dist/types/map.d.ts +43 -0
  49. package/dist/types/map.d.ts.map +1 -0
  50. package/dist/types/map.js +6 -0
  51. package/dist/types/map.js.map +1 -0
  52. package/dist/utils/client.d.ts.map +1 -1
  53. package/dist/utils/client.js.map +1 -1
  54. package/dist/utils/config.d.ts.map +1 -1
  55. package/dist/utils/config.js +7 -3
  56. package/dist/utils/config.js.map +1 -1
  57. package/dist/utils/credentials.d.ts.map +1 -1
  58. package/dist/utils/credentials.js.map +1 -1
  59. package/dist/utils/job.d.ts +13 -0
  60. package/dist/utils/job.d.ts.map +1 -0
  61. package/dist/utils/job.js +29 -0
  62. package/dist/utils/job.js.map +1 -0
  63. package/dist/utils/options.d.ts.map +1 -1
  64. package/dist/utils/options.js +6 -2
  65. package/dist/utils/options.js.map +1 -1
  66. package/dist/utils/output.d.ts.map +1 -1
  67. package/dist/utils/output.js +9 -2
  68. package/dist/utils/output.js.map +1 -1
  69. package/dist/utils/url.d.ts.map +1 -1
  70. package/dist/utils/url.js.map +1 -1
  71. package/package.json +19 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/job.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Test utilities for mocking the Firecrawl client
3
+ */
4
+ /**
5
+ * Mock Firecrawl client methods
6
+ * These are typed as any to allow flexible mocking in tests
7
+ */
8
+ export interface MockFirecrawlClient {
9
+ scrape: any;
10
+ crawl?: any;
11
+ map?: any;
12
+ extract?: any;
13
+ agent?: any;
14
+ }
15
+ /**
16
+ * Setup test environment - reset client and config
17
+ */
18
+ export declare function setupTest(): void;
19
+ /**
20
+ * Teardown test environment
21
+ */
22
+ export declare function teardownTest(): void;
23
+ //# sourceMappingURL=mock-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-client.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Test utilities for mocking the Firecrawl client
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setupTest = setupTest;
7
+ exports.teardownTest = teardownTest;
8
+ const client_1 = require("../../utils/client");
9
+ const config_1 = require("../../utils/config");
10
+ /**
11
+ * Setup test environment - reset client and config
12
+ */
13
+ function setupTest() {
14
+ (0, client_1.resetClient)();
15
+ (0, config_1.resetConfig)();
16
+ }
17
+ /**
18
+ * Teardown test environment
19
+ */
20
+ function teardownTest() {
21
+ (0, client_1.resetClient)();
22
+ (0, config_1.resetConfig)();
23
+ }
24
+ //# sourceMappingURL=mock-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-client.js","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-client.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAoBH,8BAGC;AAKD,oCAGC;AA7BD,+CAAiD;AACjD,+CAAiD;AAcjD;;GAEG;AACH,SAAgB,SAAS;IACvB,IAAA,oBAAW,GAAE,CAAC;IACd,IAAA,oBAAW,GAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAA,oBAAW,GAAE,CAAC;IACd,IAAA,oBAAW,GAAE,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA2C/C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA8C/C"}
@@ -50,7 +50,9 @@ function promptInput(question, defaultValue) {
50
50
  input: process.stdin,
51
51
  output: process.stdout,
52
52
  });
53
- const promptText = defaultValue ? `${question} [${defaultValue}]: ` : `${question} `;
53
+ const promptText = defaultValue
54
+ ? `${question} [${defaultValue}]: `
55
+ : `${question} `;
54
56
  return new Promise((resolve) => {
55
57
  rl.question(promptText, (answer) => {
56
58
  rl.close();
@@ -83,7 +85,7 @@ async function configure() {
83
85
  try {
84
86
  (0, credentials_1.saveCredentials)({
85
87
  apiKey: key.trim(),
86
- apiUrl: normalizedUrl
88
+ apiUrl: normalizedUrl,
87
89
  });
88
90
  console.log('\n✓ Configuration saved successfully');
89
91
  console.log(` API URL: ${normalizedUrl}`);
@@ -91,7 +93,7 @@ async function configure() {
91
93
  // Update global config
92
94
  (0, config_1.updateConfig)({
93
95
  apiKey: key.trim(),
94
- apiUrl: normalizedUrl
96
+ apiUrl: normalizedUrl,
95
97
  });
96
98
  }
97
99
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BH,8BA2CC;AAxED,mDAAqC;AACrC,sDAA+E;AAC/E,4CAA+C;AAE/C,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,YAAqB;IAC1D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;IAErF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,kCAAkC;IAClC,IAAI,GAAG,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE9D,6CAA6C;IAC7C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE7B,qBAAqB;IACrB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEhE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,IAAA,6BAAe,EAAC;YACd,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE;YAClB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAA,oCAAsB,GAAE,EAAE,CAAC,CAAC;QAExD,uBAAuB;QACvB,IAAA,qBAAY,EAAC;YACX,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE;YAClB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCH,8BA8CC;AA7ED,mDAAqC;AACrC,sDAA+E;AAC/E,4CAA+C;AAE/C,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,YAAqB;IAC1D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK;QACnC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;IAEnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,kCAAkC;IAClC,IAAI,GAAG,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE9D,6CAA6C;IAC7C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE7B,qBAAqB;IACrB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEhE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,IAAA,6BAAe,EAAC;YACd,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE;YAClB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAA,oCAAsB,GAAE,EAAE,CAAC,CAAC;QAExD,uBAAuB;QACvB,IAAA,qBAAY,EAAC;YACX,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE;YAClB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,6BAA6B,EAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Crawl command implementation
3
+ */
4
+ import type { CrawlOptions, CrawlResult, CrawlStatusResult } from '../types/crawl';
5
+ /**
6
+ * Execute crawl command
7
+ */
8
+ export declare function executeCrawl(options: CrawlOptions): Promise<CrawlResult | CrawlStatusResult>;
9
+ /**
10
+ * Handle crawl command output
11
+ */
12
+ export declare function handleCrawlCommand(options: CrawlOptions): Promise<void>;
13
+ //# sourceMappingURL=crawl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawl.d.ts","sourceRoot":"","sources":["../../src/commands/crawl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAoCxB;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAyI1C;AAiCD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7E"}
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ /**
3
+ * Crawl command implementation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.executeCrawl = executeCrawl;
7
+ exports.handleCrawlCommand = handleCrawlCommand;
8
+ const client_1 = require("../utils/client");
9
+ const config_1 = require("../utils/config");
10
+ const job_1 = require("../utils/job");
11
+ const output_1 = require("../utils/output");
12
+ /**
13
+ * Execute crawl status check
14
+ */
15
+ async function checkCrawlStatus(jobId, options) {
16
+ try {
17
+ const app = (0, client_1.getClient)();
18
+ const status = await app.getCrawlStatus(jobId);
19
+ return {
20
+ success: true,
21
+ data: {
22
+ id: status.id,
23
+ status: status.status,
24
+ total: status.total,
25
+ completed: status.completed,
26
+ creditsUsed: status.creditsUsed,
27
+ expiresAt: status.expiresAt,
28
+ },
29
+ };
30
+ }
31
+ catch (error) {
32
+ return {
33
+ success: false,
34
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
35
+ };
36
+ }
37
+ }
38
+ /**
39
+ * Execute crawl command
40
+ */
41
+ async function executeCrawl(options) {
42
+ try {
43
+ // Update global config if API key is provided
44
+ if (options.apiKey) {
45
+ (0, config_1.updateConfig)({ apiKey: options.apiKey });
46
+ }
47
+ const app = (0, client_1.getClient)();
48
+ const { urlOrJobId, status, wait, pollInterval, timeout } = options;
49
+ // If status flag is set or input looks like a job ID, check status
50
+ if (status || (0, job_1.isJobId)(urlOrJobId)) {
51
+ return await checkCrawlStatus(urlOrJobId, options);
52
+ }
53
+ // Build crawl options
54
+ const crawlOptions = {};
55
+ if (options.limit !== undefined) {
56
+ crawlOptions.limit = options.limit;
57
+ }
58
+ if (options.maxDepth !== undefined) {
59
+ crawlOptions.maxDiscoveryDepth = options.maxDepth;
60
+ }
61
+ if (options.excludePaths && options.excludePaths.length > 0) {
62
+ crawlOptions.excludePaths = options.excludePaths;
63
+ }
64
+ if (options.includePaths && options.includePaths.length > 0) {
65
+ crawlOptions.includePaths = options.includePaths;
66
+ }
67
+ if (options.sitemap) {
68
+ crawlOptions.sitemap = options.sitemap;
69
+ }
70
+ if (options.ignoreQueryParameters !== undefined) {
71
+ crawlOptions.ignoreQueryParameters = options.ignoreQueryParameters;
72
+ }
73
+ if (options.crawlEntireDomain !== undefined) {
74
+ crawlOptions.crawlEntireDomain = options.crawlEntireDomain;
75
+ }
76
+ if (options.allowExternalLinks !== undefined) {
77
+ crawlOptions.allowExternalLinks = options.allowExternalLinks;
78
+ }
79
+ if (options.allowSubdomains !== undefined) {
80
+ crawlOptions.allowSubdomains = options.allowSubdomains;
81
+ }
82
+ if (options.delay !== undefined) {
83
+ crawlOptions.delay = options.delay;
84
+ }
85
+ if (options.maxConcurrency !== undefined) {
86
+ crawlOptions.maxConcurrency = options.maxConcurrency;
87
+ }
88
+ // If wait mode, use the convenience crawl method with polling
89
+ if (wait) {
90
+ // Set polling options
91
+ if (pollInterval !== undefined) {
92
+ crawlOptions.pollInterval = pollInterval * 1000; // Convert to milliseconds
93
+ }
94
+ else {
95
+ // Default poll interval: 5 seconds
96
+ crawlOptions.pollInterval = 5000;
97
+ }
98
+ if (timeout !== undefined) {
99
+ crawlOptions.timeout = timeout * 1000; // Convert to milliseconds
100
+ }
101
+ // Show progress if requested - use custom polling for better UX
102
+ if (options.progress) {
103
+ // Start crawl first
104
+ const response = await app.startCrawl(urlOrJobId, crawlOptions);
105
+ const jobId = response.id;
106
+ process.stderr.write(`Crawling ${urlOrJobId}...\n`);
107
+ process.stderr.write(`Job ID: ${jobId}\n`);
108
+ // Poll for status with progress updates
109
+ const pollMs = crawlOptions.pollInterval || 5000;
110
+ const startTime = Date.now();
111
+ const timeoutMs = timeout ? timeout * 1000 : undefined;
112
+ while (true) {
113
+ await new Promise((resolve) => setTimeout(resolve, pollMs));
114
+ const status = await app.getCrawlStatus(jobId);
115
+ // Show progress
116
+ process.stderr.write(`\rProgress: ${status.completed}/${status.total} pages (${status.status})`);
117
+ if (status.status === 'completed' ||
118
+ status.status === 'failed' ||
119
+ status.status === 'cancelled') {
120
+ process.stderr.write('\n');
121
+ return {
122
+ success: true,
123
+ data: status,
124
+ };
125
+ }
126
+ // Check timeout
127
+ if (timeoutMs && Date.now() - startTime > timeoutMs) {
128
+ process.stderr.write('\n');
129
+ return {
130
+ success: false,
131
+ error: `Timeout after ${timeout} seconds. Crawl still in progress.`,
132
+ };
133
+ }
134
+ }
135
+ }
136
+ else {
137
+ // Use SDK's built-in polling (no progress display)
138
+ const crawlJob = await app.crawl(urlOrJobId, crawlOptions);
139
+ return {
140
+ success: true,
141
+ data: crawlJob,
142
+ };
143
+ }
144
+ }
145
+ // Otherwise, start crawl and return job ID
146
+ const response = await app.startCrawl(urlOrJobId, crawlOptions);
147
+ return {
148
+ success: true,
149
+ data: {
150
+ jobId: response.id,
151
+ url: response.url,
152
+ status: 'processing',
153
+ },
154
+ };
155
+ }
156
+ catch (error) {
157
+ return {
158
+ success: false,
159
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
160
+ };
161
+ }
162
+ }
163
+ /**
164
+ * Format crawl status in human-readable way
165
+ */
166
+ function formatCrawlStatus(data) {
167
+ if (!data)
168
+ return '';
169
+ const lines = [];
170
+ lines.push(`Job ID: ${data.id}`);
171
+ lines.push(`Status: ${data.status}`);
172
+ lines.push(`Progress: ${data.completed}/${data.total} pages`);
173
+ if (data.creditsUsed !== undefined) {
174
+ lines.push(`Credits Used: ${data.creditsUsed}`);
175
+ }
176
+ if (data.expiresAt) {
177
+ const expiresDate = new Date(data.expiresAt);
178
+ lines.push(`Expires: ${expiresDate.toLocaleString('en-US', {
179
+ year: 'numeric',
180
+ month: 'short',
181
+ day: 'numeric',
182
+ hour: '2-digit',
183
+ minute: '2-digit',
184
+ })}`);
185
+ }
186
+ return lines.join('\n') + '\n';
187
+ }
188
+ /**
189
+ * Handle crawl command output
190
+ */
191
+ async function handleCrawlCommand(options) {
192
+ const result = await executeCrawl(options);
193
+ if (!result.success) {
194
+ console.error('Error:', result.error);
195
+ process.exit(1);
196
+ }
197
+ // Handle status check result
198
+ if ('status' in result && result.data && 'status' in result.data) {
199
+ const statusResult = result;
200
+ if (statusResult.data) {
201
+ let outputContent;
202
+ if (options.pretty || !options.output) {
203
+ // Human-readable format for status
204
+ outputContent = formatCrawlStatus(statusResult.data);
205
+ }
206
+ else {
207
+ // JSON format
208
+ outputContent = options.pretty
209
+ ? JSON.stringify({ success: true, data: statusResult.data }, null, 2)
210
+ : JSON.stringify({ success: true, data: statusResult.data });
211
+ }
212
+ (0, output_1.writeOutput)(outputContent, options.output, !!options.output);
213
+ return;
214
+ }
215
+ }
216
+ // Handle crawl result (job ID or completed crawl)
217
+ const crawlResult = result;
218
+ if (!crawlResult.data) {
219
+ return;
220
+ }
221
+ let outputContent;
222
+ // If it's a job ID response (has jobId field)
223
+ if ('jobId' in crawlResult.data) {
224
+ const jobData = {
225
+ jobId: crawlResult.data.jobId,
226
+ url: crawlResult.data.url,
227
+ status: crawlResult.data.status,
228
+ };
229
+ outputContent = options.pretty
230
+ ? JSON.stringify({ success: true, data: jobData }, null, 2)
231
+ : JSON.stringify({ success: true, data: jobData });
232
+ }
233
+ else {
234
+ // Completed crawl - output the data
235
+ // For completed crawls, output as JSON
236
+ outputContent = options.pretty
237
+ ? JSON.stringify(crawlResult.data, null, 2)
238
+ : JSON.stringify(crawlResult.data);
239
+ }
240
+ (0, output_1.writeOutput)(outputContent, options.output, !!options.output);
241
+ }
242
+ //# sourceMappingURL=crawl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/commands/crawl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Credit usage command implementation
3
+ */
4
+ export interface CreditUsageResult {
5
+ success: boolean;
6
+ data?: {
7
+ remainingCredits: number;
8
+ planCredits: number;
9
+ billingPeriodStart: string | null;
10
+ billingPeriodEnd: string | null;
11
+ };
12
+ error?: string;
13
+ }
14
+ export interface CreditUsageOptions {
15
+ /** API key for Firecrawl */
16
+ apiKey?: string;
17
+ /** Output file path */
18
+ output?: string;
19
+ /** Output as JSON format */
20
+ json?: boolean;
21
+ /** Pretty print JSON output */
22
+ pretty?: boolean;
23
+ }
24
+ /**
25
+ * Execute the credit usage command
26
+ */
27
+ export declare function executeCreditUsage(options?: CreditUsageOptions): Promise<CreditUsageResult>;
28
+ /**
29
+ * Handle credit usage command output
30
+ */
31
+ export declare function handleCreditUsageCommand(options?: CreditUsageOptions): Promise<void>;
32
+ //# sourceMappingURL=credit-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credit-usage.d.ts","sourceRoot":"","sources":["../../src/commands/credit-usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAuD5B;AA6CD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /**
3
+ * Credit usage command implementation
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.executeCreditUsage = executeCreditUsage;
40
+ exports.handleCreditUsageCommand = handleCreditUsageCommand;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const config_1 = require("../utils/config");
44
+ /**
45
+ * Execute the credit usage command
46
+ */
47
+ async function executeCreditUsage(options = {}) {
48
+ try {
49
+ // Update global config if API key is provided via options
50
+ if (options.apiKey) {
51
+ (0, config_1.updateConfig)({ apiKey: options.apiKey });
52
+ }
53
+ // Get config and validate API key
54
+ const config = (0, config_1.getConfig)();
55
+ (0, config_1.validateConfig)(config.apiKey);
56
+ const apiUrl = config.apiUrl || 'https://api.firecrawl.dev';
57
+ const apiKey = config.apiKey;
58
+ // Make the API call to /v2/team/credit-usage
59
+ const url = `${apiUrl.replace(/\/$/, '')}/v2/team/credit-usage`;
60
+ const response = await fetch(url, {
61
+ method: 'GET',
62
+ headers: {
63
+ Authorization: `Bearer ${apiKey}`,
64
+ 'Content-Type': 'application/json',
65
+ },
66
+ });
67
+ if (!response.ok) {
68
+ const errorData = await response.json().catch(() => ({}));
69
+ throw new Error(errorData.error || `HTTP ${response.status}: ${response.statusText}`);
70
+ }
71
+ const result = await response.json();
72
+ // Extract data from response (handle both { data: {...} } and direct data formats)
73
+ const data = result.data || result;
74
+ return {
75
+ success: true,
76
+ data: {
77
+ remainingCredits: data.remainingCredits,
78
+ planCredits: data.planCredits,
79
+ billingPeriodStart: data.billingPeriodStart,
80
+ billingPeriodEnd: data.billingPeriodEnd,
81
+ },
82
+ };
83
+ }
84
+ catch (error) {
85
+ // Handle different error formats
86
+ const errorMessage = error?.message || error?.toString() || 'Unknown error occurred';
87
+ return {
88
+ success: false,
89
+ error: errorMessage,
90
+ };
91
+ }
92
+ }
93
+ /**
94
+ * Format credit usage data in a human-readable way
95
+ */
96
+ function formatReadable(data) {
97
+ if (!data)
98
+ return '';
99
+ // Format credits with thousand separators
100
+ const formatNumber = (num) => {
101
+ return num.toLocaleString('en-US');
102
+ };
103
+ const lines = [];
104
+ // Main credit info
105
+ lines.push(`Remaining Credits: ${formatNumber(data.remainingCredits)}`);
106
+ if (data.planCredits > 0) {
107
+ const usedCredits = data.planCredits - data.remainingCredits;
108
+ const usagePercent = ((usedCredits / data.planCredits) * 100).toFixed(1);
109
+ lines.push(`Plan Credits: ${formatNumber(data.planCredits)}`);
110
+ lines.push(`Used Credits: ${formatNumber(usedCredits)} (${usagePercent}%)`);
111
+ }
112
+ // Format billing period if available
113
+ if (data.billingPeriodStart && data.billingPeriodEnd) {
114
+ const startDate = new Date(data.billingPeriodStart);
115
+ const endDate = new Date(data.billingPeriodEnd);
116
+ const formatDate = (date) => {
117
+ return date.toLocaleDateString('en-US', {
118
+ year: 'numeric',
119
+ month: 'short',
120
+ day: 'numeric',
121
+ });
122
+ };
123
+ lines.push('');
124
+ lines.push(`Billing Period: ${formatDate(startDate)} - ${formatDate(endDate)}`);
125
+ }
126
+ return lines.join('\n') + '\n';
127
+ }
128
+ /**
129
+ * Handle credit usage command output
130
+ */
131
+ async function handleCreditUsageCommand(options = {}) {
132
+ const result = await executeCreditUsage(options);
133
+ if (!result.success) {
134
+ console.error('Error:', result.error);
135
+ process.exit(1);
136
+ }
137
+ if (!result.data) {
138
+ return;
139
+ }
140
+ let outputContent;
141
+ // Use JSON format if --json flag is set
142
+ if (options.json) {
143
+ try {
144
+ outputContent = options.pretty
145
+ ? JSON.stringify({ success: true, data: result.data }, null, 2)
146
+ : JSON.stringify({ success: true, data: result.data });
147
+ }
148
+ catch (error) {
149
+ outputContent = JSON.stringify({
150
+ error: 'Failed to serialize response',
151
+ message: error instanceof Error ? error.message : 'Unknown error',
152
+ });
153
+ }
154
+ }
155
+ else {
156
+ // Default to human-readable format
157
+ outputContent = formatReadable(result.data);
158
+ }
159
+ // Write output
160
+ if (options.output) {
161
+ const dir = path.dirname(options.output);
162
+ if (dir && !fs.existsSync(dir)) {
163
+ fs.mkdirSync(dir, { recursive: true });
164
+ }
165
+ fs.writeFileSync(options.output, outputContent, 'utf-8');
166
+ console.error(`Output written to: ${options.output}`);
167
+ }
168
+ else {
169
+ if (!outputContent.endsWith('\n')) {
170
+ outputContent += '\n';
171
+ }
172
+ process.stdout.write(outputContent);
173
+ }
174
+ }
175
+ //# sourceMappingURL=credit-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credit-usage.js","sourceRoot":"","sources":["../../src/commands/credit-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Map command implementation
3
+ */
4
+ import type { MapOptions, MapResult } from '../types/map';
5
+ /**
6
+ * Execute map command
7
+ */
8
+ export declare function executeMap(options: MapOptions): Promise<MapResult>;
9
+ /**
10
+ * Handle map command output
11
+ */
12
+ export declare function handleMapCommand(options: MapOptions): Promise<void>;
13
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1D;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAmDxE;AAYD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzE"}