Files
clawdbot/src/memory/provider-key.ts
2026-01-18 09:09:45 +00:00

34 lines
1.0 KiB
TypeScript

import { hashText } from "./internal.js";
import { fingerprintHeaderNames } from "./headers-fingerprint.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 }));
}