diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256 index 0a8ddc0de77..b16b677c087 100644 --- a/docs/.generated/plugin-sdk-api-baseline.sha256 +++ b/docs/.generated/plugin-sdk-api-baseline.sha256 @@ -1,2 +1,2 @@ -08615a28ed3deb20a96c9cd8fd7237a4cbb209ceec93dca03b543979304459e4 plugin-sdk-api-baseline.json -683c1249dc15529d8e79bc75e9c00484551cb74126befee507fffcf786e01833 plugin-sdk-api-baseline.jsonl +1aafbd4e24b950c3386f5f1641e498a0060590ea6279ec5628ef0c9d62a62169 plugin-sdk-api-baseline.json +479743ab748836a98e53797328d1831d6698ceff513a52a2dbb47a3ec183a085 plugin-sdk-api-baseline.jsonl diff --git a/extensions/duckduckgo/web-search-contract-api.ts b/extensions/duckduckgo/web-search-contract-api.ts index eb62813fc58..075bf39093c 100644 --- a/extensions/duckduckgo/web-search-contract-api.ts +++ b/extensions/duckduckgo/web-search-contract-api.ts @@ -3,7 +3,7 @@ import { getScopedCredentialValue, setScopedCredentialValue, type WebSearchProviderPlugin, -} from "openclaw/plugin-sdk/provider-web-search"; +} from "openclaw/plugin-sdk/provider-web-search-contract"; export function createDuckDuckGoWebSearchProvider(): WebSearchProviderPlugin { return { diff --git a/extensions/firecrawl/web-search-contract-api.ts b/extensions/firecrawl/web-search-contract-api.ts index c4e43002b31..075b8ce17e3 100644 --- a/extensions/firecrawl/web-search-contract-api.ts +++ b/extensions/firecrawl/web-search-contract-api.ts @@ -5,7 +5,7 @@ import { setProviderWebSearchPluginConfigValue, setScopedCredentialValue, type WebSearchProviderPlugin, -} from "openclaw/plugin-sdk/provider-web-search"; +} from "openclaw/plugin-sdk/provider-web-search-contract"; export function createFirecrawlWebSearchProvider(): WebSearchProviderPlugin { return { diff --git a/extensions/google/web-search-contract-api.ts b/extensions/google/web-search-contract-api.ts index 491763d207f..c639b36f5a7 100644 --- a/extensions/google/web-search-contract-api.ts +++ b/extensions/google/web-search-contract-api.ts @@ -4,7 +4,7 @@ import { setProviderWebSearchPluginConfigValue, setScopedCredentialValue, type WebSearchProviderPlugin, -} from "openclaw/plugin-sdk/provider-web-search"; +} from "openclaw/plugin-sdk/provider-web-search-contract"; export function createGeminiWebSearchProvider(): WebSearchProviderPlugin { return { diff --git a/extensions/ollama/web-search-contract-api.ts b/extensions/ollama/web-search-contract-api.ts index 1592b457dbc..1ad43aacff4 100644 --- a/extensions/ollama/web-search-contract-api.ts +++ b/extensions/ollama/web-search-contract-api.ts @@ -1,7 +1,7 @@ import { enablePluginInConfig, type WebSearchProviderPlugin, -} from "openclaw/plugin-sdk/provider-web-search"; +} from "openclaw/plugin-sdk/provider-web-search-contract"; export function createOllamaWebSearchProvider(): WebSearchProviderPlugin { return { diff --git a/package.json b/package.json index 586867ba9ff..39c349fe198 100644 --- a/package.json +++ b/package.json @@ -896,6 +896,10 @@ "types": "./dist/plugin-sdk/provider-web-fetch.d.ts", "default": "./dist/plugin-sdk/provider-web-fetch.js" }, + "./plugin-sdk/provider-web-search-contract": { + "types": "./dist/plugin-sdk/provider-web-search-contract.d.ts", + "default": "./dist/plugin-sdk/provider-web-search-contract.js" + }, "./plugin-sdk/provider-web-search": { "types": "./dist/plugin-sdk/provider-web-search.d.ts", "default": "./dist/plugin-sdk/provider-web-search.js" diff --git a/scripts/lib/plugin-sdk-entrypoints.json b/scripts/lib/plugin-sdk-entrypoints.json index 7325e422673..fd966bf11c3 100644 --- a/scripts/lib/plugin-sdk-entrypoints.json +++ b/scripts/lib/plugin-sdk-entrypoints.json @@ -213,6 +213,7 @@ "provider-tools", "provider-usage", "provider-web-fetch", + "provider-web-search-contract", "provider-web-search", "retry-runtime", "run-command", diff --git a/src/plugin-sdk/provider-web-search-contract.ts b/src/plugin-sdk/provider-web-search-contract.ts new file mode 100644 index 00000000000..2ab09acef52 --- /dev/null +++ b/src/plugin-sdk/provider-web-search-contract.ts @@ -0,0 +1,12 @@ +// Narrow shared exports for web-search contract surfaces. + +import type { WebSearchProviderPlugin } from "../plugins/types.js"; + +export { + getScopedCredentialValue, + resolveProviderWebSearchPluginConfig, + setScopedCredentialValue, + setProviderWebSearchPluginConfigValue, +} from "../agents/tools/web-search-provider-config.js"; +export { enablePluginInConfig } from "../plugins/enable.js"; +export type { WebSearchProviderPlugin }; diff --git a/src/plugins/contracts/plugin-sdk-subpaths.test.ts b/src/plugins/contracts/plugin-sdk-subpaths.test.ts index e0294f1bf31..dd97312c4f1 100644 --- a/src/plugins/contracts/plugin-sdk-subpaths.test.ts +++ b/src/plugins/contracts/plugin-sdk-subpaths.test.ts @@ -328,6 +328,22 @@ describe("plugin-sdk subpath exports", () => { "safeMatchRegex", ], }); + expectSourceContract("provider-web-search-contract", { + mentions: [ + "enablePluginInConfig", + "getScopedCredentialValue", + "resolveProviderWebSearchPluginConfig", + "setScopedCredentialValue", + "setProviderWebSearchPluginConfigValue", + "WebSearchProviderPlugin", + ], + omits: [ + "buildSearchCacheKey", + "withTrustedWebSearchEndpoint", + "writeCachedSearchPayload", + "resolveCitationRedirectUrl", + ], + }); expectSourceMentions("compat", [ "createPluginRuntimeStore", "createScopedChannelConfigAdapter",