Skip to main content

Crate clawbox_types

Crate clawbox_types 

Source
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 typesExecuteRequest, ExecuteResponse, ContainerSpawnRequest, HealthResponse, and more
  • Tool manifestsToolManifest with network, credential, and resource configurations
  • Sandbox policiesWasmOnly, Container, and ContainerDirect isolation levels
  • Agent typesAgentConfig, AgentInfo, AgentStatus for lifecycle management
  • Resource limits — Timeout, memory, CPU, and output size budgets
  • Host call traitHostCallHandler for 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

ModuleContents
apiHTTP request/response types (ExecuteRequest, etc.)
policySandboxPolicy, Capabilities, ResourceLimits
manifestToolManifest, ToolMeta, network/credential config
agentAgentConfig, AgentInfo, lifecycle types
hostHostCallHandler trait for WASM-host RPC
patternsShared 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.