@mendable/firecrawl-js 4.42.1 → 4.42.2

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/README.md CHANGED
@@ -102,6 +102,13 @@ const parsed = await app.parse(
102
102
  console.log(parsed.markdown);
103
103
  ```
104
104
 
105
+ To see which file formats `parse` accepts, call `getParseFormats`. Each entry has `format`, `kind` (for example, `document` or `image`), `extensions`, `mimeTypes`, and `available` (false when the format is not enabled on this deployment).
106
+
107
+ ```js
108
+ const formats = await app.getParseFormats();
109
+ console.log(formats.filter((f) => f.available).map((f) => f.format));
110
+ ```
111
+
105
112
  ### Crawling a Website
106
113
 
107
114
  To crawl a website with error handling, use the `crawl` method. It takes the starting URL and optional parameters, including limits and per‑page `scrapeOptions`.
@@ -12,7 +12,7 @@ var require_package = __commonJS({
12
12
  "package.json"(exports, module) {
13
13
  module.exports = {
14
14
  name: "@mendable/firecrawl-js",
15
- version: "4.42.1",
15
+ version: "4.42.2",
16
16
  description: "JavaScript SDK for the Firecrawl API: web scraping, crawling, web search, and scientific literature search over a research paper index of PubMed, bioRxiv, medRxiv and arXiv abstracts",
17
17
  main: "dist/index.js",
18
18
  types: "dist/index.d.ts",
@@ -38,7 +38,7 @@ var require_package = __commonJS({
38
38
  author: "Mendable.ai",
39
39
  license: "MIT",
40
40
  dependencies: {
41
- axios: "1.18.0",
41
+ axios: "1.20.0",
42
42
  firecrawl: "4.30.1",
43
43
  "typescript-event-target": "^1.1.1",
44
44
  zod: "^3.23.8",
package/dist/index.cjs CHANGED
@@ -39,7 +39,7 @@ var require_package = __commonJS({
39
39
  "package.json"(exports2, module2) {
40
40
  module2.exports = {
41
41
  name: "@mendable/firecrawl-js",
42
- version: "4.42.1",
42
+ version: "4.42.2",
43
43
  description: "JavaScript SDK for the Firecrawl API: web scraping, crawling, web search, and scientific literature search over a research paper index of PubMed, bioRxiv, medRxiv and arXiv abstracts",
44
44
  main: "dist/index.js",
45
45
  types: "dist/index.d.ts",
@@ -65,7 +65,7 @@ var require_package = __commonJS({
65
65
  author: "Mendable.ai",
66
66
  license: "MIT",
67
67
  dependencies: {
68
- axios: "1.18.0",
68
+ axios: "1.20.0",
69
69
  firecrawl: "4.30.1",
70
70
  "typescript-event-target": "^1.1.1",
71
71
  zod: "^3.23.8",
@@ -786,6 +786,16 @@ async function parse(http, file, options) {
786
786
  throw err;
787
787
  }
788
788
  }
789
+ async function getParseFormats(http) {
790
+ try {
791
+ const res = await http.get("/v2/parse/formats");
792
+ if (res.status !== 200 || !res.data?.success) throwForBadResponse(res, "get parse formats");
793
+ return res.data.data?.formats ?? [];
794
+ } catch (err) {
795
+ if (err?.isAxiosError) return normalizeAxiosError(err, "get parse formats");
796
+ throw err;
797
+ }
798
+ }
789
799
 
790
800
  // src/v2/methods/search.ts
791
801
  function prepareSearchPayload(req) {
@@ -2368,6 +2378,13 @@ var FirecrawlClient = class {
2368
2378
  async parse(file, options) {
2369
2379
  return parse(this.http, file, options);
2370
2380
  }
2381
+ /**
2382
+ * List the file formats the parse endpoint accepts on this deployment.
2383
+ * @returns Formats with their kind, extensions, MIME types, and availability.
2384
+ */
2385
+ async getParseFormats() {
2386
+ return getParseFormats(this.http);
2387
+ }
2371
2388
  // Search
2372
2389
  /**
2373
2390
  * Search the web and optionally scrape each result.
package/dist/index.d.cts CHANGED
@@ -267,6 +267,17 @@ type ParseOptions = Omit<ScrapeOptions, "formats" | "waitFor" | "mobile" | "acti
267
267
  formats?: ParseFormatOption[];
268
268
  proxy?: "basic" | "auto";
269
269
  };
270
+ /** A file format accepted by the parse endpoint. */
271
+ interface ParseFormatInfo {
272
+ /** Format identifier, e.g. "pdf". */
273
+ format: string;
274
+ kind: "document" | "image" | (string & {});
275
+ /** File extensions including the leading dot, e.g. ".pdf". */
276
+ extensions: string[];
277
+ mimeTypes: string[];
278
+ /** False when the format is recognized but not enabled on this deployment. */
279
+ available: boolean;
280
+ }
270
281
  interface WebhookConfig {
271
282
  url: string;
272
283
  headers?: Record<string, string>;
@@ -1409,6 +1420,11 @@ interface AgentStatusResponse {
1409
1420
  status: "processing" | "completed" | "failed";
1410
1421
  error?: string;
1411
1422
  data?: unknown;
1423
+ /** Best-effort result on a failed run; never a completed `data` value. */
1424
+ partial?: unknown;
1425
+ /** Schema validity of `partial`, when a schema was supplied. */
1426
+ partialSchemaValid?: boolean;
1427
+ stopReason?: "credit_limit_reached";
1412
1428
  /**
1413
1429
  * Server-provided model name. Widened past the request-side union on
1414
1430
  * purpose: new models ship without an SDK release, so pinning this to known
@@ -1447,6 +1463,9 @@ interface AgentThreadRun {
1447
1463
  message: string | null;
1448
1464
  /** Only present when the request asked for includeData. */
1449
1465
  data?: unknown;
1466
+ partial?: unknown;
1467
+ partialSchemaValid?: boolean;
1468
+ stopReason?: "credit_limit_reached";
1450
1469
  suggestions?: AgentSuggestion[] | null;
1451
1470
  pendingApproval?: PendingApproval | null;
1452
1471
  exchange?: AgentExchangeSummary | null;
@@ -1999,11 +2018,11 @@ declare class HttpClient {
1999
2018
  getTimeoutMs(): number;
2000
2019
  private request;
2001
2020
  private sleep;
2002
- post<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2003
- postMultipart<T = any>(endpoint: string, formData: FormData, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2004
- get<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}>>;
2005
- delete<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}>>;
2006
- patch<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2021
+ post<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2022
+ postMultipart<T = any>(endpoint: string, formData: FormData, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2023
+ get<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}, any>>;
2024
+ delete<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}, any>>;
2025
+ patch<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2007
2026
  prepareHeaders(idempotencyKey?: string): Record<string, string>;
2008
2027
  }
2009
2028
 
@@ -2058,6 +2077,7 @@ declare function prepareAgentPayload(args: {
2058
2077
  origin?: string;
2059
2078
  maxCredits?: number;
2060
2079
  strictConstrainToURLs?: boolean;
2080
+ /** Defaults to spark-2. "spark-1-pro" and "spark-1-mini" are deprecated and run spark-2. */
2061
2081
  model?: "spark-1-pro" | "spark-1-mini" | "spark-2";
2062
2082
  effort?: AgentEffort;
2063
2083
  webhook?: string | AgentWebhookConfig;
@@ -2284,6 +2304,11 @@ declare class FirecrawlClient {
2284
2304
  json?: InferredJsonFromOptions<Opts>;
2285
2305
  }>;
2286
2306
  parse(file: ParseFile, options?: ParseOptions): Promise<Document>;
2307
+ /**
2308
+ * List the file formats the parse endpoint accepts on this deployment.
2309
+ * @returns Formats with their kind, extensions, MIME types, and availability.
2310
+ */
2311
+ getParseFormats(): Promise<ParseFormatInfo[]>;
2287
2312
  /**
2288
2313
  * Search the web and optionally scrape each result.
2289
2314
  * @param query Search query string.
@@ -3532,4 +3557,4 @@ declare class Firecrawl extends FirecrawlClient {
3532
3557
  get v1(): FirecrawlApp;
3533
3558
  }
3534
3559
 
3535
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOnTermsRequired, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSkippedProvider, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, type AgentTermsGate, type AgentTermsRequiredAction, type AgentThread, type AgentThreadResponse, type AgentThreadRun, type AgentTraceActiveBrowserSession, type AgentTraceAgentFinishedEvent, type AgentTraceAgentIdentity, type AgentTraceAgentRole, type AgentTraceAgentStartedEvent, type AgentTraceArtifactChange, type AgentTraceArtifactUpdatedEvent, type AgentTraceBrowserSessionFinishedEvent, type AgentTraceBrowserSessionStartedEvent, type AgentTraceError, type AgentTraceErrorOccurredEvent, type AgentTraceEvent, type AgentTraceProgressReportedEvent, type AgentTraceReasoningSummaryEvent, type AgentTraceResponse, type AgentTraceRunCancelRequestedEvent, type AgentTraceRunFinishedEvent, type AgentTraceRunStartedEvent, type AgentTraceToolCallFinishedEvent, type AgentTraceToolCallStartedEvent, type AgentWebhookConfig, type AgentWebhookEvent, type AlexandriaCall, type AlexandriaOptions, type AlexandriaScrapeData, type AlexandriaScrapeError, type AlexandriaScrapeRequest, type AlexandriaScrapeResult, type AttributesFormat, type AuditMetadata$1 as AuditMetadata, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type BrandingProfile, type BrowserCreateResponse, type BrowserDeleteResponse, type BrowserExecuteResponse, type BrowserListResponse, type BrowserSession, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreateMonitorRequest, type CreditUsage, type CreditUsageHistoricalPeriod, type CreditUsageHistoricalResponse, type DeveloperSearchLicenseDisclosure, type DeveloperSearchOptions, type DeveloperSearchPassage, type DeveloperSearchRepoStatus, type DeveloperSearchResponse, type DeveloperSearchResult, type DeveloperSearchSourceStatus, type DeveloperSearchType, type DiscoveredTool, type Document, type DocumentMetadata, type EndpointFeedbackEndpoint, type EndpointFeedbackRequest, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, type FeedbackMissingContent, type FeedbackRating, type FeedbackResponse, type FeedbackValuableSource, type FindToolsData, type FindToolsOptions, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type FirecrawlClientInput, type FirecrawlClientOptions, type Format, type FormatOption, type FormatString, type GetMonitorCheckOptions, type GetPaperOptions, type GitHubScoreBreakdown, type GitHubSearchItem, type GitHubSearchResponse, type HighlightsFormat, type IdMap, type ImageParser, JobTimeoutError, type JsonFormat, type ListMonitorChecksOptions, type ListMonitorsOptions, type LocationConfig$1 as LocationConfig, type MapData, type MapOptions, type MenuAvailability, type MenuImage, type MenuItem, type MenuItemIdentifiers, type MenuMerchant, type MenuPrice, type MenuProfile, type MenuSection, type Monitor, type MonitorCheck, type MonitorCheckDetail, type MonitorCheckPage, type MonitorCrawlTarget, type MonitorCrawlTargetResult, type MonitorEmailNotification, type MonitorEmailRecipientSubscription, type MonitorJsonFieldDiff, type MonitorNotification, type MonitorPageDiff, type MonitorPageJudgment, type MonitorPageSnapshot, type MonitorSchedule, type MonitorScrapeTarget, type MonitorScrapeTargetResult, type MonitorSearchTarget, type MonitorSearchTargetResult, type MonitorSummary, type MonitorTarget, type MonitorTargetResult, type MonitorWebhookConfig, type PDFAction, type PDFParser, type PaginationConfig, type PaperMetadata, type PaperMetadataResponse, type PaperResult, type PaperSignals, type ParseFile, type ParseFileData, type ParseFormat, type ParseFormatOption, type ParseFormatString, type ParseOptions, type Passage, type PdfBlockConfidence, type PdfBlockItem, type PdfPage, type PdfPageBlocks, type PendingApproval, type PendingApprovalCall, type PendingCallsApproval, type PendingTermsApproval, type PressAction, type ProductAvailability, type ProductImage, type ProductPrice, type ProductProfile, type ProductSale, type ProductVariant, type QueryFormat, type QuestionFormat, type QueueStatusResponse$1 as QueueStatusResponse, type ReadPaperResponse, type RedactPIIEntity, type RedactPIIOptions, type RequiresAction, ResearchClient, type ScrapeAction, type ScrapeBrowserDeleteResponse, type ScrapeExecuteRequest, type ScrapeExecuteResponse, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchFeedbackRequest, type SearchGithubOptions, type SearchPapersOptions, type SearchPapersResponse, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type SimilarPapersOptions, type SimilarPapersResponse, type ThreatProtectionOptions, type TokenUsage, type TokenUsageHistoricalPeriod, type TokenUsageHistoricalResponse, type UpdateMonitorRequest, type Viewport, type WaitAction, Watcher, type WatcherOptions, type WebhookConfig, type WriteAction, Firecrawl as default, parseRequiresAction };
3560
+ export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOnTermsRequired, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSkippedProvider, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, type AgentTermsGate, type AgentTermsRequiredAction, type AgentThread, type AgentThreadResponse, type AgentThreadRun, type AgentTraceActiveBrowserSession, type AgentTraceAgentFinishedEvent, type AgentTraceAgentIdentity, type AgentTraceAgentRole, type AgentTraceAgentStartedEvent, type AgentTraceArtifactChange, type AgentTraceArtifactUpdatedEvent, type AgentTraceBrowserSessionFinishedEvent, type AgentTraceBrowserSessionStartedEvent, type AgentTraceError, type AgentTraceErrorOccurredEvent, type AgentTraceEvent, type AgentTraceProgressReportedEvent, type AgentTraceReasoningSummaryEvent, type AgentTraceResponse, type AgentTraceRunCancelRequestedEvent, type AgentTraceRunFinishedEvent, type AgentTraceRunStartedEvent, type AgentTraceToolCallFinishedEvent, type AgentTraceToolCallStartedEvent, type AgentWebhookConfig, type AgentWebhookEvent, type AlexandriaCall, type AlexandriaOptions, type AlexandriaScrapeData, type AlexandriaScrapeError, type AlexandriaScrapeRequest, type AlexandriaScrapeResult, type AttributesFormat, type AuditMetadata$1 as AuditMetadata, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type BrandingProfile, type BrowserCreateResponse, type BrowserDeleteResponse, type BrowserExecuteResponse, type BrowserListResponse, type BrowserSession, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreateMonitorRequest, type CreditUsage, type CreditUsageHistoricalPeriod, type CreditUsageHistoricalResponse, type DeveloperSearchLicenseDisclosure, type DeveloperSearchOptions, type DeveloperSearchPassage, type DeveloperSearchRepoStatus, type DeveloperSearchResponse, type DeveloperSearchResult, type DeveloperSearchSourceStatus, type DeveloperSearchType, type DiscoveredTool, type Document, type DocumentMetadata, type EndpointFeedbackEndpoint, type EndpointFeedbackRequest, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, type FeedbackMissingContent, type FeedbackRating, type FeedbackResponse, type FeedbackValuableSource, type FindToolsData, type FindToolsOptions, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type FirecrawlClientInput, type FirecrawlClientOptions, type Format, type FormatOption, type FormatString, type GetMonitorCheckOptions, type GetPaperOptions, type GitHubScoreBreakdown, type GitHubSearchItem, type GitHubSearchResponse, type HighlightsFormat, type IdMap, type ImageParser, JobTimeoutError, type JsonFormat, type ListMonitorChecksOptions, type ListMonitorsOptions, type LocationConfig$1 as LocationConfig, type MapData, type MapOptions, type MenuAvailability, type MenuImage, type MenuItem, type MenuItemIdentifiers, type MenuMerchant, type MenuPrice, type MenuProfile, type MenuSection, type Monitor, type MonitorCheck, type MonitorCheckDetail, type MonitorCheckPage, type MonitorCrawlTarget, type MonitorCrawlTargetResult, type MonitorEmailNotification, type MonitorEmailRecipientSubscription, type MonitorJsonFieldDiff, type MonitorNotification, type MonitorPageDiff, type MonitorPageJudgment, type MonitorPageSnapshot, type MonitorSchedule, type MonitorScrapeTarget, type MonitorScrapeTargetResult, type MonitorSearchTarget, type MonitorSearchTargetResult, type MonitorSummary, type MonitorTarget, type MonitorTargetResult, type MonitorWebhookConfig, type PDFAction, type PDFParser, type PaginationConfig, type PaperMetadata, type PaperMetadataResponse, type PaperResult, type PaperSignals, type ParseFile, type ParseFileData, type ParseFormat, type ParseFormatInfo, type ParseFormatOption, type ParseFormatString, type ParseOptions, type Passage, type PdfBlockConfidence, type PdfBlockItem, type PdfPage, type PdfPageBlocks, type PendingApproval, type PendingApprovalCall, type PendingCallsApproval, type PendingTermsApproval, type PressAction, type ProductAvailability, type ProductImage, type ProductPrice, type ProductProfile, type ProductSale, type ProductVariant, type QueryFormat, type QuestionFormat, type QueueStatusResponse$1 as QueueStatusResponse, type ReadPaperResponse, type RedactPIIEntity, type RedactPIIOptions, type RequiresAction, ResearchClient, type ScrapeAction, type ScrapeBrowserDeleteResponse, type ScrapeExecuteRequest, type ScrapeExecuteResponse, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchFeedbackRequest, type SearchGithubOptions, type SearchPapersOptions, type SearchPapersResponse, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type SimilarPapersOptions, type SimilarPapersResponse, type ThreatProtectionOptions, type TokenUsage, type TokenUsageHistoricalPeriod, type TokenUsageHistoricalResponse, type UpdateMonitorRequest, type Viewport, type WaitAction, Watcher, type WatcherOptions, type WebhookConfig, type WriteAction, Firecrawl as default, parseRequiresAction };
package/dist/index.d.ts CHANGED
@@ -267,6 +267,17 @@ type ParseOptions = Omit<ScrapeOptions, "formats" | "waitFor" | "mobile" | "acti
267
267
  formats?: ParseFormatOption[];
268
268
  proxy?: "basic" | "auto";
269
269
  };
270
+ /** A file format accepted by the parse endpoint. */
271
+ interface ParseFormatInfo {
272
+ /** Format identifier, e.g. "pdf". */
273
+ format: string;
274
+ kind: "document" | "image" | (string & {});
275
+ /** File extensions including the leading dot, e.g. ".pdf". */
276
+ extensions: string[];
277
+ mimeTypes: string[];
278
+ /** False when the format is recognized but not enabled on this deployment. */
279
+ available: boolean;
280
+ }
270
281
  interface WebhookConfig {
271
282
  url: string;
272
283
  headers?: Record<string, string>;
@@ -1409,6 +1420,11 @@ interface AgentStatusResponse {
1409
1420
  status: "processing" | "completed" | "failed";
1410
1421
  error?: string;
1411
1422
  data?: unknown;
1423
+ /** Best-effort result on a failed run; never a completed `data` value. */
1424
+ partial?: unknown;
1425
+ /** Schema validity of `partial`, when a schema was supplied. */
1426
+ partialSchemaValid?: boolean;
1427
+ stopReason?: "credit_limit_reached";
1412
1428
  /**
1413
1429
  * Server-provided model name. Widened past the request-side union on
1414
1430
  * purpose: new models ship without an SDK release, so pinning this to known
@@ -1447,6 +1463,9 @@ interface AgentThreadRun {
1447
1463
  message: string | null;
1448
1464
  /** Only present when the request asked for includeData. */
1449
1465
  data?: unknown;
1466
+ partial?: unknown;
1467
+ partialSchemaValid?: boolean;
1468
+ stopReason?: "credit_limit_reached";
1450
1469
  suggestions?: AgentSuggestion[] | null;
1451
1470
  pendingApproval?: PendingApproval | null;
1452
1471
  exchange?: AgentExchangeSummary | null;
@@ -1999,11 +2018,11 @@ declare class HttpClient {
1999
2018
  getTimeoutMs(): number;
2000
2019
  private request;
2001
2020
  private sleep;
2002
- post<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2003
- postMultipart<T = any>(endpoint: string, formData: FormData, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2004
- get<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}>>;
2005
- delete<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}>>;
2006
- patch<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}>>;
2021
+ post<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2022
+ postMultipart<T = any>(endpoint: string, formData: FormData, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2023
+ get<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}, any>>;
2024
+ delete<T = any>(endpoint: string, headers?: Record<string, string>): Promise<AxiosResponse<T, any, {}, any>>;
2025
+ patch<T = any>(endpoint: string, body: Record<string, unknown>, options?: RequestOptions): Promise<AxiosResponse<T, any, {}, any>>;
2007
2026
  prepareHeaders(idempotencyKey?: string): Record<string, string>;
2008
2027
  }
2009
2028
 
@@ -2058,6 +2077,7 @@ declare function prepareAgentPayload(args: {
2058
2077
  origin?: string;
2059
2078
  maxCredits?: number;
2060
2079
  strictConstrainToURLs?: boolean;
2080
+ /** Defaults to spark-2. "spark-1-pro" and "spark-1-mini" are deprecated and run spark-2. */
2061
2081
  model?: "spark-1-pro" | "spark-1-mini" | "spark-2";
2062
2082
  effort?: AgentEffort;
2063
2083
  webhook?: string | AgentWebhookConfig;
@@ -2284,6 +2304,11 @@ declare class FirecrawlClient {
2284
2304
  json?: InferredJsonFromOptions<Opts>;
2285
2305
  }>;
2286
2306
  parse(file: ParseFile, options?: ParseOptions): Promise<Document>;
2307
+ /**
2308
+ * List the file formats the parse endpoint accepts on this deployment.
2309
+ * @returns Formats with their kind, extensions, MIME types, and availability.
2310
+ */
2311
+ getParseFormats(): Promise<ParseFormatInfo[]>;
2287
2312
  /**
2288
2313
  * Search the web and optionally scrape each result.
2289
2314
  * @param query Search query string.
@@ -3532,4 +3557,4 @@ declare class Firecrawl extends FirecrawlClient {
3532
3557
  get v1(): FirecrawlApp;
3533
3558
  }
3534
3559
 
3535
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOnTermsRequired, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSkippedProvider, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, type AgentTermsGate, type AgentTermsRequiredAction, type AgentThread, type AgentThreadResponse, type AgentThreadRun, type AgentTraceActiveBrowserSession, type AgentTraceAgentFinishedEvent, type AgentTraceAgentIdentity, type AgentTraceAgentRole, type AgentTraceAgentStartedEvent, type AgentTraceArtifactChange, type AgentTraceArtifactUpdatedEvent, type AgentTraceBrowserSessionFinishedEvent, type AgentTraceBrowserSessionStartedEvent, type AgentTraceError, type AgentTraceErrorOccurredEvent, type AgentTraceEvent, type AgentTraceProgressReportedEvent, type AgentTraceReasoningSummaryEvent, type AgentTraceResponse, type AgentTraceRunCancelRequestedEvent, type AgentTraceRunFinishedEvent, type AgentTraceRunStartedEvent, type AgentTraceToolCallFinishedEvent, type AgentTraceToolCallStartedEvent, type AgentWebhookConfig, type AgentWebhookEvent, type AlexandriaCall, type AlexandriaOptions, type AlexandriaScrapeData, type AlexandriaScrapeError, type AlexandriaScrapeRequest, type AlexandriaScrapeResult, type AttributesFormat, type AuditMetadata$1 as AuditMetadata, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type BrandingProfile, type BrowserCreateResponse, type BrowserDeleteResponse, type BrowserExecuteResponse, type BrowserListResponse, type BrowserSession, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreateMonitorRequest, type CreditUsage, type CreditUsageHistoricalPeriod, type CreditUsageHistoricalResponse, type DeveloperSearchLicenseDisclosure, type DeveloperSearchOptions, type DeveloperSearchPassage, type DeveloperSearchRepoStatus, type DeveloperSearchResponse, type DeveloperSearchResult, type DeveloperSearchSourceStatus, type DeveloperSearchType, type DiscoveredTool, type Document, type DocumentMetadata, type EndpointFeedbackEndpoint, type EndpointFeedbackRequest, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, type FeedbackMissingContent, type FeedbackRating, type FeedbackResponse, type FeedbackValuableSource, type FindToolsData, type FindToolsOptions, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type FirecrawlClientInput, type FirecrawlClientOptions, type Format, type FormatOption, type FormatString, type GetMonitorCheckOptions, type GetPaperOptions, type GitHubScoreBreakdown, type GitHubSearchItem, type GitHubSearchResponse, type HighlightsFormat, type IdMap, type ImageParser, JobTimeoutError, type JsonFormat, type ListMonitorChecksOptions, type ListMonitorsOptions, type LocationConfig$1 as LocationConfig, type MapData, type MapOptions, type MenuAvailability, type MenuImage, type MenuItem, type MenuItemIdentifiers, type MenuMerchant, type MenuPrice, type MenuProfile, type MenuSection, type Monitor, type MonitorCheck, type MonitorCheckDetail, type MonitorCheckPage, type MonitorCrawlTarget, type MonitorCrawlTargetResult, type MonitorEmailNotification, type MonitorEmailRecipientSubscription, type MonitorJsonFieldDiff, type MonitorNotification, type MonitorPageDiff, type MonitorPageJudgment, type MonitorPageSnapshot, type MonitorSchedule, type MonitorScrapeTarget, type MonitorScrapeTargetResult, type MonitorSearchTarget, type MonitorSearchTargetResult, type MonitorSummary, type MonitorTarget, type MonitorTargetResult, type MonitorWebhookConfig, type PDFAction, type PDFParser, type PaginationConfig, type PaperMetadata, type PaperMetadataResponse, type PaperResult, type PaperSignals, type ParseFile, type ParseFileData, type ParseFormat, type ParseFormatOption, type ParseFormatString, type ParseOptions, type Passage, type PdfBlockConfidence, type PdfBlockItem, type PdfPage, type PdfPageBlocks, type PendingApproval, type PendingApprovalCall, type PendingCallsApproval, type PendingTermsApproval, type PressAction, type ProductAvailability, type ProductImage, type ProductPrice, type ProductProfile, type ProductSale, type ProductVariant, type QueryFormat, type QuestionFormat, type QueueStatusResponse$1 as QueueStatusResponse, type ReadPaperResponse, type RedactPIIEntity, type RedactPIIOptions, type RequiresAction, ResearchClient, type ScrapeAction, type ScrapeBrowserDeleteResponse, type ScrapeExecuteRequest, type ScrapeExecuteResponse, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchFeedbackRequest, type SearchGithubOptions, type SearchPapersOptions, type SearchPapersResponse, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type SimilarPapersOptions, type SimilarPapersResponse, type ThreatProtectionOptions, type TokenUsage, type TokenUsageHistoricalPeriod, type TokenUsageHistoricalResponse, type UpdateMonitorRequest, type Viewport, type WaitAction, Watcher, type WatcherOptions, type WebhookConfig, type WriteAction, Firecrawl as default, parseRequiresAction };
3560
+ export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOnTermsRequired, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSkippedProvider, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, type AgentTermsGate, type AgentTermsRequiredAction, type AgentThread, type AgentThreadResponse, type AgentThreadRun, type AgentTraceActiveBrowserSession, type AgentTraceAgentFinishedEvent, type AgentTraceAgentIdentity, type AgentTraceAgentRole, type AgentTraceAgentStartedEvent, type AgentTraceArtifactChange, type AgentTraceArtifactUpdatedEvent, type AgentTraceBrowserSessionFinishedEvent, type AgentTraceBrowserSessionStartedEvent, type AgentTraceError, type AgentTraceErrorOccurredEvent, type AgentTraceEvent, type AgentTraceProgressReportedEvent, type AgentTraceReasoningSummaryEvent, type AgentTraceResponse, type AgentTraceRunCancelRequestedEvent, type AgentTraceRunFinishedEvent, type AgentTraceRunStartedEvent, type AgentTraceToolCallFinishedEvent, type AgentTraceToolCallStartedEvent, type AgentWebhookConfig, type AgentWebhookEvent, type AlexandriaCall, type AlexandriaOptions, type AlexandriaScrapeData, type AlexandriaScrapeError, type AlexandriaScrapeRequest, type AlexandriaScrapeResult, type AttributesFormat, type AuditMetadata$1 as AuditMetadata, type BatchScrapeJob, type BatchScrapeOptions, type BatchScrapeResponse$1 as BatchScrapeResponse, type BrandingProfile, type BrowserCreateResponse, type BrowserDeleteResponse, type BrowserExecuteResponse, type BrowserListResponse, type BrowserSession, type CategoryOption, type ChangeTrackingFormat, type ClickAction, type ConcurrencyCheck, type CrawlErrorsResponse$1 as CrawlErrorsResponse, type CrawlJob, type CrawlOptions, type CrawlResponse$1 as CrawlResponse, type CreateMonitorRequest, type CreditUsage, type CreditUsageHistoricalPeriod, type CreditUsageHistoricalResponse, type DeveloperSearchLicenseDisclosure, type DeveloperSearchOptions, type DeveloperSearchPassage, type DeveloperSearchRepoStatus, type DeveloperSearchResponse, type DeveloperSearchResult, type DeveloperSearchSourceStatus, type DeveloperSearchType, type DiscoveredTool, type Document, type DocumentMetadata, type EndpointFeedbackEndpoint, type EndpointFeedbackRequest, type ErrorDetails, type ExecuteJavascriptAction, type ExtractResponse$1 as ExtractResponse, type FeedbackMissingContent, type FeedbackRating, type FeedbackResponse, type FeedbackValuableSource, type FindToolsData, type FindToolsOptions, Firecrawl, FirecrawlApp as FirecrawlAppV1, FirecrawlClient, type FirecrawlClientInput, type FirecrawlClientOptions, type Format, type FormatOption, type FormatString, type GetMonitorCheckOptions, type GetPaperOptions, type GitHubScoreBreakdown, type GitHubSearchItem, type GitHubSearchResponse, type HighlightsFormat, type IdMap, type ImageParser, JobTimeoutError, type JsonFormat, type ListMonitorChecksOptions, type ListMonitorsOptions, type LocationConfig$1 as LocationConfig, type MapData, type MapOptions, type MenuAvailability, type MenuImage, type MenuItem, type MenuItemIdentifiers, type MenuMerchant, type MenuPrice, type MenuProfile, type MenuSection, type Monitor, type MonitorCheck, type MonitorCheckDetail, type MonitorCheckPage, type MonitorCrawlTarget, type MonitorCrawlTargetResult, type MonitorEmailNotification, type MonitorEmailRecipientSubscription, type MonitorJsonFieldDiff, type MonitorNotification, type MonitorPageDiff, type MonitorPageJudgment, type MonitorPageSnapshot, type MonitorSchedule, type MonitorScrapeTarget, type MonitorScrapeTargetResult, type MonitorSearchTarget, type MonitorSearchTargetResult, type MonitorSummary, type MonitorTarget, type MonitorTargetResult, type MonitorWebhookConfig, type PDFAction, type PDFParser, type PaginationConfig, type PaperMetadata, type PaperMetadataResponse, type PaperResult, type PaperSignals, type ParseFile, type ParseFileData, type ParseFormat, type ParseFormatInfo, type ParseFormatOption, type ParseFormatString, type ParseOptions, type Passage, type PdfBlockConfidence, type PdfBlockItem, type PdfPage, type PdfPageBlocks, type PendingApproval, type PendingApprovalCall, type PendingCallsApproval, type PendingTermsApproval, type PressAction, type ProductAvailability, type ProductImage, type ProductPrice, type ProductProfile, type ProductSale, type ProductVariant, type QueryFormat, type QuestionFormat, type QueueStatusResponse$1 as QueueStatusResponse, type ReadPaperResponse, type RedactPIIEntity, type RedactPIIOptions, type RequiresAction, ResearchClient, type ScrapeAction, type ScrapeBrowserDeleteResponse, type ScrapeExecuteRequest, type ScrapeExecuteResponse, type ScrapeOptions, type ScreenshotAction, type ScreenshotFormat, type ScrollAction, SdkError, type SearchData, type SearchFeedbackRequest, type SearchGithubOptions, type SearchPapersOptions, type SearchPapersResponse, type SearchRequest, type SearchResultImages, type SearchResultNews, type SearchResultWeb, type SimilarPapersOptions, type SimilarPapersResponse, type ThreatProtectionOptions, type TokenUsage, type TokenUsageHistoricalPeriod, type TokenUsageHistoricalResponse, type UpdateMonitorRequest, type Viewport, type WaitAction, Watcher, type WatcherOptions, type WebhookConfig, type WriteAction, Firecrawl as default, parseRequiresAction };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-YG554MNR.js";
3
+ } from "./chunk-XZ5XI5DK.js";
4
4
 
5
5
  // src/v2/utils/httpClient.ts
6
6
  import axios from "axios";
@@ -654,6 +654,16 @@ async function parse(http, file, options) {
654
654
  throw err;
655
655
  }
656
656
  }
657
+ async function getParseFormats(http) {
658
+ try {
659
+ const res = await http.get("/v2/parse/formats");
660
+ if (res.status !== 200 || !res.data?.success) throwForBadResponse(res, "get parse formats");
661
+ return res.data.data?.formats ?? [];
662
+ } catch (err) {
663
+ if (err?.isAxiosError) return normalizeAxiosError(err, "get parse formats");
664
+ throw err;
665
+ }
666
+ }
657
667
 
658
668
  // src/v2/methods/search.ts
659
669
  function prepareSearchPayload(req) {
@@ -2236,6 +2246,13 @@ var FirecrawlClient = class {
2236
2246
  async parse(file, options) {
2237
2247
  return parse(this.http, file, options);
2238
2248
  }
2249
+ /**
2250
+ * List the file formats the parse endpoint accepts on this deployment.
2251
+ * @returns Formats with their kind, extensions, MIME types, and availability.
2252
+ */
2253
+ async getParseFormats() {
2254
+ return getParseFormats(this.http);
2255
+ }
2239
2256
  // Search
2240
2257
  /**
2241
2258
  * Search the web and optionally scrape each result.
@@ -2689,7 +2706,7 @@ var FirecrawlApp = class {
2689
2706
  if (typeof process !== "undefined" && process.env && process.env.npm_package_version) {
2690
2707
  return process.env.npm_package_version;
2691
2708
  }
2692
- const packageJson = await import("./package-FOKY5K5X.js");
2709
+ const packageJson = await import("./package-JVVNUZPT.js");
2693
2710
  return packageJson.default.version;
2694
2711
  } catch (error) {
2695
2712
  const isTest = typeof process !== "undefined" && (process.env.JEST_WORKER_ID != null || false);
@@ -1,4 +1,4 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-YG554MNR.js";
3
+ } from "./chunk-XZ5XI5DK.js";
4
4
  export default require_package();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mendable/firecrawl-js",
3
- "version": "4.42.1",
3
+ "version": "4.42.2",
4
4
  "description": "JavaScript SDK for the Firecrawl API: web scraping, crawling, web search, and scientific literature search over a research paper index of PubMed, bioRxiv, medRxiv and arXiv abstracts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "author": "Mendable.ai",
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "axios": "1.18.0",
22
+ "axios": "1.20.0",
23
23
  "firecrawl": "4.30.1",
24
24
  "typescript-event-target": "^1.1.1",
25
25
  "zod": "^3.23.8",
@@ -12,7 +12,12 @@ overrides:
12
12
  "brace-expansion@>=5.0.0 <5.0.12": "5.0.12"
13
13
  "js-yaml@>=3.0.0 <3.15.2": "3.15.2"
14
14
  "js-yaml@>=4.0.0 <4.3.2": "4.3.2"
15
- "axios@>=1.0.0 <1.16.0": "1.16.1"
15
+ # GHSA-vh66-26gq-q6x8 / GHSA-9fr6-4gfg-395g / GHSA-c29m-xwm3-cm6r /
16
+ # GHSA-mghh-pgcx-3jjj / GHSA-x97p-jq2g-jp4f / GHSA-3pq3-5fj3-cg6v /
17
+ # GHSA-542g-h47m-68v8 / GHSA-j8rh-479h-cp32 / GHSA-4hqw-qxg8-jxx2 /
18
+ # GHSA-m8m8-qj5v-23w3 / GHSA-44g4-m2mj-wpvx / GHSA-r4gj-5m52-g5wh:
19
+ # pin the 1.x line only. Exact 1.20.0 cannot resolve to 2.x.
20
+ "axios@>=1.0.0 <1.20.0": "1.20.0"
16
21
  "follow-redirects@<1.16.0": ">=1.16.0 <2.0.0"
17
22
  "form-data@>=4.0.0 <4.0.6": "4.0.6"
18
23
  "@babel/core@>=7.0.0 <7.29.6": "7.29.7"
@@ -3,6 +3,7 @@ import { config } from "dotenv";
3
3
  import { getIdentity, getApiUrl } from "./utils/idmux";
4
4
  import { testTimeoutMs, withRateLimitRetry } from "./utils/rateLimit";
5
5
  import { describe, test, expect, beforeAll } from "@jest/globals";
6
+ import { SdkError } from "../../../v2/types";
6
7
 
7
8
  config();
8
9
 
@@ -65,4 +66,29 @@ describe("v2.parse e2e", () => {
65
66
  },
66
67
  testTimeoutMs(60_000),
67
68
  );
69
+
70
+ test(
71
+ "lists supported parse formats",
72
+ async () => {
73
+ if (!client) throw new Error();
74
+
75
+ let formats;
76
+ try {
77
+ formats = await client.getParseFormats();
78
+ } catch (err) {
79
+ if (err instanceof SdkError && err.status === 404) {
80
+ console.warn("Skipping: /v2/parse/formats is not deployed on this API");
81
+ return;
82
+ }
83
+ throw err;
84
+ }
85
+
86
+ expect(formats.length).toBeGreaterThan(0);
87
+ const pdf = formats.find(f => f.format === "pdf");
88
+ expect(pdf?.kind).toBe("document");
89
+ expect(pdf?.extensions).toContain(".pdf");
90
+ expect(pdf?.mimeTypes).toContain("application/pdf");
91
+ },
92
+ testTimeoutMs(60_000),
93
+ );
68
94
  });
@@ -0,0 +1,84 @@
1
+ import { describe, test, expect } from "@jest/globals";
2
+ import axios, { type AxiosAdapter } from "axios";
3
+ import { Firecrawl } from "../../../index";
4
+ import { SdkError } from "../../../v2/types";
5
+
6
+ const API_URL = "https://api.firecrawl.dev";
7
+ const API_KEY = "fc-test";
8
+
9
+ function makeClient(status: number, data: unknown) {
10
+ const client = new Firecrawl({ apiKey: API_KEY, apiUrl: API_URL });
11
+ const sent: Array<{ url: string; method?: string; authorization: unknown }> = [];
12
+ const adapter: AxiosAdapter = async config => {
13
+ sent.push({ url: axios.getUri(config), method: config.method, authorization: config.headers.Authorization });
14
+ const response = { data, status, statusText: "", headers: {}, config };
15
+ if (status >= 400) {
16
+ throw new axios.AxiosError(`Request failed with status code ${status}`, "ERR_BAD_RESPONSE", config, null, response);
17
+ }
18
+ return response;
19
+ };
20
+ (client as any).http.instance.defaults.adapter = adapter;
21
+ return { client, sent };
22
+ }
23
+
24
+ describe("v2.getParseFormats unit", () => {
25
+ test("GETs /v2/parse/formats with auth and unwraps data.formats", async () => {
26
+ const { client, sent } = makeClient(200, {
27
+ success: true,
28
+ data: {
29
+ formats: [
30
+ { format: "pdf", kind: "document", extensions: [".pdf"], mimeTypes: ["application/pdf"], available: true },
31
+ { format: "png", kind: "image", extensions: [".png"], mimeTypes: ["image/png"], available: false },
32
+ ],
33
+ },
34
+ });
35
+
36
+ const formats = await client.getParseFormats();
37
+
38
+ expect(sent).toEqual([{ url: `${API_URL}/v2/parse/formats`, method: "get", authorization: `Bearer ${API_KEY}` }]);
39
+ expect(formats).toHaveLength(2);
40
+ expect(formats[0]).toEqual({ format: "pdf", kind: "document", extensions: [".pdf"], mimeTypes: ["application/pdf"], available: true });
41
+ expect(formats[1]!.kind).toBe("image");
42
+ expect(formats[1]!.mimeTypes).toEqual(["image/png"]);
43
+ expect(formats[1]!.available).toBe(false);
44
+ });
45
+
46
+ test("tolerates unknown kinds and extra fields", async () => {
47
+ const { client } = makeClient(200, {
48
+ success: true,
49
+ data: {
50
+ formats: [
51
+ { format: "mp3", kind: "audio", extensions: [".mp3"], mimeTypes: ["audio/mpeg"], available: true, maxSizeMb: 50 },
52
+ ],
53
+ },
54
+ });
55
+
56
+ const [format] = await client.getParseFormats();
57
+
58
+ expect(format!.format).toBe("mp3");
59
+ expect(format!.kind).toBe("audio");
60
+ expect(format!.mimeTypes).toEqual(["audio/mpeg"]);
61
+ });
62
+
63
+ test("returns an empty list when formats is missing", async () => {
64
+ const { client } = makeClient(200, { success: true, data: {} });
65
+
66
+ await expect(client.getParseFormats()).resolves.toEqual([]);
67
+ });
68
+
69
+ test.each([401, 500])("throws SdkError on %i", async status => {
70
+ const { client } = makeClient(status, { success: false, error: "Unauthorized" });
71
+
72
+ const err = await client.getParseFormats().catch(e => e);
73
+
74
+ expect(err).toBeInstanceOf(SdkError);
75
+ expect(err.status).toBe(status);
76
+ expect(err.message).toBe("Unauthorized");
77
+ });
78
+
79
+ test("throws SdkError when success is false", async () => {
80
+ const { client } = makeClient(200, { success: false, error: "nope" });
81
+
82
+ await expect(client.getParseFormats()).rejects.toBeInstanceOf(SdkError);
83
+ });
84
+ });
package/src/v2/client.ts CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  interact as interactMethod,
5
5
  stopInteraction as stopInteractionMethod,
6
6
  } from "./methods/scrape";
7
- import { parse as parseMethod } from "./methods/parse";
7
+ import { parse as parseMethod, getParseFormats } from "./methods/parse";
8
8
  import { search } from "./methods/search";
9
9
  import { scrapeAlexandria, findTools } from "./methods/tools";
10
10
  import { developerSearch as developerSearchMethod } from "./methods/developer";
@@ -53,6 +53,7 @@ import type {
53
53
  FindToolsData,
54
54
  AlexandriaScrapeData,
55
55
  ParseFile,
56
+ ParseFormatInfo,
56
57
  ParseOptions,
57
58
  ScrapeOptions,
58
59
  SearchData,
@@ -273,6 +274,14 @@ export class FirecrawlClient {
273
274
  return parseMethod(this.http, file, options);
274
275
  }
275
276
 
277
+ /**
278
+ * List the file formats the parse endpoint accepts on this deployment.
279
+ * @returns Formats with their kind, extensions, MIME types, and availability.
280
+ */
281
+ async getParseFormats(): Promise<ParseFormatInfo[]> {
282
+ return getParseFormats(this.http);
283
+ }
284
+
276
285
  // Search
277
286
  /**
278
287
  * Search the web and optionally scrape each result.
@@ -12,6 +12,7 @@ function prepareAgentPayload(args: {
12
12
  origin?: string;
13
13
  maxCredits?: number;
14
14
  strictConstrainToURLs?: boolean;
15
+ /** Defaults to spark-2. "spark-1-pro" and "spark-1-mini" are deprecated and run spark-2. */
15
16
  model?: "spark-1-pro" | "spark-1-mini" | "spark-2";
16
17
  effort?: AgentEffort;
17
18
  webhook?: string | AgentWebhookConfig;
@@ -1,4 +1,4 @@
1
- import { type Document, type ParseFile, type ParseOptions } from "../types";
1
+ import { type Document, type ParseFile, type ParseFormatInfo, type ParseOptions } from "../types";
2
2
  import { HttpClient } from "../utils/httpClient";
3
3
  import { agentHintMetadata } from "../utils/agentHints";
4
4
  import { ensureValidParseOptions } from "../utils/validation";
@@ -95,3 +95,14 @@ export async function parse(
95
95
  throw err;
96
96
  }
97
97
  }
98
+
99
+ export async function getParseFormats(http: HttpClient): Promise<ParseFormatInfo[]> {
100
+ try {
101
+ const res = await http.get<{ success: boolean; data?: { formats: ParseFormatInfo[] } }>("/v2/parse/formats");
102
+ if (res.status !== 200 || !res.data?.success) throwForBadResponse(res, "get parse formats");
103
+ return res.data.data?.formats ?? [];
104
+ } catch (err: any) {
105
+ if (err?.isAxiosError) return normalizeAxiosError(err, "get parse formats");
106
+ throw err;
107
+ }
108
+ }
package/src/v2/types.ts CHANGED
@@ -366,6 +366,18 @@ export type ParseOptions = Omit<
366
366
  proxy?: "basic" | "auto";
367
367
  };
368
368
 
369
+ /** A file format accepted by the parse endpoint. */
370
+ export interface ParseFormatInfo {
371
+ /** Format identifier, e.g. "pdf". */
372
+ format: string;
373
+ kind: "document" | "image" | (string & {});
374
+ /** File extensions including the leading dot, e.g. ".pdf". */
375
+ extensions: string[];
376
+ mimeTypes: string[];
377
+ /** False when the format is recognized but not enabled on this deployment. */
378
+ available: boolean;
379
+ }
380
+
369
381
  export interface WebhookConfig {
370
382
  url: string;
371
383
  headers?: Record<string, string>;
@@ -1627,6 +1639,11 @@ export interface AgentStatusResponse {
1627
1639
  status: "processing" | "completed" | "failed";
1628
1640
  error?: string;
1629
1641
  data?: unknown;
1642
+ /** Best-effort result on a failed run; never a completed `data` value. */
1643
+ partial?: unknown;
1644
+ /** Schema validity of `partial`, when a schema was supplied. */
1645
+ partialSchemaValid?: boolean;
1646
+ stopReason?: "credit_limit_reached";
1630
1647
  /**
1631
1648
  * Server-provided model name. Widened past the request-side union on
1632
1649
  * purpose: new models ship without an SDK release, so pinning this to known
@@ -1672,6 +1689,9 @@ export interface AgentThreadRun {
1672
1689
  message: string | null;
1673
1690
  /** Only present when the request asked for includeData. */
1674
1691
  data?: unknown;
1692
+ partial?: unknown;
1693
+ partialSchemaValid?: boolean;
1694
+ stopReason?: "credit_limit_reached";
1675
1695
  suggestions?: AgentSuggestion[] | null;
1676
1696
  pendingApproval?: PendingApproval | null;
1677
1697
  exchange?: AgentExchangeSummary | null;