feat: add reminders page, BMad skills upgrade, MCP server refactor

- Add reminders page with navigation support
- Upgrade BMad builder module to skills-based architecture
- Refactor MCP server: extract tools and auth into separate modules
- Add connections cache, custom AI provider support
- Update prisma schema and generated client
- Various UI/UX improvements and i18n updates
- Add service worker for PWA support

Made-with: Cursor
This commit is contained in:
Sepehr Ramezani
2026-04-13 21:02:53 +02:00
parent 18ed116e0d
commit fa7e166f3e
3099 changed files with 397228 additions and 14584 deletions

File diff suppressed because one or more lines are too long

View File

@@ -193,6 +193,7 @@ exports.Prisma.NoteScalarFieldEnum = {
isPinned: 'isPinned',
isArchived: 'isArchived',
type: 'type',
dismissedFromRecent: 'dismissedFromRecent',
checkItems: 'checkItems',
labels: 'labels',
images: 'images',

View File

@@ -8214,6 +8214,7 @@ export namespace Prisma {
isPinned: boolean | null
isArchived: boolean | null
type: string | null
dismissedFromRecent: boolean | null
checkItems: string | null
labels: string | null
images: string | null
@@ -8248,6 +8249,7 @@ export namespace Prisma {
isPinned: boolean | null
isArchived: boolean | null
type: string | null
dismissedFromRecent: boolean | null
checkItems: string | null
labels: string | null
images: string | null
@@ -8282,6 +8284,7 @@ export namespace Prisma {
isPinned: number
isArchived: number
type: number
dismissedFromRecent: number
checkItems: number
labels: number
images: number
@@ -8330,6 +8333,7 @@ export namespace Prisma {
isPinned?: true
isArchived?: true
type?: true
dismissedFromRecent?: true
checkItems?: true
labels?: true
images?: true
@@ -8364,6 +8368,7 @@ export namespace Prisma {
isPinned?: true
isArchived?: true
type?: true
dismissedFromRecent?: true
checkItems?: true
labels?: true
images?: true
@@ -8398,6 +8403,7 @@ export namespace Prisma {
isPinned?: true
isArchived?: true
type?: true
dismissedFromRecent?: true
checkItems?: true
labels?: true
images?: true
@@ -8519,6 +8525,7 @@ export namespace Prisma {
isPinned: boolean
isArchived: boolean
type: string
dismissedFromRecent: boolean
checkItems: string | null
labels: string | null
images: string | null
@@ -8572,6 +8579,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: boolean
dismissedFromRecent?: boolean
checkItems?: boolean
labels?: boolean
images?: boolean
@@ -8614,6 +8622,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: boolean
dismissedFromRecent?: boolean
checkItems?: boolean
labels?: boolean
images?: boolean
@@ -8650,6 +8659,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: boolean
dismissedFromRecent?: boolean
checkItems?: boolean
labels?: boolean
images?: boolean
@@ -8710,6 +8720,7 @@ export namespace Prisma {
isPinned: boolean
isArchived: boolean
type: string
dismissedFromRecent: boolean
checkItems: string | null
labels: string | null
images: string | null
@@ -9141,6 +9152,7 @@ export namespace Prisma {
readonly isPinned: FieldRef<"Note", 'Boolean'>
readonly isArchived: FieldRef<"Note", 'Boolean'>
readonly type: FieldRef<"Note", 'String'>
readonly dismissedFromRecent: FieldRef<"Note", 'Boolean'>
readonly checkItems: FieldRef<"Note", 'String'>
readonly labels: FieldRef<"Note", 'String'>
readonly images: FieldRef<"Note", 'String'>
@@ -14662,6 +14674,7 @@ export namespace Prisma {
isPinned: 'isPinned',
isArchived: 'isArchived',
type: 'type',
dismissedFromRecent: 'dismissedFromRecent',
checkItems: 'checkItems',
labels: 'labels',
images: 'images',
@@ -15299,6 +15312,7 @@ export namespace Prisma {
isPinned?: BoolFilter<"Note"> | boolean
isArchived?: BoolFilter<"Note"> | boolean
type?: StringFilter<"Note"> | string
dismissedFromRecent?: BoolFilter<"Note"> | boolean
checkItems?: StringNullableFilter<"Note"> | string | null
labels?: StringNullableFilter<"Note"> | string | null
images?: StringNullableFilter<"Note"> | string | null
@@ -15340,6 +15354,7 @@ export namespace Prisma {
isPinned?: SortOrder
isArchived?: SortOrder
type?: SortOrder
dismissedFromRecent?: SortOrder
checkItems?: SortOrderInput | SortOrder
labels?: SortOrderInput | SortOrder
images?: SortOrderInput | SortOrder
@@ -15384,6 +15399,7 @@ export namespace Prisma {
isPinned?: BoolFilter<"Note"> | boolean
isArchived?: BoolFilter<"Note"> | boolean
type?: StringFilter<"Note"> | string
dismissedFromRecent?: BoolFilter<"Note"> | boolean
checkItems?: StringNullableFilter<"Note"> | string | null
labels?: StringNullableFilter<"Note"> | string | null
images?: StringNullableFilter<"Note"> | string | null
@@ -15425,6 +15441,7 @@ export namespace Prisma {
isPinned?: SortOrder
isArchived?: SortOrder
type?: SortOrder
dismissedFromRecent?: SortOrder
checkItems?: SortOrderInput | SortOrder
labels?: SortOrderInput | SortOrder
images?: SortOrderInput | SortOrder
@@ -15467,6 +15484,7 @@ export namespace Prisma {
isPinned?: BoolWithAggregatesFilter<"Note"> | boolean
isArchived?: BoolWithAggregatesFilter<"Note"> | boolean
type?: StringWithAggregatesFilter<"Note"> | string
dismissedFromRecent?: BoolWithAggregatesFilter<"Note"> | boolean
checkItems?: StringNullableWithAggregatesFilter<"Note"> | string | null
labels?: StringNullableWithAggregatesFilter<"Note"> | string | null
images?: StringNullableWithAggregatesFilter<"Note"> | string | null
@@ -16401,6 +16419,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -16440,6 +16459,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -16479,6 +16499,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -16518,6 +16539,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -16557,6 +16579,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -16591,6 +16614,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -16623,6 +16647,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -17589,6 +17614,7 @@ export namespace Prisma {
isPinned?: SortOrder
isArchived?: SortOrder
type?: SortOrder
dismissedFromRecent?: SortOrder
checkItems?: SortOrder
labels?: SortOrder
images?: SortOrder
@@ -17629,6 +17655,7 @@ export namespace Prisma {
isPinned?: SortOrder
isArchived?: SortOrder
type?: SortOrder
dismissedFromRecent?: SortOrder
checkItems?: SortOrder
labels?: SortOrder
images?: SortOrder
@@ -17663,6 +17690,7 @@ export namespace Prisma {
isPinned?: SortOrder
isArchived?: SortOrder
type?: SortOrder
dismissedFromRecent?: SortOrder
checkItems?: SortOrder
labels?: SortOrder
images?: SortOrder
@@ -19373,6 +19401,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -19411,6 +19440,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -19763,6 +19793,7 @@ export namespace Prisma {
isPinned?: BoolFilter<"Note"> | boolean
isArchived?: BoolFilter<"Note"> | boolean
type?: StringFilter<"Note"> | string
dismissedFromRecent?: BoolFilter<"Note"> | boolean
checkItems?: StringNullableFilter<"Note"> | string | null
labels?: StringNullableFilter<"Note"> | string | null
images?: StringNullableFilter<"Note"> | string | null
@@ -20198,6 +20229,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -20236,6 +20268,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -20509,6 +20542,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -20547,6 +20581,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21217,6 +21252,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21255,6 +21291,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21427,6 +21464,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -21465,6 +21503,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -21556,6 +21595,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21594,6 +21634,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21707,6 +21748,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -21745,6 +21787,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -21836,6 +21879,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21874,6 +21918,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21917,6 +21962,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -21955,6 +22001,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -22068,6 +22115,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22106,6 +22154,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22155,6 +22204,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22193,6 +22243,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22390,6 +22441,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -22607,6 +22659,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22645,6 +22698,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22683,6 +22737,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22852,6 +22907,7 @@ export namespace Prisma {
isPinned?: boolean
isArchived?: boolean
type?: string
dismissedFromRecent?: boolean
checkItems?: string | null
labels?: string | null
images?: string | null
@@ -22914,6 +22970,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22952,6 +23009,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -22990,6 +23048,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -23023,6 +23082,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -23061,6 +23121,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null
@@ -23099,6 +23160,7 @@ export namespace Prisma {
isPinned?: BoolFieldUpdateOperationsInput | boolean
isArchived?: BoolFieldUpdateOperationsInput | boolean
type?: StringFieldUpdateOperationsInput | string
dismissedFromRecent?: BoolFieldUpdateOperationsInput | boolean
checkItems?: NullableStringFieldUpdateOperationsInput | string | null
labels?: NullableStringFieldUpdateOperationsInput | string | null
images?: NullableStringFieldUpdateOperationsInput | string | null

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"name": "prisma-client-c7d0481a8b6fe66201cd99a6918bf4825dcac3497bdeb3b0ebcd8068fbb018d7",
"name": "prisma-client-c6853a2d560fc459913c7f241f4427cd8f8957f5474f01e1a2cabb8c1f55d4d8",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",

View File

@@ -105,44 +105,45 @@ model Label {
}
model Note {
id String @id @default(cuid())
title String?
content String
color String @default("default")
isPinned Boolean @default(false)
isArchived Boolean @default(false)
type String @default("text")
checkItems String?
labels String?
images String?
links String?
reminder DateTime?
isReminderDone Boolean @default(false)
reminderRecurrence String?
reminderLocation String?
isMarkdown Boolean @default(false)
size String @default("small")
embedding String?
sharedWith String?
userId String?
order Int @default(0)
notebookId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
contentUpdatedAt DateTime @default(now())
autoGenerated Boolean?
aiProvider String?
aiConfidence Int?
language String?
languageConfidence Float?
lastAiAnalysis DateTime?
aiFeedback AiFeedback[]
memoryEchoAsNote2 MemoryEchoInsight[] @relation("EchoNote2")
memoryEchoAsNote1 MemoryEchoInsight[] @relation("EchoNote1")
notebook Notebook? @relation(fields: [notebookId], references: [id])
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
shares NoteShare[]
labelRelations Label[] @relation("LabelToNote")
id String @id @default(cuid())
title String?
content String
color String @default("default")
isPinned Boolean @default(false)
isArchived Boolean @default(false)
type String @default("text")
dismissedFromRecent Boolean @default(false)
checkItems String?
labels String?
images String?
links String?
reminder DateTime?
isReminderDone Boolean @default(false)
reminderRecurrence String?
reminderLocation String?
isMarkdown Boolean @default(false)
size String @default("small")
embedding String?
sharedWith String?
userId String?
order Int @default(0)
notebookId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
contentUpdatedAt DateTime @default(now())
autoGenerated Boolean?
aiProvider String?
aiConfidence Int?
language String?
languageConfidence Float?
lastAiAnalysis DateTime?
aiFeedback AiFeedback[]
memoryEchoAsNote2 MemoryEchoInsight[] @relation("EchoNote2")
memoryEchoAsNote1 MemoryEchoInsight[] @relation("EchoNote1")
notebook Notebook? @relation(fields: [notebookId], references: [id])
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
shares NoteShare[]
labelRelations Label[] @relation("LabelToNote")
@@index([isPinned])
@@index([isArchived])
@@ -227,7 +228,7 @@ model UserAISettings {
preferredLanguage String @default("auto")
fontSize String @default("medium")
demoMode Boolean @default(false)
showRecentNotes Boolean @default(false)
showRecentNotes Boolean @default(true)
emailNotifications Boolean @default(false)
desktopNotifications Boolean @default(false)
anonymousAnalytics Boolean @default(false)

View File

@@ -193,6 +193,7 @@ exports.Prisma.NoteScalarFieldEnum = {
isPinned: 'isPinned',
isArchived: 'isArchived',
type: 'type',
dismissedFromRecent: 'dismissedFromRecent',
checkItems: 'checkItems',
labels: 'labels',
images: 'images',