firecrawl 3.1.0 → 3.2.0

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.
package/LICENSE CHANGED
File without changes
@@ -7,8 +7,8 @@ var __commonJS = (cb, mod) => function __require() {
7
7
  var require_package = __commonJS({
8
8
  "package.json"(exports, module) {
9
9
  module.exports = {
10
- name: "@mendable/firecrawl-js",
11
- version: "3.1.0",
10
+ name: "firecrawl",
11
+ version: "3.2.0",
12
12
  description: "JavaScript SDK for Firecrawl API",
13
13
  main: "dist/index.js",
14
14
  types: "dist/index.d.ts",
package/dist/index.cjs CHANGED
@@ -34,8 +34,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
34
34
  var require_package = __commonJS({
35
35
  "package.json"(exports2, module2) {
36
36
  module2.exports = {
37
- name: "@mendable/firecrawl-js",
38
- version: "3.1.0",
37
+ name: "firecrawl",
38
+ version: "3.2.0",
39
39
  description: "JavaScript SDK for Firecrawl API",
40
40
  main: "dist/index.js",
41
41
  types: "dist/index.d.ts",
@@ -108,15 +108,15 @@ var require_package = __commonJS({
108
108
  });
109
109
 
110
110
  // src/index.ts
111
- var index_exports = {};
112
- __export(index_exports, {
111
+ var src_exports = {};
112
+ __export(src_exports, {
113
113
  Firecrawl: () => Firecrawl,
114
114
  FirecrawlAppV1: () => FirecrawlApp,
115
115
  FirecrawlClient: () => FirecrawlClient,
116
116
  SdkError: () => SdkError,
117
- default: () => index_default
117
+ default: () => src_default
118
118
  });
119
- module.exports = __toCommonJS(index_exports);
119
+ module.exports = __toCommonJS(src_exports);
120
120
 
121
121
  // src/v2/utils/httpClient.ts
122
122
  var import_axios = __toESM(require("axios"), 1);
@@ -316,6 +316,7 @@ function prepareSearchPayload(req) {
316
316
  query: req.query
317
317
  };
318
318
  if (req.sources) payload.sources = req.sources;
319
+ if (req.categories) payload.categories = req.categories;
319
320
  if (req.limit != null) payload.limit = req.limit;
320
321
  if (req.tbs != null) payload.tbs = req.tbs;
321
322
  if (req.location != null) payload.location = req.location;
@@ -2355,7 +2356,7 @@ var Firecrawl = class extends FirecrawlClient {
2355
2356
  return this._v1;
2356
2357
  }
2357
2358
  };
2358
- var index_default = Firecrawl;
2359
+ var src_default = Firecrawl;
2359
2360
  // Annotate the CommonJS export names for ESM import in node:
2360
2361
  0 && (module.exports = {
2361
2362
  Firecrawl,
package/dist/index.d.cts CHANGED
@@ -142,6 +142,7 @@ interface SearchResultWeb {
142
142
  url: string;
143
143
  title?: string;
144
144
  description?: string;
145
+ category?: string;
145
146
  }
146
147
  interface SearchResultNews {
147
148
  title?: string;
@@ -150,6 +151,7 @@ interface SearchResultNews {
150
151
  date?: string;
151
152
  imageUrl?: string;
152
153
  position?: number;
154
+ category?: string;
153
155
  }
154
156
  interface SearchResultImages {
155
157
  title?: string;
@@ -164,11 +166,15 @@ interface SearchData {
164
166
  news?: Array<SearchResultNews | Document>;
165
167
  images?: Array<SearchResultImages | Document>;
166
168
  }
169
+ interface CategoryOption {
170
+ type: "github" | "research";
171
+ }
167
172
  interface SearchRequest {
168
173
  query: string;
169
174
  sources?: Array<"web" | "news" | "images" | {
170
175
  type: "web" | "news" | "images";
171
176
  }>;
177
+ categories?: Array<"github" | "research" | CategoryOption>;
172
178
  limit?: number;
173
179
  tbs?: string;
174
180
  location?: string;
@@ -1342,4 +1348,4 @@ declare class Firecrawl extends FirecrawlClient {
1342
1348
  get v1(): FirecrawlApp;
1343
1349
  }
1344
1350
 
1345
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreditUsage, type Document, type DocumentMetadata, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type Format, type FormatOption, type FormatString, type JsonFormat, type LocationConfig, type MapData, type MapOptions, type PDFAction, type PressAction, type ScrapeAction, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type TokenUsage, type Viewport, type WaitAction, type WebhookConfig, type WriteAction, Firecrawl as default };
1351
+ export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreditUsage, type Document, type DocumentMetadata, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type Format, type FormatOption, type FormatString, type JsonFormat, type LocationConfig, type MapData, type MapOptions, type PDFAction, type PressAction, type ScrapeAction, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type TokenUsage, type Viewport, type WaitAction, type WebhookConfig, type WriteAction, Firecrawl as default };
package/dist/index.d.ts CHANGED
@@ -142,6 +142,7 @@ interface SearchResultWeb {
142
142
  url: string;
143
143
  title?: string;
144
144
  description?: string;
145
+ category?: string;
145
146
  }
146
147
  interface SearchResultNews {
147
148
  title?: string;
@@ -150,6 +151,7 @@ interface SearchResultNews {
150
151
  date?: string;
151
152
  imageUrl?: string;
152
153
  position?: number;
154
+ category?: string;
153
155
  }
154
156
  interface SearchResultImages {
155
157
  title?: string;
@@ -164,11 +166,15 @@ interface SearchData {
164
166
  news?: Array<SearchResultNews | Document>;
165
167
  images?: Array<SearchResultImages | Document>;
166
168
  }
169
+ interface CategoryOption {
170
+ type: "github" | "research";
171
+ }
167
172
  interface SearchRequest {
168
173
  query: string;
169
174
  sources?: Array<"web" | "news" | "images" | {
170
175
  type: "web" | "news" | "images";
171
176
  }>;
177
+ categories?: Array<"github" | "research" | CategoryOption>;
172
178
  limit?: number;
173
179
  tbs?: string;
174
180
  location?: string;
@@ -1342,4 +1348,4 @@ declare class Firecrawl extends FirecrawlClient {
1342
1348
  get v1(): FirecrawlApp;
1343
1349
  }
1344
1350
 
1345
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreditUsage, type Document, type DocumentMetadata, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type Format, type FormatOption, type FormatString, type JsonFormat, type LocationConfig, type MapData, type MapOptions, type PDFAction, type PressAction, type ScrapeAction, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type TokenUsage, type Viewport, type WaitAction, type WebhookConfig, type WriteAction, Firecrawl as default };
1351
+ export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreditUsage, type Document, type DocumentMetadata, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type Format, type FormatOption, type FormatString, type JsonFormat, type LocationConfig, type MapData, type MapOptions, type PDFAction, type PressAction, type ScrapeAction, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type TokenUsage, type Viewport, type WaitAction, type WebhookConfig, type WriteAction, Firecrawl as default };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-WNGXI3ZW.js";
3
+ } from "./chunk-NVTWBXZM.js";
4
4
 
5
5
  // src/v2/utils/httpClient.ts
6
6
  import axios from "axios";
@@ -200,6 +200,7 @@ function prepareSearchPayload(req) {
200
200
  query: req.query
201
201
  };
202
202
  if (req.sources) payload.sources = req.sources;
203
+ if (req.categories) payload.categories = req.categories;
203
204
  if (req.limit != null) payload.limit = req.limit;
204
205
  if (req.tbs != null) payload.tbs = req.tbs;
205
206
  if (req.location != null) payload.location = req.location;
@@ -932,7 +933,7 @@ var FirecrawlApp = class {
932
933
  if (typeof process !== "undefined" && process.env && process.env.npm_package_version) {
933
934
  return process.env.npm_package_version;
934
935
  }
935
- const packageJson = await import("./package-KMFB7KZD.js");
936
+ const packageJson = await import("./package-TM3XCIRK.js");
936
937
  return packageJson.default.version;
937
938
  } catch (error) {
938
939
  const isTest = typeof process !== "undefined" && (process.env.JEST_WORKER_ID != null || false);
@@ -2239,11 +2240,11 @@ var Firecrawl = class extends FirecrawlClient {
2239
2240
  return this._v1;
2240
2241
  }
2241
2242
  };
2242
- var index_default = Firecrawl;
2243
+ var src_default = Firecrawl;
2243
2244
  export {
2244
2245
  Firecrawl,
2245
2246
  FirecrawlApp as FirecrawlAppV1,
2246
2247
  FirecrawlClient,
2247
2248
  SdkError,
2248
- index_default as default
2249
+ src_default as default
2249
2250
  };
@@ -1,4 +1,4 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-WNGXI3ZW.js";
3
+ } from "./chunk-NVTWBXZM.js";
4
4
  export default require_package();
package/dump.rdb ADDED
Binary file
package/jest.config.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firecrawl",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "JavaScript SDK for Firecrawl API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,11 +9,18 @@ describe("v2 utils: validation", () => {
9
9
  expect(() => ensureValidFormats(formats)).toThrow(/json format must be an object/i);
10
10
  });
11
11
 
12
- test("ensureValidFormats: json format requires prompt and schema", () => {
13
- const bad1: FormatOption[] = [{ type: "json", prompt: "p" } as any];
14
- const bad2: FormatOption[] = [{ type: "json", schema: {} } as any];
15
- expect(() => ensureValidFormats(bad1)).toThrow(/requires 'prompt' and 'schema'/i);
16
- expect(() => ensureValidFormats(bad2)).toThrow(/requires 'prompt' and 'schema'/i);
12
+ test("ensureValidFormats: json format requires prompt or schema", () => {
13
+ // Valid cases - should not throw
14
+ const valid1: FormatOption[] = [{ type: "json", prompt: "p" } as any];
15
+ const valid2: FormatOption[] = [{ type: "json", schema: {} } as any];
16
+ const valid3: FormatOption[] = [{ type: "json", prompt: "p", schema: {} } as any];
17
+ expect(() => ensureValidFormats(valid1)).not.toThrow();
18
+ expect(() => ensureValidFormats(valid2)).not.toThrow();
19
+ expect(() => ensureValidFormats(valid3)).not.toThrow();
20
+
21
+ // Invalid case - should throw when both are missing
22
+ const bad: FormatOption[] = [{ type: "json" } as any];
23
+ expect(() => ensureValidFormats(bad)).toThrow(/requires either 'prompt' or 'schema'/i);
17
24
  });
18
25
 
19
26
  test("ensureValidFormats: converts zod schema to JSON schema", () => {
@@ -11,6 +11,7 @@ function prepareSearchPayload(req: SearchRequest): Record<string, unknown> {
11
11
  query: req.query,
12
12
  };
13
13
  if (req.sources) payload.sources = req.sources;
14
+ if (req.categories) payload.categories = req.categories;
14
15
  if (req.limit != null) payload.limit = req.limit;
15
16
  if (req.tbs != null) payload.tbs = req.tbs;
16
17
  if (req.location != null) payload.location = req.location;
package/src/v2/types.ts CHANGED
@@ -177,6 +177,7 @@ export interface SearchResultWeb {
177
177
  url: string;
178
178
  title?: string;
179
179
  description?: string;
180
+ category?: string;
180
181
  }
181
182
 
182
183
  export interface SearchResultNews {
@@ -186,6 +187,7 @@ export interface SearchResultNews {
186
187
  date?: string;
187
188
  imageUrl?: string;
188
189
  position?: number;
190
+ category?: string;
189
191
  }
190
192
 
191
193
  export interface SearchResultImages {
@@ -203,9 +205,14 @@ export interface SearchData {
203
205
  images?: Array<SearchResultImages | Document>;
204
206
  }
205
207
 
208
+ export interface CategoryOption {
209
+ type: "github" | "research";
210
+ }
211
+
206
212
  export interface SearchRequest {
207
213
  query: string;
208
214
  sources?: Array<"web" | "news" | "images" | { type: "web" | "news" | "images" }>;
215
+ categories?: Array<"github" | "research" | CategoryOption>;
209
216
  limit?: number;
210
217
  tbs?: string;
211
218
  location?: string;
package/tsup.config.ts CHANGED
File without changes