@openclaw/firecrawl-plugin 2026.10.5-beta.4 → 2026.10.10-beta.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.
@@ -141,6 +141,9 @@ async function resolveEndpoint(baseUrl, pathname, lookupFn) {
141
141
  mode
142
142
  };
143
143
  }
144
+ function readFirecrawlErrorDetail(payload, fallback) {
145
+ return typeof payload.error === "string" ? payload.error : typeof payload.message === "string" ? payload.message : fallback;
146
+ }
144
147
  async function postFirecrawlJson(params, parse) {
145
148
  const apiKey = normalizeSecretInput(params.apiKey);
146
149
  const result = await (params.mode === "selfHosted" ? withSelfHostedWebToolsEndpoint : withStrictWebToolsEndpoint)({
@@ -163,7 +166,7 @@ async function postFirecrawlJson(params, parse) {
163
166
  try {
164
167
  payload = asOptionalRecord(JSON.parse(errorBody.text));
165
168
  } catch {}
166
- if (payload) detail = typeof payload.error === "string" ? payload.error : typeof payload.message === "string" ? payload.message : detail;
169
+ if (payload) detail = readFirecrawlErrorDetail(payload, detail);
167
170
  else if (errorBody.text) detail = errorBody.text;
168
171
  const safeDetail = wrapWebContent(truncateSanitizedExternalContent(detail, 1e3).text, "web_fetch");
169
172
  throw new ProviderHttpError(`${params.errorLabel} API error (${response.status}): ${safeDetail}`, { status: response.status });
@@ -300,7 +303,7 @@ async function runFirecrawlSearch(params) {
300
303
  }, async (response) => {
301
304
  const payloadValue = await readProviderJsonObjectResponse(response, "Firecrawl Search API error");
302
305
  if (payloadValue.success === false) {
303
- const error = typeof payloadValue.error === "string" ? payloadValue.error : typeof payloadValue.message === "string" ? payloadValue.message : "unknown error";
306
+ const error = readFirecrawlErrorDetail(payloadValue, "unknown error");
304
307
  const safeError = wrapWebContent(truncateSanitizedExternalContent(error, 1e3).text, "web_search");
305
308
  throw new Error(`Firecrawl Search API error: ${safeError}`);
306
309
  }
@@ -419,7 +422,7 @@ async function runFirecrawlScrape(params) {
419
422
  }, async (response) => {
420
423
  const data = await readProviderJsonObjectResponse(response, "Firecrawl fetch failed", { maxBytes: FIRECRAWL_SCRAPE_RESPONSE_MAX_BYTES });
421
424
  if (data.success === false) {
422
- const detail = typeof data.error === "string" ? data.error : typeof data.message === "string" ? data.message : response.statusText;
425
+ const detail = readFirecrawlErrorDetail(data, response.statusText);
423
426
  throw new Error(`Firecrawl fetch failed (${response.status}): ${wrapWebContent(truncateSanitizedExternalContent(detail, FIRECRAWL_SCRAPE_METADATA_MAX_CHARS).text, "web_fetch")}`.trim());
424
427
  }
425
428
  return data;
@@ -51,7 +51,7 @@ const FIRECRAWL_WEB_FETCH_PROVIDER_SHARED = {
51
51
  };
52
52
  //#endregion
53
53
  //#region extensions/firecrawl/src/firecrawl-fetch-provider.ts
54
- const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-De9X-FeM.mjs").then((n) => n.t));
54
+ const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-CMLsufX8.mjs").then((n) => n.t));
55
55
  function createFirecrawlWebFetchProvider() {
56
56
  return {
57
57
  ...FIRECRAWL_WEB_FETCH_PROVIDER_SHARED,
@@ -4,7 +4,7 @@ import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { createWebSearchProviderContractFields, enablePluginInConfig } from "openclaw/plugin-sdk/provider-web-search-contract";
5
5
  //#region extensions/firecrawl/src/firecrawl-search-provider.ts
6
6
  const FIRECRAWL_CREDENTIAL_PATH = "plugins.entries.firecrawl.config.webSearch.apiKey";
7
- const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-De9X-FeM.mjs").then((n) => n.t));
7
+ const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-CMLsufX8.mjs").then((n) => n.t));
8
8
  const GenericFirecrawlSearchSchema = {
9
9
  type: "object",
10
10
  properties: {
package/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as runFirecrawlScrape } from "./.setup/firecrawl-client-De9X-FeM.mjs";
1
+ import { n as runFirecrawlScrape } from "./.setup/firecrawl-client-CMLsufX8.mjs";
2
2
  //#region extensions/firecrawl/api.ts
3
3
  async function fetchFirecrawlContent(params) {
4
4
  const cfg = { plugins: { entries: { firecrawl: {
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as runFirecrawlScrape, r as runFirecrawlSearch } from "./.setup/firecrawl-client-De9X-FeM.mjs";
2
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CWYM223u.mjs";
3
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-D7JveduX.mjs";
1
+ import { n as runFirecrawlScrape, r as runFirecrawlSearch } from "./.setup/firecrawl-client-CMLsufX8.mjs";
2
+ import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-uRENNKri.mjs";
3
+ import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-B9lUFORC.mjs";
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,3 +1,2 @@
1
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CWYM223u.mjs";
1
+ export { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-uRENNKri.mjs";
2
2
  import "./web-fetch-provider.js";
3
- export { createFirecrawlWebFetchProvider };
@@ -1,2 +1 @@
1
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CWYM223u.mjs";
2
- export { createFirecrawlWebFetchProvider };
1
+ export { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-uRENNKri.mjs";
@@ -1,3 +1,2 @@
1
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-D7JveduX.mjs";
1
+ export { t as createFirecrawlFreeWebSearchProvider, n as createFirecrawlWebSearchProvider } from "./.setup/firecrawl-search-provider-B9lUFORC.mjs";
2
2
  import "./web-search-provider.js";
3
- export { createFirecrawlFreeWebSearchProvider, createFirecrawlWebSearchProvider };
@@ -1,2 +1 @@
1
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-D7JveduX.mjs";
2
- export { createFirecrawlFreeWebSearchProvider, createFirecrawlWebSearchProvider };
1
+ export { t as createFirecrawlFreeWebSearchProvider, n as createFirecrawlWebSearchProvider } from "./.setup/firecrawl-search-provider-B9lUFORC.mjs";
@@ -12,7 +12,7 @@ export function FromObject(context, type, value) {
12
12
  return value;
13
13
  const additionalProperties = GetAdditionalProperties(type);
14
14
  for (const key of Guard.Keys(value)) {
15
- if (Guard.HasPropertyKey(type.properties, key)) {
15
+ if (Guard.HasPropertyKey(type.properties, key) && IsSchema(type.properties[key])) {
16
16
  value[key] = FromType(context, type.properties[key], value[key]);
17
17
  continue;
18
18
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.3.34",
4
+ "version": "1.3.35",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/firecrawl-plugin",
3
- "version": "2026.10.5-beta.4",
3
+ "version": "2026.10.10-beta.1",
4
4
  "description": "OpenClaw Firecrawl plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "typebox": "1.3.34"
11
+ "typebox": "1.3.35"
12
12
  },
13
13
  "openclaw": {
14
14
  "extensions": [
@@ -21,10 +21,10 @@
21
21
  "minHostVersion": ">=2026.6.8"
22
22
  },
23
23
  "compat": {
24
- "pluginApi": ">=2026.10.5-beta.4"
24
+ "pluginApi": ">=2026.10.10-beta.1"
25
25
  },
26
26
  "build": {
27
- "openclawVersion": "2026.10.5-beta.4",
27
+ "openclawVersion": "2026.10.10-beta.1",
28
28
  "bundledDist": false
29
29
  },
30
30
  "release": {
@@ -43,7 +43,7 @@
43
43
  "assets/activity.svg"
44
44
  ],
45
45
  "peerDependencies": {
46
- "openclaw": ">=2026.10.5-beta.4"
46
+ "openclaw": ">=2026.10.10-beta.1"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
49
  "openclaw": {