//! # IdeA — Infrastructure layer //! //! Concrete **adapters** implementing the domain ports (ARCHITECTURE §5). All //! real-world I/O (`tokio::fs`, broadcast channels, system clock, UUIDs) lives //! here, never in `domain` or `application`. //! //! L1 shipped the DI/event-relay adapters: [`LocalFileSystem`], //! [`TokioBroadcastEventBus`], [`SystemClock`], [`UuidGenerator`]. L2 adds the //! project persistence adapter [`FsProjectStore`]. L3 adds the local PTY adapter //! [`PortablePtyAdapter`]. Git/remote/template adapters arrive in later lots. #![forbid(unsafe_code)] #![warn(missing_docs)] pub mod clock; pub mod eventbus; pub mod fs; pub mod git; pub mod id; pub mod process; pub mod pty; pub mod remote; pub mod runtime; pub mod store; pub use clock::SystemClock; pub use eventbus::TokioBroadcastEventBus; pub use fs::LocalFileSystem; pub use git::Git2Repository; pub use id::UuidGenerator; pub use process::LocalProcessSpawner; pub use pty::PortablePtyAdapter; pub use remote::{remote_host, LocalHost}; pub use runtime::CliAgentRuntime; pub use store::{FsProfileStore, FsProjectStore, FsTemplateStore, IdeaiContextStore};