Skip to content
Documentation GitHub
Architecture

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).

NameModuleDescription
AnalyticsEventanalyticsA single analytics event queued for eventual upload.
AttachmentattachmentAn attachment represents a file (image, PDF, etc.) stored alongside page content.
AttachmentPartsattachmentAll fields needed to reconstruct an Attachment from storage.
AttachmentReferenceattachmentA reference linking an attachment to a page (and optionally a block).
AttachmentSummaryattachmentAn attachment with its reference count, for the management view.
StorageBreakdownEntryattachmentA single entry in the storage usage breakdown.
StorageQuotaattachmentStorage quota limits for a workspace.
StorageUsageattachmentAggregated storage usage for a workspace.
UnknownSyncStatusattachmentError returned when parsing an unknown sync status string.
AuthUserauthAn authenticated user account.
DeviceauthA registered device linked to a user account.
BacklinkInfobacklinkInformation about a page that links TO the current page (a backlink).
OutgoingLinkInfobacklinkInformation about a page that the current page links TO (an outgoing link).
BlockblockA block represents a positioned content section within a page.
ImageBlockMetadatablock_content_typeTyped metadata for an Image block variant.
BookmarkbookmarkA named anchor in the event log timeline.
ChannelchannelA named conversation grouping within a workspace.
ConversationconversationA single agent interaction session within a channel.
FixedClockclockFixed clock that always returns the same instant.
SystemClockclockDefault clock backed by the system clock (Utc::now()).
CollectionViewcollection_viewPersisted view preferences for one type’s collection.
CollectionViewRowcollection_viewA single page row returned by a collection query.
ColumnConfigcollection_viewConfiguration for a single column in a table view.
ContainerRulecontainer_ruleA rule that auto-assigns a type to children of a folder.
UnknownDepthcontainer_ruleError returned when parsing an unknown depth string.
DeletedPageInfodeleted_pageInformation about a soft-deleted page for display in the trash view.
EmbeddingStatsembeddingStatistics about the embedding index for a workspace.
SimilarPageembeddingA page matched by vector similarity search.
EventLogEntryevent_logA single immutable event in the workspace event log.
PageTimelineEntryevent_logA unified timeline entry for a page, merging structural events and content
FilteredTreeNodefiltered_treeA page tree node with a match flag for filtered views.
IconConfigicon_configValue object representing an icon configuration.
BlockIdidentifiersValidated block identifier.
DeviceIdidentifiersValidated device identifier.
FolderPreviewimportPreview of a folder structure for the import dialog.
FolderPreviewItemimportAn item in the folder preview tree.
ImportAnalysisimportThe result of analyzing an import source before execution.
ImportedPageDataimportData for an imported page, ready to be persisted.
ImportIssueimportAn issue detected during import analysis.
ImportParamsimportParameters for executing an import.
ImportProgressimportProgress information during an import operation.
ImportResultimportResult of executing an import.
ObsidianMetadataimportMetadata extracted from Obsidian vault configuration.
TypeMappingimportA mapping from a discovered source type to a workspace type.
LayoutlayoutA CSS Grid-based page layout definition.
LayoutDefinitionlayout_definitionA named layout definition stored in the workspace.
ConversationScratchpadmemoryA conversation scratchpad — ephemeral key-value store for a single conversation.
DecayConfigmemoryPer-tier decay configuration.
MemoryEntrymemoryA single memory entry in the agent memory system.
MemoryQuerymemoryQuery parameters for searching the memory store.
ScratchpadEntrymemoryA single entry in a conversation scratchpad.
OllamaModelInfoollamaInformation about an installed Ollama model.
OllamaStatusollamaStatus of the local Ollama server.
PullProgressollamaProgress update during model pull.
RecommendedModelollamaA recommended model for a given hardware tier.
SystemCapabilitiesollamaSystem hardware capabilities for model selection.
PagepageA page represents a single markdown file in the vault.
PagePartspageAll fields needed to reconstruct a [Page] from storage.
PageDetailpage_detailComposite page information for the context panel.
PagePropertyViewpage_propertyA property and its current value as seen by the UI for a specific page.
PageTreeNodepage_treeA node in the page tree hierarchy for navigation purposes.
ParticipantparticipantA participant in a workspace, representing either a human or an agent.
PropertyConfigproperty_definitionConfiguration for a property definition.
PropertyDefinitionproperty_definitionA workspace-scoped property definition.
SelectOptionproperty_definitionA single option for Select or MultiSelect property types.
RecentWorkspacerecent_workspaceA recently accessed workspace entry.
ReferencereferenceA reference represents a wiki-style link between pages.
LinkUpdateInforenameInformation about a link that will be updated during rename.
RenamedPageInforenameResult of a successful page rename operation.
RenamePlanrenamePreview information for a page rename operation.
SearchResultsearchA search result representing a matching page.
AgentSettingssettingsAgent-specific settings stored alongside application settings.
NotificationSettingssettingsNotification preferences for agent events.
SettingssettingsApplication settings stored in JSON.
TagtagA tag that can be applied to pages for categorization and filtering.
TagGrouptagA group of related tags.
TagGroupPartstagAll fields needed to reconstruct a TagGroup from storage.
TagPartstagAll fields needed to reconstruct a Tag from storage.
TagSummarytagLightweight tag representation for page display.
TypeAssignmenttype_definitionA record that a page has been assigned a specific type.
TypeDefinitiontype_definitionA workspace-scoped type definition (e.g. “Page”, “Folder”, or user-defined types).
TemplatePropertytype_templateA property definition within a template.
TypeTemplatetype_templateA read-only type template that can be installed into a workspace.
WorkspaceworkspaceA workspace represents a vault — a directory containing all of a user’s pages.
WorkspaceNameworkspace_nameA validated workspace name that is safe for use as a folder name.
NameModuleDescription
AttachmentSyncStatusattachmentSync status of an attachment relative to cloud storage.
ContentTypeattachmentThe content type of an attachment, derived from its file extension.
ImageVariantattachmentImage variant sizes for on-device optimization.
BlockContentTypeblock_content_typeContent type for a block, determining rendering and behavior.
ImageAlignmentblock_content_typeAlignment options for image block display.
ImageScaleblock_content_typeScale options for image block display.
CapabilitycapabilityA medium-grained capability that can be granted to a participant.
ChannelValidationErrorchannelValidation errors for channel creation.
ConversationStatusconversationLifecycle status of a conversation: Active, Idle, or Archived.
ConversationTransitionErrorconversationErrors from invalid conversation state transitions.
ViewModecollection_viewThe display mode for a collection view.
ContainerRuleDepthcontainer_ruleThe depth at which a container rule applies.
DomainErrorerrorErrors that can occur in the domain layer.
EntityTypeevent_logThe workspace entity that an event applies to.
EventTypeevent_logThe kind of mutation that occurred.
TimelineEntryTypeevent_logDiscriminates between structural events (from the event log) and content
ConflictStrategyimportStrategy for handling conflicts with existing pages.
FlattenStrategyimportStrategy for handling files nested deeper than the target supports.
ImportIssueTypeimportTypes of issues that can be detected during import analysis.
ImportModeimportMode for import operation.
ImportPhaseimportPhases of an import operation.
ImportSourceTypeimportThe type of import source detected.
GridTypelayoutGrid layout type — currently only CSS Grid is supported.
LayoutCompatibilitylayoutCompatibility result when applying a new layout to a page.
MemoryLifetimememoryThe lifetime tier of a memory entry.
MemoryScopememoryThe scope of a memory entry — where it applies.
MemorySourcememoryWhat produced a memory entry (provenance, not access control).
MemoryValidationErrormemoryValidation errors for memory entry creation.
HardwareTierollamaHardware tier classification based on system RAM.
ModelCategoryollamaCategory of model recommendation.
PageTypepage_typeThe type/category of a page in the workspace.
ParticipantKindparticipantThe kind of participant: human user or AI agent.
ParticipantValidationErrorparticipantValidation error for participant creation.
PropertyValueTypeproperty_definitionThe value type of a property definition.
AgentProvidersettingsAgent LLM provider selection.
SignInMethodsettingsUser’s preferred sign-in method.
UserPersonasettingsUser persona representing their primary use case.
AssignmentScopetype_definitionThe scope (origin) of a page type assignment.
WorkspaceNameErrorworkspace_nameError returned when workspace name validation fails.

Source: crates/domain/src/analytics.rs

KindNameDescription
structAnalyticsEventA single analytics event queued for eventual upload.

Source: crates/domain/src/attachment.rs

KindNameDescription
enumAttachmentSyncStatusSync status of an attachment relative to cloud storage.
enumContentTypeThe content type of an attachment, derived from its file extension.
enumImageVariantImage variant sizes for on-device optimization.
structAttachmentAn attachment represents a file (image, PDF, etc.) stored alongside page content.
structAttachmentPartsAll fields needed to reconstruct an Attachment from storage.
structAttachmentReferenceA reference linking an attachment to a page (and optionally a block).
structAttachmentSummaryAn attachment with its reference count, for the management view.
structStorageBreakdownEntryA single entry in the storage usage breakdown.
structStorageQuotaStorage quota limits for a workspace.
structStorageUsageAggregated storage usage for a workspace.
structUnknownSyncStatusError returned when parsing an unknown sync status string.

Source: crates/domain/src/auth.rs

KindNameDescription
structAuthUserAn authenticated user account.
structDeviceA registered device linked to a user account.

Source: crates/domain/src/backlink.rs

KindNameDescription
structBacklinkInfoInformation about a page that links TO the current page (a backlink).
structOutgoingLinkInfoInformation about a page that the current page links TO (an outgoing link).

Source: crates/domain/src/block.rs

KindNameDescription
structBlockA block represents a positioned content section within a page.

Source: crates/domain/src/block_content_type.rs

KindNameDescription
enumBlockContentTypeContent type for a block, determining rendering and behavior.
enumImageAlignmentAlignment options for image block display.
enumImageScaleScale options for image block display.
structImageBlockMetadataTyped metadata for an Image block variant.

Source: crates/domain/src/bookmark.rs

KindNameDescription
structBookmarkA named anchor in the event log timeline.

Source: crates/domain/src/capability.rs

KindNameDescription
enumCapabilityA medium-grained capability that can be granted to a participant.

Source: crates/domain/src/channel.rs

KindNameDescription
enumChannelValidationErrorValidation errors for channel creation.
structChannelA 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).

Source: crates/domain/src/conversation/mod.rs

KindNameDescription
enumConversationStatusLifecycle status: Active, Idle, or Archived.
enumConversationTransitionErrorErrors from invalid conversation state transitions.
structConversationA 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

KindNameDescription
structFixedClockFixed clock that always returns the same instant.
structSystemClockDefault clock backed by the system clock (Utc::now()).

Source: crates/domain/src/collection_view.rs

KindNameDescription
enumViewModeThe display mode for a collection view.
structCollectionViewPersisted view preferences for one type’s collection.
structCollectionViewRowA single page row returned by a collection query.
structColumnConfigConfiguration for a single column in a table view.

Source: crates/domain/src/container_rule.rs

KindNameDescription
enumContainerRuleDepthThe depth at which a container rule applies.
structContainerRuleA rule that auto-assigns a type to children of a folder.
structUnknownDepthError returned when parsing an unknown depth string.

Source: crates/domain/src/deleted_page.rs

KindNameDescription
structDeletedPageInfoInformation about a soft-deleted page for display in the trash view.

Source: crates/domain/src/embedding.rs

KindNameDescription
structEmbeddingStatsStatistics about the embedding index for a workspace.
structSimilarPageA page matched by vector similarity search.

Source: crates/domain/src/error.rs

KindNameDescription
enumDomainErrorErrors that can occur in the domain layer.

Source: crates/domain/src/event_log.rs

KindNameDescription
enumEntityTypeThe workspace entity that an event applies to.
enumEventTypeThe kind of mutation that occurred.
enumTimelineEntryTypeDiscriminates between structural events (from the event log) and content
structEventLogEntryA single immutable event in the workspace event log.
structPageTimelineEntryA unified timeline entry for a page, merging structural events and content

Source: crates/domain/src/filtered_tree.rs

KindNameDescription
structFilteredTreeNodeA page tree node with a match flag for filtered views.

Source: crates/domain/src/icon_config.rs

KindNameDescription
structIconConfigValue object representing an icon configuration.

Source: crates/domain/src/identifiers.rs

KindNameDescription
structBlockIdValidated block identifier.
structDeviceIdValidated device identifier.

Source: crates/domain/src/import.rs

KindNameDescription
enumConflictStrategyStrategy for handling conflicts with existing pages.
enumFlattenStrategyStrategy for handling files nested deeper than the target supports.
enumImportIssueTypeTypes of issues that can be detected during import analysis.
enumImportModeMode for import operation.
enumImportPhasePhases of an import operation.
enumImportSourceTypeThe type of import source detected.
structFolderPreviewPreview of a folder structure for the import dialog.
structFolderPreviewItemAn item in the folder preview tree.
structImportAnalysisThe result of analyzing an import source before execution.
structImportedPageDataData for an imported page, ready to be persisted.
structImportIssueAn issue detected during import analysis.
structImportParamsParameters for executing an import.
structImportProgressProgress information during an import operation.
structImportResultResult of executing an import.
structObsidianMetadataMetadata extracted from Obsidian vault configuration.
structTypeMappingA mapping from a discovered source type to a workspace type.

Source: crates/domain/src/layout.rs

KindNameDescription
enumGridTypeGrid layout type — currently only CSS Grid is supported.
enumLayoutCompatibilityCompatibility result when applying a new layout to a page.
structLayoutA CSS Grid-based page layout definition.

Source: crates/domain/src/layout_definition.rs

KindNameDescription
structLayoutDefinitionA named layout definition stored in the workspace.

Source: crates/domain/src/memory.rs

KindNameDescription
enumMemoryLifetimeThe lifetime tier of a memory entry.
enumMemoryScopeThe scope of a memory entry — where it applies.
enumMemorySourceWhat produced a memory entry (provenance, not access control).
enumMemoryValidationErrorValidation errors for memory entry creation.
structConversationScratchpadA conversation scratchpad — ephemeral key-value store for a single conversation.
structDecayConfigPer-tier decay configuration.
structMemoryEntryA single memory entry in the agent memory system.
structMemoryQueryQuery parameters for searching the memory store.
structScratchpadEntryA single entry in a conversation scratchpad.

Source: crates/domain/src/ollama.rs

KindNameDescription
enumHardwareTierHardware tier classification based on system RAM.
enumModelCategoryCategory of model recommendation.
structOllamaModelInfoInformation about an installed Ollama model.
structOllamaStatusStatus of the local Ollama server.
structPullProgressProgress update during model pull.
structRecommendedModelA recommended model for a given hardware tier.
structSystemCapabilitiesSystem hardware capabilities for model selection.

Source: crates/domain/src/page.rs

KindNameDescription
structPageA page represents a single markdown file in the vault.
structPagePartsAll fields needed to reconstruct a [Page] from storage.

Source: crates/domain/src/page_detail.rs

KindNameDescription
structPageDetailComposite page information for the context panel.

Source: crates/domain/src/page_property.rs

KindNameDescription
structPagePropertyViewA property and its current value as seen by the UI for a specific page.

Source: crates/domain/src/page_tree.rs

KindNameDescription
structPageTreeNodeA node in the page tree hierarchy for navigation purposes.

Source: crates/domain/src/page_type.rs

KindNameDescription
enumPageTypeThe type/category of a page in the workspace.

Source: crates/domain/src/participant.rs

KindNameDescription
enumParticipantKindThe kind of participant: human user or AI agent.
enumParticipantValidationErrorValidation error for participant creation.
structParticipantA participant in a workspace, representing either a human or an agent.

Source: crates/domain/src/property_definition.rs

KindNameDescription
enumPropertyValueTypeThe value type of a property definition.
structPropertyConfigConfiguration for a property definition.
structPropertyDefinitionA workspace-scoped property definition.
structSelectOptionA single option for Select or MultiSelect property types.

Source: crates/domain/src/recent_workspace.rs

KindNameDescription
structRecentWorkspaceA recently accessed workspace entry.

Source: crates/domain/src/reference.rs

KindNameDescription
structReferenceA reference represents a wiki-style link between pages.

Source: crates/domain/src/rename.rs

KindNameDescription
structLinkUpdateInfoInformation about a link that will be updated during rename.
structRenamedPageInfoResult of a successful page rename operation.
structRenamePlanPreview information for a page rename operation.

Source: crates/domain/src/search.rs

KindNameDescription
structSearchResultA search result representing a matching page.

Source: crates/domain/src/settings.rs

KindNameDescription
enumAgentProviderAgent LLM provider selection.
enumSignInMethodUser’s preferred sign-in method.
enumUserPersonaUser persona representing their primary use case.
structAgentSettingsAgent-specific settings stored alongside application settings.
structNotificationSettingsNotification preferences for agent events.
structSettingsApplication settings stored in JSON.

Source: crates/domain/src/tag.rs

KindNameDescription
structTagA tag that can be applied to pages for categorization and filtering.
structTagGroupA group of related tags.
structTagGroupPartsAll fields needed to reconstruct a TagGroup from storage.
structTagPartsAll fields needed to reconstruct a Tag from storage.
structTagSummaryLightweight tag representation for page display.

Source: crates/domain/src/type_definition.rs

KindNameDescription
enumAssignmentScopeThe scope (origin) of a page type assignment.
structTypeAssignmentA record that a page has been assigned a specific type.
structTypeDefinitionA workspace-scoped type definition (e.g. “Page”, “Folder”, or user-defined types).

Source: crates/domain/src/type_template.rs

KindNameDescription
structTemplatePropertyA property definition within a template.
structTypeTemplateA read-only type template that can be installed into a workspace.

Source: crates/domain/src/workspace.rs

KindNameDescription
structWorkspaceA workspace represents a vault — a directory containing all of a user’s pages.

Source: crates/domain/src/workspace_name.rs

KindNameDescription
enumWorkspaceNameErrorError returned when workspace name validation fails.
structWorkspaceNameA validated workspace name that is safe for use as a folder name.

Was this page helpful?