Skip to content

Commit c74042b

Browse files
authored
Commands: lazy-load auth choice plugin provider runtime (openclaw#47692)
* Commands: lazy-load auth choice plugin provider runtime * Tests: cover auth choice plugin provider runtime
1 parent fd7e283 commit c74042b

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export {
2+
resolveProviderPluginChoice,
3+
runProviderModelSelectedHook,
4+
} from "../plugins/provider-wizard.js";
5+
export { resolvePluginProviders } from "../plugins/providers.js";

src/commands/auth-choice.apply.plugin-provider.test.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,12 @@ import {
99
} from "./auth-choice.apply.plugin-provider.js";
1010

1111
const resolvePluginProviders = vi.hoisted(() => vi.fn<() => ProviderPlugin[]>(() => []));
12-
vi.mock("../plugins/providers.js", () => ({
13-
resolvePluginProviders,
14-
}));
15-
1612
const resolveProviderPluginChoice = vi.hoisted(() =>
1713
vi.fn<() => { provider: ProviderPlugin; method: ProviderAuthMethod } | null>(),
1814
);
1915
const runProviderModelSelectedHook = vi.hoisted(() => vi.fn(async () => {}));
20-
vi.mock("../plugins/provider-wizard.js", () => ({
16+
vi.mock("./auth-choice.apply.plugin-provider.runtime.js", () => ({
17+
resolvePluginProviders,
2118
resolveProviderPluginChoice,
2219
runProviderModelSelectedHook,
2320
}));

src/commands/auth-choice.apply.plugin-provider.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ import {
77
import { upsertAuthProfile } from "../agents/auth-profiles.js";
88
import { resolveDefaultAgentWorkspaceDir } from "../agents/workspace.js";
99
import { enablePluginInConfig } from "../plugins/enable.js";
10-
import {
11-
resolveProviderPluginChoice,
12-
runProviderModelSelectedHook,
13-
} from "../plugins/provider-wizard.js";
14-
import { resolvePluginProviders } from "../plugins/providers.js";
1510
import type { ProviderAuthMethod } from "../plugins/types.js";
1611
import type { ApplyAuthChoiceParams, ApplyAuthChoiceResult } from "./auth-choice.apply.js";
1712
import { isRemoteEnvironment } from "./oauth-env.js";
@@ -33,6 +28,10 @@ export type PluginProviderAuthChoiceOptions = {
3328
label: string;
3429
};
3530

31+
async function loadPluginProviderRuntime() {
32+
return import("./auth-choice.apply.plugin-provider.runtime.js");
33+
}
34+
3635
export async function runProviderPluginAuthMethod(params: {
3736
config: ApplyAuthChoiceParams["config"];
3837
runtime: ApplyAuthChoiceParams["runtime"];
@@ -109,6 +108,8 @@ export async function applyAuthChoiceLoadedPluginProvider(
109108
const agentId = params.agentId ?? resolveDefaultAgentId(params.config);
110109
const workspaceDir =
111110
resolveAgentWorkspaceDir(params.config, agentId) ?? resolveDefaultAgentWorkspaceDir();
111+
const { resolvePluginProviders, resolveProviderPluginChoice, runProviderModelSelectedHook } =
112+
await loadPluginProviderRuntime();
112113
const providers = resolvePluginProviders({ config: params.config, workspaceDir });
113114
const resolved = resolveProviderPluginChoice({
114115
providers,
@@ -177,6 +178,8 @@ export async function applyAuthChoicePluginProvider(
177178
const workspaceDir =
178179
resolveAgentWorkspaceDir(nextConfig, agentId) ?? resolveDefaultAgentWorkspaceDir();
179180

181+
const { resolvePluginProviders, runProviderModelSelectedHook } =
182+
await loadPluginProviderRuntime();
180183
const providers = resolvePluginProviders({ config: nextConfig, workspaceDir });
181184
const provider = resolveProviderMatch(providers, options.providerId);
182185
if (!provider) {

0 commit comments

Comments
 (0)