@openclaw/exa-plugin 2026.7.2-beta.7 → 2026.7.34
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/{exa-web-search-provider-DZrlXNEU.js → .setup/exa-web-search-provider-CyaOUIGW.mjs} +2 -2
- package/dist/{exa-web-search-provider.runtime-B-AMPZ1r.js → .setup/exa-web-search-provider.runtime-Dzqh6jSe.mjs} +10 -8
- package/dist/index.js +1 -1
- package/dist/web-search-contract-api.js +1 -1
- package/dist/web-search-provider.js +1 -1
- package/openclaw.plugin.json +3 -0
- package/package.json +4 -4
- /package/dist/{exa-web-search-provider.shared-CWlikD_3.js → .setup/exa-web-search-provider.shared-CWlikD_3.mjs} +0 -0
package/dist/{exa-web-search-provider-DZrlXNEU.js → .setup/exa-web-search-provider-CyaOUIGW.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createExaWebSearchProviderBase } from "./exa-web-search-provider.shared-CWlikD_3.
|
|
1
|
+
import { t as createExaWebSearchProviderBase } from "./exa-web-search-provider.shared-CWlikD_3.mjs";
|
|
2
2
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
3
3
|
//#region extensions/exa/src/exa-web-search-provider.ts
|
|
4
4
|
const EXA_SEARCH_TYPES = [
|
|
@@ -16,7 +16,7 @@ const EXA_FRESHNESS_VALUES = [
|
|
|
16
16
|
"year"
|
|
17
17
|
];
|
|
18
18
|
const EXA_MAX_SEARCH_COUNT = 100;
|
|
19
|
-
const loadExaWebSearchRuntime = createLazyRuntimeModule(() => import("./exa-web-search-provider.runtime-
|
|
19
|
+
const loadExaWebSearchRuntime = createLazyRuntimeModule(() => import("./exa-web-search-provider.runtime-Dzqh6jSe.mjs"));
|
|
20
20
|
const ExaSearchSchema = {
|
|
21
21
|
type: "object",
|
|
22
22
|
properties: {
|
|
@@ -20,12 +20,13 @@ const EXA_FRESHNESS_VALUES = [
|
|
|
20
20
|
"year"
|
|
21
21
|
];
|
|
22
22
|
const EXA_MAX_SEARCH_COUNT = 100;
|
|
23
|
-
const EXA_ERROR_BODY_LIMIT_BYTES =
|
|
24
|
-
const EXA_SEARCH_JSON_MAX_BYTES =
|
|
23
|
+
const EXA_ERROR_BODY_LIMIT_BYTES = 8192;
|
|
24
|
+
const EXA_SEARCH_JSON_MAX_BYTES = 16777216;
|
|
25
25
|
async function readExaSearchResults(response, opts) {
|
|
26
|
-
const
|
|
26
|
+
const maxBytes = opts?.maxBytes ?? EXA_SEARCH_JSON_MAX_BYTES;
|
|
27
|
+
const bytes = await readResponseWithLimit(response, maxBytes, { onOverflow: ({ maxBytes: maxBytesLocal }) => /* @__PURE__ */ new Error(`Exa API response exceeds ${maxBytesLocal} bytes`) });
|
|
27
28
|
try {
|
|
28
|
-
return normalizeExaResults(JSON.parse(new TextDecoder(
|
|
29
|
+
return normalizeExaResults(JSON.parse(new TextDecoder().decode(bytes)));
|
|
29
30
|
} catch (cause) {
|
|
30
31
|
throw new Error("Exa API returned malformed JSON", { cause });
|
|
31
32
|
}
|
|
@@ -43,7 +44,7 @@ function resolveExaConfig(searchConfig) {
|
|
|
43
44
|
return exa && typeof exa === "object" && !Array.isArray(exa) ? exa : {};
|
|
44
45
|
}
|
|
45
46
|
function resolveExaApiKey(exa) {
|
|
46
|
-
return readConfiguredSecretString(exa?.apiKey, "
|
|
47
|
+
return readConfiguredSecretString(exa?.apiKey, "tools.web.search.exa.apiKey") ?? readProviderEnvValue(["EXA_API_KEY"]);
|
|
47
48
|
}
|
|
48
49
|
function invalidBaseUrlPayload(value) {
|
|
49
50
|
return {
|
|
@@ -224,12 +225,11 @@ async function runExaSearch(params) {
|
|
|
224
225
|
function missingExaKeyPayload() {
|
|
225
226
|
return {
|
|
226
227
|
error: "missing_exa_api_key",
|
|
227
|
-
message: "web_search (exa) needs an Exa API key. Set EXA_API_KEY in the Gateway environment, or configure
|
|
228
|
+
message: "web_search (exa) needs an Exa API key. Set EXA_API_KEY in the Gateway environment, or configure tools.web.search.exa.apiKey.",
|
|
228
229
|
docs: "https://docs.openclaw.ai/tools/web"
|
|
229
230
|
};
|
|
230
231
|
}
|
|
231
232
|
function buildExaCacheKey(params) {
|
|
232
|
-
const contents = params.contents ?? { highlights: true };
|
|
233
233
|
return buildSearchCacheKey([
|
|
234
234
|
"exa",
|
|
235
235
|
params.endpoint,
|
|
@@ -239,7 +239,9 @@ function buildExaCacheKey(params) {
|
|
|
239
239
|
params.freshness,
|
|
240
240
|
params.dateAfter,
|
|
241
241
|
params.dateBefore,
|
|
242
|
-
JSON.stringify(contents)
|
|
242
|
+
params.contents?.highlights ? JSON.stringify(params.contents.highlights) : void 0,
|
|
243
|
+
params.contents?.text ? JSON.stringify(params.contents.text) : void 0,
|
|
244
|
+
params.contents?.summary ? JSON.stringify(params.contents.summary) : void 0
|
|
243
245
|
]);
|
|
244
246
|
}
|
|
245
247
|
async function executeExaWebSearchProviderTool(ctx, args) {
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createExaWebSearchProvider } from "
|
|
1
|
+
import { t as createExaWebSearchProvider } from "./.setup/exa-web-search-provider-CyaOUIGW.mjs";
|
|
2
2
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
3
3
|
//#region extensions/exa/index.ts
|
|
4
4
|
var exa_default = definePluginEntry({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createExaWebSearchProviderBase } from "
|
|
1
|
+
import { t as createExaWebSearchProviderBase } from "./.setup/exa-web-search-provider.shared-CWlikD_3.mjs";
|
|
2
2
|
//#region extensions/exa/web-search-contract-api.ts
|
|
3
3
|
function createExaWebSearchProvider() {
|
|
4
4
|
return {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createExaWebSearchProvider } from "
|
|
1
|
+
import { t as createExaWebSearchProvider } from "./.setup/exa-web-search-provider-CyaOUIGW.mjs";
|
|
2
2
|
export { createExaWebSearchProvider };
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/exa-plugin",
|
|
3
|
-
"version": "2026.7.
|
|
3
|
+
"version": "2026.7.34",
|
|
4
4
|
"description": "OpenClaw Exa plugin.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"minHostVersion": ">=2026.6.8"
|
|
19
19
|
},
|
|
20
20
|
"compat": {
|
|
21
|
-
"pluginApi": ">=2026.7.
|
|
21
|
+
"pluginApi": ">=2026.7.34"
|
|
22
22
|
},
|
|
23
23
|
"build": {
|
|
24
|
-
"openclawVersion": "2026.7.
|
|
24
|
+
"openclawVersion": "2026.7.34",
|
|
25
25
|
"bundledDist": false
|
|
26
26
|
},
|
|
27
27
|
"release": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"README.md"
|
|
39
39
|
],
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"openclaw": ">=2026.7.
|
|
41
|
+
"openclaw": ">=2026.7.34"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"openclaw": {
|
|
File without changes
|