feat: brainstorm sessions, PDF document Q&A, embedding fixes, and UI improvements
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 7s

- Add brainstorm feature with collaborative canvas, AI idea generation, live cursors, playback, and export
- Add PDF upload/extraction/ingestion pipeline with pgvector document search (RAG)
- Add document Q&A overlay with streaming chat and PDF preview
- Add note attachments UI with status polling, grid layout, and auto-scroll
- Add task extraction AI tool and agent executor improvements
- Fix NoteEmbedding missing updatedAt column, re-index 66 notes with 1536-dim embeddings
- Fix brainstorm 'Create Note' button: add success toast and redirect to created note
- Fix memory echo notification infinite polling
- Fix chat route to always include document_search tool
- Add brainstorm i18n keys across all 14 locales
- Add socket server for real-time brainstorm collaboration
- Add hierarchical notebook selector and organize notebook dialog improvements
- Add sidebar brainstorm section with session management
- Update prisma schema with brainstorm tables, attachments, and document chunks
This commit is contained in:
Antigravity
2026-05-14 17:43:21 +00:00
parent 195e845f0a
commit 1fcea6ed7d
228 changed files with 57656 additions and 1059 deletions

View File

@@ -0,0 +1,71 @@
export type NoteRefRelation = 'derived_from' | 'opposes' | 'extends' | 'synthesizes' | 'transposes' | 'none_found'
export type NoteRefVerdict = 'accepted' | 'dismissed' | 'unresolved'
export type NoteRefVisibility = 'public' | 'participants' | 'owner_only'
export interface BrainstormNoteRef {
id: string
ideaId: string
noteId: string | null
relation: NoteRefRelation
explanation: string
verdict: NoteRefVerdict
visibility: NoteRefVisibility
note?: { id: string; title: string | null } | null
}
export interface BrainstormIdea {
id: string
sessionId: string
waveNumber: number
title: string
description: string
connectionToSeed: string | null
noveltyScore: number | null
parentIdeaId: string | null
convertedToNoteId: string | null
relatedNoteIds: string | null
status: 'active' | 'dismissed' | 'converted'
positionX: number | null
positionY: number | null
createdBy: string | null
createdByType: 'ai' | 'human' | null
createdAt: Date
children?: BrainstormIdea[]
noteRefs?: BrainstormNoteRef[]
creator?: { id: string; name: string | null; image: string | null } | null
}
export interface BrainstormActivityItem {
id: string
action: string
details: Record<string, any> | null
createdAt: string
user: { name: string | null; image: string | null } | null
}
export interface BrainstormSession {
id: string
seedIdea: string
sourceNoteId: string | null
contextNoteIds: string | null
exportedNoteId: string | null
userId: string
isPublic?: boolean
guestCanEdit?: boolean
createdAt: Date
updatedAt: Date
ideas: BrainstormIdea[]
sourceNote?: { id: string; title: string | null } | null
exportedNote?: { id: string; title: string | null } | null
}
export interface BrainstormSessionListItem {
id: string
seedIdea: string
sourceNoteId: string | null
exportedNoteId: string | null
createdAt: Date
updatedAt: Date
totalIdeas: number
activeIdeas: number
}

View File

@@ -1,2 +1,7 @@
declare module 'web-animations-js';
declare module 'muuri';
declare module 'jalaali-js' {
export function toJalaali(gy: number, gm: number, gd: number): { jy: number; jm: number; jd: number }
export function toJalaali(date: Date): { jy: number; jm: number; jd: number }
}