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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
//! # fusabi-stdlib-ext
//!
//! Extended standard library modules and domain packs for Fusabi.
//!
//! This crate provides optional stdlib modules that extend Fusabi's capabilities:
//!
//! ## Core Modules
//!
//! - **Process** - Execute system processes with timeout and environment control
//! - **Fs** - Filesystem operations (read, write, list, glob)
//! - **Path** - Path manipulation (join, normalize, resolve)
//! - **Env** - Environment variable access
//! - **Format** - String formatting (sprintf, templating)
//! - **Net** - Network operations (HTTP requests)
//! - **Time** - Time and duration utilities
//! - **Metrics** - Counter, gauge, histogram primitives
//!
//! ## Extended Modules
//!
//! - **Terminal** - Terminal I/O, key events, clipboard, colors
//! - **GPU** - GPU metrics via NVML (utilization, memory, temperature)
//! - **FsStream** - File streaming with backpressure (tail, chunked reads)
//! - **NetHttp** - Enhanced HTTP client (retries, streaming, custom options)
//!
//! ## Domain Packs
//!
//! - **terminal-ui** - Ratatui/TUI widgets and helpers
//! - **observability** - Logging, tracing, metrics integration
//! - **k8s** - Kubernetes API bindings
//! - **mcp** - MCP (Model Context Protocol) helpers
//!
//! ## Safety
//!
//! All modules follow a default-deny security model:
//! - Filesystem access requires explicit path allowlists
//! - Network access requires explicit host allowlists
//! - Process execution requires explicit permission
//! - All operations respect configured timeouts
//!
//! ## Quick Start
//!
//! ```rust,ignore
//! use fusabi_stdlib_ext::{StdlibRegistry, StdlibConfig};
//!
//! // Create registry with default modules
//! let config = StdlibConfig::default();
//! let registry = StdlibRegistry::new(config)?;
//!
//! // Register modules with an engine
//! registry.register_all(&mut engine)?;
//! ```
// Core modules
// Extended modules (vNEXT)
// Domain packs
pub use ;
pub use ;
pub use StdlibRegistry;
pub use ;
/// Crate version for compatibility checks.
pub const VERSION: &str = env!;