mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-23 07:01:40 +00:00
refactor: move bundled plugin policy into manifests
This commit is contained in:
@@ -22,6 +22,15 @@ import {
|
||||
type MemoryEmbeddingProviderAdapter,
|
||||
} from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
|
||||
import { resolveUserPath } from "openclaw/plugin-sdk/memory-core-host-engine-foundation";
|
||||
import { getProviderEnvVars } from "openclaw/plugin-sdk/provider-env-vars";
|
||||
|
||||
export type BuiltinMemoryEmbeddingProviderDoctorMetadata = {
|
||||
providerId: string;
|
||||
authProviderId: string;
|
||||
envVars: string[];
|
||||
transport: "local" | "remote";
|
||||
autoSelectPriority?: number;
|
||||
};
|
||||
|
||||
function formatErrorMessage(err: unknown): string {
|
||||
return err instanceof Error ? err.message : String(err);
|
||||
@@ -107,6 +116,10 @@ function supportsGeminiMultimodalEmbeddings(model: string): boolean {
|
||||
return normalized === "gemini-embedding-2-preview";
|
||||
}
|
||||
|
||||
function resolveMemoryEmbeddingAuthProviderId(providerId: string): string {
|
||||
return providerId === "gemini" ? "google" : providerId;
|
||||
}
|
||||
|
||||
const openAiAdapter: MemoryEmbeddingProviderAdapter = {
|
||||
id: "openai",
|
||||
defaultModel: DEFAULT_OPENAI_EMBEDDING_MODEL,
|
||||
@@ -356,6 +369,36 @@ export function registerBuiltInMemoryEmbeddingProviders(register: {
|
||||
}
|
||||
}
|
||||
|
||||
export function getBuiltinMemoryEmbeddingProviderDoctorMetadata(
|
||||
providerId: string,
|
||||
): BuiltinMemoryEmbeddingProviderDoctorMetadata | null {
|
||||
const adapter = getBuiltinMemoryEmbeddingProviderAdapter(providerId);
|
||||
if (!adapter) {
|
||||
return null;
|
||||
}
|
||||
const authProviderId = resolveMemoryEmbeddingAuthProviderId(adapter.id);
|
||||
return {
|
||||
providerId: adapter.id,
|
||||
authProviderId,
|
||||
envVars: getProviderEnvVars(authProviderId),
|
||||
transport: adapter.transport === "local" ? "local" : "remote",
|
||||
autoSelectPriority: adapter.autoSelectPriority,
|
||||
};
|
||||
}
|
||||
|
||||
export function listBuiltinAutoSelectMemoryEmbeddingProviderDoctorMetadata(): Array<BuiltinMemoryEmbeddingProviderDoctorMetadata> {
|
||||
return builtinMemoryEmbeddingProviderAdapters
|
||||
.filter((adapter) => typeof adapter.autoSelectPriority === "number")
|
||||
.toSorted((a, b) => (a.autoSelectPriority ?? 0) - (b.autoSelectPriority ?? 0))
|
||||
.map((adapter) => ({
|
||||
providerId: adapter.id,
|
||||
authProviderId: resolveMemoryEmbeddingAuthProviderId(adapter.id),
|
||||
envVars: getProviderEnvVars(resolveMemoryEmbeddingAuthProviderId(adapter.id)),
|
||||
transport: adapter.transport === "local" ? "local" : "remote",
|
||||
autoSelectPriority: adapter.autoSelectPriority,
|
||||
}));
|
||||
}
|
||||
|
||||
export {
|
||||
DEFAULT_GEMINI_EMBEDDING_MODEL,
|
||||
DEFAULT_LOCAL_MODEL,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { OpenClawConfig } from "openclaw/plugin-sdk/memory-core";
|
||||
import { expect } from "vitest";
|
||||
import type { OpenClawConfig } from "../api.js";
|
||||
import { createMemoryGetTool, createMemorySearchTool } from "./tools.js";
|
||||
|
||||
export function asOpenClawConfig(config: Partial<OpenClawConfig>): OpenClawConfig {
|
||||
|
||||
Reference in New Issue
Block a user