nexo-tool-meta
Wire-shape types shared between the Nexo agent runtime and any third-party microapp that consumes its events.
Provider-agnostic by construction: no transport (no axum,
no tokio), no broker, no agent runtime. Pulling this crate
in is a four-dependency, sub-second compile and exposes only
the data shapes a downstream consumer needs.
Install
[]
= "0.1"
What's inside
BindingContext—(channel, account_id, agent_id, session_id, binding_id)tuple stamped on every tool call so a microapp knows which inbound binding the call came from.build_meta_value/parse_binding_from_meta— the inverse pair around the dual-write_metapayload nexo emits on every JSON-RPCtools/call.WebhookEnvelope— typed JSON envelope nexo publishes to NATS after every accepted webhook request.format_webhook_source— Phase 72 turn-log marker helper.
Quick example
use ;
// A microapp receives this `_meta` payload on every tool call.
let meta = json!;
let binding: BindingContext = parse_binding_from_meta.unwrap;
assert_eq!;
assert_eq!;
Forward-compatibility
Every public type is #[non_exhaustive]. The daemon adds
fields at minor version bumps; older parsers see the new
fields silently ignored. Microapps built against 0.1.0
keep working when the runtime emits a 0.2.x envelope.
License
Licensed under either of Apache License 2.0 or MIT License at your option.