firecrawl-cli 0.0.2 → 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 (70) 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.map +1 -1
  33. package/dist/commands/credit-usage.js +4 -6
  34. package/dist/commands/credit-usage.js.map +1 -1
  35. package/dist/commands/map.d.ts +13 -0
  36. package/dist/commands/map.d.ts.map +1 -0
  37. package/dist/commands/map.js +96 -0
  38. package/dist/commands/map.js.map +1 -0
  39. package/dist/commands/scrape.d.ts.map +1 -1
  40. package/dist/commands/scrape.js.map +1 -1
  41. package/dist/index.js +123 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/types/crawl.d.ts +63 -0
  44. package/dist/types/crawl.d.ts.map +1 -0
  45. package/dist/types/crawl.js +6 -0
  46. package/dist/types/crawl.js.map +1 -0
  47. package/dist/types/map.d.ts +43 -0
  48. package/dist/types/map.d.ts.map +1 -0
  49. package/dist/types/map.js +6 -0
  50. package/dist/types/map.js.map +1 -0
  51. package/dist/utils/client.d.ts.map +1 -1
  52. package/dist/utils/client.js.map +1 -1
  53. package/dist/utils/config.d.ts.map +1 -1
  54. package/dist/utils/config.js +6 -2
  55. package/dist/utils/config.js.map +1 -1
  56. package/dist/utils/credentials.d.ts.map +1 -1
  57. package/dist/utils/credentials.js.map +1 -1
  58. package/dist/utils/job.d.ts +13 -0
  59. package/dist/utils/job.d.ts.map +1 -0
  60. package/dist/utils/job.js +29 -0
  61. package/dist/utils/job.js.map +1 -0
  62. package/dist/utils/options.d.ts.map +1 -1
  63. package/dist/utils/options.js +6 -2
  64. package/dist/utils/options.js.map +1 -1
  65. package/dist/utils/output.d.ts.map +1 -1
  66. package/dist/utils/output.js +9 -2
  67. package/dist/utils/output.js.map +1 -1
  68. package/dist/utils/url.d.ts.map +1 -1
  69. package/dist/utils/url.js.map +1 -1
  70. 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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"}
@@ -1 +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,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsDrG;AA2CD;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C9F"}
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"}
@@ -60,7 +60,7 @@ async function executeCreditUsage(options = {}) {
60
60
  const response = await fetch(url, {
61
61
  method: 'GET',
62
62
  headers: {
63
- 'Authorization': `Bearer ${apiKey}`,
63
+ Authorization: `Bearer ${apiKey}`,
64
64
  'Content-Type': 'application/json',
65
65
  },
66
66
  });
@@ -83,9 +83,7 @@ async function executeCreditUsage(options = {}) {
83
83
  }
84
84
  catch (error) {
85
85
  // Handle different error formats
86
- const errorMessage = error?.message
87
- || error?.toString()
88
- || 'Unknown error occurred';
86
+ const errorMessage = error?.message || error?.toString() || 'Unknown error occurred';
89
87
  return {
90
88
  success: false,
91
89
  error: errorMessage,
@@ -119,7 +117,7 @@ function formatReadable(data) {
119
117
  return date.toLocaleDateString('en-US', {
120
118
  year: 'numeric',
121
119
  month: 'short',
122
- day: 'numeric'
120
+ day: 'numeric',
123
121
  });
124
122
  };
125
123
  lines.push('');
@@ -150,7 +148,7 @@ async function handleCreditUsageCommand(options = {}) {
150
148
  catch (error) {
151
149
  outputContent = JSON.stringify({
152
150
  error: 'Failed to serialize response',
153
- message: error instanceof Error ? error.message : 'Unknown error'
151
+ message: error instanceof Error ? error.message : 'Unknown error',
154
152
  });
155
153
  }
156
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credit-usage.js","sourceRoot":"","sources":["../../src/commands/credit-usage.ts"],"names":[],"mappings":"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"}
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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * Map command implementation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.executeMap = executeMap;
7
+ exports.handleMapCommand = handleMapCommand;
8
+ const client_1 = require("../utils/client");
9
+ const config_1 = require("../utils/config");
10
+ const output_1 = require("../utils/output");
11
+ /**
12
+ * Execute map command
13
+ */
14
+ async function executeMap(options) {
15
+ try {
16
+ // Update global config if API key is provided
17
+ if (options.apiKey) {
18
+ (0, config_1.updateConfig)({ apiKey: options.apiKey });
19
+ }
20
+ const app = (0, client_1.getClient)();
21
+ const { urlOrJobId } = options;
22
+ // Build map options
23
+ const mapOptions = {};
24
+ if (options.limit !== undefined) {
25
+ mapOptions.limit = options.limit;
26
+ }
27
+ if (options.search) {
28
+ mapOptions.search = options.search;
29
+ }
30
+ if (options.sitemap) {
31
+ mapOptions.sitemap = options.sitemap;
32
+ }
33
+ if (options.includeSubdomains !== undefined) {
34
+ mapOptions.includeSubdomains = options.includeSubdomains;
35
+ }
36
+ if (options.ignoreQueryParameters !== undefined) {
37
+ mapOptions.ignoreQueryParameters = options.ignoreQueryParameters;
38
+ }
39
+ if (options.timeout !== undefined) {
40
+ mapOptions.timeout = options.timeout * 1000; // Convert to milliseconds
41
+ }
42
+ // Execute map (seems synchronous in SDK)
43
+ const mapData = await app.map(urlOrJobId, mapOptions);
44
+ return {
45
+ success: true,
46
+ data: {
47
+ links: mapData.links.map((link) => ({
48
+ url: link.url,
49
+ title: link.title,
50
+ description: link.description,
51
+ })),
52
+ },
53
+ };
54
+ }
55
+ catch (error) {
56
+ return {
57
+ success: false,
58
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
59
+ };
60
+ }
61
+ }
62
+ /**
63
+ * Format map data in human-readable way
64
+ */
65
+ function formatMapReadable(data) {
66
+ if (!data || !data.links)
67
+ return '';
68
+ // Output one URL per line (like curl)
69
+ return data.links.map((link) => link.url).join('\n') + '\n';
70
+ }
71
+ /**
72
+ * Handle map command output
73
+ */
74
+ async function handleMapCommand(options) {
75
+ const result = await executeMap(options);
76
+ if (!result.success) {
77
+ console.error('Error:', result.error);
78
+ process.exit(1);
79
+ }
80
+ if (!result.data) {
81
+ return;
82
+ }
83
+ let outputContent;
84
+ // Use JSON format if --json flag is set
85
+ if (options.json) {
86
+ outputContent = options.pretty
87
+ ? JSON.stringify({ success: true, data: result.data }, null, 2)
88
+ : JSON.stringify({ success: true, data: result.data });
89
+ }
90
+ else {
91
+ // Default to human-readable format (one URL per line)
92
+ outputContent = formatMapReadable(result.data);
93
+ }
94
+ (0, output_1.writeOutput)(outputContent, options.output, !!options.output);
95
+ }
96
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKnE;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAoEjF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E"}
1
+ {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKnE;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAoEvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,sCAoEC;AAKD,kDAGC;AAnFD,4CAA4C;AAC5C,4CAA+C;AAC/C,4CAAqD;AAErD;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,IAAI,CAAC;QACH,0DAA0D;QAC1D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAA,kBAAS,GAAE,CAAC;QAExB,uBAAuB;QACvB,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,gDAAgD;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,YAAY,GAMd;YACF,OAAO;SACR,CAAC;QAEF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,YAAY,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAsB;IAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAA,2BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,sCAsEC;AAKD,kDAKC;AAvFD,4CAA4C;AAC5C,4CAA+C;AAC/C,4CAAqD;AAErD;;GAEG;AACI,KAAK,UAAU,aAAa,CACjC,OAAsB;IAEtB,IAAI,CAAC;QACH,0DAA0D;QAC1D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAA,kBAAS,GAAE,CAAC;QAExB,uBAAuB;QACvB,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,gDAAgD;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,YAAY,GAMd;YACF,OAAO;SACR,CAAC;QAEF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,YAAY,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAA,2BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"}