Domain Entity Catalog
Domain Entity Catalog
Section titled “Domain Entity Catalog”This document is auto-generated from crates/domain/src/.
Run ./tools/generate-entity-catalog.sh to refresh it.
The domain crate contains pure business entities with no external dependencies. Each struct and enum listed here represents a named concept in the Inklings problem domain.
Total: 121 types (84 structs, 37 enums).
Structs
Section titled “Structs”| Name | Module | Description |
|---|---|---|
AnalyticsEvent | analytics | A single analytics event queued for eventual upload. |
Attachment | attachment | An attachment represents a file (image, PDF, etc.) stored alongside page content. |
AttachmentParts | attachment | All fields needed to reconstruct an Attachment from storage. |
AttachmentReference | attachment | A reference linking an attachment to a page (and optionally a block). |
AttachmentSummary | attachment | An attachment with its reference count, for the management view. |
StorageBreakdownEntry | attachment | A single entry in the storage usage breakdown. |
StorageQuota | attachment | Storage quota limits for a workspace. |
StorageUsage | attachment | Aggregated storage usage for a workspace. |
UnknownSyncStatus | attachment | Error returned when parsing an unknown sync status string. |
AuthUser | auth | An authenticated user account. |
Device | auth | A registered device linked to a user account. |
BacklinkInfo | backlink | Information about a page that links TO the current page (a backlink). |
OutgoingLinkInfo | backlink | Information about a page that the current page links TO (an outgoing link). |
Block | block | A block represents a positioned content section within a page. |
ImageBlockMetadata | block_content_type | Typed metadata for an Image block variant. |
Bookmark | bookmark | A named anchor in the event log timeline. |
Channel | channel | A named conversation grouping within a workspace. |
Conversation | conversation | A single agent interaction session within a channel. |
FixedClock | clock | Fixed clock that always returns the same instant. |
SystemClock | clock | Default clock backed by the system clock (Utc::now()). |
CollectionView | collection_view | Persisted view preferences for one type’s collection. |
CollectionViewRow | collection_view | A single page row returned by a collection query. |
ColumnConfig | collection_view | Configuration for a single column in a table view. |
ContainerRule | container_rule | A rule that auto-assigns a type to children of a folder. |
UnknownDepth | container_rule | Error returned when parsing an unknown depth string. |
DeletedPageInfo | deleted_page | Information about a soft-deleted page for display in the trash view. |
EmbeddingStats | embedding | Statistics about the embedding index for a workspace. |
SimilarPage | embedding | A page matched by vector similarity search. |
EventLogEntry | event_log | A single immutable event in the workspace event log. |
PageTimelineEntry | event_log | A unified timeline entry for a page, merging structural events and content |
FilteredTreeNode | filtered_tree | A page tree node with a match flag for filtered views. |
IconConfig | icon_config | Value object representing an icon configuration. |
BlockId | identifiers | Validated block identifier. |
DeviceId | identifiers | Validated device identifier. |
FolderPreview | import | Preview of a folder structure for the import dialog. |
FolderPreviewItem | import | An item in the folder preview tree. |
ImportAnalysis | import | The result of analyzing an import source before execution. |
ImportedPageData | import | Data for an imported page, ready to be persisted. |
ImportIssue | import | An issue detected during import analysis. |
ImportParams | import | Parameters for executing an import. |
ImportProgress | import | Progress information during an import operation. |
ImportResult | import | Result of executing an import. |
ObsidianMetadata | import | Metadata extracted from Obsidian vault configuration. |
TypeMapping | import | A mapping from a discovered source type to a workspace type. |
Layout | layout | A CSS Grid-based page layout definition. |
LayoutDefinition | layout_definition | A named layout definition stored in the workspace. |
ConversationScratchpad | memory | A conversation scratchpad — ephemeral key-value store for a single conversation. |
DecayConfig | memory | Per-tier decay configuration. |
MemoryEntry | memory | A single memory entry in the agent memory system. |
MemoryQuery | memory | Query parameters for searching the memory store. |
ScratchpadEntry | memory | A single entry in a conversation scratchpad. |
OllamaModelInfo | ollama | Information about an installed Ollama model. |
OllamaStatus | ollama | Status of the local Ollama server. |
PullProgress | ollama | Progress update during model pull. |
RecommendedModel | ollama | A recommended model for a given hardware tier. |
SystemCapabilities | ollama | System hardware capabilities for model selection. |
Page | page | A page represents a single markdown file in the vault. |
PageParts | page | All fields needed to reconstruct a [Page] from storage. |
PageDetail | page_detail | Composite page information for the context panel. |
PagePropertyView | page_property | A property and its current value as seen by the UI for a specific page. |
PageTreeNode | page_tree | A node in the page tree hierarchy for navigation purposes. |
Participant | participant | A participant in a workspace, representing either a human or an agent. |
PropertyConfig | property_definition | Configuration for a property definition. |
PropertyDefinition | property_definition | A workspace-scoped property definition. |
SelectOption | property_definition | A single option for Select or MultiSelect property types. |
RecentWorkspace | recent_workspace | A recently accessed workspace entry. |
Reference | reference | A reference represents a wiki-style link between pages. |
LinkUpdateInfo | rename | Information about a link that will be updated during rename. |
RenamedPageInfo | rename | Result of a successful page rename operation. |
RenamePlan | rename | Preview information for a page rename operation. |
SearchResult | search | A search result representing a matching page. |
AgentSettings | settings | Agent-specific settings stored alongside application settings. |
NotificationSettings | settings | Notification preferences for agent events. |
Settings | settings | Application settings stored in JSON. |
Tag | tag | A tag that can be applied to pages for categorization and filtering. |
TagGroup | tag | A group of related tags. |
TagGroupParts | tag | All fields needed to reconstruct a TagGroup from storage. |
TagParts | tag | All fields needed to reconstruct a Tag from storage. |
TagSummary | tag | Lightweight tag representation for page display. |
TypeAssignment | type_definition | A record that a page has been assigned a specific type. |
TypeDefinition | type_definition | A workspace-scoped type definition (e.g. “Page”, “Folder”, or user-defined types). |
TemplateProperty | type_template | A property definition within a template. |
TypeTemplate | type_template | A read-only type template that can be installed into a workspace. |
Workspace | workspace | A workspace represents a vault — a directory containing all of a user’s pages. |
WorkspaceName | workspace_name | A validated workspace name that is safe for use as a folder name. |
| Name | Module | Description |
|---|---|---|
AttachmentSyncStatus | attachment | Sync status of an attachment relative to cloud storage. |
ContentType | attachment | The content type of an attachment, derived from its file extension. |
ImageVariant | attachment | Image variant sizes for on-device optimization. |
BlockContentType | block_content_type | Content type for a block, determining rendering and behavior. |
ImageAlignment | block_content_type | Alignment options for image block display. |
ImageScale | block_content_type | Scale options for image block display. |
Capability | capability | A medium-grained capability that can be granted to a participant. |
ChannelValidationError | channel | Validation errors for channel creation. |
ConversationStatus | conversation | Lifecycle status of a conversation: Active, Idle, or Archived. |
ConversationTransitionError | conversation | Errors from invalid conversation state transitions. |
ViewMode | collection_view | The display mode for a collection view. |
ContainerRuleDepth | container_rule | The depth at which a container rule applies. |
DomainError | error | Errors that can occur in the domain layer. |
EntityType | event_log | The workspace entity that an event applies to. |
EventType | event_log | The kind of mutation that occurred. |
TimelineEntryType | event_log | Discriminates between structural events (from the event log) and content |
ConflictStrategy | import | Strategy for handling conflicts with existing pages. |
FlattenStrategy | import | Strategy for handling files nested deeper than the target supports. |
ImportIssueType | import | Types of issues that can be detected during import analysis. |
ImportMode | import | Mode for import operation. |
ImportPhase | import | Phases of an import operation. |
ImportSourceType | import | The type of import source detected. |
GridType | layout | Grid layout type — currently only CSS Grid is supported. |
LayoutCompatibility | layout | Compatibility result when applying a new layout to a page. |
MemoryLifetime | memory | The lifetime tier of a memory entry. |
MemoryScope | memory | The scope of a memory entry — where it applies. |
MemorySource | memory | What produced a memory entry (provenance, not access control). |
MemoryValidationError | memory | Validation errors for memory entry creation. |
HardwareTier | ollama | Hardware tier classification based on system RAM. |
ModelCategory | ollama | Category of model recommendation. |
PageType | page_type | The type/category of a page in the workspace. |
ParticipantKind | participant | The kind of participant: human user or AI agent. |
ParticipantValidationError | participant | Validation error for participant creation. |
PropertyValueType | property_definition | The value type of a property definition. |
AgentProvider | settings | Agent LLM provider selection. |
SignInMethod | settings | User’s preferred sign-in method. |
UserPersona | settings | User persona representing their primary use case. |
AssignmentScope | type_definition | The scope (origin) of a page type assignment. |
WorkspaceNameError | workspace_name | Error returned when workspace name validation fails. |
By Module
Section titled “By Module”analytics
Section titled “analytics”Source: crates/domain/src/analytics.rs
| Kind | Name | Description |
|---|---|---|
| struct | AnalyticsEvent | A single analytics event queued for eventual upload. |
attachment
Section titled “attachment”Source: crates/domain/src/attachment.rs
| Kind | Name | Description |
|---|---|---|
| enum | AttachmentSyncStatus | Sync status of an attachment relative to cloud storage. |
| enum | ContentType | The content type of an attachment, derived from its file extension. |
| enum | ImageVariant | Image variant sizes for on-device optimization. |
| struct | Attachment | An attachment represents a file (image, PDF, etc.) stored alongside page content. |
| struct | AttachmentParts | All fields needed to reconstruct an Attachment from storage. |
| struct | AttachmentReference | A reference linking an attachment to a page (and optionally a block). |
| struct | AttachmentSummary | An attachment with its reference count, for the management view. |
| struct | StorageBreakdownEntry | A single entry in the storage usage breakdown. |
| struct | StorageQuota | Storage quota limits for a workspace. |
| struct | StorageUsage | Aggregated storage usage for a workspace. |
| struct | UnknownSyncStatus | Error returned when parsing an unknown sync status string. |
Source: crates/domain/src/auth.rs
| Kind | Name | Description |
|---|---|---|
| struct | AuthUser | An authenticated user account. |
| struct | Device | A registered device linked to a user account. |
backlink
Section titled “backlink”Source: crates/domain/src/backlink.rs
| Kind | Name | Description |
|---|---|---|
| struct | BacklinkInfo | Information about a page that links TO the current page (a backlink). |
| struct | OutgoingLinkInfo | Information about a page that the current page links TO (an outgoing link). |
Source: crates/domain/src/block.rs
| Kind | Name | Description |
|---|---|---|
| struct | Block | A block represents a positioned content section within a page. |
block_content_type
Section titled “block_content_type”Source: crates/domain/src/block_content_type.rs
| Kind | Name | Description |
|---|---|---|
| enum | BlockContentType | Content type for a block, determining rendering and behavior. |
| enum | ImageAlignment | Alignment options for image block display. |
| enum | ImageScale | Scale options for image block display. |
| struct | ImageBlockMetadata | Typed metadata for an Image block variant. |
bookmark
Section titled “bookmark”Source: crates/domain/src/bookmark.rs
| Kind | Name | Description |
|---|---|---|
| struct | Bookmark | A named anchor in the event log timeline. |
capability
Section titled “capability”Source: crates/domain/src/capability.rs
| Kind | Name | Description |
|---|---|---|
| enum | Capability | A medium-grained capability that can be granted to a participant. |
channel
Section titled “channel”Source: crates/domain/src/channel.rs
| Kind | Name | Description |
|---|---|---|
| enum | ChannelValidationError | Validation errors for channel creation. |
| struct | Channel | A named conversation grouping within a workspace. |
Channel fields: id (UUID), workspace_id (UUID — the owning workspace), name (1–64 chars), description
(optional, max 256 chars), is_default (bool — exactly one default channel per workspace), created_at (DateTime).
conversation
Section titled “conversation”Source: crates/domain/src/conversation/mod.rs
| Kind | Name | Description |
|---|---|---|
| enum | ConversationStatus | Lifecycle status: Active, Idle, or Archived. |
| enum | ConversationTransitionError | Errors from invalid conversation state transitions. |
| struct | Conversation | A single agent interaction session within a channel. |
Conversation fields: id (UUID), ref_code (11-char base62, stable URL-safe identifier),
channel_id (UUID — the owning channel), started_at (DateTime — when the agent session began),
ended_at (Option<DateTime> — set on transition to Idle), status (ConversationStatus).
Lifecycle:
Active ──→ Idle ──→ Archived │ ↑ └────────────────────┘ (force archive)- Active: Agent is currently working in this conversation.
- Idle: Agent session ended; conversation is available for review.
- Archived: User manually archived; excluded from default lists.
Scratchpad entries are keyed by conversation.id and preserved across the full lifecycle (not cleared on archive).
Source: crates/domain/src/clock.rs
| Kind | Name | Description |
|---|---|---|
| struct | FixedClock | Fixed clock that always returns the same instant. |
| struct | SystemClock | Default clock backed by the system clock (Utc::now()). |
collection_view
Section titled “collection_view”Source: crates/domain/src/collection_view.rs
| Kind | Name | Description |
|---|---|---|
| enum | ViewMode | The display mode for a collection view. |
| struct | CollectionView | Persisted view preferences for one type’s collection. |
| struct | CollectionViewRow | A single page row returned by a collection query. |
| struct | ColumnConfig | Configuration for a single column in a table view. |
container_rule
Section titled “container_rule”Source: crates/domain/src/container_rule.rs
| Kind | Name | Description |
|---|---|---|
| enum | ContainerRuleDepth | The depth at which a container rule applies. |
| struct | ContainerRule | A rule that auto-assigns a type to children of a folder. |
| struct | UnknownDepth | Error returned when parsing an unknown depth string. |
deleted_page
Section titled “deleted_page”Source: crates/domain/src/deleted_page.rs
| Kind | Name | Description |
|---|---|---|
| struct | DeletedPageInfo | Information about a soft-deleted page for display in the trash view. |
embedding
Section titled “embedding”Source: crates/domain/src/embedding.rs
| Kind | Name | Description |
|---|---|---|
| struct | EmbeddingStats | Statistics about the embedding index for a workspace. |
| struct | SimilarPage | A page matched by vector similarity search. |
Source: crates/domain/src/error.rs
| Kind | Name | Description |
|---|---|---|
| enum | DomainError | Errors that can occur in the domain layer. |
event_log
Section titled “event_log”Source: crates/domain/src/event_log.rs
| Kind | Name | Description |
|---|---|---|
| enum | EntityType | The workspace entity that an event applies to. |
| enum | EventType | The kind of mutation that occurred. |
| enum | TimelineEntryType | Discriminates between structural events (from the event log) and content |
| struct | EventLogEntry | A single immutable event in the workspace event log. |
| struct | PageTimelineEntry | A unified timeline entry for a page, merging structural events and content |
filtered_tree
Section titled “filtered_tree”Source: crates/domain/src/filtered_tree.rs
| Kind | Name | Description |
|---|---|---|
| struct | FilteredTreeNode | A page tree node with a match flag for filtered views. |
icon_config
Section titled “icon_config”Source: crates/domain/src/icon_config.rs
| Kind | Name | Description |
|---|---|---|
| struct | IconConfig | Value object representing an icon configuration. |
identifiers
Section titled “identifiers”Source: crates/domain/src/identifiers.rs
| Kind | Name | Description |
|---|---|---|
| struct | BlockId | Validated block identifier. |
| struct | DeviceId | Validated device identifier. |
import
Section titled “import”Source: crates/domain/src/import.rs
| Kind | Name | Description |
|---|---|---|
| enum | ConflictStrategy | Strategy for handling conflicts with existing pages. |
| enum | FlattenStrategy | Strategy for handling files nested deeper than the target supports. |
| enum | ImportIssueType | Types of issues that can be detected during import analysis. |
| enum | ImportMode | Mode for import operation. |
| enum | ImportPhase | Phases of an import operation. |
| enum | ImportSourceType | The type of import source detected. |
| struct | FolderPreview | Preview of a folder structure for the import dialog. |
| struct | FolderPreviewItem | An item in the folder preview tree. |
| struct | ImportAnalysis | The result of analyzing an import source before execution. |
| struct | ImportedPageData | Data for an imported page, ready to be persisted. |
| struct | ImportIssue | An issue detected during import analysis. |
| struct | ImportParams | Parameters for executing an import. |
| struct | ImportProgress | Progress information during an import operation. |
| struct | ImportResult | Result of executing an import. |
| struct | ObsidianMetadata | Metadata extracted from Obsidian vault configuration. |
| struct | TypeMapping | A mapping from a discovered source type to a workspace type. |
layout
Section titled “layout”Source: crates/domain/src/layout.rs
| Kind | Name | Description |
|---|---|---|
| enum | GridType | Grid layout type — currently only CSS Grid is supported. |
| enum | LayoutCompatibility | Compatibility result when applying a new layout to a page. |
| struct | Layout | A CSS Grid-based page layout definition. |
layout_definition
Section titled “layout_definition”Source: crates/domain/src/layout_definition.rs
| Kind | Name | Description |
|---|---|---|
| struct | LayoutDefinition | A named layout definition stored in the workspace. |
memory
Section titled “memory”Source: crates/domain/src/memory.rs
| Kind | Name | Description |
|---|---|---|
| enum | MemoryLifetime | The lifetime tier of a memory entry. |
| enum | MemoryScope | The scope of a memory entry — where it applies. |
| enum | MemorySource | What produced a memory entry (provenance, not access control). |
| enum | MemoryValidationError | Validation errors for memory entry creation. |
| struct | ConversationScratchpad | A conversation scratchpad — ephemeral key-value store for a single conversation. |
| struct | DecayConfig | Per-tier decay configuration. |
| struct | MemoryEntry | A single memory entry in the agent memory system. |
| struct | MemoryQuery | Query parameters for searching the memory store. |
| struct | ScratchpadEntry | A single entry in a conversation scratchpad. |
ollama
Section titled “ollama”Source: crates/domain/src/ollama.rs
| Kind | Name | Description |
|---|---|---|
| enum | HardwareTier | Hardware tier classification based on system RAM. |
| enum | ModelCategory | Category of model recommendation. |
| struct | OllamaModelInfo | Information about an installed Ollama model. |
| struct | OllamaStatus | Status of the local Ollama server. |
| struct | PullProgress | Progress update during model pull. |
| struct | RecommendedModel | A recommended model for a given hardware tier. |
| struct | SystemCapabilities | System hardware capabilities for model selection. |
Source: crates/domain/src/page.rs
| Kind | Name | Description |
|---|---|---|
| struct | Page | A page represents a single markdown file in the vault. |
| struct | PageParts | All fields needed to reconstruct a [Page] from storage. |
page_detail
Section titled “page_detail”Source: crates/domain/src/page_detail.rs
| Kind | Name | Description |
|---|---|---|
| struct | PageDetail | Composite page information for the context panel. |
page_property
Section titled “page_property”Source: crates/domain/src/page_property.rs
| Kind | Name | Description |
|---|---|---|
| struct | PagePropertyView | A property and its current value as seen by the UI for a specific page. |
page_tree
Section titled “page_tree”Source: crates/domain/src/page_tree.rs
| Kind | Name | Description |
|---|---|---|
| struct | PageTreeNode | A node in the page tree hierarchy for navigation purposes. |
page_type
Section titled “page_type”Source: crates/domain/src/page_type.rs
| Kind | Name | Description |
|---|---|---|
| enum | PageType | The type/category of a page in the workspace. |
participant
Section titled “participant”Source: crates/domain/src/participant.rs
| Kind | Name | Description |
|---|---|---|
| enum | ParticipantKind | The kind of participant: human user or AI agent. |
| enum | ParticipantValidationError | Validation error for participant creation. |
| struct | Participant | A participant in a workspace, representing either a human or an agent. |
property_definition
Section titled “property_definition”Source: crates/domain/src/property_definition.rs
| Kind | Name | Description |
|---|---|---|
| enum | PropertyValueType | The value type of a property definition. |
| struct | PropertyConfig | Configuration for a property definition. |
| struct | PropertyDefinition | A workspace-scoped property definition. |
| struct | SelectOption | A single option for Select or MultiSelect property types. |
recent_workspace
Section titled “recent_workspace”Source: crates/domain/src/recent_workspace.rs
| Kind | Name | Description |
|---|---|---|
| struct | RecentWorkspace | A recently accessed workspace entry. |
reference
Section titled “reference”Source: crates/domain/src/reference.rs
| Kind | Name | Description |
|---|---|---|
| struct | Reference | A reference represents a wiki-style link between pages. |
rename
Section titled “rename”Source: crates/domain/src/rename.rs
| Kind | Name | Description |
|---|---|---|
| struct | LinkUpdateInfo | Information about a link that will be updated during rename. |
| struct | RenamedPageInfo | Result of a successful page rename operation. |
| struct | RenamePlan | Preview information for a page rename operation. |
search
Section titled “search”Source: crates/domain/src/search.rs
| Kind | Name | Description |
|---|---|---|
| struct | SearchResult | A search result representing a matching page. |
settings
Section titled “settings”Source: crates/domain/src/settings.rs
| Kind | Name | Description |
|---|---|---|
| enum | AgentProvider | Agent LLM provider selection. |
| enum | SignInMethod | User’s preferred sign-in method. |
| enum | UserPersona | User persona representing their primary use case. |
| struct | AgentSettings | Agent-specific settings stored alongside application settings. |
| struct | NotificationSettings | Notification preferences for agent events. |
| struct | Settings | Application settings stored in JSON. |
Source: crates/domain/src/tag.rs
| Kind | Name | Description |
|---|---|---|
| struct | Tag | A tag that can be applied to pages for categorization and filtering. |
| struct | TagGroup | A group of related tags. |
| struct | TagGroupParts | All fields needed to reconstruct a TagGroup from storage. |
| struct | TagParts | All fields needed to reconstruct a Tag from storage. |
| struct | TagSummary | Lightweight tag representation for page display. |
type_definition
Section titled “type_definition”Source: crates/domain/src/type_definition.rs
| Kind | Name | Description |
|---|---|---|
| enum | AssignmentScope | The scope (origin) of a page type assignment. |
| struct | TypeAssignment | A record that a page has been assigned a specific type. |
| struct | TypeDefinition | A workspace-scoped type definition (e.g. “Page”, “Folder”, or user-defined types). |
type_template
Section titled “type_template”Source: crates/domain/src/type_template.rs
| Kind | Name | Description |
|---|---|---|
| struct | TemplateProperty | A property definition within a template. |
| struct | TypeTemplate | A read-only type template that can be installed into a workspace. |
workspace
Section titled “workspace”Source: crates/domain/src/workspace.rs
| Kind | Name | Description |
|---|---|---|
| struct | Workspace | A workspace represents a vault — a directory containing all of a user’s pages. |
workspace_name
Section titled “workspace_name”Source: crates/domain/src/workspace_name.rs
| Kind | Name | Description |
|---|---|---|
| enum | WorkspaceNameError | Error returned when workspace name validation fails. |
| struct | WorkspaceName | A validated workspace name that is safe for use as a folder name. |
Was this page helpful?
Thanks for your feedback!