camel-wit 0.22.0

WIT interface definitions for rust-camel WASM plugins
Documentation
# camel-wit

WIT interface definitions for rust-camel WASM components (processors, beans, sources, authorization policies).

Published to crates.io with raw `.wit` files included in the tarball,
making them accessible to any language toolchain.

## Rust usage

```rust
// Embed the combined WIT package as a &str
let wit: &str = camel_wit::FULL_WIT;

// Or individual worlds
let plugin: &str = camel_wit::PLUGIN_WIT;
let bean: &str = camel_wit::BEAN_WIT;
let source: &str = camel_wit::SOURCE_WIT;

// Filesystem path to the wit/ directory (camel-wit's own directory)
let dir: &std::path::Path = camel_wit::wit_dir();
```

## WIT files

- `wit/camel-all.wit` — canonical merged package (all worlds, single file)
- `wit/camel-plugin.wit``plugin` world standalone (also defines `authorization-policy`)
- `wit/camel-bean.wit``bean` world standalone
- `wit/camel-source.wit``source` world standalone

All four files belong to `package camel:plugin;`.

## Worlds

- **`plugin`** — route processor. The host drives each call; the guest exports `init`/`process`.
- **`bean`** — multi-method DI component. The guest exports `init`/`invoke(method)`.
- **`authorization-policy`** — security backend. The guest exports `init`/`evaluate`; defined in `camel-plugin.wit`.
- **`source`** — inbound source. The guest owns the consumption loop (`configure``run`) over a host-granted `http-listener` resource.

## Other languages

Download the `.wit` files from the crates.io source tarball or the GitHub repository
and use with your language's WIT toolchain (`wasm-tools`, `wit-bindgen`, etc.).