User Interfaces
Components in the Scala frontend package:
Components:
LinkViewer
: Component for viewing and indexing content from GitHub repositoriesChatInterface
: Component for chatting with the LLM about indexed repositories, handling message display and submission.IndexSelector
: Component for choosing which repository index to query, with options to refresh or remove indices.StatusBar
: Simple component displaying status messages to users.TabContainer
: Component for switching between the Chat and Link Viewer tabs.
Services:
ContentService
: Service that communicates with the backend API to fetch content, generate indices, and handle chat interactions.HttpClient
: Low-level service handling HTTP requests and Server-Sent Events for streaming chat responses.
Models:
Models.scala
: Contains data models used throughout the application likeChatMessage
,IndexOption
, and various request/response models.
Utilities:
IDGenerator
: Utility for generating unique IDs for chat messages and other elements.Main.scala
: Entry point that initializes the application, sets up event listeners, and creates the UI components.
Python Interface:
main.py
: Implements an alternative frontend using Gradio with functionality for chatting with repositories, viewing content, and managing indices.style.css
: Provides styling for the Gradio interface.
Gradio Interface


Laminar Interface

