Commands: lazy-load auth choice plugin provider runtime (#47692)
* Commands: lazy-load auth choice plugin provider runtime * Tests: cover auth choice plugin provider runtime
This commit is contained in:
parent
fd7e283ac5
commit
c74042ba04
@ -0,0 +1,5 @@
|
||||
export {
|
||||
resolveProviderPluginChoice,
|
||||
runProviderModelSelectedHook,
|
||||
} from "../plugins/provider-wizard.js";
|
||||
export { resolvePluginProviders } from "../plugins/providers.js";
|
||||
@ -9,15 +9,12 @@ import {
|
||||
} from "./auth-choice.apply.plugin-provider.js";
|
||||
|
||||
const resolvePluginProviders = vi.hoisted(() => vi.fn<() => ProviderPlugin[]>(() => []));
|
||||
vi.mock("../plugins/providers.js", () => ({
|
||||
resolvePluginProviders,
|
||||
}));
|
||||
|
||||
const resolveProviderPluginChoice = vi.hoisted(() =>
|
||||
vi.fn<() => { provider: ProviderPlugin; method: ProviderAuthMethod } | null>(),
|
||||
);
|
||||
const runProviderModelSelectedHook = vi.hoisted(() => vi.fn(async () => {}));
|
||||
vi.mock("../plugins/provider-wizard.js", () => ({
|
||||
vi.mock("./auth-choice.apply.plugin-provider.runtime.js", () => ({
|
||||
resolvePluginProviders,
|
||||
resolveProviderPluginChoice,
|
||||
runProviderModelSelectedHook,
|
||||
}));
|
||||
|
||||
@ -7,11 +7,6 @@ import {
|
||||
import { upsertAuthProfile } from "../agents/auth-profiles.js";
|
||||
import { resolveDefaultAgentWorkspaceDir } from "../agents/workspace.js";
|
||||
import { enablePluginInConfig } from "../plugins/enable.js";
|
||||
import {
|
||||
resolveProviderPluginChoice,
|
||||
runProviderModelSelectedHook,
|
||||
} from "../plugins/provider-wizard.js";
|
||||
import { resolvePluginProviders } from "../plugins/providers.js";
|
||||
import type { ProviderAuthMethod } from "../plugins/types.js";
|
||||
import type { ApplyAuthChoiceParams, ApplyAuthChoiceResult } from "./auth-choice.apply.js";
|
||||
import { isRemoteEnvironment } from "./oauth-env.js";
|
||||
@ -33,6 +28,10 @@ export type PluginProviderAuthChoiceOptions = {
|
||||
label: string;
|
||||
};
|
||||
|
||||
async function loadPluginProviderRuntime() {
|
||||
return import("./auth-choice.apply.plugin-provider.runtime.js");
|
||||
}
|
||||
|
||||
export async function runProviderPluginAuthMethod(params: {
|
||||
config: ApplyAuthChoiceParams["config"];
|
||||
runtime: ApplyAuthChoiceParams["runtime"];
|
||||
@ -109,6 +108,8 @@ export async function applyAuthChoiceLoadedPluginProvider(
|
||||
const agentId = params.agentId ?? resolveDefaultAgentId(params.config);
|
||||
const workspaceDir =
|
||||
resolveAgentWorkspaceDir(params.config, agentId) ?? resolveDefaultAgentWorkspaceDir();
|
||||
const { resolvePluginProviders, resolveProviderPluginChoice, runProviderModelSelectedHook } =
|
||||
await loadPluginProviderRuntime();
|
||||
const providers = resolvePluginProviders({ config: params.config, workspaceDir });
|
||||
const resolved = resolveProviderPluginChoice({
|
||||
providers,
|
||||
@ -177,6 +178,8 @@ export async function applyAuthChoicePluginProvider(
|
||||
const workspaceDir =
|
||||
resolveAgentWorkspaceDir(nextConfig, agentId) ?? resolveDefaultAgentWorkspaceDir();
|
||||
|
||||
const { resolvePluginProviders, runProviderModelSelectedHook } =
|
||||
await loadPluginProviderRuntime();
|
||||
const providers = resolvePluginProviders({ config: nextConfig, workspaceDir });
|
||||
const provider = resolveProviderMatch(providers, options.providerId);
|
||||
if (!provider) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user