

























@@ -421,7 +421,7 @@ function isTerminalPluginInstallSecurityFailure(code?: string): boolean {
421421);
422422}
423423424-function isAllowedBundledRecoveryIssue(
424+function isAllowedPluginRecoveryIssue(
425425issue: { path?: string; message?: string },
426426request: PluginInstallRequestContext,
427427): boolean {
@@ -434,7 +434,10 @@ function isAllowedBundledRecoveryIssue(
434434issue.message === `unknown channel id: ${pluginId}`) ||
435435(issue.path === "plugins.load.paths" &&
436436typeof issue.message === "string" &&
437-issue.message.includes("plugin path not found"))
437+issue.message.includes("plugin path not found")) ||
438+(issue.path === "plugins" &&
439+typeof issue.message === "string" &&
440+issue.message.includes("requires compiled runtime output"))
438441);
439442}
440443@@ -448,7 +451,7 @@ async function loadConfigFromSnapshotForInstall(
448451request: PluginInstallRequestContext,
449452snapshot: Awaited<ReturnType<typeof readConfigFileSnapshot>>,
450453): Promise<ConfigSnapshotForInstallPersist> {
451-if (resolvePluginInstallInvalidConfigPolicy(request) !== "allow-bundled-recovery") {
454+if (resolvePluginInstallInvalidConfigPolicy(request) !== "allow-plugin-recovery") {
452455throw buildInvalidPluginInstallConfigError(
453456"Config invalid; run `openclaw doctor --fix` before installing plugins.",
454457);
@@ -462,11 +465,11 @@ async function loadConfigFromSnapshotForInstall(
462465if (
463466snapshot.legacyIssues.length > 0 ||
464467snapshot.issues.length === 0 ||
465-snapshot.issues.some((issue) => !isAllowedBundledRecoveryIssue(issue, request))
468+snapshot.issues.some((issue) => !isAllowedPluginRecoveryIssue(issue, request))
466469) {
467470const pluginLabel = request.bundledPluginId ?? "the requested plugin";
468471throw buildInvalidPluginInstallConfigError(
469-`Config invalid outside the bundled recovery path for ${pluginLabel}; run \`openclaw doctor --fix\` before reinstalling it.`,
472+`Config invalid outside the plugin recovery path for ${pluginLabel}; run \`openclaw doctor --fix\` before reinstalling it.`,
470473);
471474}
472475let nextConfig = snapshot.config;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。