cc_lb_plugin_wire/lib.rs
1//! Wire types + versioning contract between cc-lb host and wasm plugins.
2//!
3//! Public surface for plugin authors: hook wire types defined per version
4//! submodule. `pub use v1::*` at crate root re-exports the current baseline
5//! for ergonomic import. New wire versions add new submodules (`pub mod v2;`)
6//! without breaking existing code.
7//!
8//! See `docs/plugin-author-guide.md` and `docs/rfc/0001-plugin-runtime-vnext.md`
9//! for the versioning + admission-gate contract.
10
11#![no_std]
12#![forbid(unsafe_code)]
13
14extern crate alloc;
15extern crate self as cc_lb_plugin_wire;
16
17#[cfg(feature = "std")]
18extern crate std;
19
20#[cfg(feature = "std")]
21pub mod metadata;
22pub mod schema;
23pub mod v1;
24
25#[cfg(feature = "std")]
26pub use metadata::{HookMetadata, MetadataError, PluginMetadata};
27pub use schema::*;
28pub use v1::*;