Skip to main content

ToolEventV1

Struct ToolEventV1 

Source
pub struct ToolEventV1 {
    pub schema_version: u16,
    pub event_type: ToolEventTypeV1,
    pub subscription_id: ToolEventSubscriptionId,
    pub context: ToolEventContextV1,
    pub data: Value,
    pub extensions: BTreeMap<String, Value>,
}
Expand description

Versioned, forward-compatible event envelope delivered to plugin sinks.

event_type and subscription_id are open string types and data is kept as JSON on the envelope, so an older host can deserialize and forward an unknown compatible variant without discarding its payload. Known consumers use ToolEventV1::file_changed_data for the stable typed DTO.

Fields§

§schema_version: u16§event_type: ToolEventTypeV1§subscription_id: ToolEventSubscriptionId§context: ToolEventContextV1§data: Value§extensions: BTreeMap<String, Value>

Additive envelope fields from a future compatible producer.

Implementations§

Source§

impl ToolEventV1

Source

pub fn file_changed( context: ToolEventContextV1, data: FileChangedV1, ) -> Result<Self, ToolEventBuildError>

Source

pub fn file_changed_data(&self) -> Option<Result<FileChangedV1, Error>>

Decode the stable payload only when this is the known v1 variant. Unknown variants remain available through the public data field.

Source

pub fn validate_bounds(&self) -> Result<(), ToolEventBuildError>

Revalidate an event before crossing a bounded publisher boundary.

Source

pub fn validate_projection_input_bounds( &self, ) -> Result<(), ToolEventBuildError>

Validate authority-bearing fields and the known payload shape without serializing or deep-cloning producer extensions.

This is the input half of a host projection boundary: callers MUST construct a new deny-by-default DTO and apply an exact total-byte bound to that projection before queueing it. It is intentionally not a replacement for Self::validate_bounds at general wire boundaries.

Trait Implementations§

Source§

impl Clone for ToolEventV1

Source§

fn clone(&self) -> ToolEventV1

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ToolEventV1

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ToolEventV1

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ToolEventV1

Source§

fn eq(&self, other: &ToolEventV1) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ToolEventV1

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ToolEventV1

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.