mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-10 00:56:22 +08:00
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
56 lines
2.1 KiB
TypeScript
56 lines
2.1 KiB
TypeScript
import { BUNDLED_WEB_SEARCH_PLUGIN_IDS } from "./bundled-capability-metadata.js";
|
|
import { loadBundledCapabilityRuntimeRegistry } from "./bundled-capability-runtime.js";
|
|
import { resolveBundledWebSearchPluginId as resolveBundledWebSearchPluginIdFromMap } from "./bundled-web-search-provider-ids.js";
|
|
import type { PluginLoadOptions } from "./loader.js";
|
|
import { loadPluginManifestRegistry } from "./manifest-registry.js";
|
|
import type { PluginWebSearchProviderEntry } from "./types.js";
|
|
|
|
type BundledWebSearchProviderEntry = PluginWebSearchProviderEntry & { pluginId: string };
|
|
|
|
let bundledWebSearchProvidersCache: BundledWebSearchProviderEntry[] | null = null;
|
|
|
|
function loadBundledWebSearchProviders(): BundledWebSearchProviderEntry[] {
|
|
if (!bundledWebSearchProvidersCache) {
|
|
bundledWebSearchProvidersCache = loadBundledCapabilityRuntimeRegistry({
|
|
pluginIds: BUNDLED_WEB_SEARCH_PLUGIN_IDS,
|
|
pluginSdkResolution: "dist",
|
|
}).webSearchProviders.map((entry) => ({
|
|
pluginId: entry.pluginId,
|
|
...entry.provider,
|
|
}));
|
|
}
|
|
return bundledWebSearchProvidersCache;
|
|
}
|
|
|
|
export function resolveBundledWebSearchPluginIds(params: {
|
|
config?: PluginLoadOptions["config"];
|
|
workspaceDir?: string;
|
|
env?: PluginLoadOptions["env"];
|
|
}): string[] {
|
|
const bundledWebSearchPluginIdSet = new Set<string>(BUNDLED_WEB_SEARCH_PLUGIN_IDS);
|
|
return loadPluginManifestRegistry({
|
|
config: params.config,
|
|
workspaceDir: params.workspaceDir,
|
|
env: params.env,
|
|
})
|
|
.plugins.filter(
|
|
(plugin) => plugin.origin === "bundled" && bundledWebSearchPluginIdSet.has(plugin.id),
|
|
)
|
|
.map((plugin) => plugin.id)
|
|
.toSorted((left, right) => left.localeCompare(right));
|
|
}
|
|
|
|
export function listBundledWebSearchPluginIds(): string[] {
|
|
return [...BUNDLED_WEB_SEARCH_PLUGIN_IDS];
|
|
}
|
|
|
|
export function listBundledWebSearchProviders(): PluginWebSearchProviderEntry[] {
|
|
return loadBundledWebSearchProviders();
|
|
}
|
|
|
|
export function resolveBundledWebSearchPluginId(
|
|
providerId: string | undefined,
|
|
): string | undefined {
|
|
return resolveBundledWebSearchPluginIdFromMap(providerId);
|
|
}
|