wasm-capability-contract 0.3.0

Generic, domain-agnostic capability pattern: CapabilityEngine/CapabilityRegistry/CapabilityDispatcher trait shapes + component/capability types. Trait definitions only -- see wasm-capability-core for this pattern's own default implementation, extracted from agent-runtime's ADR-001 (agent-runtime#31, ADR-011).
Documentation
//! `wasm-capability-contract` — the capability-sandbox contract (ADR-001):
//! trait/DTO surface only. See `wasm-capability-core` (this repo) for this
//! pattern's own default implementation, and
//! `docs/3-architecture/adr/ADR-001-capability-layer-design.md` at the
//! repo root for the full design this crate is a direct contract for.
//!
//! No `api/` wrapper directory: a `contract` crate has exactly one real
//! layer by construction (`swearchitect#388`) — its own `src/` already
//! is that layer, so nesting everything one level deeper under a
//! same-purpose `api/` folder is redundant, not a second, distinct SEA
//! layer being introduced.
//!
//! `CapabilityDispatcher`/`CapabilityRegistry` keep their real, deliberate
//! signatures (a multi-parameter `dispatch`, a non-`Result` `descriptor`
//! lookup) rather than being forced into `arch`'s generic `*Request`/
//! `*Response` shape — see `docs/known-exceptions.md` for why.

mod capability;
mod component;

pub use capability::{
    CapabilityDescriptor, CapabilityDispatcher, CapabilityGrant, CapabilityProtocol,
    CapabilityRegistry, CapabilityScope, EgressIdentity,
};
pub use component::{
    ArtifactProvenance, CapabilityEngine, CapabilityError, ComponentHandle, ComponentInvokeRequest,
    ComponentInvokeResponse, ComponentLoadRequest, ComponentLoadResponse, ComponentManifest,
    ComponentValidator, ResourceLimits, ValidateComponentRequest,
};