Expand description
Dependency-light public wire protocols for Bamboo plugin services.
This crate deliberately depends only on serialization/error crates. Runtime, server, plugin-manifest, process-supervision, and tool-result types do not cross this boundary.
Structs§
- File
Changed V1 - Stable payload for a successful
file_changedevent. - InMemory
Tool Event Recorder - Bounded in-memory recorder for tests and embedders.
- Noop
Tool Event Publisher - Default publisher used by the SDK, server, and tests unless explicitly injected. It preserves historical behavior and allocations at the sink.
- Projected
File Changed V1 - Permission-aware
file_changeddata. An absent/redacted path never leaves a placeholder path field; the stable reason is safe metadata. Diff/content are bounded strings and carry an explicit truncation bit when shortened. - Projected
Tool Event Context V1 - Permission-aware context delivered to plugin services. Metadata is the
safe baseline;
tool_nameis absent unless both requested and host-granted. - Projected
Tool Event V1 - Irreversible host projection admitted to a plugin sink queue. This is
intentionally a distinct type from producer
crate::ToolEventV1, making raw-event queueing a type error. - Tool
Event Context V1 - Stable identity attached to every tool event.
- Tool
Event Subscription Id - Forward-compatible subscription identifier used by plugin manifests.
- Tool
Event Type V1 - Forward-compatible event type. Unknown strings are retained verbatim.
- Tool
Event V1 - Versioned, forward-compatible event envelope delivered to plugin sinks.
Enums§
Constants§
- FILE_
CHANGED_ EVENT_ TYPE_ V1 - Stable event-type identifier for a successful supported file mutation.
- FILE_
CHANGED_ SUBSCRIPTION_ ID_ V1 - Stable manifest subscription identifier for
FILE_CHANGED_EVENT_TYPE_V1. - MAX_
PROJECTED_ TOOL_ EVENT_ CONTENT_ BYTES - MAX_
PROJECTED_ TOOL_ EVENT_ DIFF_ BYTES - Per-field payload bounds applied by the host projection before it performs the exact complete-event serialization/limit check.
- MAX_
TOOL_ EVENT_ CALL_ ID_ BYTES - MAX_
TOOL_ EVENT_ JSON_ BYTES - MAX_
TOOL_ EVENT_ PATH_ BYTES - MAX_
TOOL_ EVENT_ ROOT_ SESSION_ ID_ BYTES - MAX_
TOOL_ EVENT_ SESSION_ ID_ BYTES - MAX_
TOOL_ EVENT_ SUBSCRIPTION_ ID_ BYTES - MAX_
TOOL_ EVENT_ TOOL_ NAME_ BYTES - MAX_
TOOL_ EVENT_ TYPE_ BYTES - TOOL_
EVENT_ PATH_ REDACTION_ PERMISSION_ NOT_ GRANTED - TOOL_
EVENT_ PATH_ REDACTION_ SENSITIVE - TOOL_
EVENT_ PATH_ REDACTION_ UNSAFE - TOOL_
EVENT_ PROTOCOL_ NAME - Stable protocol-family name used by plugin event-sink manifests.
- TOOL_
EVENT_ V1_ SCHEMA_ VERSION - Wire schema carried by every
ToolEventV1.
Traits§
- Tool
Event Publisher - Non-blocking injection seam owned by one Bamboo runtime/AppState.
Functions§
- tool_
event_ v1_ schema - Public JSON Schema for the v1 wire envelope.