@openclaw/firecrawl-plugin 2026.6.11 → 2026.7.1-beta.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/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as runFirecrawlScrape } from "./firecrawl-client-DcIDkg-C.js";
1
+ import { n as runFirecrawlScrape } from "./firecrawl-client-uDbJtqeP.js";
2
2
  import { readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  //#region extensions/firecrawl/api.ts
4
4
  async function fetchFirecrawlContent(params) {
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_CACHE_TTL_MINUTES, markdownToText, normalizeCacheKey, readCache, readResponseText, resolveCacheTtlMs, resolvePositiveTimeoutSeconds, truncateText, withSelfHostedWebToolsEndpoint, withStrictWebToolsEndpoint, writeCache } from "openclaw/plugin-sdk/provider-web-fetch";
2
+ import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
2
3
  import { normalizeSecretInput, resolveSecretInputString } from "openclaw/plugin-sdk/secret-input";
3
4
  import { wrapExternalContent, wrapWebContent } from "openclaw/plugin-sdk/security-runtime";
4
5
  import { SsrFBlockedError, isBlockedHostnameOrIp, isPrivateIpAddress, resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
@@ -141,15 +142,12 @@ const SEARCH_CACHE = /* @__PURE__ */ new Map();
141
142
  const SCRAPE_CACHE = /* @__PURE__ */ new Map();
142
143
  const DEFAULT_SEARCH_COUNT = 5;
143
144
  const DEFAULT_SCRAPE_MAX_CHARS = 5e4;
145
+ const FIRECRAWL_SCRAPE_RESPONSE_MAX_BYTES = 64 * 1024 * 1024;
144
146
  const ALLOWED_FIRECRAWL_HOSTS = new Set(["api.firecrawl.dev"]);
145
147
  const FIRECRAWL_SELF_HOSTED_PRIVATE_ERROR = "Firecrawl custom baseUrl must target a private or internal self-hosted endpoint.";
146
148
  const FIRECRAWL_HTTP_PRIVATE_ERROR = "Firecrawl HTTP baseUrl must target a private or internal self-hosted endpoint. Use https:// for public hosts.";
147
- async function readFirecrawlJsonResponse(response, label) {
148
- try {
149
- return await response.json();
150
- } catch (cause) {
151
- throw new Error(`${label}: malformed JSON response`, { cause });
152
- }
149
+ async function readFirecrawlJsonResponse(response, label, opts) {
150
+ return await readProviderJsonResponse(response, label, opts);
153
151
  }
154
152
  function assertFirecrawlScrapeTargetAllowed(url) {
155
153
  let parsed;
@@ -220,9 +218,9 @@ async function postFirecrawlJson(params, parse) {
220
218
  const readJsonPayload = async () => {
221
219
  const candidate = response;
222
220
  const jsonResponse = typeof candidate.clone === "function" ? candidate.clone() : response;
223
- if (typeof jsonResponse.json !== "function") return null;
224
221
  try {
225
- const payload = await jsonResponse.json();
222
+ const body = await readResponseText(jsonResponse, { maxBytes: 64e3 });
223
+ const payload = JSON.parse(body.text);
226
224
  return payload && typeof payload === "object" && !Array.isArray(payload) ? payload : null;
227
225
  } catch {
228
226
  return null;
@@ -446,7 +444,7 @@ async function runFirecrawlScrape(params) {
446
444
  storeInCache
447
445
  }
448
446
  }, async (response) => {
449
- const payloadLocal = await readFirecrawlJsonResponse(response, "Firecrawl fetch failed");
447
+ const payloadLocal = await readFirecrawlJsonResponse(response, "Firecrawl fetch failed", { maxBytes: FIRECRAWL_SCRAPE_RESPONSE_MAX_BYTES });
450
448
  if (payloadLocal.success === false) {
451
449
  const detail = typeof payloadLocal.error === "string" ? payloadLocal.error : typeof payloadLocal.message === "string" ? payloadLocal.message : response.statusText;
452
450
  throw new Error(`Firecrawl fetch failed (${response.status}): ${wrapWebContent(detail, "web_fetch")}`.trim());
@@ -464,6 +462,7 @@ const testing = {
464
462
  assertFirecrawlScrapeTargetAllowed,
465
463
  parseFirecrawlScrapePayload,
466
464
  postFirecrawlJson,
465
+ readFirecrawlJsonResponse,
467
466
  resolveEndpoint,
468
467
  validateFirecrawlBaseUrl,
469
468
  resolveSearchItems
@@ -1,4 +1,4 @@
1
- import { n as runFirecrawlScrape } from "./firecrawl-client-DcIDkg-C.js";
1
+ import { n as runFirecrawlScrape } from "./firecrawl-client-uDbJtqeP.js";
2
2
  import { t as FIRECRAWL_WEB_FETCH_PROVIDER_SHARED } from "./firecrawl-fetch-provider-shared-BQUWpKAv.js";
3
3
  import { readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers";
4
4
  import { enablePluginInConfig } from "openclaw/plugin-sdk/provider-web-fetch";
@@ -1,11 +1,8 @@
1
1
  import { buildFirecrawlWebSearchProviderBase } from "./web-search-shared.js";
2
2
  import { readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers";
3
+ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
3
4
  //#region extensions/firecrawl/src/firecrawl-search-provider.ts
4
- let firecrawlClientModulePromise;
5
- function loadFirecrawlClientModule() {
6
- firecrawlClientModulePromise ??= import("./firecrawl-client-DcIDkg-C.js").then((n) => n.t);
7
- return firecrawlClientModulePromise;
8
- }
5
+ const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-uDbJtqeP.js").then((n) => n.t));
9
6
  const GenericFirecrawlSearchSchema = {
10
7
  type: "object",
11
8
  properties: {
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as runFirecrawlScrape, r as runFirecrawlSearch } from "./firecrawl-client-DcIDkg-C.js";
2
- import { t as createFirecrawlWebFetchProvider } from "./firecrawl-fetch-provider-XTUD9NBF.js";
3
- import { t as createFirecrawlWebSearchProvider } from "./firecrawl-search-provider-CpEdMkT_.js";
1
+ import { n as runFirecrawlScrape, r as runFirecrawlSearch } from "./firecrawl-client-uDbJtqeP.js";
2
+ import { t as createFirecrawlWebFetchProvider } from "./firecrawl-fetch-provider-BG92VjO3.js";
3
+ import { t as createFirecrawlWebSearchProvider } from "./firecrawl-search-provider-CsDudtpj.js";
4
4
  import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
5
5
  import { optionalStringEnum } from "openclaw/plugin-sdk/channel-actions";
6
6
  import { jsonResult, readNonNegativeIntegerParam, readPositiveIntegerParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/provider-web-search";
@@ -1,2 +1,2 @@
1
- import { t as createFirecrawlWebFetchProvider } from "./firecrawl-fetch-provider-XTUD9NBF.js";
1
+ import { t as createFirecrawlWebFetchProvider } from "./firecrawl-fetch-provider-BG92VjO3.js";
2
2
  export { createFirecrawlWebFetchProvider };
@@ -1,2 +1,2 @@
1
- import { t as createFirecrawlWebSearchProvider } from "./firecrawl-search-provider-CpEdMkT_.js";
1
+ import { t as createFirecrawlWebSearchProvider } from "./firecrawl-search-provider-CsDudtpj.js";
2
2
  export { createFirecrawlWebSearchProvider };
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/firecrawl-plugin",
3
- "version": "2026.6.11",
3
+ "version": "2026.7.1-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/firecrawl-plugin",
9
- "version": "2026.6.11",
9
+ "version": "2026.7.1-beta.2",
10
10
  "dependencies": {
11
11
  "typebox": "1.1.39"
12
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/firecrawl-plugin",
3
- "version": "2026.6.11",
3
+ "version": "2026.7.1-beta.2",
4
4
  "description": "OpenClaw Firecrawl plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,10 +21,10 @@
21
21
  "minHostVersion": ">=2026.6.8"
22
22
  },
23
23
  "compat": {
24
- "pluginApi": ">=2026.6.11"
24
+ "pluginApi": ">=2026.7.1-beta.2"
25
25
  },
26
26
  "build": {
27
- "openclawVersion": "2026.6.11",
27
+ "openclawVersion": "2026.7.1-beta.2",
28
28
  "bundledDist": false
29
29
  },
30
30
  "release": {
@@ -42,7 +42,7 @@
42
42
  "README.md"
43
43
  ],
44
44
  "peerDependencies": {
45
- "openclaw": ">=2026.6.11"
45
+ "openclaw": ">=2026.7.1-beta.2"
46
46
  },
47
47
  "peerDependenciesMeta": {
48
48
  "openclaw": {