//! Terminal/command execution with output capture and isolation. //! //! This module provides: //! - `create_terminal()` - Spawn a command with output capture (TOOLS-TERM-01) //! - `get_terminal_output()` - Retrieve terminal output with truncation (TOOLS-TERM-02) //! - `wait_for_terminal_exit()` - Wait for terminal to complete (TOOLS-TERM-03) //! - `kill_terminal()` - Terminate a running terminal (TOOLS-TERM-04) //! - `release_terminal()` - Clean up terminal resources (TOOLS-TERM-05) //! //! All operations: //! - Respect sandbox boundaries (cwd restrictions) //! - Enforce output byte limits (ring buffer) //! - Use environment variable allowlists //! - Apply command blocklists (best-effort) //! - Handle Windows-specific shells (cmd.exe, PowerShell) //! //! **Status**: All functions stubbed, implementation pending pub mod create; pub mod output; pub mod wait; pub mod kill; pub mod release; pub mod ring_buffer; pub mod registry; // Re-export main types and functions pub use create::{ create_terminal, CreateTerminalRequest, CreateTerminalResponse, EnvVar, }; pub use output::{ get_terminal_output, TerminalOutputRequest, TerminalOutputResponse, }; pub use wait::{ wait_for_terminal_exit, WaitForTerminalExitRequest, WaitForTerminalExitResponse, }; pub use kill::{ kill_terminal, KillTerminalCommandRequest, KillTerminalCommandResponse, }; pub use release::{ release_terminal, ReleaseTerminalRequest, ReleaseTerminalResponse, }; pub use ring_buffer::RingBuffer; pub use registry::{global_registry, TerminalRegistry, TerminalId};