@mendable/firecrawl-js 4.41.0 → 4.42.1

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.
@@ -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.41.0",
15
+ version: "4.42.1",
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",
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.41.0",
42
+ version: "4.42.1",
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",
@@ -150,6 +150,21 @@ function getVersion() {
150
150
  }
151
151
  }
152
152
 
153
+ // src/utils/apiOrigin.ts
154
+ function pinToApiOrigin(apiUrl, url) {
155
+ const normalized = url.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "");
156
+ if (!/^([a-z][a-z\d+\-.]*:|[\\/]{2})/i.test(normalized)) return url;
157
+ const base = URL.canParse(apiUrl) ? new URL(apiUrl) : null;
158
+ if (!base?.host) {
159
+ throw new Error(`apiUrl must be an absolute URL, got ${JSON.stringify(apiUrl)}`);
160
+ }
161
+ const target = new URL(normalized, base);
162
+ const pinned = new URL(base.origin);
163
+ pinned.pathname = target.pathname;
164
+ pinned.search = target.search;
165
+ return pinned.href;
166
+ }
167
+
153
168
  // src/v2/utils/httpClient.ts
154
169
  var HttpClient = class {
155
170
  instance;
@@ -190,6 +205,7 @@ var HttpClient = class {
190
205
  config.headers = {
191
206
  ...config.headers || {}
192
207
  };
208
+ if (config.url) config.url = pinToApiOrigin(this.apiUrl, config.url);
193
209
  let lastError;
194
210
  for (let attempt = 0; attempt < this.maxRetries; attempt++) {
195
211
  try {
@@ -317,6 +333,12 @@ var JobTimeoutError = class extends SdkError {
317
333
  }
318
334
  };
319
335
 
336
+ // src/v2/utils/agentHints.ts
337
+ function agentHintMetadata(body) {
338
+ const hints = body?.agent_hints;
339
+ return Array.isArray(hints) && hints.every((hint) => typeof hint === "string") ? { agent_hints: [...hints] } : {};
340
+ }
341
+
320
342
  // src/utils/zodSchemaToJson.ts
321
343
  var import_zod_to_json_schema = require("zod-to-json-schema");
322
344
  function isZodSchema(value) {
@@ -550,7 +572,7 @@ function throwForBadResponse(resp, action) {
550
572
  const status = resp.status;
551
573
  const body = resp.data || {};
552
574
  const msg = body?.error || body?.message || `Request failed (${status}) while trying to ${action}`;
553
- throw new SdkError(
575
+ throw Object.assign(new SdkError(
554
576
  msg,
555
577
  status,
556
578
  body?.code,
@@ -558,14 +580,14 @@ function throwForBadResponse(resp, action) {
558
580
  void 0,
559
581
  body?.chargeId,
560
582
  parseRequiresAction(body?.requiresAction)
561
- );
583
+ ), agentHintMetadata(body));
562
584
  }
563
585
  function normalizeAxiosError(err, action) {
564
586
  const status = err.response?.status;
565
587
  const body = err.response?.data;
566
588
  const message = body?.error || err.message || `Request failed${status ? ` (${status})` : ""} while trying to ${action}`;
567
589
  const code = body?.code || err.code;
568
- throw new SdkError(
590
+ throw Object.assign(new SdkError(
569
591
  message,
570
592
  status,
571
593
  code,
@@ -573,7 +595,7 @@ function normalizeAxiosError(err, action) {
573
595
  void 0,
574
596
  body?.chargeId,
575
597
  parseRequiresAction(body?.requiresAction)
576
- );
598
+ ), agentHintMetadata(body));
577
599
  }
578
600
  function isRetryableError(err) {
579
601
  if (err instanceof JobTimeoutError) {
@@ -641,7 +663,7 @@ async function scrape(http, url, options, deps = {}) {
641
663
  if (res.status !== 200 || !res.data?.success) {
642
664
  throwForBadResponse(res, "scrape");
643
665
  }
644
- return res.data.data || {};
666
+ return { ...res.data.data, ...agentHintMetadata(res.data) };
645
667
  } catch (err) {
646
668
  const delayMs = autoResume !== false ? processingContinuesDelayMs(err) : void 0;
647
669
  if (delayMs !== void 0 && resumes < RESUME_MAX_ATTEMPTS && resumeWaitedMs + delayMs <= RESUME_MAX_TOTAL_WAIT_MS) {
@@ -758,7 +780,7 @@ async function parse(http, file, options) {
758
780
  if (res.status !== 200 || !res.data?.success) {
759
781
  throwForBadResponse(res, "parse");
760
782
  }
761
- return res.data.data || {};
783
+ return { ...res.data.data, ...agentHintMetadata(res.data) };
762
784
  } catch (err) {
763
785
  if (err?.isAxiosError) return normalizeAxiosError(err, "parse");
764
786
  throw err;
@@ -832,7 +854,7 @@ async function search(http, request) {
832
854
  throwForBadResponse(res, "search");
833
855
  }
834
856
  const data = res.data.data || {};
835
- const out = {};
857
+ const out = { ...agentHintMetadata(res.data) };
836
858
  if (res.data.warning) out.warning = res.data.warning;
837
859
  if (data.web) out.web = transformArray(data.web);
838
860
  if (data.news) out.news = transformArray(data.news);
@@ -1037,7 +1059,7 @@ async function map(http, url, options) {
1037
1059
  description: item.description
1038
1060
  });
1039
1061
  }
1040
- return { id: res.data.id, links };
1062
+ return { id: res.data.id, links, ...agentHintMetadata(res.data) };
1041
1063
  } catch (err) {
1042
1064
  if (err?.isAxiosError) return normalizeAxiosError(err, "map");
1043
1065
  throw err;
@@ -3014,7 +3036,7 @@ var FirecrawlApp = class {
3014
3036
  throw new FirecrawlError("No crawl ID provided", 400);
3015
3037
  }
3016
3038
  const headers = this.prepareHeaders();
3017
- const targetURL = new URL(nextURL ?? `${this.apiUrl}/v1/crawl/${id}`);
3039
+ const targetURL = new URL(nextURL ?? `${this.apiUrl}/v1/crawl/${id}`, this.apiUrl);
3018
3040
  if (skip !== void 0) {
3019
3041
  targetURL.searchParams.set("skip", skip.toString());
3020
3042
  }
@@ -3259,7 +3281,7 @@ var FirecrawlApp = class {
3259
3281
  throw new FirecrawlError("No batch scrape ID provided", 400);
3260
3282
  }
3261
3283
  const headers = this.prepareHeaders();
3262
- const targetURL = new URL(nextURL ?? `${this.apiUrl}/v1/batch/scrape/${id}`);
3284
+ const targetURL = new URL(nextURL ?? `${this.apiUrl}/v1/batch/scrape/${id}`, this.apiUrl);
3263
3285
  if (skip !== void 0) {
3264
3286
  targetURL.searchParams.set("skip", skip.toString());
3265
3287
  }
@@ -3471,7 +3493,7 @@ var FirecrawlApp = class {
3471
3493
  */
3472
3494
  async getRequest(url, headers) {
3473
3495
  try {
3474
- return await import_axios3.default.get(url, { headers });
3496
+ return await import_axios3.default.get(pinToApiOrigin(this.apiUrl, url), { headers });
3475
3497
  } catch (error) {
3476
3498
  if (error instanceof import_axios3.AxiosError && error.response) {
3477
3499
  return error.response;
package/dist/index.d.cts CHANGED
@@ -540,6 +540,8 @@ interface DocumentMetadata {
540
540
  [key: string]: unknown;
541
541
  }
542
542
  interface Document {
543
+ /** API guidance, separate from extracted page content. */
544
+ agent_hints?: string[];
543
545
  markdown?: string;
544
546
  html?: string;
545
547
  rawHtml?: string;
@@ -671,6 +673,7 @@ interface SearchResultImages {
671
673
  position?: number;
672
674
  }
673
675
  interface SearchData {
676
+ agent_hints?: string[];
674
677
  warning?: string;
675
678
  web?: Array<SearchResultWeb | Document>;
676
679
  news?: Array<SearchResultNews | Document>;
@@ -917,6 +920,7 @@ interface BatchScrapeJob {
917
920
  data: Document[];
918
921
  }
919
922
  interface MapData {
923
+ agent_hints?: string[];
920
924
  id?: string;
921
925
  links: SearchResultWeb[];
922
926
  }
@@ -1236,7 +1240,11 @@ interface AgentExchangeOptions {
1236
1240
  toolkits?: string[];
1237
1241
  maxCalls?: number;
1238
1242
  requireApproval?: boolean;
1239
- /** Answers a pendingApproval from the previous turn of the thread. */
1243
+ /**
1244
+ * Answers a pendingApproval from the previous turn of the thread. A `terms`
1245
+ * approval is accepted or declined as a whole: `callIds` and `always` are
1246
+ * ignored on it.
1247
+ */
1240
1248
  approve?: {
1241
1249
  approvalId: string;
1242
1250
  callIds?: string[];
@@ -1245,6 +1253,75 @@ interface AgentExchangeOptions {
1245
1253
  decline?: {
1246
1254
  approvalId: string;
1247
1255
  };
1256
+ /**
1257
+ * What to do when a provider the agent would use needs data terms the team
1258
+ * has not accepted. Gated providers are never called in any mode:
1259
+ * - "skip" (server default): answer with accepted providers only and list
1260
+ * the gated ones in `exchange.skippedProviders`.
1261
+ * - "ask": the same, plus `exchange.requiresAction` and a `terms`
1262
+ * pendingApproval. Get your user's explicit consent, call terms/accept,
1263
+ * then continue the thread with `approve: { approvalId }`.
1264
+ * Terms gating is rolling out: until it is on for a thread, none of the
1265
+ * terms fields appear. There is no auto-accept mode. Omitted on a follow-up turn inherits the
1266
+ * previous turn's value.
1267
+ */
1268
+ onTermsRequired?: AgentOnTermsRequired;
1269
+ }
1270
+ type AgentOnTermsRequired = "skip" | "ask";
1271
+ /** A gated provider the run would have used but did not. */
1272
+ interface AgentSkippedProvider {
1273
+ provider: string;
1274
+ name: string;
1275
+ capability?: string;
1276
+ /** What it would have added, in the agent's words. */
1277
+ adds?: string;
1278
+ reason: "terms_required";
1279
+ /** The gating terms version. */
1280
+ version: string;
1281
+ /** Where a person accepts the terms in the dashboard. */
1282
+ termsUrl: string;
1283
+ }
1284
+ /**
1285
+ * The exact Exchange calls to view and accept a provider's terms. Nothing here
1286
+ * is executed for you, and terms/accept must only be called after the user
1287
+ * has explicitly agreed to that provider's terms.
1288
+ */
1289
+ interface AgentTermsRequiredAction {
1290
+ type: "accept_terms";
1291
+ /**
1292
+ * The `terms` pendingApproval that answers this. After the user agrees and
1293
+ * terms/accept succeeds, continue the thread with
1294
+ * `exchange.approve: { approvalId }`, or refuse with `decline`.
1295
+ */
1296
+ approvalId: string;
1297
+ providers: {
1298
+ provider: string;
1299
+ name: string;
1300
+ capability?: string;
1301
+ adds?: string;
1302
+ version: string;
1303
+ /** null when the catalog published no digest; terms/show returns it. */
1304
+ digest: string | null;
1305
+ url: string;
1306
+ show: {
1307
+ provider: "firecrawl";
1308
+ capability: "terms/show";
1309
+ options: {
1310
+ provider: string;
1311
+ };
1312
+ };
1313
+ accept: {
1314
+ provider: "firecrawl";
1315
+ capability: "terms/accept";
1316
+ options: {
1317
+ provider: string;
1318
+ version: string;
1319
+ /** null when the catalog published no digest; terms/show returns it. */
1320
+ digest: string | null;
1321
+ confirmed: true;
1322
+ };
1323
+ };
1324
+ }[];
1248
1325
  }
1249
1326
  /** Per-run summary reported on a status response. */
1250
1327
  interface AgentExchangeSummary {
@@ -1252,33 +1329,72 @@ interface AgentExchangeSummary {
1252
1329
  /** What the run resolved to after thread inheritance, not what it requested. */
1253
1330
  toolkits?: string[];
1254
1331
  requireApproval?: boolean;
1332
+ onTermsRequired?: AgentOnTermsRequired;
1255
1333
  paidCalls: number;
1256
1334
  creditsUsed: number | null;
1335
+ /** Gated providers that would have helped and were not used. Any mode. */
1336
+ skippedProviders?: AgentSkippedProvider[];
1337
+ /** "ask" mode, when a terms offer ended the turn. */
1338
+ requiresAction?: AgentTermsRequiredAction;
1339
+ }
1340
+ /** A provider in a `terms` pendingApproval. */
1341
+ interface AgentTermsGate {
1342
+ provider: string;
1343
+ name: string;
1344
+ logo?: string;
1345
+ capability?: string;
1346
+ adds?: string;
1347
+ version: string;
1348
+ /** null when the catalog published no digest; terms/show returns it. */
1349
+ digest: string | null;
1350
+ url: string;
1257
1351
  }
1258
1352
  /** A follow-up the agent offers for the next turn of the thread. */
1259
1353
  interface AgentSuggestion {
1260
1354
  label: string;
1261
1355
  prompt: string;
1262
1356
  }
1263
- /** A turn that ended waiting for the caller to allow or refuse paid calls. */
1264
- interface PendingApproval {
1357
+ /** A paid call a `calls` pendingApproval is holding back. */
1358
+ interface PendingApprovalCall {
1359
+ id: string;
1360
+ provider: string;
1361
+ capability: string;
1362
+ input: Record<string, unknown>;
1363
+ more?: Record<string, unknown>[];
1364
+ creditsEstimate: number | null;
1365
+ }
1366
+ interface PendingApprovalBase {
1265
1367
  id: string;
1266
1368
  reason: string;
1267
- calls: {
1268
- id: string;
1269
- provider: string;
1270
- capability: string;
1271
- input: Record<string, unknown>;
1272
- more?: Record<string, unknown>[];
1273
- creditsEstimate: number | null;
1274
- }[];
1275
1369
  resolution: null | {
1276
1370
  approved: boolean;
1371
+ /** Calls approved. Ignored on terms offers. */
1277
1372
  callIds: string[];
1278
1373
  always: boolean;
1279
1374
  byRunId: string;
1280
1375
  };
1281
1376
  }
1377
+ /**
1378
+ * A turn that ended waiting for the caller to allow or refuse paid calls.
1379
+ * `kind` is absent on items written before terms offers existed.
1380
+ */
1381
+ interface PendingCallsApproval extends PendingApprovalBase {
1382
+ kind?: "calls";
1383
+ calls: PendingApprovalCall[];
1384
+ terms?: never;
1385
+ }
1386
+ /**
1387
+ * A turn that ended waiting for the caller to accept providers' data terms
1388
+ * ("ask" mode). `calls` is always empty (typed `never[]` rather
1389
+ * than `[]` so existing `pendingApproval.calls[0]` code still compiles).
1390
+ */
1391
+ interface PendingTermsApproval extends PendingApprovalBase {
1392
+ kind: "terms";
1393
+ calls: never[];
1394
+ terms: AgentTermsGate[];
1395
+ }
1396
+ /** Narrow on `kind === "terms"`. */
1397
+ type PendingApproval = PendingCallsApproval | PendingTermsApproval;
1282
1398
  interface AgentResponse {
1283
1399
  success: boolean;
1284
1400
  id: string;
@@ -1560,6 +1676,8 @@ interface CrawlErrorsResponse$1 {
1560
1676
  url: string;
1561
1677
  code?: string;
1562
1678
  error: string;
1679
+ /** Present when the page needs provider terms accepted first. */
1680
+ requiresAction?: RequiresAction;
1563
1681
  }[];
1564
1682
  robotsBlocked: string[];
1565
1683
  }
@@ -1588,6 +1706,7 @@ interface RequiresAction {
1588
1706
  }
1589
1707
  declare function parseRequiresAction(value: unknown): RequiresAction | undefined;
1590
1708
  declare class SdkError extends Error {
1709
+ agent_hints?: string[];
1591
1710
  requestId?: string;
1592
1711
  status?: number;
1593
1712
  code?: string;
@@ -1631,10 +1750,12 @@ interface BrowserExecuteResponse {
1631
1750
  stderr?: string;
1632
1751
  exitCode?: number;
1633
1752
  killed?: boolean;
1753
+ truncated?: boolean;
1634
1754
  error?: string;
1635
1755
  }
1636
1756
  interface BrowserDeleteResponse {
1637
1757
  success: boolean;
1758
+ status?: string;
1638
1759
  sessionDurationMs?: number;
1639
1760
  creditsBilled?: number;
1640
1761
  error?: string;
@@ -2874,6 +2995,8 @@ interface CrawlErrorsResponse {
2874
2995
  url: string;
2875
2996
  code?: string;
2876
2997
  error: string;
2998
+ /** Present when the page needs provider terms accepted first. */
2999
+ requiresAction?: RequiresAction;
2877
3000
  }[];
2878
3001
  /**
2879
3002
  * URLs blocked by robots.txt
@@ -3409,4 +3532,4 @@ declare class Firecrawl extends FirecrawlClient {
3409
3532
  get v1(): FirecrawlApp;
3410
3533
  }
3411
3534
 
3412
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, 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 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 };
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 };
package/dist/index.d.ts CHANGED
@@ -540,6 +540,8 @@ interface DocumentMetadata {
540
540
  [key: string]: unknown;
541
541
  }
542
542
  interface Document {
543
+ /** API guidance, separate from extracted page content. */
544
+ agent_hints?: string[];
543
545
  markdown?: string;
544
546
  html?: string;
545
547
  rawHtml?: string;
@@ -671,6 +673,7 @@ interface SearchResultImages {
671
673
  position?: number;
672
674
  }
673
675
  interface SearchData {
676
+ agent_hints?: string[];
674
677
  warning?: string;
675
678
  web?: Array<SearchResultWeb | Document>;
676
679
  news?: Array<SearchResultNews | Document>;
@@ -917,6 +920,7 @@ interface BatchScrapeJob {
917
920
  data: Document[];
918
921
  }
919
922
  interface MapData {
923
+ agent_hints?: string[];
920
924
  id?: string;
921
925
  links: SearchResultWeb[];
922
926
  }
@@ -1236,7 +1240,11 @@ interface AgentExchangeOptions {
1236
1240
  toolkits?: string[];
1237
1241
  maxCalls?: number;
1238
1242
  requireApproval?: boolean;
1239
- /** Answers a pendingApproval from the previous turn of the thread. */
1243
+ /**
1244
+ * Answers a pendingApproval from the previous turn of the thread. A `terms`
1245
+ * approval is accepted or declined as a whole: `callIds` and `always` are
1246
+ * ignored on it.
1247
+ */
1240
1248
  approve?: {
1241
1249
  approvalId: string;
1242
1250
  callIds?: string[];
@@ -1245,6 +1253,75 @@ interface AgentExchangeOptions {
1245
1253
  decline?: {
1246
1254
  approvalId: string;
1247
1255
  };
1256
+ /**
1257
+ * What to do when a provider the agent would use needs data terms the team
1258
+ * has not accepted. Gated providers are never called in any mode:
1259
+ * - "skip" (server default): answer with accepted providers only and list
1260
+ * the gated ones in `exchange.skippedProviders`.
1261
+ * - "ask": the same, plus `exchange.requiresAction` and a `terms`
1262
+ * pendingApproval. Get your user's explicit consent, call terms/accept,
1263
+ * then continue the thread with `approve: { approvalId }`.
1264
+ * Terms gating is rolling out: until it is on for a thread, none of the
1265
+ * terms fields appear. There is no auto-accept mode. Omitted on a follow-up turn inherits the
1266
+ * previous turn's value.
1267
+ */
1268
+ onTermsRequired?: AgentOnTermsRequired;
1269
+ }
1270
+ type AgentOnTermsRequired = "skip" | "ask";
1271
+ /** A gated provider the run would have used but did not. */
1272
+ interface AgentSkippedProvider {
1273
+ provider: string;
1274
+ name: string;
1275
+ capability?: string;
1276
+ /** What it would have added, in the agent's words. */
1277
+ adds?: string;
1278
+ reason: "terms_required";
1279
+ /** The gating terms version. */
1280
+ version: string;
1281
+ /** Where a person accepts the terms in the dashboard. */
1282
+ termsUrl: string;
1283
+ }
1284
+ /**
1285
+ * The exact Exchange calls to view and accept a provider's terms. Nothing here
1286
+ * is executed for you, and terms/accept must only be called after the user
1287
+ * has explicitly agreed to that provider's terms.
1288
+ */
1289
+ interface AgentTermsRequiredAction {
1290
+ type: "accept_terms";
1291
+ /**
1292
+ * The `terms` pendingApproval that answers this. After the user agrees and
1293
+ * terms/accept succeeds, continue the thread with
1294
+ * `exchange.approve: { approvalId }`, or refuse with `decline`.
1295
+ */
1296
+ approvalId: string;
1297
+ providers: {
1298
+ provider: string;
1299
+ name: string;
1300
+ capability?: string;
1301
+ adds?: string;
1302
+ version: string;
1303
+ /** null when the catalog published no digest; terms/show returns it. */
1304
+ digest: string | null;
1305
+ url: string;
1306
+ show: {
1307
+ provider: "firecrawl";
1308
+ capability: "terms/show";
1309
+ options: {
1310
+ provider: string;
1311
+ };
1312
+ };
1313
+ accept: {
1314
+ provider: "firecrawl";
1315
+ capability: "terms/accept";
1316
+ options: {
1317
+ provider: string;
1318
+ version: string;
1319
+ /** null when the catalog published no digest; terms/show returns it. */
1320
+ digest: string | null;
1321
+ confirmed: true;
1322
+ };
1323
+ };
1324
+ }[];
1248
1325
  }
1249
1326
  /** Per-run summary reported on a status response. */
1250
1327
  interface AgentExchangeSummary {
@@ -1252,33 +1329,72 @@ interface AgentExchangeSummary {
1252
1329
  /** What the run resolved to after thread inheritance, not what it requested. */
1253
1330
  toolkits?: string[];
1254
1331
  requireApproval?: boolean;
1332
+ onTermsRequired?: AgentOnTermsRequired;
1255
1333
  paidCalls: number;
1256
1334
  creditsUsed: number | null;
1335
+ /** Gated providers that would have helped and were not used. Any mode. */
1336
+ skippedProviders?: AgentSkippedProvider[];
1337
+ /** "ask" mode, when a terms offer ended the turn. */
1338
+ requiresAction?: AgentTermsRequiredAction;
1339
+ }
1340
+ /** A provider in a `terms` pendingApproval. */
1341
+ interface AgentTermsGate {
1342
+ provider: string;
1343
+ name: string;
1344
+ logo?: string;
1345
+ capability?: string;
1346
+ adds?: string;
1347
+ version: string;
1348
+ /** null when the catalog published no digest; terms/show returns it. */
1349
+ digest: string | null;
1350
+ url: string;
1257
1351
  }
1258
1352
  /** A follow-up the agent offers for the next turn of the thread. */
1259
1353
  interface AgentSuggestion {
1260
1354
  label: string;
1261
1355
  prompt: string;
1262
1356
  }
1263
- /** A turn that ended waiting for the caller to allow or refuse paid calls. */
1264
- interface PendingApproval {
1357
+ /** A paid call a `calls` pendingApproval is holding back. */
1358
+ interface PendingApprovalCall {
1359
+ id: string;
1360
+ provider: string;
1361
+ capability: string;
1362
+ input: Record<string, unknown>;
1363
+ more?: Record<string, unknown>[];
1364
+ creditsEstimate: number | null;
1365
+ }
1366
+ interface PendingApprovalBase {
1265
1367
  id: string;
1266
1368
  reason: string;
1267
- calls: {
1268
- id: string;
1269
- provider: string;
1270
- capability: string;
1271
- input: Record<string, unknown>;
1272
- more?: Record<string, unknown>[];
1273
- creditsEstimate: number | null;
1274
- }[];
1275
1369
  resolution: null | {
1276
1370
  approved: boolean;
1371
+ /** Calls approved. Ignored on terms offers. */
1277
1372
  callIds: string[];
1278
1373
  always: boolean;
1279
1374
  byRunId: string;
1280
1375
  };
1281
1376
  }
1377
+ /**
1378
+ * A turn that ended waiting for the caller to allow or refuse paid calls.
1379
+ * `kind` is absent on items written before terms offers existed.
1380
+ */
1381
+ interface PendingCallsApproval extends PendingApprovalBase {
1382
+ kind?: "calls";
1383
+ calls: PendingApprovalCall[];
1384
+ terms?: never;
1385
+ }
1386
+ /**
1387
+ * A turn that ended waiting for the caller to accept providers' data terms
1388
+ * ("ask" mode). `calls` is always empty (typed `never[]` rather
1389
+ * than `[]` so existing `pendingApproval.calls[0]` code still compiles).
1390
+ */
1391
+ interface PendingTermsApproval extends PendingApprovalBase {
1392
+ kind: "terms";
1393
+ calls: never[];
1394
+ terms: AgentTermsGate[];
1395
+ }
1396
+ /** Narrow on `kind === "terms"`. */
1397
+ type PendingApproval = PendingCallsApproval | PendingTermsApproval;
1282
1398
  interface AgentResponse {
1283
1399
  success: boolean;
1284
1400
  id: string;
@@ -1560,6 +1676,8 @@ interface CrawlErrorsResponse$1 {
1560
1676
  url: string;
1561
1677
  code?: string;
1562
1678
  error: string;
1679
+ /** Present when the page needs provider terms accepted first. */
1680
+ requiresAction?: RequiresAction;
1563
1681
  }[];
1564
1682
  robotsBlocked: string[];
1565
1683
  }
@@ -1588,6 +1706,7 @@ interface RequiresAction {
1588
1706
  }
1589
1707
  declare function parseRequiresAction(value: unknown): RequiresAction | undefined;
1590
1708
  declare class SdkError extends Error {
1709
+ agent_hints?: string[];
1591
1710
  requestId?: string;
1592
1711
  status?: number;
1593
1712
  code?: string;
@@ -1631,10 +1750,12 @@ interface BrowserExecuteResponse {
1631
1750
  stderr?: string;
1632
1751
  exitCode?: number;
1633
1752
  killed?: boolean;
1753
+ truncated?: boolean;
1634
1754
  error?: string;
1635
1755
  }
1636
1756
  interface BrowserDeleteResponse {
1637
1757
  success: boolean;
1758
+ status?: string;
1638
1759
  sessionDurationMs?: number;
1639
1760
  creditsBilled?: number;
1640
1761
  error?: string;
@@ -2874,6 +2995,8 @@ interface CrawlErrorsResponse {
2874
2995
  url: string;
2875
2996
  code?: string;
2876
2997
  error: string;
2998
+ /** Present when the page needs provider terms accepted first. */
2999
+ requiresAction?: RequiresAction;
2877
3000
  }[];
2878
3001
  /**
2879
3002
  * URLs blocked by robots.txt
@@ -3409,4 +3532,4 @@ declare class Firecrawl extends FirecrawlClient {
3409
3532
  get v1(): FirecrawlApp;
3410
3533
  }
3411
3534
 
3412
- export { type ActionOption, type ActiveCrawl, type ActiveCrawlsResponse, type AgentEffort, type AgentExchangeOptions, type AgentExchangeSummary, type AgentListItem, type AgentListOptions, type AgentListResponse, type AgentMode, type AgentOptions$1 as AgentOptions, type AgentResponse, type AgentSnapshotResponse, type AgentStatusResponse, type AgentSuggestion, 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 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 };
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 };