mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-03 23:10:24 +00:00
* feat(plugins): add web fetch provider boundary * feat(plugins): add web fetch provider modules * refactor(web-fetch): remove remaining core firecrawl fetch config * fix(web-fetch): address review follow-ups * fix(web-fetch): harden provider runtime boundaries * fix(web-fetch): restore firecrawl compare helper * fix(web-fetch): restore env-based provider autodetect * fix(web-fetch): tighten provider hardening * fix(web-fetch): restore fetch autodetect and compat args * chore(changelog): note firecrawl fetch config break
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { listBundledWebFetchProviders as listBundledWebFetchProviderEntries } from "./bundled-web-fetch.js";
|
|
import { resolveEffectiveEnableState } from "./config-state.js";
|
|
import type { PluginLoadOptions } from "./loader.js";
|
|
import type { PluginWebFetchProviderEntry } from "./types.js";
|
|
import {
|
|
resolveBundledWebFetchResolutionConfig,
|
|
sortWebFetchProviders,
|
|
} from "./web-fetch-providers.shared.js";
|
|
|
|
function listBundledWebFetchProviders(): PluginWebFetchProviderEntry[] {
|
|
return sortWebFetchProviders(listBundledWebFetchProviderEntries());
|
|
}
|
|
|
|
export function resolveBundledPluginWebFetchProviders(params: {
|
|
config?: PluginLoadOptions["config"];
|
|
workspaceDir?: string;
|
|
env?: PluginLoadOptions["env"];
|
|
bundledAllowlistCompat?: boolean;
|
|
onlyPluginIds?: readonly string[];
|
|
}): PluginWebFetchProviderEntry[] {
|
|
const { config, normalized } = resolveBundledWebFetchResolutionConfig(params);
|
|
const onlyPluginIdSet =
|
|
params.onlyPluginIds && params.onlyPluginIds.length > 0 ? new Set(params.onlyPluginIds) : null;
|
|
|
|
return listBundledWebFetchProviders().filter((provider) => {
|
|
if (onlyPluginIdSet && !onlyPluginIdSet.has(provider.pluginId)) {
|
|
return false;
|
|
}
|
|
return resolveEffectiveEnableState({
|
|
id: provider.pluginId,
|
|
origin: "bundled",
|
|
config: normalized,
|
|
rootConfig: config,
|
|
}).enabled;
|
|
});
|
|
}
|