Expand description
§clawbox-types
Shared type definitions for the clawbox sandboxed agent execution service.
§Overview
clawbox-types is the foundational crate in the clawbox ecosystem. It defines the core API types, tool manifests, sandbox policies, agent configuration, and host call interfaces used by every other clawbox crate. By centralizing these definitions, all crates stay in sync without circular dependencies.
§Usage
ⓘ
use clawbox_types::{
ExecuteRequest, ExecuteResponse, ExecutionMetadata,
SandboxPolicy, Capabilities, NetworkCapabilities, ResourceLimits,
AgentConfig, ToolManifest, ToolMeta,
};
// Build an execution request
let req = ExecuteRequest::new("web_search", serde_json::json!({"query": "rust wasm"}))
.with_capabilities(Capabilities::new(
NetworkCapabilities::new(vec!["api.example.com".into()])
));
// Configure an agent with builder pattern
let agent = AgentConfig::new("my-agent", "My Agent")
.with_policy(SandboxPolicy::Container)
.with_capabilities(
Capabilities::new(NetworkCapabilities::new(vec!["api.github.com".into()]))
.with_credential("github")
.with_resources(ResourceLimits::new(60_000, 512))
);§Features
- API types —
ExecuteRequest,ExecuteResponse,ContainerSpawnRequest,HealthResponse, and more - Tool manifests —
ToolManifestwith network, credential, and resource configurations - Sandbox policies —
WasmOnly,Container, andContainerDirectisolation levels - Agent types —
AgentConfig,AgentInfo,AgentStatusfor lifecycle management - Resource limits — Timeout, memory, CPU, and output size budgets
- Host call trait —
HostCallHandlerfor WASM-host RPC dispatch - Credential patterns — Shared regex patterns for leak detection
- Builder patterns — Ergonomic construction for all major types
#[non_exhaustive]— All structs and enums are non-exhaustive for semver safety
§Architecture
| Module | Contents |
|---|---|
api | HTTP request/response types (ExecuteRequest, etc.) |
policy | SandboxPolicy, Capabilities, ResourceLimits |
manifest | ToolManifest, ToolMeta, network/credential config |
agent | AgentConfig, AgentInfo, lifecycle types |
host | HostCallHandler trait for WASM-host RPC |
patterns | Shared credential detection regex patterns |
§License
MIT
Re-exports§
pub use agent::AgentConfig;pub use agent::AgentInfo;pub use agent::AgentStatus;pub use agent::LifecycleConfig;pub use agent::WorkspaceConfig;pub use api::ApiError;pub use api::ComponentHealth;pub use api::ContainerInfo;pub use api::ContainerSpawnRequest;pub use api::ContainerStatus;pub use api::ExecuteRequest;pub use api::ExecuteResponse;pub use api::ExecutionMetadata;pub use api::ExecutionStatus;pub use api::HealthComponents;pub use api::HealthResponse;pub use api::ResourceUsage;pub use api::SanitizationReport;pub use host::HostCallHandler;pub use manifest::ToolCredentialConfig;pub use manifest::ToolManifest;pub use manifest::ToolMeta;pub use manifest::ToolNetworkConfig;pub use manifest::ToolResourceConfig;pub use policy::Capabilities;pub use policy::NetworkCapabilities;pub use policy::ResourceLimits;pub use policy::SandboxPolicy;
Modules§
- agent
- Agent-level types for container orchestration.
- api
- API request and response types for the clawbox HTTP interface.
- host
- Host call handler trait for WASM-host RPC dispatch.
- manifest
- Tool capability manifests — define what a WASM tool can do.
- patterns
- Shared credential and injection patterns used across clawbox crates.
- policy
- Sandbox policies defining the security envelope for executions.
Constants§
- DEFAULT_
MAX_ CONCURRENT - Default maximum concurrent connections, shared across policy and manifest.