fix: scope provider auth runtime loading

This commit is contained in:
Shakker
2026-04-26 10:42:10 +01:00
parent 2f81c5f580
commit 3fffa78164

View File

@@ -17,6 +17,10 @@ import {
pickAuthMethod,
resolveProviderMatch,
} from "./provider-auth-choice-helpers.js";
import {
resolveManifestProviderAuthChoice,
type ProviderAuthChoiceMetadata,
} from "./provider-auth-choices.js";
import { applyAuthProfileConfig } from "./provider-auth-helpers.js";
import { resolveProviderInstallCatalogEntry } from "./provider-install-catalog.js";
import { createVpsAwareOAuthHandlers } from "./provider-oauth-flow.js";
@@ -154,6 +158,20 @@ async function loadPluginProviderRuntime() {
return await providerAuthChoiceDeps.loadPluginProviderRuntime();
}
function resolveManifestAuthChoiceScope(params: {
authChoice: string;
config: OpenClawConfig;
workspaceDir: string;
env?: NodeJS.ProcessEnv;
}): ProviderAuthChoiceMetadata | undefined {
return resolveManifestProviderAuthChoice(params.authChoice, {
config: params.config,
workspaceDir: params.workspaceDir,
env: params.env,
includeUntrustedWorkspacePlugins: false,
});
}
export const __testing = {
resetDepsForTest(): void {
providerAuthChoiceDeps = defaultProviderAuthChoiceDeps;
@@ -258,6 +276,12 @@ export async function applyAuthChoiceLoadedPluginProvider(
let enabledConfig = params.config;
const { resolvePluginProviders, resolveProviderPluginChoice, runProviderModelSelectedHook } =
await loadPluginProviderRuntime();
const manifestAuthChoice = resolveManifestAuthChoiceScope({
authChoice: params.authChoice,
config: nextConfig,
workspaceDir,
env: params.env,
});
const installCatalogEntry = resolveProviderInstallCatalogEntry(params.authChoice, {
config: nextConfig,
workspaceDir,
@@ -282,6 +306,12 @@ export async function applyAuthChoiceLoadedPluginProvider(
workspaceDir,
env: params.env,
mode: "setup",
...(manifestAuthChoice
? {
onlyPluginIds: [manifestAuthChoice.pluginId],
providerRefs: [manifestAuthChoice.providerId],
}
: {}),
});
let resolved = resolveProviderPluginChoice({
providers,
@@ -313,6 +343,12 @@ export async function applyAuthChoiceLoadedPluginProvider(
workspaceDir,
env: params.env,
mode: "setup",
...(manifestAuthChoice
? {
onlyPluginIds: [manifestAuthChoice.pluginId],
providerRefs: [manifestAuthChoice.providerId],
}
: {}),
});
resolved = resolveProviderPluginChoice({
providers,