"use client"; import { useEffect, useState } from "react"; import type { EngineConfigField } from "@omniroute/open-sse/services/compression/engines/types"; import { EngineConfigForm } from "@/shared/components/compression/EngineConfigForm"; // ── Types ───────────────────────────────────────────────────────────────── interface EngineEntry { id: string; name: string; description: string; icon: string; stackable: boolean; stackPriority: number; metadata: { description?: string; [key: string]: unknown }; configSchema: EngineConfigField[]; } interface ComboStep { engine: string; intensity?: string; config?: Record; } interface Analytics { engineId: string; runs: number; tokensSaved: number; avgSavingsPercent: number; days: number; } interface PreviewDiffSegment { type?: string; value?: string; text?: string; content?: string; original?: string; compressed?: string; before?: string; after?: string; } interface PreviewResult { original?: string; compressed?: string; originalTokens: number; compressedTokens: number; savingsPct: number; diff?: PreviewDiffSegment[]; } // ── Default preview sample ──────────────────────────────────────────────── const PREVIEW_SAMPLE = "The quick brown fox jumps over the lazy dog. " + "This is a sample message used to preview compression. " + "It contains enough text to show meaningful token savings."; // ── Sub-components ──────────────────────────────────────────────────────── function StatCard({ label, value }: { label: string; value: string }) { return (
{label} {value}
); } function renderDiffSegment(segment: PreviewDiffSegment, index: number) { const label = segment.type ?? "change"; const text = segment.value ?? segment.text ?? segment.content ?? [segment.original ?? segment.before, segment.compressed ?? segment.after] .filter(Boolean) .join(" → ") ?? ""; return (
{label} {text}
); } // ── Main component ──────────────────────────────────────────────────────── export function EngineConfigPage({ engineId }: { engineId: string }) { // ── Data state ────────────────────────────────────────────────────────── const [engine, setEngine] = useState(null); const [enabled, setEnabled] = useState(false); const [configState, setConfigState] = useState>({}); const [analytics, setAnalytics] = useState(null); const [loadError, setLoadError] = useState(null); const [loading, setLoading] = useState(true); // ── Preview state ─────────────────────────────────────────────────────── const [previewText, setPreviewText] = useState(PREVIEW_SAMPLE); const [preview, setPreview] = useState(null); const [previewError, setPreviewError] = useState(null); const [previewLoading, setPreviewLoading] = useState(false); // ── Action state ──────────────────────────────────────────────────────── const [saveError, setSaveError] = useState(null); const [toggleError, setToggleError] = useState(null); const [saving, setSaving] = useState(false); // ── Initial load ──────────────────────────────────────────────────────── useEffect(() => { let cancelled = false; async function load() { setLoading(true); setLoadError(null); // Fire the three independent reads in parallel — load time is the slowest // single request, not their sum. Each resolves to null on failure (fail-soft). const asJson = (r: Response) => (r.ok ? r.json() : null); const [enginesData, comboData, analyticsData] = await Promise.all([ fetch("/api/compression/engines") .then(asJson) .catch(() => null) as Promise<{ engines: EngineEntry[] } | null>, fetch("/api/context/combos/default") .then(asJson) .catch(() => null) as Promise<{ pipeline?: ComboStep[] } | null>, fetch(`/api/context/analytics/engine?engineId=${engineId}&days=7`) .then(asJson) .catch(() => null) as Promise, ]); let foundEngine: EngineEntry | null = null; if (enginesData) { foundEngine = enginesData.engines?.find((e) => e.id === engineId) ?? null; } else { setLoadError("Failed to load engine information."); } // Derive enabled + currentConfig from the default combo (404/null = defaults) let currentEnabled = false; let currentConfig: Record = {}; const step = comboData?.pipeline?.find((s) => s.engine === engineId); if (step) { currentEnabled = step.config?.enabled !== false; currentConfig = step.config ?? {}; } if (!cancelled) { if (analyticsData) setAnalytics(analyticsData); setEngine(foundEngine); setEnabled(currentEnabled); // Seed configState from defaultValues then override with currentConfig const defaults: Record = {}; for (const field of foundEngine?.configSchema ?? []) { defaults[field.key] = field.defaultValue; } setConfigState({ ...defaults, ...currentConfig, enabled: currentEnabled }); setLoading(false); } } void load(); return () => { cancelled = true; }; }, [engineId]); // ── Handlers ───────────────────────────────────────────────────────────── async function handleToggle() { const next = !enabled; const nextConfig = { ...configState, enabled: next }; setEnabled(next); setConfigState(nextConfig); setToggleError(null); try { const res = await fetch("/api/context/combos/default", { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ engineId, enabled: next, config: nextConfig }), }); if (!res.ok) { setToggleError("Failed to update engine state."); setEnabled(!next); // revert setConfigState(configState); } } catch { setToggleError("Failed to update engine state."); setEnabled(!next); // revert setConfigState(configState); } } async function handleSave() { const nextEnabled = typeof configState.enabled === "boolean" ? configState.enabled : enabled; const nextConfig = { ...configState, enabled: nextEnabled }; setEnabled(nextEnabled); setConfigState(nextConfig); setSaving(true); setSaveError(null); try { const res = await fetch("/api/context/combos/default", { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ engineId, enabled: nextEnabled, config: nextConfig }), }); if (!res.ok) { setSaveError("Failed to save configuration."); } } catch { setSaveError("Failed to save configuration."); } finally { setSaving(false); } } async function handlePreview() { setPreviewLoading(true); setPreviewError(null); setPreview(null); try { const res = await fetch("/api/compression/preview", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ engineId, messages: [{ role: "user", content: previewText }], }), }); if (res.ok) { const data = (await res.json()) as PreviewResult; setPreview(data); } else { setPreviewError("Preview failed."); } } catch { setPreviewError("Preview failed."); } finally { setPreviewLoading(false); } } // ── Render ──────────────────────────────────────────────────────────────── if (loading) { return (
Loading…
); } if (!engine) { return (
{loadError ?? `Engine "${engineId}" not found.`}
); } const subtitle = engine.metadata?.description ?? engine.description; const visibleConfigSchema = engine.configSchema.filter((field) => field.key !== "enabled"); return (
{/* ── Header ── */}
{engine.icon && ( )}

{engine.name}

{subtitle &&

{subtitle}

}
{loadError && (

{loadError}

)} {/* ── Enable toggle ── */}
Enable layer {enabled ? "This layer is active in the default pipeline." : "This layer is inactive."}
{toggleError &&

{toggleError}

}

Enabled layers run when compression is in "stacked" mode. Configure it in{" "} Compression Settings .

{/* ── Config form ── */}

Configuration

{visibleConfigSchema.length > 0 ? ( ) : (

No additional configuration.

)}
{saveError &&

{saveError}

}
{/* ── Live preview ── */}

Preview