Files
openclaw/src/plugins/embedding-provider-runtime.ts
Peter Steinberger 98e3f729bc refactor: remove dead plugin loader exports (#105937)
* 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
2026-07-13 01:29:33 -07:00

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";