if-emotion-ux/types.ts
Danny Stocker 39f38d19ad feat: Add Export modal, Settings with Personality DNA, Privacy mode
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>
2025-11-30 15:58:55 +01:00

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';