@openclaw/firecrawl-plugin 2026.10.1-beta.2 → 2026.10.5-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.
@@ -121,13 +121,7 @@ async function firecrawlEndpointTargetsPrivateNetwork(url, lookupFn) {
121
121
  return false;
122
122
  }
123
123
  }
124
- async function validateFirecrawlBaseUrl(baseUrl, lookupFn) {
125
- let url;
126
- try {
127
- url = new URL(baseUrl.trim() || "https://api.firecrawl.dev");
128
- } catch {
129
- throw new Error("Firecrawl baseUrl must be a valid http:// or https:// URL.");
130
- }
124
+ async function validateFirecrawlBaseUrl(url, lookupFn) {
131
125
  if (url.protocol !== "http:" && url.protocol !== "https:") throw new Error("Firecrawl baseUrl must use http:// or https://.");
132
126
  if (isOfficialFirecrawlEndpoint(url)) return "strict";
133
127
  if (await firecrawlEndpointTargetsPrivateNetwork(url, lookupFn)) return "selfHosted";
@@ -136,7 +130,7 @@ async function validateFirecrawlBaseUrl(baseUrl, lookupFn) {
136
130
  }
137
131
  async function resolveEndpoint(baseUrl, pathname, lookupFn) {
138
132
  const url = new URL(baseUrl.trim() || "https://api.firecrawl.dev");
139
- const mode = await validateFirecrawlBaseUrl(url.toString(), lookupFn);
133
+ const mode = await validateFirecrawlBaseUrl(url, lookupFn);
140
134
  url.username = "";
141
135
  url.password = "";
142
136
  url.search = "";
@@ -163,7 +157,7 @@ async function postFirecrawlJson(params, parse) {
163
157
  }
164
158
  }, async ({ response }) => {
165
159
  if (!response.ok) {
166
- let detail = typeof response.statusText === "string" && response.statusText.trim() ? response.statusText.trim() : "request failed";
160
+ let detail = response.statusText.trim() || "request failed";
167
161
  const errorBody = await readResponseText(response, { maxBytes: 64e3 });
168
162
  let payload;
169
163
  try {
@@ -197,14 +191,21 @@ function isValidFirecrawlPublishedDate(value) {
197
191
  }
198
192
  function resolveSearchItems(payload, count) {
199
193
  const nestedData = asOptionalRecord(payload.data);
200
- const rawItems = [
194
+ const envelopeCandidates = [
201
195
  payload.data,
202
196
  payload.results,
203
197
  nestedData?.results,
204
- nestedData?.data,
198
+ nestedData?.data
199
+ ];
200
+ const sourceCandidates = [
205
201
  nestedData?.web,
206
- asOptionalRecord(payload.web)?.results
207
- ].find((candidate) => Array.isArray(candidate));
202
+ nestedData?.news,
203
+ nestedData?.images
204
+ ];
205
+ const legacyWebResults = asOptionalRecord(payload.web)?.results;
206
+ const isArray = (candidate) => Array.isArray(candidate);
207
+ const sourceItems = sourceCandidates.flatMap((candidate) => isArray(candidate) ? candidate : []);
208
+ const rawItems = envelopeCandidates.find(isArray) ?? (sourceItems.length > 0 ? sourceItems : void 0) ?? sourceCandidates.find(isArray) ?? (isArray(legacyWebResults) ? legacyWebResults : void 0);
208
209
  if (!rawItems) return [];
209
210
  const items = [];
210
211
  let inspectedObjects = 0;
@@ -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-Bqyr6x90.mjs").then((n) => n.t));
54
+ const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-De9X-FeM.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-Bqyr6x90.mjs").then((n) => n.t));
7
+ const loadFirecrawlClientModule = createLazyRuntimeModule(() => import("./firecrawl-client-De9X-FeM.mjs").then((n) => n.t));
8
8
  const GenericFirecrawlSearchSchema = {
9
9
  type: "object",
10
10
  properties: {
package/dist/api.js CHANGED
@@ -1,5 +1,4 @@
1
- import { n as runFirecrawlScrape } from "./.setup/firecrawl-client-Bqyr6x90.mjs";
2
- import { readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
1
+ import { n as runFirecrawlScrape } from "./.setup/firecrawl-client-De9X-FeM.mjs";
3
2
  //#region extensions/firecrawl/api.ts
4
3
  async function fetchFirecrawlContent(params) {
5
4
  const cfg = { plugins: { entries: { firecrawl: {
@@ -24,11 +23,11 @@ async function fetchFirecrawlContent(params) {
24
23
  timeoutSeconds: params.timeoutSeconds
25
24
  });
26
25
  return {
27
- text: typeof result.text === "string" ? result.text : "",
28
- title: readStringValue(result.title),
29
- finalUrl: readStringValue(result.finalUrl),
30
- status: typeof result.status === "number" ? result.status : void 0,
31
- warning: readStringValue(result.warning)
26
+ text: result.text,
27
+ title: result.title,
28
+ finalUrl: result.finalUrl,
29
+ status: result.status,
30
+ warning: result.warning
32
31
  };
33
32
  }
34
33
  //#endregion
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as runFirecrawlScrape, r as runFirecrawlSearch } from "./.setup/firecrawl-client-Bqyr6x90.mjs";
2
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CcYAp_u6.mjs";
3
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-lAiZ3IJ5.mjs";
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";
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,3 @@
1
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CcYAp_u6.mjs";
1
+ import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CWYM223u.mjs";
2
2
  import "./web-fetch-provider.js";
3
3
  export { createFirecrawlWebFetchProvider };
@@ -1,2 +1,2 @@
1
- import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CcYAp_u6.mjs";
1
+ import { t as createFirecrawlWebFetchProvider } from "./.setup/firecrawl-fetch-provider-CWYM223u.mjs";
2
2
  export { createFirecrawlWebFetchProvider };
@@ -1,3 +1,3 @@
1
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-lAiZ3IJ5.mjs";
1
+ import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-D7JveduX.mjs";
2
2
  import "./web-search-provider.js";
3
3
  export { createFirecrawlFreeWebSearchProvider, createFirecrawlWebSearchProvider };
@@ -1,2 +1,2 @@
1
- import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-lAiZ3IJ5.mjs";
1
+ import { n as createFirecrawlWebSearchProvider, t as createFirecrawlFreeWebSearchProvider } from "./.setup/firecrawl-search-provider-D7JveduX.mjs";
2
2
  export { createFirecrawlFreeWebSearchProvider, createFirecrawlWebSearchProvider };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/firecrawl-plugin",
3
- "version": "2026.10.1-beta.2",
3
+ "version": "2026.10.5-beta.1",
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.10.1-beta.2"
24
+ "pluginApi": ">=2026.10.5-beta.1"
25
25
  },
26
26
  "build": {
27
- "openclawVersion": "2026.10.1-beta.2",
27
+ "openclawVersion": "2026.10.5-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.1-beta.2"
46
+ "openclaw": ">=2026.10.5-beta.1"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
49
  "openclaw": {