export type NavigationView = 'notebooks' | 'agents' | 'settings' | 'shared' | 'reminders' | 'trash' | 'brainstorm' | 'insights' | 'temporal'; export type AITone = 'Professional' | 'Creative' | 'Academic' | 'Casual'; export type AITab = 'discussion' | 'actions' | 'resources' | 'explore'; export type SettingsTab = 'general' | 'ai' | 'appearance' | 'profile' | 'data' | 'mcp' | 'about'; export interface Tag { id: string; label: string; type: 'ai' | 'user'; } export interface Note { id: string; carnetId: string; title: string; content: string; imageUrl: string; date: string; tags: Tag[]; isPinned?: boolean; isDeleted?: boolean; deletedAt?: string; embedding?: number[]; clusterId?: string; } export interface NoteCluster { id: string; name: string; noteIds: string[]; centroid? : number[]; color: string; } export interface BridgeNote { noteId: string; connectedClusterIds: string[]; bridgeScore: number; } export interface ConnectionSuggestion { id: string; title: string; description: string; reasoning: string; clusterAId: string; clusterBId: string; } export interface BrainstormSession { id: string; seedIdea: string; sourceNoteId?: string; contextNoteIds?: string[]; exportedNoteId?: string; createdAt: string; updatedAt: string; userId: string; } export type BrainstormIdeaStatus = 'active' | 'dismissed' | 'converted'; export interface BrainstormIdea { id: string; sessionId: string; waveNumber: 1 | 2 | 3; title: string; description: string; connectionToSeed: string; noveltyScore: number; // 1-10 parentIdeaId?: string; convertedToNoteId?: string; relatedNoteIds?: string[]; status: BrainstormIdeaStatus; position?: { x: number; y: number }; } export interface Carnet { id: string; name: string; initial: string; type: 'Private' | 'Project' | 'Shared'; isPrivate?: boolean; parentId?: string; isDeleted?: boolean; deletedAt?: string; } export interface NoteAccessLog { noteId: string; accessedAt: string; action: 'view' | 'edit' | 'search_hit'; } export interface NotePrediction { noteId: string; predictedRelevanceDate: string; confidence: number; reason: string; generatedAt: string; }