/** * Auto-generated model types from design document * Generated at: 2025-12-19T06:09:11.386096 * DO NOT EDIT - Regenerate with generate_types.py */ /** Application user account with email/password authentication */ export interface User { /** Unique user identifier */ id?: string; /** User email address for login */ email: string; /** User's display name */ name: string; /** Bcrypt hashed password */ passwordHash: string; createdAt?: string; updatedAt?: string; } /** Voice recording with transcript and summary */ export interface Recording { /** Unique recording identifier */ id?: string; /** Owner of this recording */ userId: string; /** Recording title (auto-generated or user-edited) */ title: string; /** Path to audio file in MinIO/S3 */ audioFilePath: string; /** Recording duration in seconds */ duration: number; /** Full transcript from Whisper STT */ transcript?: string; /** AI-generated summary from Gemini */ summary?: string; /** Whether currently transcribing */ isTranscribing: boolean; createdAt?: string; updatedAt?: string; } /** AI-generated application from recording content */ export interface GeneratedApp { /** Unique app identifier */ id?: string; /** Owner of this app */ userId: string; /** Source recording that triggered generation */ recordingId: string; /** App title from AI analysis */ title: string; /** App description */ description?: string; /** Complete HTML/CSS/JS for iframe rendering */ htmlContent: string; /** Product Requirements Document (PRD) generated by AI */ prdContent?: string; /** UI/UX design notes from AI */ uiUxDesign?: string; /** Type of app determined by AI (e.g., todo, calculator, form) */ appType?: string; /** Generation status */ status: 'generating' | 'completed' | 'failed'; createdAt?: string; updatedAt?: string; }