mirror of https://github.com/openclaw/openclaw.git
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import { resolvePluginCapabilityProviders } from "./capability-provider-runtime.js";
|
|
import {
|
|
getRegisteredMemoryEmbeddingProvider,
|
|
listRegisteredMemoryEmbeddingProviders,
|
|
type MemoryEmbeddingProviderAdapter,
|
|
} from "./memory-embedding-providers.js";
|
|
|
|
export { listRegisteredMemoryEmbeddingProviders };
|
|
|
|
export function listRegisteredMemoryEmbeddingProviderAdapters(): MemoryEmbeddingProviderAdapter[] {
|
|
return listRegisteredMemoryEmbeddingProviders().map((entry) => entry.adapter);
|
|
}
|
|
export function listMemoryEmbeddingProviders(
|
|
cfg?: OpenClawConfig,
|
|
): MemoryEmbeddingProviderAdapter[] {
|
|
const registered = listRegisteredMemoryEmbeddingProviderAdapters();
|
|
if (registered.length > 0) {
|
|
return registered;
|
|
}
|
|
return resolvePluginCapabilityProviders({
|
|
key: "memoryEmbeddingProviders",
|
|
cfg,
|
|
});
|
|
}
|
|
|
|
export function getMemoryEmbeddingProvider(
|
|
id: string,
|
|
cfg?: OpenClawConfig,
|
|
): MemoryEmbeddingProviderAdapter | undefined {
|
|
const registered = getRegisteredMemoryEmbeddingProvider(id);
|
|
if (registered) {
|
|
return registered.adapter;
|
|
}
|
|
if (listRegisteredMemoryEmbeddingProviders().length > 0) {
|
|
return undefined;
|
|
}
|
|
return listMemoryEmbeddingProviders(cfg).find((adapter) => adapter.id === id);
|
|
}
|