Files
openclaw/src/plugins/memory-embedding-provider-runtime.ts
2026-05-29 06:41:16 +02:00

55 lines
1.7 KiB
TypeScript

import type { OpenClawConfig } from "../config/types.openclaw.js";
import {
getRuntimeEmbeddingProviderAdapter,
listRuntimeEmbeddingProviderAdapters,
readConfiguredProviderApiId,
resolveRuntimeEmbeddingProviderLookupIds,
} from "./embedding-provider-runtime-shared.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[] {
return listRuntimeEmbeddingProviderAdapters({
key: "memoryEmbeddingProviders",
cfg,
registered: listRegisteredMemoryEmbeddingProviderAdapters(),
});
}
function resolveConfiguredMemoryEmbeddingProviderId(
providerId: string,
cfg?: OpenClawConfig,
): string | undefined {
return readConfiguredProviderApiId({ providerId, cfg });
}
function resolveMemoryEmbeddingProviderLookupIds(id: string, cfg?: OpenClawConfig): string[] {
return resolveRuntimeEmbeddingProviderLookupIds({
id,
cfg,
resolveConfiguredProviderId: resolveConfiguredMemoryEmbeddingProviderId,
});
}
export function getMemoryEmbeddingProvider(
id: string,
cfg?: OpenClawConfig,
): MemoryEmbeddingProviderAdapter | undefined {
return getRuntimeEmbeddingProviderAdapter({
key: "memoryEmbeddingProviders",
cfg,
lookupIds: resolveMemoryEmbeddingProviderLookupIds(id, cfg),
getRegisteredProvider: getRegisteredMemoryEmbeddingProvider,
});
}