Files
Timmy-time-dashboard/mobile-app/shared/types.ts
Manus AI b4b508ff5a feat: add Timmy Chat mobile app (Expo/React Native)
- Single-screen chat interface with Timmy's sovereign AI personality
- Text messaging with real-time AI responses via server chat API
- Voice recording and playback with waveform visualization
- Image sharing (camera + photo library) with full-screen viewer
- File attachments via document picker
- Dark arcane theme matching the Timmy Time dashboard
- Custom app icon with glowing T circuit design
- Timmy system prompt ported from dashboard prompts.py
- Unit tests for chat utilities and message types
2026-02-26 21:55:41 -05:00

36 lines
1.1 KiB
TypeScript

/**
* Unified type exports
* Import shared types from this single entry point.
*/
export type * from "../drizzle/schema";
export * from "./_core/errors";
// ── Chat Message Types ──────────────────────────────────────────────────────
export type MessageRole = "user" | "assistant";
export type MessageContentType = "text" | "image" | "file" | "voice";
export interface ChatMessage {
id: string;
role: MessageRole;
contentType: MessageContentType;
text?: string;
/** URI for image, file, or voice attachment */
uri?: string;
/** Original filename for files */
fileName?: string;
/** File size in bytes */
fileSize?: number;
/** MIME type for attachments */
mimeType?: string;
/** Duration in seconds for voice messages */
duration?: number;
/** Remote URL after upload (for images/files/voice sent to server) */
remoteUrl?: string;
timestamp: number;
/** Whether the message is still being generated */
pending?: boolean;
}