"use client"; import { useTranslations } from "next-intl"; import type { MemorySettingsExtended } from "@/shared/schemas/memory"; import type { EmbeddingProviderListing } from "@/lib/memory/embedding/types"; interface Props { settings: MemorySettingsExtended; providers: EmbeddingProviderListing[]; onSave: (updates: Partial) => Promise; saving?: boolean; } export default function RerankConfigCard({ settings, providers, onSave, saving }: Props) { const t = useTranslations("memory"); const rerankEnabled = settings.rerankEnabled ?? false; const rerankProviderModel = settings.rerankProviderModel ?? ""; // Only list providers that have keys configured const rerankProviders = providers.filter((p) => p.hasKey); const hasProvider = rerankProviders.length > 0; const handleProviderModelChange = (value: string) => { onSave({ rerankProviderModel: value || null }); }; return (

{t("rerank.enableLabel")}

{t("rerank.enableDesc")}

{rerankEnabled && ( <> {/* Latency / cost warning */}
warning {t("rerank.warning")}
{!hasProvider ? (

warning {t("rerank.noProviderWithKey")}

) : ( )}
)}
); }