struct WpsPublishRequest {
event: String,
scopes: Vec<String>,
persist: usize,
data: Value,
}Expand description
Wire shape for POST /agentmux/wps/publish. Mirrors WaveEvent
but keeps the field set narrow for what agentmux-bashwrap
actually needs (no sender).
Fields§
§event: StringWPS event name. We use a fixed tool_chunk for every
streaming chunk (the tool_use_id lives in the payload), but
the handler is general-purpose.
scopes: Vec<String>Optional scope filters (e.g. ["block:<id>"]) so only
subscribers watching that block receive the event.
persist: usizePer-scope event ring size. Lets late subscribers replay
events that landed before they subscribed. agentmux-bashwrap
sets this to 1024 for tool_chunk so the frontend’s
subscription (installed on pane mount) picks up chunks that
flew before Claude’s stream-json caught up enough to surface
the tool_use_id. Zero (or omitted) disables persistence —
pure fan-out. See SPEC_STREAMING_BASH_RUNNER_2026_05_11.md §6.
data: ValueFree-form payload. For tool_chunk events this is the
{op, kind, content, timestamp} shape from
SPEC_STREAMING_BASH_RUNNER_2026_05_11.md §4.3.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WpsPublishRequest
impl<'de> Deserialize<'de> for WpsPublishRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for WpsPublishRequest
impl RefUnwindSafe for WpsPublishRequest
impl Send for WpsPublishRequest
impl Sync for WpsPublishRequest
impl Unpin for WpsPublishRequest
impl UnwindSafe for WpsPublishRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.