openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
44 lines (43 loc) • 1.85 kB
JavaScript
import { n as getCurrentPluginMetadataSnapshot } from "./current-plugin-metadata-snapshot-CmSX4G3W.js";
import { c as resolvePluginMetadataSnapshot } from "./plugin-metadata-snapshot-w-4EjxI4.js";
import { n as getActivePluginRegistryWorkspaceDirFromState } from "./runtime-state-Ccxn1fO9.js";
import { c as resolveExternalAuthProfileProviderPluginIds } from "./providers-DCe4UB6a.js";
import { d as resolveProviderPluginsForHooks } from "./provider-hook-runtime-DgKv_Z8O.js";
//#region src/plugins/provider-external-auth.ts
function resolveExternalAuthProfilesWithPlugins(params) {
const workspaceDir = params.workspaceDir ?? getActivePluginRegistryWorkspaceDirFromState();
const env = params.env ?? process.env;
const config = params.config ?? {};
const currentMetadataSnapshot = getCurrentPluginMetadataSnapshot({
env,
...params.config ? { config } : { requireDefaultDiscoveryContext: true },
...workspaceDir ? { workspaceDir } : { allowWorkspaceScopedSnapshot: true }
});
const { manifestRegistry } = currentMetadataSnapshot ?? resolvePluginMetadataSnapshot({
config,
workspaceDir,
env
});
if (currentMetadataSnapshot && !manifestRegistry.plugins.some((plugin) => plugin.contracts?.externalAuthProviders?.length)) return [];
const externalAuthPluginIds = resolveExternalAuthProfileProviderPluginIds({
config: params.config,
workspaceDir,
env,
manifestRegistry
});
if (externalAuthPluginIds.length === 0) return [];
const matches = [];
for (const plugin of resolveProviderPluginsForHooks({
...params,
workspaceDir,
env,
onlyPluginIds: externalAuthPluginIds
})) {
const profiles = plugin.resolveExternalAuthProfiles?.(params.context);
if (!profiles || profiles.length === 0) continue;
matches.push(...profiles);
}
return matches;
}
//#endregion
export { resolveExternalAuthProfilesWithPlugins as t };