45 lines
1.5 KiB
Rust
45 lines
1.5 KiB
Rust
//! 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};
|