OpenClawBot / src /memory /provider-key.ts
darkfire514's picture
Upload 2526 files
fb4d8fe verified
import { fingerprintHeaderNames } from "./headers-fingerprint.js";
import { hashText } from "./internal.js";
export function computeEmbeddingProviderKey(params: {
providerId: string;
providerModel: string;
openAi?: { baseUrl: string; model: string; headers: Record<string, string> };
gemini?: { baseUrl: string; model: string; headers: Record<string, string> };
}): string {
if (params.openAi) {
const headerNames = fingerprintHeaderNames(params.openAi.headers);
return hashText(
JSON.stringify({
provider: "openai",
baseUrl: params.openAi.baseUrl,
model: params.openAi.model,
headerNames,
}),
);
}
if (params.gemini) {
const headerNames = fingerprintHeaderNames(params.gemini.headers);
return hashText(
JSON.stringify({
provider: "gemini",
baseUrl: params.gemini.baseUrl,
model: params.gemini.model,
headerNames,
}),
);
}
return hashText(JSON.stringify({ provider: params.providerId, model: params.providerModel }));
}