UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

46 lines (45 loc) • 1.69 kB
import { r as sanitizeEmbeddingCacheHeaders } from "./embedding-provider-adapter-utils-B17PVn9L.mjs"; import "./memory-core-host-engine-embeddings-Ce3QNZrE.mjs"; import { t as DEFAULT_OLLAMA_EMBEDDING_MODEL } from "./defaults-Dkg1KktH.mjs"; import { t as createOllamaEmbeddingProvider } from "./embedding-provider-C4L205t-.mjs"; import { createHash } from "node:crypto"; //#region extensions/ollama/src/memory-embedding-adapter.ts const OLLAMA_EMBEDDING_CACHE_EXCLUDED_HEADERS = [ "authorization", "content-type", "x-api-key" ]; function hashEmbeddingCacheHeaders(headers) { return headers.length > 0 ? createHash("sha256").update(JSON.stringify(headers)).digest("hex") : void 0; } const ollamaMemoryEmbeddingProviderAdapter = { id: "ollama", defaultModel: DEFAULT_OLLAMA_EMBEDDING_MODEL, transport: "remote", authProviderId: "ollama", create: async (options) => { const providerId = options.provider?.trim() || "ollama"; const { provider, client } = await createOllamaEmbeddingProvider({ ...options, provider: providerId, fallback: "none" }); const headersHash = hashEmbeddingCacheHeaders(sanitizeEmbeddingCacheHeaders(client.headers, OLLAMA_EMBEDDING_CACHE_EXCLUDED_HEADERS)); return { provider, runtime: { id: "ollama", inlineBatchTimeoutMs: 6e5, cacheKeyData: { provider: providerId, ...providerId === "ollama" && client.baseUrl === "http://127.0.0.1:11434" && headersHash === void 0 ? {} : { baseUrl: client.baseUrl }, model: client.model, outputDimensionality: client.outputDimensionality, ...headersHash ? { headersHash } : {} } } }; } }; //#endregion export { ollamaMemoryEmbeddingProviderAdapter };