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

// 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.witplugin world standalone (also defines authorization-policy)
  • wit/camel-bean.witbean world standalone
  • wit/camel-source.witsource 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 (configurerun) 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.).