# wasm-capability-core
> **TLDR:** This pattern's own default, zero-external-technology
> implementation (SEA L2 core) — `InMemoryCapabilityRegistry`.
Seeds `agent-runtime`'s original Capability Layer design's six built-in capabilities
(`http-egress`, `grpc-egress`, `llm-complete`, `mcp-egress`, `database`, `secrets`); a
deployer registers additional named instances (e.g. `grpc-egress:inventory-svc`) without
editing this crate's source. Not to be confused with this repo's own [ADR-001](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/adr/ADR-001-contract-core-split.md),
a different, later, local decision.
A technology-specific `CapabilityEngine`, `ComponentValidator`, or `CapabilityDispatcher`
implementation belongs in its own `wasm-capability-<technology>-spi` crate in
[wasm-capability-system](https://github.com/sweengineeringlabs/wasm-capability-system)
instead — this crate wraps no external technology of its own.
## Quick Start
```rust
use wasm_capability_contract::{CapabilityDescriptor, CapabilityProtocol, CapabilityRegistry};
use wasm_capability_core::InMemoryCapabilityRegistry;
let registry = InMemoryCapabilityRegistry::with_defaults().register(
"grpc-egress:inventory-svc",
CapabilityDescriptor {
import_name: "grpc-egress",
protocol: CapabilityProtocol::Grpc,
},
);
let descriptor = registry.descriptor("http-egress").expect("built-in capability");
assert_eq!(descriptor.protocol, CapabilityProtocol::Http);
```
Depend on [`wasm-capability-contract`](https://github.com/sweengineeringlabs/wasm-capability-pattern/tree/dev/scm/main/contract)
(for `CapabilityDescriptor`/`CapabilityRegistry`) and this crate together.
## Documentation
| [Overview](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/README.md) | WHAT + WHY, including why this is built on `svc-registry-adapter` |
| [Architecture](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/3-design/architecture.md) | Component diagram, crate boundaries |
## License
MIT OR Apache-2.0