Overview
The Page node represents a rich text document in Brainbox. Pages support real-time collaborative editing using CRDT-based synchronization (Yjs) and can contain formatted text, images, embeds, and other rich content.Attributes Schema
Must be
'page'The title/name of the page
Optional avatar URL or emoji for the page
ID of the parent node (space, folder, or database)
Fractional index for ordering pages among siblings
Permissions
canCreate
Rules:- Tree must not be empty (cannot create at root)
- User must have at least
'member'role in the parent
/home/daytona/workspace/source/packages/core/src/registry/nodes/page.ts:22-37
canUpdateAttributes
Rules:- Tree must not be empty
- User must have at least
'member'role
/home/daytona/workspace/source/packages/core/src/registry/nodes/page.ts:38-53
canUpdateDocument
Rules:- Tree must not be empty
- User must have at least
'member'role
/home/daytona/workspace/source/packages/core/src/registry/nodes/page.ts:54-69
canDelete
Rules:- Tree must not be empty
- User must have at least
'member'role
/home/daytona/workspace/source/packages/core/src/registry/nodes/page.ts:70-85
canReact
Rules:- Always returns
false(pages cannot be reacted to)
Document Schema
Pages use therichTextContentSchema for their document content, supporting rich text formatting, blocks, and embedded content through TipTap/ProseMirror.
/home/daytona/workspace/source/packages/core/src/registry/documents/rich-text.ts
Text Extraction
Mentions
Pages do not extract mentions from attributes. Always returns[].
Mentions in the page document are extracted through the document synchronization system.