Data Models
Core Data Entities
Chat Entity
interface Chat {
id?: string; // Unique identifier (UUID)
title: string; // Display name for the chat
messages: Message[]; // Ordered array of conversation messages
createdAt: Date; // Initial creation timestamp
updatedAt: Date; // Last modification timestamp
lastModified: Date; // Sync-specific modification timestamp
model?: string; // AI model identifier (e.g., 'gpt-4')
provider?: string; // AI service provider (e.g., 'openai')
currentModel?: string; // Currently active model (fallback: model)
isArchived?: boolean; // Archive status (default: false)
}Field Specifications
Message Entity
Field Specifications
AppMeta Entity
Standard Metadata Records
Data Validation
Chat Validation
Message Validation
Utility Validators
Data Transformation
Serialization for Storage
Sync Payload Transformation
Default Values and Factories
Chat Factory
Message Factory
AppMeta Factory
Schema Evolution
Version 1 Schema (Current)
Future Schema Migrations
Proposed Version 2 Enhancements
Migration Strategy
Data Constraints and Limits
Size Constraints
Validation with Constraints
Type Guards and Utilities
Type Guards
Utility Functions
Last updated