//! Core domain types for the Clawmates platform (spec §14). //! //! This crate has no I/O: every other crate depends on it for identifiers, //! the session-key codec, role/RBAC vocabulary, agent access policies, and //! the fixed set of approval-gated action categories from spec §15. mod access; mod chat; mod entities; mod gated; mod ids; mod role; mod session_key; pub use access::{AccessPolicy, AgentScope, HumanScope}; pub use chat::{ shard_of, AgentRun, Message, MessageRole, MessageWithSteps, RunState, Session, Step, StepStatus, }; pub use entities::{Agent, AgentStatus, FileDrive, FileNode, User, Workspace}; pub use gated::GatedCategory; pub use ids::{ AgentId, MessageId, MissionArtifactId, MissionId, MissionPhaseId, MissionTaskId, NodeId, SessionId, UserId, WorkspaceId, }; pub use role::Role; pub use session_key::{SessionKey, SessionKeyError};