From 44778bc7e2a69438a788ac5c209b1d69a5f1a473 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 2 May 2026 08:05:43 +0100 Subject: [PATCH] fix: stabilize release web provider validation --- scripts/e2e/lib/clawhub-fixture-server.cjs | 3 +++ src/plugins/web-provider-resolution-shared.ts | 4 ++-- src/plugins/web-provider-runtime-shared.ts | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/e2e/lib/clawhub-fixture-server.cjs b/scripts/e2e/lib/clawhub-fixture-server.cjs index bae4839b2e5..0c5e8a7de46 100644 --- a/scripts/e2e/lib/clawhub-fixture-server.cjs +++ b/scripts/e2e/lib/clawhub-fixture-server.cjs @@ -183,6 +183,9 @@ export default definePluginEntry({ `, manifest: { id: pluginId, + contracts: { + tools: ["kitchen-sink-tool", "kitchen_sink_tool"], + }, configSchema: { type: "object", properties: {}, diff --git a/src/plugins/web-provider-resolution-shared.ts b/src/plugins/web-provider-resolution-shared.ts index 8cfa6ccadec..41b5a3efc28 100644 --- a/src/plugins/web-provider-resolution-shared.ts +++ b/src/plugins/web-provider-resolution-shared.ts @@ -160,9 +160,9 @@ export function resolveBundledWebProviderResolutionConfig(params: { workspaceDir: params.workspaceDir, applyAutoEnable: true, compatMode: { - allowlist: params.bundledAllowlistCompat, + allowlist: params.config === undefined ? false : params.bundledAllowlistCompat, enablement: "always", - vitest: true, + vitest: params.config !== undefined, }, resolveCompatPluginIds: (compatParams) => resolveBundledWebProviderCompatPluginIds({ diff --git a/src/plugins/web-provider-runtime-shared.ts b/src/plugins/web-provider-runtime-shared.ts index 9be65fe3db6..8b5f34865e0 100644 --- a/src/plugins/web-provider-runtime-shared.ts +++ b/src/plugins/web-provider-runtime-shared.ts @@ -188,14 +188,16 @@ export function resolvePluginWebProviders( } const activeRegistry = getActivePluginRegistry(); if (activeRegistry) { - return deps.mapRegistryProviders({ + const activeProviders = deps.mapRegistryProviders({ registry: activeRegistry, onlyPluginIds: context.onlyPluginIds, }); + if (activeProviders.length > 0) { + return activeProviders; + } } return deps.mapRegistryProviders({ registry: loadOpenClawPlugins(loadOptions), - onlyPluginIds: context.onlyPluginIds, }); }