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 = FULL_WIT;
// Or individual worlds
let plugin: &str = PLUGIN_WIT;
let bean: &str = BEAN_WIT;
let source: &str = SOURCE_WIT;
// Filesystem path to the wit/ directory (camel-wit's own directory)
let dir: &Path = wit_dir;
WIT files
wit/camel-all.wit— canonical merged package (all worlds, single file)wit/camel-plugin.wit—pluginworld standalone (also definesauthorization-policy)wit/camel-bean.wit—beanworld standalonewit/camel-source.wit—sourceworld standalone
All four files belong to package camel:plugin;.
Worlds
plugin— route processor. The host drives each call; the guest exportsinit/process.bean— multi-method DI component. The guest exportsinit/invoke(method).authorization-policy— security backend. The guest exportsinit/evaluate; defined incamel-plugin.wit.source— inbound source. The guest owns the consumption loop (configure→run) over a host-grantedhttp-listenerresource.
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.).