import { Card } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Badge } from "@/components/ui/badge"; import { Brain, Search, Wand2, GitBranch, ChevronDown, CheckCircle, Clock } from "lucide-react"; import { useState } from "react"; export function ModulesSection() { const [expandedModules, setExpandedModules] = useState>(new Set(["embedder"])); const toggleModule = (moduleId: string) => { const newExpanded = new Set(expandedModules); if (newExpanded.has(moduleId)) { newExpanded.delete(moduleId); } else { newExpanded.add(moduleId); } setExpandedModules(newExpanded); }; return (

Module Configuration

{/* Embedder Module */}

Embedder Module

Active
{expandedModules.has("embedder") && (

Implementation Status

Model loading interface
Text preprocessing pipeline
Batch processing optimization
)}
{/* Retriever Module */}

Retriever Module

Active
{expandedModules.has("retriever") && (

Index Statistics

1,247
Documents
89,432
Embeddings
2.3GB
Index Size
)}
{/* DiffAnalyzer Module */}

DiffAnalyzer Module

Active
{expandedModules.has("diffanalyzer") && (

Git Integration

Git diff parsing
Staged changes detection
Logical section chunking

Sample Diff Chunk

diff --git a/src/embedder.py b/src/embedder.py
index 1a2b3c4..5d6e7f8 100644
--- a/src/embedder.py
+++ b/src/embedder.py
@@ -45,6 +45,12 @@ class Embedder:
- return self.model.encode(texts)
+ embeddings = self.model.encode(texts)
+ # Cache embeddings for faster retrieval
+ self._cache_embeddings(texts, embeddings)
+ return embeddings
)}
{/* Generator Module */}

Generator Module

Loading
{expandedModules.has("generator") && (

Commit Message Generation

Conventional commit format
Imperative tone enforcement
Context-aware suggestions
Fallback logic for model failures
Style presets (conventional/descriptive/terse)
)}
); }