From 806f274c92a653b5be5a3a64d6536f40d6a7ecd1 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Thu, 26 Feb 2026 07:46:45 -0500 Subject: [PATCH] plugins: use bundled source resolver during updates --- src/plugins/update.ts | 43 +------------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/src/plugins/update.ts b/src/plugins/update.ts index 8bf2a11e3d3..2ba71158065 100644 --- a/src/plugins/update.ts +++ b/src/plugins/update.ts @@ -4,10 +4,9 @@ import type { OpenClawConfig } from "../config/config.js"; import { openBoundaryFileSync } from "../infra/boundary-file-read.js"; import type { UpdateChannel } from "../infra/update-channels.js"; import { resolveUserPath } from "../utils.js"; -import { discoverOpenClawPlugins } from "./discovery.js"; +import { resolveBundledPluginSources } from "./bundled-sources.js"; import { installPluginFromNpmSpec, resolvePluginInstallDir } from "./install.js"; import { buildNpmResolutionInstallFields, recordPluginInstall } from "./installs.js"; -import { loadPluginManifest } from "./manifest.js"; export type PluginUpdateLogger = { info?: (message: string) => void; @@ -54,12 +53,6 @@ export type PluginChannelSyncResult = { summary: PluginChannelSyncSummary; }; -type BundledPluginSource = { - pluginId: string; - localPath: string; - npmSpec?: string; -}; - type InstallIntegrityDrift = { spec: string; expectedIntegrity: string; @@ -91,40 +84,6 @@ async function readInstalledPackageVersion(dir: string): Promise { - const discovery = discoverOpenClawPlugins({ workspaceDir: params.workspaceDir }); - const bundled = new Map(); - - for (const candidate of discovery.candidates) { - if (candidate.origin !== "bundled") { - continue; - } - const manifest = loadPluginManifest(candidate.rootDir); - if (!manifest.ok) { - continue; - } - const pluginId = manifest.manifest.id; - if (bundled.has(pluginId)) { - continue; - } - - const npmSpec = - candidate.packageManifest?.install?.npmSpec?.trim() || - candidate.packageName?.trim() || - undefined; - - bundled.set(pluginId, { - pluginId, - localPath: candidate.rootDir, - npmSpec, - }); - } - - return bundled; -} - function pathsEqual(left?: string, right?: string): boolean { if (!left || !right) { return false;