OptionalpreloadedArtifact: MJArtifactEntityOptionalpreloadedVersion: MJArtifactVersionEntityReadonlyartifactReadonlyartifactReadonlyartifactReadonlyartifactReadonlyartifactReadonlyconversationReadonlydirectionReadonlyversionReadonlyversionReadonlyversionReadonlyversionReadonlyvisibilityChecks if the artifact entities can be accessed without triggering a load. True if the engine has them or fallbacks are populated.
Checks if a fallback load is currently in progress.
Gets the full Artifact entity. Checks ArtifactMetadataEngine first (always fresh), falls back to direct load.
Gets the full ArtifactVersion entity including Content field. Checks ArtifactMetadataEngine first (always fresh), falls back to direct load.
Represents artifact information with lazy-loading capabilities. Stores minimal display data initially (from query) and loads full entities on-demand.
For full entity access, delegates to ArtifactMetadataEngine which is kept in sync automatically via BaseEngine's MJGlobal event listener. When any BaseEntity save/delete fires in the same process, the engine's in-memory arrays are updated immediately — so callers always get the freshest data without tight coupling between the conversation layer and artifact editors.
A one-time direct load fallback is used when the engine hasn't loaded yet or the entity is brand-new and hasn't propagated to the engine's cache.