gestura_core_sessions/lib.rs
1//! Session state, persistence, and workspace lifecycle for Gestura.
2//!
3//! `gestura-core-sessions` owns the session-oriented domain model used across
4//! the application. It covers both conversational/agent state and the workspace
5//! boundaries needed to safely persist and resume long-running agent activity.
6//!
7//! ## Responsibilities
8//!
9//! - `agent_sessions`: persistent agent sessions, storage backends, and legacy
10//! migration helpers
11//! - `session_manager`: authentication/session lifecycle, tokens, and access
12//! management for active sessions
13//! - `session_workspace`: session-scoped workspaces for file operations with
14//! security validation and path controls
15//!
16//! ## Architecture role
17//!
18//! This crate is the source of truth for session behavior, while higher-level
19//! orchestration remains in `gestura-core`. The facade re-exports the stable
20//! public entry points under paths such as `gestura_core::agent_sessions::*`,
21//! `gestura_core::session_manager::*`, and `gestura_core::session_workspace::*`.
22//!
23//! ## Why this is separate
24//!
25//! Isolating session logic into a domain crate keeps persistence and workspace
26//! lifecycle concerns independently testable and avoids coupling them to CLI,
27//! GUI, or pipeline runtime details.
28
29pub mod agent_sessions;
30pub mod session_manager;
31pub mod session_workspace;