UI Enhancements: - Add Export button to header with download icon - Export modal with 4 format options: PDF, Markdown, JSON, Plain Text - Settings modal with Personality DNA toggle and API configuration - Privacy mode (Off the Record) toggle in header - Improved header layout with proper button spacing Backend: - Add Claude API server for backend integration - Add RAG-enabled variant for future document retrieval Technical: - Add data-testid for Export button for testing - Update dependencies for deployment compatibility Deployed to Proxmox container 200 at 85.239.243.227 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
932 B
TypeScript
57 lines
932 B
TypeScript
|
|
export enum Role {
|
|
USER = 'user',
|
|
ASSISTANT = 'assistant',
|
|
SYSTEM = 'system'
|
|
}
|
|
|
|
export interface Message {
|
|
id: string; // Internal UUID
|
|
role: Role;
|
|
content: string;
|
|
timestamp: Date;
|
|
// For UI state
|
|
pending?: boolean;
|
|
error?: boolean;
|
|
reactions?: string[];
|
|
}
|
|
|
|
export interface OpenWebUIMessage {
|
|
role: string;
|
|
content: string;
|
|
}
|
|
|
|
export interface Session {
|
|
id: string;
|
|
title: string;
|
|
updated_at: number; // Unix timestamp
|
|
folder_id?: string;
|
|
}
|
|
|
|
export interface Folder {
|
|
id: string;
|
|
name: string;
|
|
}
|
|
|
|
export interface OpenWebUIConfig {
|
|
baseUrl: string;
|
|
apiKey: string;
|
|
}
|
|
|
|
export interface UserSettings {
|
|
baseUrl: string;
|
|
apiKey: string;
|
|
advancedMode: boolean; // Enable Sergio's personality DNA (RAG)
|
|
}
|
|
|
|
export enum Language {
|
|
EN = 'en',
|
|
ES = 'es',
|
|
}
|
|
|
|
export enum AppMode {
|
|
SIMPLE = 'simple',
|
|
ADVANCED = 'advanced'
|
|
}
|
|
|
|
export type ExportFormat = 'json' | 'txt' | 'md' | 'pdf';
|