export type NavigationView = 'notebooks' | 'agents' | 'settings' | 'shared' | 'reminders' | 'trash' | 'brainstorm' | 'insights' | 'temporal' | 'graph' | 'revision'; export type AITone = 'Professional' | 'Creative' | 'Academic' | 'Casual'; export type AITab = 'infos' | 'versions' | 'relations' | 'discussion' | 'actions' | 'resources' | 'explore'; export type SettingsTab = 'general' | 'ai' | 'billing' | 'appearance' | 'profile' | 'data' | 'mcp' | 'about'; export interface Tag { id: string; label: string; type: 'ai' | 'user'; } export interface Attachment { id: string; name: string; type: 'pdf' | 'docx' | 'image' | 'other'; url: string; content?: string; // Extracted text isProcessed?: boolean; } export interface NoteVersion { id: string; title: string; content: string; timestamp: string; size: number; } export interface Note { id: string; carnetId: string; title: string; content: string; imageUrl: string; date: string; tags: Tag[]; attachments?: Attachment[]; isPinned?: boolean; isDeleted?: boolean; deletedAt?: string; embedding?: number[]; clusterId?: string; isClipped?: boolean; clipSourceUrl?: string; clipFavicon?: string; clipDate?: string; isVersioningEnabled?: boolean; versionHistory?: NoteVersion[]; } 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; } export type FlashcardEvaluation = 'fail' | 'hesitant' | 'sure'; export interface Flashcard { id: string; noteId: string; question: string; answer: string; intervalDays: number; // For spaced repetition nextReviewDate: string; // ISO String easeFactor: number; mastered: boolean; history?: { reviewedAt: string; evaluation: FlashcardEvaluation; }[]; } export interface FlashcardDeck { noteId: string; title: string; cardsCount: number; nextReviewDate: string; // Min nextReviewDate of all cards masteryScore: number; // Proportion of cards evaluation === 'sure' cards: Flashcard[]; }