Skip to main content

Crate bamboo_plugin_protocol

Crate bamboo_plugin_protocol 

Source
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§

FileChangedV1
Stable payload for a successful file_changed event.
InMemoryToolEventRecorder
Bounded in-memory recorder for tests and embedders.
NoopToolEventPublisher
Default publisher used by the SDK, server, and tests unless explicitly injected. It preserves historical behavior and allocations at the sink.
ProjectedFileChangedV1
Permission-aware file_changed data. 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.
ProjectedToolEventContextV1
Permission-aware context delivered to plugin services. Metadata is the safe baseline; tool_name is absent unless both requested and host-granted.
ProjectedToolEventV1
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.
ToolEventContextV1
Stable identity attached to every tool event.
ToolEventSubscriptionId
Forward-compatible subscription identifier used by plugin manifests.
ToolEventTypeV1
Forward-compatible event type. Unknown strings are retained verbatim.
ToolEventV1
Versioned, forward-compatible event envelope delivered to plugin sinks.

Enums§

ToolEventBuildError
ToolEventPublishError

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§

ToolEventPublisher
Non-blocking injection seam owned by one Bamboo runtime/AppState.

Functions§

tool_event_v1_schema
Public JSON Schema for the v1 wire envelope.