Crate fusabi_stdlib_ext

Crate fusabi_stdlib_ext 

Source
Expand description

§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

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)?;

Modules§

env
Environment module.
format
Format module.
fs
Filesystem module.
path
Path manipulation module.
process
Process execution module.
time
Time module.

Structs§

HostAllowlist
Allowlist for network hosts.
ModuleConfig
Configuration for a specific module.
PathAllowlist
Allowlist for filesystem paths.
SafetyConfig
Safety configuration for stdlib operations.
StdlibConfig
Configuration for the stdlib registry.
StdlibRegistry
Registry for stdlib modules.

Enums§

Error
Errors that can occur during stdlib operations.

Constants§

VERSION
Crate version for compatibility checks.

Type Aliases§

Result
Result type alias using [Error].