project-standalo-note-to-app/types/types.ts

68 lines
1.9 KiB
TypeScript

/**
* 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;
}