From a8f4d734a3c54b49a2ac61a93b1f2bd3791f03ae Mon Sep 17 00:00:00 2001 From: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:35:16 -0300 Subject: [PATCH 1/2] fix: adjust onboarding copies and behaviors (#67) * fixed logos * pre-populate ollama endpoint * show/hide api keys with button * Added dropdown selector for ibm endpoint * Added programatic dot pattern instead of background image * Updated copies * wait for 500ms before show connecting * Changed copy * removed unused log * Added padding when password button is present * made toggle be on mouse up * show placeholder as loading models when they're loading * removed description from model selector * implemented getting key from env * fixed complete button not updating --- frontend/components.json | 6 +- frontend/components/logo/ibm-logo.tsx | 2 +- frontend/components/logo/openai-logo.tsx | 2 +- frontend/components/ui/dot-pattern.tsx | 158 ++++++++ frontend/components/ui/input.tsx | 31 +- frontend/public/images/background.png | Bin 275423 -> 0 bytes .../src/app/api/queries/useGetModelsQuery.ts | 1 - frontend/src/app/login/page.tsx | 26 +- .../app/onboarding/components/advanced.tsx | 8 +- .../onboarding/components/ibm-onboarding.tsx | 64 +++- .../onboarding/components/model-selector.tsx | 16 +- .../components/ollama-onboarding.tsx | 59 ++- .../components/openai-onboarding.tsx | 79 ++-- frontend/src/app/onboarding/page.tsx | 344 +++++++++--------- src/main.py | 18 +- 15 files changed, 546 insertions(+), 268 deletions(-) create mode 100644 frontend/components/ui/dot-pattern.tsx delete mode 100644 frontend/public/images/background.png diff --git a/frontend/components.json b/frontend/components.json index 8e7f1638..53d2101e 100644 --- a/frontend/components.json +++ b/frontend/components.json @@ -10,9 +10,13 @@ "cssVariables": true, "prefix": "" }, + "iconLibrary": "lucide", "aliases": { "components": "components", "utils": "lib/utils", "ui": "components/ui" + }, + "registries": { + "@magicui": "https://magicui.design/r/{name}.json" } -} \ No newline at end of file +} diff --git a/frontend/components/logo/ibm-logo.tsx b/frontend/components/logo/ibm-logo.tsx index 6f7fc2cd..44b6e08c 100644 --- a/frontend/components/logo/ibm-logo.tsx +++ b/frontend/components/logo/ibm-logo.tsx @@ -11,7 +11,7 @@ export default function IBMLogo(props: React.SVGProps) { IBM Logo ); diff --git a/frontend/components/logo/openai-logo.tsx b/frontend/components/logo/openai-logo.tsx index 639c130e..330211b9 100644 --- a/frontend/components/logo/openai-logo.tsx +++ b/frontend/components/logo/openai-logo.tsx @@ -23,7 +23,7 @@ export default function OpenAILogo(props: React.SVGProps) { diff --git a/frontend/components/ui/dot-pattern.tsx b/frontend/components/ui/dot-pattern.tsx new file mode 100644 index 00000000..aa4b2028 --- /dev/null +++ b/frontend/components/ui/dot-pattern.tsx @@ -0,0 +1,158 @@ +"use client"; + +import { motion } from "motion/react"; +import type React from "react"; +import { useEffect, useId, useRef, useState } from "react"; +import { cn } from "@/lib/utils"; + +/** + * DotPattern Component Props + * + * @param {number} [width=16] - The horizontal spacing between dots + * @param {number} [height=16] - The vertical spacing between dots + * @param {number} [x=0] - The x-offset of the entire pattern + * @param {number} [y=0] - The y-offset of the entire pattern + * @param {number} [cx=1] - The x-offset of individual dots + * @param {number} [cy=1] - The y-offset of individual dots + * @param {number} [cr=1] - The radius of each dot + * @param {string} [className] - Additional CSS classes to apply to the SVG container + * @param {boolean} [glow=false] - Whether dots should have a glowing animation effect + */ +interface DotPatternProps extends React.SVGProps { + width?: number; + height?: number; + x?: number; + y?: number; + cx?: number; + cy?: number; + cr?: number; + className?: string; + glow?: boolean; + [key: string]: unknown; +} + +/** + * DotPattern Component + * + * A React component that creates an animated or static dot pattern background using SVG. + * The pattern automatically adjusts to fill its container and can optionally display glowing dots. + * + * @component + * + * @see DotPatternProps for the props interface. + * + * @example + * // Basic usage + * + * + * // With glowing effect and custom spacing + * + * + * @notes + * - The component is client-side only ("use client") + * - Automatically responds to container size changes + * - When glow is enabled, dots will animate with random delays and durations + * - Uses Motion for animations + * - Dots color can be controlled via the text color utility classes + */ + +export function DotPattern({ + width = 16, + height = 16, + x = 0, + y = 0, + cx = 1, + cy = 1, + cr = 1, + className, + glow = false, + ...props +}: DotPatternProps) { + const id = useId(); + const containerRef = useRef(null); + const [dimensions, setDimensions] = useState({ width: 0, height: 0 }); + + useEffect(() => { + const updateDimensions = () => { + if (containerRef.current) { + const { width, height } = containerRef.current.getBoundingClientRect(); + setDimensions({ width, height }); + } + }; + + updateDimensions(); + window.addEventListener("resize", updateDimensions); + return () => window.removeEventListener("resize", updateDimensions); + }, []); + + const dots = Array.from( + { + length: + Math.ceil(dimensions.width / width) * + Math.ceil(dimensions.height / height), + }, + (_, i) => { + const col = i % Math.ceil(dimensions.width / width); + const row = Math.floor(i / Math.ceil(dimensions.width / width)); + return { + x: col * width + cx, + y: row * height + cy, + delay: Math.random() * 5, + duration: Math.random() * 3 + 2, + }; + }, + ); + + return ( + + ); +} diff --git a/frontend/components/ui/input.tsx b/frontend/components/ui/input.tsx index 5ba0eba0..04599fd0 100644 --- a/frontend/components/ui/input.tsx +++ b/frontend/components/ui/input.tsx @@ -1,3 +1,4 @@ +import { Eye, EyeOff } from "lucide-react"; import * as React from "react"; import { cn } from "@/lib/utils"; @@ -12,6 +13,11 @@ const Input = React.forwardRef( const [hasValue, setHasValue] = React.useState( Boolean(props.value || props.defaultValue), ); + const [showPassword, setShowPassword] = React.useState(false); + + const handleTogglePassword = () => { + setShowPassword(!showPassword); + }; const handleChange = (e: React.ChangeEvent) => { setHasValue(e.target.value.length > 0); @@ -23,8 +29,8 @@ const Input = React.forwardRef( return ( ); - } + }, ); Input.displayName = "Input"; diff --git a/frontend/public/images/background.png b/frontend/public/images/background.png deleted file mode 100644 index 66d44a8a54df9daeff80b547dba1401c91064a44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275423 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
h4t=N6v_mSbnrrop3Lzr_1GZg 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 Go&Nx$NHnhi diff --git a/frontend/src/app/api/queries/useGetModelsQuery.ts b/frontend/src/app/api/queries/useGetModelsQuery.ts index 4ce55bd3..3a5eb77e 100644 --- a/frontend/src/app/api/queries/useGetModelsQuery.ts +++ b/frontend/src/app/api/queries/useGetModelsQuery.ts @@ -90,7 +90,6 @@ export const useGetOllamaModelsQuery = ( queryKey: ["models", "ollama", params], queryFn: getOllamaModels, retry: 2, - enabled: !!params?.endpoint, // Only run if endpoint is provided staleTime: 0, // Always fetch fresh data gcTime: 0, // Don't cache results ...options, diff --git a/frontend/src/app/login/page.tsx b/frontend/src/app/login/page.tsx index c2347f1b..1639a4be 100644 --- a/frontend/src/app/login/page.tsx +++ b/frontend/src/app/login/page.tsx @@ -6,7 +6,9 @@ import { Suspense, useEffect } from "react"; import GoogleLogo from "@/components/logo/google-logo"; import Logo from "@/components/logo/logo"; import { Button } from "@/components/ui/button"; +import { DotPattern } from "@/components/ui/dot-pattern"; import { useAuth } from "@/contexts/auth-context"; +import { cn } from "@/lib/utils"; import { useGetSettingsQuery } from "../api/queries/useGetSettingsQuery"; function LoginPageContent() { @@ -53,15 +55,19 @@ function LoginPageContent() { } return ( -
-
+
+ +

Welcome to OpenRAG

@@ -72,7 +78,7 @@ function LoginPageContent() { Continue with Google

-
+

Systems Operational

•

Privacy Policy

diff --git a/frontend/src/app/onboarding/components/advanced.tsx b/frontend/src/app/onboarding/components/advanced.tsx index bb0089d5..20764aed 100644 --- a/frontend/src/app/onboarding/components/advanced.tsx +++ b/frontend/src/app/onboarding/components/advanced.tsx @@ -47,8 +47,7 @@ export function AdvancedOnboarding({ {hasEmbeddingModels && ( @@ -63,8 +62,7 @@ export function AdvancedOnboarding({ {hasLanguageModels && ( @@ -79,7 +77,7 @@ export function AdvancedOnboarding({ {(hasLanguageModels || hasEmbeddingModels) && } diff --git a/frontend/src/app/onboarding/components/ibm-onboarding.tsx b/frontend/src/app/onboarding/components/ibm-onboarding.tsx index 550f9d6b..63e3fe6a 100644 --- a/frontend/src/app/onboarding/components/ibm-onboarding.tsx +++ b/frontend/src/app/onboarding/components/ibm-onboarding.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import { LabelInput } from "@/components/label-input"; +import { LabelWrapper } from "@/components/label-wrapper"; import IBMLogo from "@/components/logo/ibm-logo"; import { useDebouncedValue } from "@/lib/debounce"; import type { OnboardingVariables } from "../../api/mutations/useOnboardingMutation"; @@ -7,6 +8,7 @@ import { useGetIBMModelsQuery } from "../../api/queries/useGetModelsQuery"; import { useModelSelection } from "../hooks/useModelSelection"; import { useUpdateSettings } from "../hooks/useUpdateSettings"; import { AdvancedOnboarding } from "./advanced"; +import { ModelSelector } from "./model-selector"; export function IBMOnboarding({ setSettings, @@ -17,10 +19,42 @@ export function IBMOnboarding({ sampleDataset: boolean; setSampleDataset: (dataset: boolean) => void; }) { - const [endpoint, setEndpoint] = useState(""); + const [endpoint, setEndpoint] = useState("https://us-south.ml.cloud.ibm.com"); const [apiKey, setApiKey] = useState(""); const [projectId, setProjectId] = useState(""); + const options = [ + { + value: "https://us-south.ml.cloud.ibm.com", + label: "https://us-south.ml.cloud.ibm.com", + default: true, + }, + { + value: "https://eu-de.ml.cloud.ibm.com", + label: "https://eu-de.ml.cloud.ibm.com", + default: false, + }, + { + value: "https://eu-gb.ml.cloud.ibm.com", + label: "https://eu-gb.ml.cloud.ibm.com", + default: false, + }, + { + value: "https://au-syd.ml.cloud.ibm.com", + label: "https://au-syd.ml.cloud.ibm.com", + default: false, + }, + { + value: "https://jp-tok.ml.cloud.ibm.com", + label: "https://jp-tok.ml.cloud.ibm.com", + default: false, + }, + { + value: "https://ca-tor.ml.cloud.ibm.com", + label: "https://ca-tor.ml.cloud.ibm.com", + default: false, + }, + ]; const debouncedEndpoint = useDebouncedValue(endpoint, 500); const debouncedApiKey = useDebouncedValue(apiKey, 500); const debouncedProjectId = useDebouncedValue(projectId, 500); @@ -68,19 +102,26 @@ export function IBMOnboarding({ return ( <>
- setEndpoint(e.target.value)} - /> + > + + - Invalid configuration or connection failed + Connection failed. Check your configuration.

)} - {modelsData && - (modelsData.language_models?.length > 0 || - modelsData.embedding_models?.length > 0) && ( -

- Configuration is valid -

- )}
} diff --git a/frontend/src/app/onboarding/components/model-selector.tsx b/frontend/src/app/onboarding/components/model-selector.tsx index 7a74bed2..dfed52ee 100644 --- a/frontend/src/app/onboarding/components/model-selector.tsx +++ b/frontend/src/app/onboarding/components/model-selector.tsx @@ -21,6 +21,9 @@ export function ModelSelector({ value, onValueChange, icon, + placeholder = "Select model...", + searchPlaceholder = "Search model...", + noOptionsPlaceholder = "No models available", }: { options: { value: string; @@ -29,6 +32,9 @@ export function ModelSelector({ }[]; value: string; icon?: React.ReactNode; + placeholder?: string; + searchPlaceholder?: string; + noOptionsPlaceholder?: string; onValueChange: (value: string) => void; }) { const [open, setOpen] = useState(false); @@ -50,7 +56,7 @@ export function ModelSelector({ > {value ? (
-
{icon}
+ {icon &&
{icon}
} {options.find((framework) => framework.value === value)?.label} {options.find((framework) => framework.value === value) ?.default && ( @@ -60,18 +66,18 @@ export function ModelSelector({ )}
) : options.length === 0 ? ( - "No models available" + noOptionsPlaceholder ) : ( - "Select model..." + placeholder )} - + - No model found. + {noOptionsPlaceholder} {options.map((option) => ( void; }) { - const [endpoint, setEndpoint] = useState(""); + const [endpoint, setEndpoint] = useState("http://localhost:11434"); + const [showConnecting, setShowConnecting] = useState(false); const debouncedEndpoint = useDebouncedValue(endpoint, 500); // Fetch models from API when endpoint is provided (debounced) @@ -41,6 +42,25 @@ export function OllamaOnboarding({ embeddingModels, } = useModelSelection(modelsData); + // Handle delayed display of connecting state + useEffect(() => { + let timeoutId: NodeJS.Timeout; + + if (debouncedEndpoint && isLoadingModels) { + timeoutId = setTimeout(() => { + setShowConnecting(true); + }, 500); + } else { + setShowConnecting(false); + } + + return () => { + if (timeoutId) { + clearTimeout(timeoutId); + } + }; + }, [debouncedEndpoint, isLoadingModels]); + const handleSampleDatasetChange = (dataset: boolean) => { setSampleDataset(dataset); }; @@ -57,74 +77,75 @@ export function OllamaOnboarding({ ); // Check validation state based on models query - const isConnecting = debouncedEndpoint && isLoadingModels; const hasConnectionError = debouncedEndpoint && modelsError; const hasNoModels = modelsData && !modelsData.language_models?.length && !modelsData.embedding_models?.length; - const isValidConnection = - modelsData && - (modelsData.language_models?.length > 0 || - modelsData.embedding_models?.length > 0); return ( <>
setEndpoint(e.target.value)} /> - {isConnecting && ( + {showConnecting && (

Connecting to Ollama server...

)} {hasConnectionError && (

- Can’t reach Ollama at {debouncedEndpoint}. Update the endpoint or + Can’t reach Ollama at {debouncedEndpoint}. Update the base URL or start the server.

)} {hasNoModels && (

- No models found. Please install some models on your Ollama server. -

- )} - {isValidConnection && ( -

- Connected successfully + No models found. Install embedding and agent models on your Ollama + server.

)}
} + noOptionsPlaceholder={ + isLoadingModels + ? "Loading models..." + : "No embedding models detected. Install an embedding model to continue." + } value={embeddingModel} onValueChange={setEmbeddingModel} /> } + noOptionsPlaceholder={ + isLoadingModels + ? "Loading models..." + : "No language models detected. Install a language model to continue." + } value={languageModel} onValueChange={setLanguageModel} /> diff --git a/frontend/src/app/onboarding/components/openai-onboarding.tsx b/frontend/src/app/onboarding/components/openai-onboarding.tsx index cf18fb53..236097a4 100644 --- a/frontend/src/app/onboarding/components/openai-onboarding.tsx +++ b/frontend/src/app/onboarding/components/openai-onboarding.tsx @@ -1,6 +1,8 @@ import { useState } from "react"; import { LabelInput } from "@/components/label-input"; +import { LabelWrapper } from "@/components/label-wrapper"; import OpenAILogo from "@/components/logo/openai-logo"; +import { Switch } from "@/components/ui/switch"; import { useDebouncedValue } from "@/lib/debounce"; import type { OnboardingVariables } from "../../api/mutations/useOnboardingMutation"; import { useGetOpenAIModelsQuery } from "../../api/queries/useGetModelsQuery"; @@ -18,6 +20,7 @@ export function OpenAIOnboarding({ setSampleDataset: (dataset: boolean) => void; }) { const [apiKey, setApiKey] = useState(""); + const [getFromEnv, setGetFromEnv] = useState(true); const debouncedApiKey = useDebouncedValue(apiKey, 500); // Fetch models from API when API key is provided @@ -26,7 +29,12 @@ export function OpenAIOnboarding({ isLoading: isLoadingModels, error: modelsError, } = useGetOpenAIModelsQuery( - debouncedApiKey ? { apiKey: debouncedApiKey } : undefined, + getFromEnv + ? { apiKey: "" } + : debouncedApiKey + ? { apiKey: debouncedApiKey } + : undefined, + { enabled: debouncedApiKey !== "" || getFromEnv }, ); // Use custom hook for model selection logic const { @@ -41,6 +49,15 @@ export function OpenAIOnboarding({ setSampleDataset(dataset); }; + const handleGetFromEnvChange = (fromEnv: boolean) => { + setGetFromEnv(fromEnv); + if (fromEnv) { + setApiKey(""); + } + setLanguageModel(""); + setEmbeddingModel(""); + }; + // Update settings when values change useUpdateSettings( "openai", @@ -53,33 +70,41 @@ export function OpenAIOnboarding({ ); return ( <> -
- setApiKey(e.target.value)} - /> - {isLoadingModels && ( -

- Validating API key... -

+
+ + + + {!getFromEnv && ( +
+ setApiKey(e.target.value)} + /> + {isLoadingModels && ( +

+ Validating API key... +

+ )} + {modelsError && ( +

+ Invalid OpenAI API key. Verify or replace the key. +

+ )} +
)} - {modelsError && ( -

- Invalid API key -

- )} - {modelsData && - (modelsData.language_models?.length > 0 || - modelsData.embedding_models?.length > 0) && ( -

- API Key is valid -

- )}
} diff --git a/frontend/src/app/onboarding/page.tsx b/frontend/src/app/onboarding/page.tsx index c58abfea..a82e5fab 100644 --- a/frontend/src/app/onboarding/page.tsx +++ b/frontend/src/app/onboarding/page.tsx @@ -4,8 +4,8 @@ import { useRouter } from "next/navigation"; import { Suspense, useEffect, useState } from "react"; import { toast } from "sonner"; import { - type OnboardingVariables, - useOnboardingMutation, + type OnboardingVariables, + useOnboardingMutation, } from "@/app/api/mutations/useOnboardingMutation"; import IBMLogo from "@/components/logo/ibm-logo"; import OllamaLogo from "@/components/logo/ollama-logo"; @@ -13,198 +13,208 @@ import OpenAILogo from "@/components/logo/openai-logo"; import { ProtectedRoute } from "@/components/protected-route"; import { Button } from "@/components/ui/button"; import { - Card, - CardContent, - CardFooter, - CardHeader, + Card, + CardContent, + CardFooter, + CardHeader, } from "@/components/ui/card"; +import { DotPattern } from "@/components/ui/dot-pattern"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { - Tooltip, - TooltipContent, - TooltipTrigger, + Tooltip, + TooltipContent, + TooltipTrigger, } from "@/components/ui/tooltip"; +import { cn } from "@/lib/utils"; import { useGetSettingsQuery } from "../api/queries/useGetSettingsQuery"; import { IBMOnboarding } from "./components/ibm-onboarding"; import { OllamaOnboarding } from "./components/ollama-onboarding"; import { OpenAIOnboarding } from "./components/openai-onboarding"; function OnboardingPage() { - const { data: settingsDb, isLoading: isSettingsLoading } = - useGetSettingsQuery(); + const { data: settingsDb, isLoading: isSettingsLoading } = + useGetSettingsQuery(); - const redirect = "/"; + const redirect = "/"; - const router = useRouter(); + const router = useRouter(); - // Redirect if already authenticated or in no-auth mode - useEffect(() => { - if (!isSettingsLoading && settingsDb && settingsDb.edited) { - router.push(redirect); - } - }, [isSettingsLoading, settingsDb, router]); + // Redirect if already authenticated or in no-auth mode + useEffect(() => { + if (!isSettingsLoading && settingsDb && settingsDb.edited) { + router.push(redirect); + } + }, [isSettingsLoading, settingsDb, router]); - const [modelProvider, setModelProvider] = useState("openai"); + const [modelProvider, setModelProvider] = useState("openai"); - const [sampleDataset, setSampleDataset] = useState(true); + const [sampleDataset, setSampleDataset] = useState(true); - const handleSetModelProvider = (provider: string) => { - setModelProvider(provider); - setSettings({ - model_provider: provider, - embedding_model: "", - llm_model: "", - }); - }; + const handleSetModelProvider = (provider: string) => { + setModelProvider(provider); + setSettings({ + model_provider: provider, + embedding_model: "", + llm_model: "", + }); + }; - const [settings, setSettings] = useState({ - model_provider: modelProvider, - embedding_model: "", - llm_model: "", - }); + const [settings, setSettings] = useState({ + model_provider: modelProvider, + embedding_model: "", + llm_model: "", + }); - // Mutations - const onboardingMutation = useOnboardingMutation({ - onSuccess: (data) => { - toast.success("Onboarding completed successfully!"); - console.log("Onboarding completed successfully", data); - router.push(redirect); - }, - onError: (error) => { - toast.error("Failed to complete onboarding", { - description: error.message, - }); - }, - }); + // Mutations + const onboardingMutation = useOnboardingMutation({ + onSuccess: (data) => { + toast.success("Onboarding completed successfully!"); + console.log("Onboarding completed successfully", data); + router.push(redirect); + }, + onError: (error) => { + toast.error("Failed to complete onboarding", { + description: error.message, + }); + }, + }); - const handleComplete = () => { - if ( - !settings.model_provider || - !settings.llm_model || - !settings.embedding_model - ) { - toast.error("Please complete all required fields"); - return; - } + const handleComplete = () => { + if ( + !settings.model_provider || + !settings.llm_model || + !settings.embedding_model + ) { + toast.error("Please complete all required fields"); + return; + } - // Prepare onboarding data - const onboardingData: OnboardingVariables = { - model_provider: settings.model_provider, - llm_model: settings.llm_model, - embedding_model: settings.embedding_model, - sample_data: sampleDataset, - }; + // Prepare onboarding data + const onboardingData: OnboardingVariables = { + model_provider: settings.model_provider, + llm_model: settings.llm_model, + embedding_model: settings.embedding_model, + sample_data: sampleDataset, + }; - // Add API key if available - if (settings.api_key) { - onboardingData.api_key = settings.api_key; - } + // Add API key if available + if (settings.api_key) { + onboardingData.api_key = settings.api_key; + } - // Add endpoint if available - if (settings.endpoint) { - onboardingData.endpoint = settings.endpoint; - } + // Add endpoint if available + if (settings.endpoint) { + onboardingData.endpoint = settings.endpoint; + } - // Add project_id if available - if (settings.project_id) { - onboardingData.project_id = settings.project_id; - } + // Add project_id if available + if (settings.project_id) { + onboardingData.project_id = settings.project_id; + } - onboardingMutation.mutate(onboardingData); - }; + onboardingMutation.mutate(onboardingData); + }; - const isComplete = !!settings.llm_model && !!settings.embedding_model; + const isComplete = !!settings.llm_model && !!settings.embedding_model; - return ( -
-
-
-

- Configure your models -

-

[description of task]

-
- - - - - - - OpenAI - - - - IBM - - - - Ollama - - - - - - - - - - - - - - - - - - - - - - {!isComplete ? "Please fill in all required fields" : ""} - - - - -
-
- ); + return ( +
+ + +
+
+

+ Connect a model provider +

+
+ + + + + + + OpenAI + + + + IBM + + + + Ollama + + + + + + + + + + + + + + + + + + +
+ +
+
+ {!isComplete && ( + + Please fill in all required fields + + )} +
+
+
+
+
+ ); } export default function ProtectedOnboardingPage() { - return ( - - Loading onboarding...
}> - - - - ); + return ( + + Loading onboarding...
}> + + + + ); } diff --git a/src/main.py b/src/main.py index f78e07bc..7df80b22 100644 --- a/src/main.py +++ b/src/main.py @@ -392,8 +392,6 @@ async def startup_tasks(services): """Startup tasks""" logger.info("Starting startup tasks") await init_index() - # Sample data ingestion is now handled by the onboarding endpoint when sample_data=True - logger.info("Sample data ingestion moved to onboarding endpoint") async def initialize_services(): @@ -927,7 +925,8 @@ async def create_app(): "/settings", require_auth(services["session_manager"])( partial( - settings.update_settings, session_manager=services["session_manager"] + settings.update_settings, + session_manager=services["session_manager"], ) ), methods=["POST"], @@ -939,7 +938,7 @@ async def create_app(): partial( models.get_openai_models, models_service=services["models_service"], - session_manager=services["session_manager"] + session_manager=services["session_manager"], ) ), methods=["GET"], @@ -950,7 +949,7 @@ async def create_app(): partial( models.get_ollama_models, models_service=services["models_service"], - session_manager=services["session_manager"] + session_manager=services["session_manager"], ) ), methods=["GET"], @@ -961,7 +960,7 @@ async def create_app(): partial( models.get_ibm_models, models_service=services["models_service"], - session_manager=services["session_manager"] + session_manager=services["session_manager"], ) ), methods=["GET", "POST"], @@ -970,10 +969,7 @@ async def create_app(): Route( "/onboarding", require_auth(services["session_manager"])( - partial( - settings.onboarding, - flows_service=services["flows_service"] - ) + partial(settings.onboarding, flows_service=services["flows_service"]) ), methods=["POST"], ), @@ -983,7 +979,7 @@ async def create_app(): require_auth(services["session_manager"])( partial( settings.update_docling_preset, - session_manager=services["session_manager"] + session_manager=services["session_manager"], ) ), methods=["PATCH"], From 28e566a1f44200dd09fa5d88b7ff3873a1e7c008 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:41:53 -0300 Subject: [PATCH 2/2] feat: add session delete functionality (#70) * implement delete user conversation on agent * format * implement delete session endpoint * implement delete session on persistence services * added deletion of sessions and added fetch sessions with query instead of with useEffect * removed unused texts * implemented dropdown menu on conversations --- frontend/components/delete-session-modal.tsx | 58 ++++ frontend/components/navigation-layout.tsx | 46 ++- frontend/components/navigation.tsx | 318 +++++++++++------- .../api/queries/useDeleteSessionMutation.ts | 57 ++++ .../api/queries/useGetConversationsQuery.ts | 105 ++++++ frontend/src/components/layout-wrapper.tsx | 30 +- src/agent.py | 34 +- src/api/chat.py | 24 ++ src/api/settings.py | 67 ++-- src/main.py | 12 + src/services/chat_service.py | 52 +++ .../conversation_persistence_service.py | 4 +- src/services/session_ownership_service.py | 14 + 13 files changed, 651 insertions(+), 170 deletions(-) create mode 100644 frontend/components/delete-session-modal.tsx create mode 100644 frontend/src/app/api/queries/useDeleteSessionMutation.ts create mode 100644 frontend/src/app/api/queries/useGetConversationsQuery.ts diff --git a/frontend/components/delete-session-modal.tsx b/frontend/components/delete-session-modal.tsx new file mode 100644 index 00000000..7b57a44f --- /dev/null +++ b/frontend/components/delete-session-modal.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { AlertTriangle } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; + +interface DeleteSessionModalProps { + isOpen: boolean; + onClose: () => void; + onConfirm: () => void; + sessionTitle: string; + isDeleting?: boolean; +} + +export function DeleteSessionModal({ + isOpen, + onClose, + onConfirm, + sessionTitle, + isDeleting = false, +}: DeleteSessionModalProps) { + return ( + + + + + + Delete Conversation + + + Are you sure you want to delete "{sessionTitle}"? This + action cannot be undone and will permanently remove the conversation + and all its messages. + + + + + + + + + ); +} diff --git a/frontend/components/navigation-layout.tsx b/frontend/components/navigation-layout.tsx index fae8da62..d7a564a7 100644 --- a/frontend/components/navigation-layout.tsx +++ b/frontend/components/navigation-layout.tsx @@ -1,8 +1,12 @@ -"use client" +"use client"; -import { Navigation } from "@/components/navigation"; -import { ModeToggle } from "@/components/mode-toggle"; +import { usePathname } from "next/navigation"; +import { useGetConversationsQuery } from "@/app/api/queries/useGetConversationsQuery"; import { KnowledgeFilterDropdown } from "@/components/knowledge-filter-dropdown"; +import { ModeToggle } from "@/components/mode-toggle"; +import { Navigation } from "@/components/navigation"; +import { useAuth } from "@/contexts/auth-context"; +import { useChat } from "@/contexts/chat-context"; import { useKnowledgeFilter } from "@/contexts/knowledge-filter-context"; interface NavigationLayoutProps { @@ -11,11 +15,35 @@ interface NavigationLayoutProps { export function NavigationLayout({ children }: NavigationLayoutProps) { const { selectedFilter, setSelectedFilter } = useKnowledgeFilter(); - + const pathname = usePathname(); + const { isAuthenticated, isNoAuthMode } = useAuth(); + const { + endpoint, + refreshTrigger, + refreshConversations, + startNewConversation, + } = useChat(); + + // Only fetch conversations on chat page + const isOnChatPage = pathname === "/" || pathname === "/chat"; + const { data: conversations = [], isLoading: isConversationsLoading } = + useGetConversationsQuery(endpoint, refreshTrigger, { + enabled: isOnChatPage && (isAuthenticated || isNoAuthMode), + }); + + const handleNewConversation = () => { + refreshConversations(); + startNewConversation(); + }; + return (
- +
@@ -31,7 +59,7 @@ export function NavigationLayout({ children }: NavigationLayoutProps) { {/* Search component could go here */}
-
- {children} -
+
{children}
); -} \ No newline at end of file +} diff --git a/frontend/components/navigation.tsx b/frontend/components/navigation.tsx index b651ef6a..339b7d22 100644 --- a/frontend/components/navigation.tsx +++ b/frontend/components/navigation.tsx @@ -1,24 +1,35 @@ "use client"; -import { useChat } from "@/contexts/chat-context"; -import { cn } from "@/lib/utils"; import { + EllipsisVertical, FileText, Library, MessageSquare, + MoreHorizontal, Plus, Settings2, + Trash2, } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; -import { useCallback, useEffect, useRef, useState } from "react"; - -import { EndpointType } from "@/contexts/chat-context"; -import { useLoadingStore } from "@/stores/loadingStore"; -import { KnowledgeFilterList } from "./knowledge-filter-list"; +import { useEffect, useRef, useState } from "react"; +import { toast } from "sonner"; +import { useDeleteSessionMutation } from "@/app/api/queries/useDeleteSessionMutation"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { type EndpointType, useChat } from "@/contexts/chat-context"; import { useKnowledgeFilter } from "@/contexts/knowledge-filter-context"; +import { cn } from "@/lib/utils"; +import { useLoadingStore } from "@/stores/loadingStore"; +import { DeleteSessionModal } from "./delete-session-modal"; +import { KnowledgeFilterList } from "./knowledge-filter-list"; -interface RawConversation { +// Re-export the types for backward compatibility +export interface RawConversation { response_id: string; title: string; endpoint: string; @@ -35,7 +46,7 @@ interface RawConversation { [key: string]: unknown; } -interface ChatConversation { +export interface ChatConversation { response_id: string; title: string; endpoint: EndpointType; @@ -52,11 +63,20 @@ interface ChatConversation { [key: string]: unknown; } -export function Navigation() { +interface NavigationProps { + conversations?: ChatConversation[]; + isConversationsLoading?: boolean; + onNewConversation?: () => void; +} + +export function Navigation({ + conversations = [], + isConversationsLoading = false, + onNewConversation, +}: NavigationProps = {}) { const pathname = usePathname(); const { endpoint, - refreshTrigger, loadConversation, currentConversationId, setCurrentConversationId, @@ -70,18 +90,64 @@ export function Navigation() { const { loading } = useLoadingStore(); - const [conversations, setConversations] = useState([]); - const [loadingConversations, setLoadingConversations] = useState(false); const [loadingNewConversation, setLoadingNewConversation] = useState(false); const [previousConversationCount, setPreviousConversationCount] = useState(0); + const [deleteModalOpen, setDeleteModalOpen] = useState(false); + const [conversationToDelete, setConversationToDelete] = + useState(null); const fileInputRef = useRef(null); const { selectedFilter, setSelectedFilter } = useKnowledgeFilter(); + // Delete session mutation + const deleteSessionMutation = useDeleteSessionMutation({ + onSuccess: () => { + toast.success("Conversation deleted successfully"); + + // If we deleted the current conversation, select another one + if ( + conversationToDelete && + currentConversationId === conversationToDelete.response_id + ) { + // Filter out the deleted conversation and find the next one + const remainingConversations = conversations.filter( + (conv) => conv.response_id !== conversationToDelete.response_id, + ); + + if (remainingConversations.length > 0) { + // Load the first available conversation (most recent) + loadConversation(remainingConversations[0]); + } else { + // No conversations left, start a new one + setCurrentConversationId(null); + if (onNewConversation) { + onNewConversation(); + } else { + refreshConversations(); + startNewConversation(); + } + } + } + + setDeleteModalOpen(false); + setConversationToDelete(null); + }, + onError: (error) => { + toast.error(`Failed to delete conversation: ${error.message}`); + }, + }); + const handleNewConversation = () => { setLoadingNewConversation(true); - refreshConversations(); - startNewConversation(); + + // Use the prop callback if provided, otherwise use the context method + if (onNewConversation) { + onNewConversation(); + } else { + refreshConversations(); + startNewConversation(); + } + if (typeof window !== "undefined") { window.dispatchEvent(new CustomEvent("newConversation")); } @@ -98,7 +164,7 @@ export function Navigation() { window.dispatchEvent( new CustomEvent("fileUploadStart", { detail: { filename: file.name }, - }) + }), ); try { @@ -122,7 +188,7 @@ export function Navigation() { filename: file.name, error: "Failed to process document", }, - }) + }), ); // Trigger loading end event @@ -142,7 +208,7 @@ export function Navigation() { window.dispatchEvent( new CustomEvent("fileUploaded", { detail: { file, result }, - }) + }), ); // Trigger loading end event @@ -156,7 +222,7 @@ export function Navigation() { window.dispatchEvent( new CustomEvent("fileUploadError", { detail: { filename: file.name, error: "Failed to process document" }, - }) + }), ); } }; @@ -176,6 +242,41 @@ export function Navigation() { } }; + const handleDeleteConversation = ( + conversation: ChatConversation, + event?: React.MouseEvent, + ) => { + if (event) { + event.preventDefault(); + event.stopPropagation(); + } + setConversationToDelete(conversation); + setDeleteModalOpen(true); + }; + + const handleContextMenuAction = ( + action: string, + conversation: ChatConversation, + ) => { + switch (action) { + case "delete": + handleDeleteConversation(conversation); + break; + // Add more actions here in the future (rename, duplicate, etc.) + default: + break; + } + }; + + const confirmDeleteConversation = () => { + if (conversationToDelete) { + deleteSessionMutation.mutate({ + sessionId: conversationToDelete.response_id, + endpoint: endpoint, + }); + } + }; + const routes = [ { label: "Chat", @@ -200,91 +301,6 @@ export function Navigation() { const isOnChatPage = pathname === "/" || pathname === "/chat"; const isOnKnowledgePage = pathname.startsWith("/knowledge"); - const createDefaultPlaceholder = useCallback(() => { - return { - response_id: "new-conversation-" + Date.now(), - title: "New conversation", - endpoint: endpoint, - messages: [ - { - role: "assistant", - content: "How can I assist?", - timestamp: new Date().toISOString(), - }, - ], - created_at: new Date().toISOString(), - last_activity: new Date().toISOString(), - total_messages: 1, - } as ChatConversation; - }, [endpoint]); - - const fetchConversations = useCallback(async () => { - setLoadingConversations(true); - try { - // Fetch from the selected endpoint only - const apiEndpoint = - endpoint === "chat" ? "/api/chat/history" : "/api/langflow/history"; - - const response = await fetch(apiEndpoint); - if (response.ok) { - const history = await response.json(); - const rawConversations = history.conversations || []; - - // Cast conversations to proper type and ensure endpoint is correct - const conversations: ChatConversation[] = rawConversations.map( - (conv: RawConversation) => ({ - ...conv, - endpoint: conv.endpoint as EndpointType, - }) - ); - - // Sort conversations by last activity (most recent first) - conversations.sort((a: ChatConversation, b: ChatConversation) => { - const aTime = new Date( - a.last_activity || a.created_at || 0 - ).getTime(); - const bTime = new Date( - b.last_activity || b.created_at || 0 - ).getTime(); - return bTime - aTime; - }); - - setConversations(conversations); - - // If no conversations exist and no placeholder is shown, create a default placeholder - if (conversations.length === 0 && !placeholderConversation) { - setPlaceholderConversation(createDefaultPlaceholder()); - } - } else { - setConversations([]); - - // Also create placeholder when request fails and no conversations exist - if (!placeholderConversation) { - setPlaceholderConversation(createDefaultPlaceholder()); - } - } - - // Conversation documents are now managed in chat context - } catch (error) { - console.error(`Failed to fetch ${endpoint} conversations:`, error); - setConversations([]); - } finally { - setLoadingConversations(false); - } - }, [ - endpoint, - placeholderConversation, - setPlaceholderConversation, - createDefaultPlaceholder, - ]); - - // Fetch chat conversations when on chat page, endpoint changes, or refresh is triggered - useEffect(() => { - if (isOnChatPage) { - fetchConversations(); - } - }, [isOnChatPage, endpoint, refreshTrigger, fetchConversations]); - // Clear placeholder when conversation count increases (new conversation was created) useEffect(() => { const currentCount = conversations.length; @@ -326,7 +342,7 @@ export function Navigation() { "text-sm group flex p-3 w-full justify-start font-medium cursor-pointer hover:bg-accent hover:text-accent-foreground rounded-lg transition-all", route.active ? "bg-accent text-accent-foreground shadow-sm" - : "text-foreground hover:text-accent-foreground" + : "text-foreground hover:text-accent-foreground", )} >
@@ -335,7 +351,7 @@ export function Navigation() { "h-4 w-4 mr-3 shrink-0", route.active ? "text-accent-foreground" - : "text-muted-foreground group-hover:text-foreground" + : "text-muted-foreground group-hover:text-foreground", )} /> {route.label} @@ -366,6 +382,7 @@ export function Navigation() { Conversations )} {/* Show regular conversations */} @@ -412,9 +430,10 @@ export function Navigation() {
) : ( conversations.map((conversation) => ( -
-
- {conversation.title} -
-
- {conversation.total_messages} messages -
- {conversation.last_activity && ( -
- {new Date( - conversation.last_activity - ).toLocaleDateString()} +
+
+
+ {conversation.title} +
- )} -
+ + + + + e.stopPropagation()} + > + { + e.stopPropagation(); + handleContextMenuAction( + "delete", + conversation, + ); + }} + className="cursor-pointer text-destructive focus:text-destructive" + > + + Delete conversation + + + +
+ )) )} @@ -456,6 +507,7 @@ export function Navigation() { Conversation knowledge
)} + + {/* Delete Session Modal */} + { + setDeleteModalOpen(false); + setConversationToDelete(null); + }} + onConfirm={confirmDeleteConversation} + sessionTitle={conversationToDelete?.title || ""} + isDeleting={deleteSessionMutation.isPending} + />
); } diff --git a/frontend/src/app/api/queries/useDeleteSessionMutation.ts b/frontend/src/app/api/queries/useDeleteSessionMutation.ts new file mode 100644 index 00000000..996e8a44 --- /dev/null +++ b/frontend/src/app/api/queries/useDeleteSessionMutation.ts @@ -0,0 +1,57 @@ +import { + type MutationOptions, + useMutation, + useQueryClient, +} from "@tanstack/react-query"; +import type { EndpointType } from "@/contexts/chat-context"; + +interface DeleteSessionParams { + sessionId: string; + endpoint: EndpointType; +} + +interface DeleteSessionResponse { + success: boolean; + message: string; +} + +export const useDeleteSessionMutation = ( + options?: Omit< + MutationOptions, + "mutationFn" + >, +) => { + const queryClient = useQueryClient(); + + return useMutation({ + mutationFn: async ({ sessionId }: DeleteSessionParams) => { + const response = await fetch(`/api/sessions/${sessionId}`, { + method: "DELETE", + }); + + if (!response.ok) { + const errorData = await response.json().catch(() => ({})); + throw new Error( + errorData.error || `Failed to delete session: ${response.status}`, + ); + } + + return response.json(); + }, + onSettled: (_data, _error, variables) => { + // Invalidate conversations query to refresh the list + // Use a slight delay to ensure the success callback completes first + setTimeout(() => { + queryClient.invalidateQueries({ + queryKey: ["conversations", variables.endpoint], + }); + + // Also invalidate any specific conversation queries + queryClient.invalidateQueries({ + queryKey: ["conversations"], + }); + }, 0); + }, + ...options, + }); +}; diff --git a/frontend/src/app/api/queries/useGetConversationsQuery.ts b/frontend/src/app/api/queries/useGetConversationsQuery.ts new file mode 100644 index 00000000..f7e579b3 --- /dev/null +++ b/frontend/src/app/api/queries/useGetConversationsQuery.ts @@ -0,0 +1,105 @@ +import { + type UseQueryOptions, + useQuery, + useQueryClient, +} from "@tanstack/react-query"; +import type { EndpointType } from "@/contexts/chat-context"; + +export interface RawConversation { + response_id: string; + title: string; + endpoint: string; + messages: Array<{ + role: string; + content: string; + timestamp?: string; + response_id?: string; + }>; + created_at?: string; + last_activity?: string; + previous_response_id?: string; + total_messages: number; + [key: string]: unknown; +} + +export interface ChatConversation { + response_id: string; + title: string; + endpoint: EndpointType; + messages: Array<{ + role: string; + content: string; + timestamp?: string; + response_id?: string; + }>; + created_at?: string; + last_activity?: string; + previous_response_id?: string; + total_messages: number; + [key: string]: unknown; +} + +export interface ConversationHistoryResponse { + conversations: RawConversation[]; + [key: string]: unknown; +} + +export const useGetConversationsQuery = ( + endpoint: EndpointType, + refreshTrigger?: number, + options?: Omit, +) => { + const queryClient = useQueryClient(); + + async function getConversations(): Promise { + try { + // Fetch from the selected endpoint only + const apiEndpoint = + endpoint === "chat" ? "/api/chat/history" : "/api/langflow/history"; + + const response = await fetch(apiEndpoint); + + if (!response.ok) { + console.error(`Failed to fetch conversations: ${response.status}`); + return []; + } + + const history: ConversationHistoryResponse = await response.json(); + const rawConversations = history.conversations || []; + + // Cast conversations to proper type and ensure endpoint is correct + const conversations: ChatConversation[] = rawConversations.map( + (conv: RawConversation) => ({ + ...conv, + endpoint: conv.endpoint as EndpointType, + }), + ); + + // Sort conversations by last activity (most recent first) + conversations.sort((a: ChatConversation, b: ChatConversation) => { + const aTime = new Date(a.last_activity || a.created_at || 0).getTime(); + const bTime = new Date(b.last_activity || b.created_at || 0).getTime(); + return bTime - aTime; + }); + + return conversations; + } catch (error) { + console.error(`Failed to fetch ${endpoint} conversations:`, error); + return []; + } + } + + const queryResult = useQuery( + { + queryKey: ["conversations", endpoint, refreshTrigger], + placeholderData: (prev) => prev, + queryFn: getConversations, + staleTime: 0, // Always consider data stale to ensure fresh data on trigger changes + gcTime: 5 * 60 * 1000, // Keep in cache for 5 minutes + ...options, + }, + queryClient, + ); + + return queryResult; +}; diff --git a/frontend/src/components/layout-wrapper.tsx b/frontend/src/components/layout-wrapper.tsx index 9be42730..79d4b095 100644 --- a/frontend/src/components/layout-wrapper.tsx +++ b/frontend/src/components/layout-wrapper.tsx @@ -2,28 +2,48 @@ import { Bell, Loader2 } from "lucide-react"; import { usePathname } from "next/navigation"; +import { useGetConversationsQuery } from "@/app/api/queries/useGetConversationsQuery"; import { useGetSettingsQuery } from "@/app/api/queries/useGetSettingsQuery"; import { KnowledgeFilterPanel } from "@/components/knowledge-filter-panel"; +import Logo from "@/components/logo/logo"; import { Navigation } from "@/components/navigation"; import { TaskNotificationMenu } from "@/components/task-notification-menu"; import { Button } from "@/components/ui/button"; import { UserNav } from "@/components/user-nav"; import { useAuth } from "@/contexts/auth-context"; +import { useChat } from "@/contexts/chat-context"; import { useKnowledgeFilter } from "@/contexts/knowledge-filter-context"; // import { GitHubStarButton } from "@/components/github-star-button" // import { DiscordLink } from "@/components/discord-link" import { useTask } from "@/contexts/task-context"; -import Logo from "@/components/logo/logo"; export function LayoutWrapper({ children }: { children: React.ReactNode }) { const pathname = usePathname(); const { tasks, isMenuOpen, toggleMenu } = useTask(); const { isPanelOpen } = useKnowledgeFilter(); const { isLoading, isAuthenticated, isNoAuthMode } = useAuth(); + const { + endpoint, + refreshTrigger, + refreshConversations, + startNewConversation, + } = useChat(); const { isLoading: isSettingsLoading, data: settings } = useGetSettingsQuery({ enabled: isAuthenticated || isNoAuthMode, }); + // Only fetch conversations on chat page + const isOnChatPage = pathname === "/" || pathname === "/chat"; + const { data: conversations = [], isLoading: isConversationsLoading } = + useGetConversationsQuery(endpoint, refreshTrigger, { + enabled: isOnChatPage && (isAuthenticated || isNoAuthMode), + }); + + const handleNewConversation = () => { + refreshConversations(); + startNewConversation(); + }; + // List of paths that should not show navigation const authPaths = ["/login", "/auth/callback", "/onboarding"]; const isAuthPage = authPaths.includes(pathname); @@ -33,7 +53,7 @@ export function LayoutWrapper({ children }: { children: React.ReactNode }) { (task) => task.status === "pending" || task.status === "running" || - task.status === "processing" + task.status === "processing", ); // Show loading state when backend isn't ready @@ -99,7 +119,11 @@ export function LayoutWrapper({ children }: { children: React.ReactNode }) {
- +
bool: + """Delete a conversation for a user from both memory and persistent storage""" + deleted = False + + try: + # Delete from in-memory storage + if user_id in active_conversations and response_id in active_conversations[user_id]: + del active_conversations[user_id][response_id] + logger.debug(f"Deleted conversation {response_id} from memory for user {user_id}") + deleted = True + + # Delete from persistent storage + conversation_deleted = conversation_persistence.delete_conversation_thread(user_id, response_id) + if conversation_deleted: + logger.debug(f"Deleted conversation {response_id} from persistent storage for user {user_id}") + deleted = True + + # Release session ownership + try: + from services.session_ownership_service import session_ownership_service + session_ownership_service.release_session(user_id, response_id) + logger.debug(f"Released session ownership for {response_id} for user {user_id}") + except Exception as e: + logger.warning(f"Failed to release session ownership: {e}") + + return deleted + except Exception as e: + logger.error(f"Error deleting conversation {response_id} for user {user_id}: {e}") + return False diff --git a/src/api/chat.py b/src/api/chat.py index b9dea5ef..58492118 100644 --- a/src/api/chat.py +++ b/src/api/chat.py @@ -155,3 +155,27 @@ async def langflow_history_endpoint(request: Request, chat_service, session_mana return JSONResponse( {"error": f"Failed to get langflow history: {str(e)}"}, status_code=500 ) + + +async def delete_session_endpoint(request: Request, chat_service, session_manager): + """Delete a chat session""" + user = request.state.user + user_id = user.user_id + session_id = request.path_params["session_id"] + + try: + # Delete from both local storage and Langflow + result = await chat_service.delete_session(user_id, session_id) + + if result.get("success"): + return JSONResponse({"message": "Session deleted successfully"}) + else: + return JSONResponse( + {"error": result.get("error", "Failed to delete session")}, + status_code=500 + ) + except Exception as e: + logger.error(f"Error deleting session: {e}") + return JSONResponse( + {"error": f"Failed to delete session: {str(e)}"}, status_code=500 + ) diff --git a/src/api/settings.py b/src/api/settings.py index 37072c63..3e242c4b 100644 --- a/src/api/settings.py +++ b/src/api/settings.py @@ -47,9 +47,6 @@ def get_docling_preset_configs(): } - - - async def get_settings(request, session_manager): """Get application settings""" try: @@ -207,7 +204,9 @@ async def update_settings(request, session_manager): try: flows_service = _get_flows_service() await flows_service.update_chat_flow_model(body["llm_model"]) - logger.info(f"Successfully updated chat flow model to '{body['llm_model']}'") + logger.info( + f"Successfully updated chat flow model to '{body['llm_model']}'" + ) except Exception as e: logger.error(f"Failed to update chat flow model: {str(e)}") # Don't fail the entire settings update if flow update fails @@ -220,7 +219,9 @@ async def update_settings(request, session_manager): # Also update the chat flow with the new system prompt try: flows_service = _get_flows_service() - await flows_service.update_chat_flow_system_prompt(body["system_prompt"]) + await flows_service.update_chat_flow_system_prompt( + body["system_prompt"] + ) logger.info(f"Successfully updated chat flow system prompt") except Exception as e: logger.error(f"Failed to update chat flow system prompt: {str(e)}") @@ -243,8 +244,12 @@ async def update_settings(request, session_manager): # Also update the ingest flow with the new embedding model try: flows_service = _get_flows_service() - await flows_service.update_ingest_flow_embedding_model(body["embedding_model"].strip()) - logger.info(f"Successfully updated ingest flow embedding model to '{body['embedding_model'].strip()}'") + await flows_service.update_ingest_flow_embedding_model( + body["embedding_model"].strip() + ) + logger.info( + f"Successfully updated ingest flow embedding model to '{body['embedding_model'].strip()}'" + ) except Exception as e: logger.error(f"Failed to update ingest flow embedding model: {str(e)}") # Don't fail the entire settings update if flow update fails @@ -266,8 +271,12 @@ async def update_settings(request, session_manager): # Also update the flow with the new docling preset try: flows_service = _get_flows_service() - await flows_service.update_flow_docling_preset(body["doclingPresets"], preset_configs[body["doclingPresets"]]) - logger.info(f"Successfully updated docling preset in flow to '{body['doclingPresets']}'") + await flows_service.update_flow_docling_preset( + body["doclingPresets"], preset_configs[body["doclingPresets"]] + ) + logger.info( + f"Successfully updated docling preset in flow to '{body['doclingPresets']}'" + ) except Exception as e: logger.error(f"Failed to update docling preset in flow: {str(e)}") # Don't fail the entire settings update if flow update fails @@ -285,7 +294,9 @@ async def update_settings(request, session_manager): try: flows_service = _get_flows_service() await flows_service.update_ingest_flow_chunk_size(body["chunk_size"]) - logger.info(f"Successfully updated ingest flow chunk size to {body['chunk_size']}") + logger.info( + f"Successfully updated ingest flow chunk size to {body['chunk_size']}" + ) except Exception as e: logger.error(f"Failed to update ingest flow chunk size: {str(e)}") # Don't fail the entire settings update if flow update fails @@ -303,8 +314,12 @@ async def update_settings(request, session_manager): # Also update the ingest flow with the new chunk overlap try: flows_service = _get_flows_service() - await flows_service.update_ingest_flow_chunk_overlap(body["chunk_overlap"]) - logger.info(f"Successfully updated ingest flow chunk overlap to {body['chunk_overlap']}") + await flows_service.update_ingest_flow_chunk_overlap( + body["chunk_overlap"] + ) + logger.info( + f"Successfully updated ingest flow chunk overlap to {body['chunk_overlap']}" + ) except Exception as e: logger.error(f"Failed to update ingest flow chunk overlap: {str(e)}") # Don't fail the entire settings update if flow update fails @@ -588,11 +603,10 @@ async def onboarding(request, flows_service): ) - - def _get_flows_service(): """Helper function to get flows service instance""" from services.flows_service import FlowsService + return FlowsService() @@ -605,8 +619,7 @@ async def update_docling_preset(request, session_manager): # Validate preset parameter if "preset" not in body: return JSONResponse( - {"error": "preset parameter is required"}, - status_code=400 + {"error": "preset parameter is required"}, status_code=400 ) preset = body["preset"] @@ -615,8 +628,10 @@ async def update_docling_preset(request, session_manager): if preset not in preset_configs: valid_presets = list(preset_configs.keys()) return JSONResponse( - {"error": f"Invalid preset '{preset}'. Valid presets: {', '.join(valid_presets)}"}, - status_code=400 + { + "error": f"Invalid preset '{preset}'. Valid presets: {', '.join(valid_presets)}" + }, + status_code=400, ) # Get the preset configuration @@ -628,16 +643,16 @@ async def update_docling_preset(request, session_manager): logger.info(f"Successfully updated docling preset to '{preset}' in ingest flow") - return JSONResponse({ - "message": f"Successfully updated docling preset to '{preset}'", - "preset": preset, - "preset_config": preset_config - }) + return JSONResponse( + { + "message": f"Successfully updated docling preset to '{preset}'", + "preset": preset, + "preset_config": preset_config, + } + ) except Exception as e: logger.error("Failed to update docling preset", error=str(e)) return JSONResponse( - {"error": f"Failed to update docling preset: {str(e)}"}, - status_code=500 + {"error": f"Failed to update docling preset: {str(e)}"}, status_code=500 ) - diff --git a/src/main.py b/src/main.py index 7df80b22..90add401 100644 --- a/src/main.py +++ b/src/main.py @@ -784,6 +784,18 @@ async def create_app(): ), methods=["GET"], ), + # Session deletion endpoint + Route( + "/sessions/{session_id}", + require_auth(services["session_manager"])( + partial( + chat.delete_session_endpoint, + chat_service=services["chat_service"], + session_manager=services["session_manager"], + ) + ), + methods=["DELETE"], + ), # Authentication endpoints Route( "/auth/init", diff --git a/src/services/chat_service.py b/src/services/chat_service.py index 5ffe30f9..32536f4b 100644 --- a/src/services/chat_service.py +++ b/src/services/chat_service.py @@ -484,3 +484,55 @@ class ChatService: "total_conversations": len(all_conversations), } + async def delete_session(self, user_id: str, session_id: str): + """Delete a session from both local storage and Langflow""" + try: + # Delete from local conversation storage + from agent import delete_user_conversation + local_deleted = delete_user_conversation(user_id, session_id) + + # Delete from Langflow using the monitor API + langflow_deleted = await self._delete_langflow_session(session_id) + + success = local_deleted or langflow_deleted + error_msg = None + + if not success: + error_msg = "Session not found in local storage or Langflow" + + return { + "success": success, + "local_deleted": local_deleted, + "langflow_deleted": langflow_deleted, + "error": error_msg + } + + except Exception as e: + logger.error(f"Error deleting session {session_id} for user {user_id}: {e}") + return { + "success": False, + "error": str(e) + } + + async def _delete_langflow_session(self, session_id: str): + """Delete a session from Langflow using the monitor API""" + try: + response = await clients.langflow_request( + "DELETE", + f"/api/v1/monitor/messages/session/{session_id}" + ) + + if response.status_code == 200 or response.status_code == 204: + logger.info(f"Successfully deleted session {session_id} from Langflow") + return True + else: + logger.warning( + f"Failed to delete session {session_id} from Langflow: " + f"{response.status_code} - {response.text}" + ) + return False + + except Exception as e: + logger.error(f"Error deleting session {session_id} from Langflow: {e}") + return False + diff --git a/src/services/conversation_persistence_service.py b/src/services/conversation_persistence_service.py index fa5717c1..c6b62c24 100644 --- a/src/services/conversation_persistence_service.py +++ b/src/services/conversation_persistence_service.py @@ -86,12 +86,14 @@ class ConversationPersistenceService: user_conversations = self.get_user_conversations(user_id) return user_conversations.get(response_id, {}) - def delete_conversation_thread(self, user_id: str, response_id: str): + def delete_conversation_thread(self, user_id: str, response_id: str) -> bool: """Delete a specific conversation thread""" if user_id in self._conversations and response_id in self._conversations[user_id]: del self._conversations[user_id][response_id] self._save_conversations() logger.debug(f"Deleted conversation {response_id} for user {user_id}") + return True + return False def clear_user_conversations(self, user_id: str): """Clear all conversations for a user""" diff --git a/src/services/session_ownership_service.py b/src/services/session_ownership_service.py index 220a6d96..d700c5c3 100644 --- a/src/services/session_ownership_service.py +++ b/src/services/session_ownership_service.py @@ -74,6 +74,20 @@ class SessionOwnershipService: """Filter a list of sessions to only include those owned by the user""" user_sessions = self.get_user_sessions(user_id) return [session for session in session_ids if session in user_sessions] + + def release_session(self, user_id: str, session_id: str) -> bool: + """Release a session from a user (delete ownership record)""" + if session_id in self.ownership_data: + # Verify the user owns this session before deleting + if self.ownership_data[session_id].get("user_id") == user_id: + del self.ownership_data[session_id] + self._save_ownership_data() + logger.debug(f"Released session {session_id} from user {user_id}") + return True + else: + logger.warning(f"User {user_id} tried to release session {session_id} they don't own") + return False + return False def get_ownership_stats(self) -> Dict[str, any]: """Get statistics about session ownership"""