1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! Astrid Workspace - Operational boundaries for agent actions.
//!
//! This crate provides workspace boundaries that define where the agent
//! can operate. Unlike the WASM sandbox (which is inescapable), the
//! operational workspace can be escaped with user approval.
//!
//! # Key Concepts
//!
//! - **Workspace**: A directory tree where the agent can freely operate
//! - **Escape**: Operations outside the workspace require approval
//! - **Modes**: Safe (always ask), Guided (smart defaults), Autonomous (no restrictions)
//!
//! # Example
//!
//! ```rust,ignore
//! use astrid_workspace::{WorkspaceBoundary, WorkspaceConfig, WorkspaceMode};
//!
//! let config = WorkspaceConfig::new("/home/user/project")
//! .with_mode(WorkspaceMode::Guided);
//!
//! let boundary = WorkspaceBoundary::new(config);
//!
//! // Check if a path is allowed
//! match boundary.check("/home/user/project/src/main.rs") {
//! PathCheck::Allowed => println!("Path is in workspace"),
//! PathCheck::RequiresApproval => println!("Needs user approval"),
//! _ => {}
//! }
//! ```
pub use ;
pub use ;
pub use ;
pub use WorkspaceProfile;