mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-24 17:11:13 +00:00
* refactor(plugins): trim activation and contract exports * test(plugins): restore fixture cleanup * refactor(plugins): trim install and loader exports * test(plugins): fully reset loader caches * refactor(plugins): trim metadata and catalog exports * test(plugins): preserve catalog trust coverage * refactor(plugins): trim provider and plugin exports * refactor(plugins): trim runtime and tool exports * test(plugins): update dead-export consumers * test(plugins): remove empty dead-export suites * refactor(plugins): align exports with split registry * refactor(plugins): trim drifted loader exports * style(plugins): format test fixtures * refactor(scripts): use supported plugin APIs * refactor(plugins): finish dead export cleanup * chore(deadcode): refresh export baseline * test(cli): mock production memory state * chore(deadcode): sync latest export baseline * fix(tests): keep plugin fixtures inside core * chore(deadcode): refresh rebased export baseline * chore(deadcode): sync current ratchets * fix(plugins): retain reserved slot invariant * fix(plugins): preserve dead-export invariants * test(plugins): use neutral catalog query fixture * test(plugins): satisfy catalog lint * test(plugins): preserve integrity drift coverage * fix(ci): register skill experience live proof
58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
/** Runtime resolver for plugin-contributed embedding providers. */
|
|
import type { OpenClawConfig } from "../config/types.openclaw.js";
|
|
import { resolveConfiguredGenericEmbeddingProviderId } from "./embedding-provider-config.js";
|
|
import {
|
|
getRuntimeEmbeddingProviderAdapter,
|
|
listRuntimeEmbeddingProviderAdapters,
|
|
resolveRuntimeEmbeddingProviderLookupIds,
|
|
} from "./embedding-provider-runtime-shared.js";
|
|
import {
|
|
getRegisteredEmbeddingProvider,
|
|
listRegisteredEmbeddingProviders,
|
|
type EmbeddingProviderAdapter,
|
|
} from "./embedding-providers.js";
|
|
|
|
/** Lists embedding provider adapters registered directly with the process registry. */
|
|
function listRegisteredEmbeddingProviderAdapters(): EmbeddingProviderAdapter[] {
|
|
return listRegisteredEmbeddingProviders().map((entry) => entry.adapter);
|
|
}
|
|
|
|
/** Lists embedding providers from registered adapters and plugin capabilities. */
|
|
export function listEmbeddingProviders(cfg?: OpenClawConfig): EmbeddingProviderAdapter[] {
|
|
return listRuntimeEmbeddingProviderAdapters({
|
|
key: "embeddingProviders",
|
|
cfg,
|
|
registered: listRegisteredEmbeddingProviderAdapters(),
|
|
});
|
|
}
|
|
|
|
function resolveConfiguredEmbeddingProviderId(
|
|
providerId: string,
|
|
cfg?: OpenClawConfig,
|
|
): string | undefined {
|
|
return resolveConfiguredGenericEmbeddingProviderId(providerId, cfg);
|
|
}
|
|
|
|
function resolveEmbeddingProviderLookupIds(id: string, cfg?: OpenClawConfig): string[] {
|
|
return resolveRuntimeEmbeddingProviderLookupIds({
|
|
id,
|
|
cfg,
|
|
resolveConfiguredProviderId: resolveConfiguredEmbeddingProviderId,
|
|
});
|
|
}
|
|
|
|
/** Resolves one embedding provider adapter by id, including configured API aliases. */
|
|
export function getEmbeddingProvider(
|
|
id: string,
|
|
cfg?: OpenClawConfig,
|
|
): EmbeddingProviderAdapter | undefined {
|
|
return getRuntimeEmbeddingProviderAdapter({
|
|
key: "embeddingProviders",
|
|
cfg,
|
|
lookupIds: resolveEmbeddingProviderLookupIds(id, cfg),
|
|
getRegisteredProvider: getRegisteredEmbeddingProvider,
|
|
});
|
|
}
|
|
|
|
export type { EmbeddingProvider, EmbeddingProviderAdapter } from "./embedding-providers.js";
|