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
47
48
49
50
51
52
53
//! Sandbox trait and implementations.
//!
//! Defines the interface for sandboxed code execution and provides
//! implementations for production (Hyperlight).
//!
//! ## Overview
//!
//! Sandboxes provide isolated environments for executing untrusted code.
//! The `Sandbox` trait defines the execution interface, while `SandboxFactory`
//! handles sandbox lifecycle management.
//!
//! ## Implementations
//!
//! - **HyperlightSandbox**: Production implementation using Hyperlight micro-VMs
//! - **StubSandbox**: Test-only placeholder that does NOT sandbox code
//!
//! ## Usage
//!
//! ```rust,ignore
//! use acton_ai::tools::sandbox::hyperlight::{SandboxProvider, SandboxConfig, WarmPool};
//! use acton_reactive::prelude::*;
//!
//! // Create provider - fails explicitly if platform unsupported
//! let provider = SandboxProvider::new(SandboxConfig::default())?;
//!
//! // Spawn the pool actor
//! let pool_handle = provider.spawn(&mut runtime).await;
//!
//! // Warm up and use pool
//! pool_handle.send(WarmPool { count: 4 }).await;
//! ```
// Stub implementation is only available in tests (security concern in production)
// Re-export traits
pub use ;
// Stub implementation is only available in tests
pub use ;
// Re-export Hyperlight implementation
pub use ;