export interface VaultEntry { path: string filename: string title: string isA: string | null aliases: string[] belongsTo: string[] relatedTo: string[] status: string | null owner: string | null cadence: string | null modifiedAt: number | null createdAt: number | null fileSize: number snippet: string /** Generic relationship fields: any frontmatter key whose value contains wikilinks. */ relationships: Record /** Phosphor icon name (kebab-case) for Type entries, e.g. "cooking-pot" */ icon: string | null /** Accent color key for Type entries: "red" | "purple" | "blue" | "green" | "yellow" | "orange" */ color: string | null } export interface GitCommit { hash: string shortHash: string message: string author: string date: number // unix timestamp } export interface ModifiedFile { path: string relativePath: string status: 'modified' | 'added' | 'deleted' | 'untracked' | 'renamed' } export type SidebarSelection = | { kind: 'filter'; filter: 'all' | 'favorites' } | { kind: 'sectionGroup'; type: string } | { kind: 'entity'; entry: VaultEntry } | { kind: 'topic'; entry: VaultEntry }