Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett 9735be83ff fix: cast TipTapDoc to InputJsonValue for Prisma compatibility
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 22:36:22 +00:00
Jeff Emmett 94a5c1bccc fix: use Prisma.DbNull for JSON null filter in backfill script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 22:35:17 +00:00
Jeff Emmett 7b1d120379 feat: implement Memory Card spec — hierarchy, dual-format body, Logseq interop
Evolve rNotes schema and API to support the Memory Card data model:
- Add parentId self-relation for note hierarchy (NoteTree)
- Dual-format body storage (bodyJson + bodyMarkdown) with HTML fallback
- New cardType field (note/link/file/task/person/idea/reference)
- Structured properties (Logseq-compatible key-value JSON)
- Soft-delete via archivedAt (FUN model: Forget, not Delete)
- File + CardAttachment models for structured attachments
- Tag model evolved with spaceId for scoped tags
- Content conversion library (HTML/JSON/Markdown bidirectional)
- Logseq import/export (ZIP with pages/ + assets/)
- NoteEditor emits TipTap JSON as canonical format
- NoteCard shows cardType badges, child count, properties
- Canvas sync enriched with Memory Card fields
- Backfill script for existing notes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 22:33:48 +00:00