pub struct InboundChannelEvent {
pub actor: ExternalActor,
pub text: String,
pub attachments: Vec<InboundAttachment>,
pub dedup_key: String,
pub thread_ref: Option<String>,
pub routing_metadata: HashMap<String, String>,
}Expand description
A platform-agnostic inbound event from a channel.
Platform adapters parse their native webhook payloads into this type. The server routes it to the correct session and creates the appropriate input.message event.
Fields§
§actor: ExternalActorWho sent this message.
text: StringMessage text content (may be empty for attachment-only messages).
attachments: Vec<InboundAttachment>Attached content (images, files) as platform-agnostic parts.
dedup_key: StringPlatform-specific dedup key (e.g. Slack event_ts, Discord message_id). Used to prevent duplicate processing on webhook retries.
thread_ref: Option<String>Thread reference for routing to the correct session. None for DMs or platforms without threading.
routing_metadata: HashMap<String, String>Platform-specific metadata for session tag construction.
Trait Implementations§
Source§impl Clone for InboundChannelEvent
impl Clone for InboundChannelEvent
Source§fn clone(&self) -> InboundChannelEvent
fn clone(&self) -> InboundChannelEvent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for InboundChannelEvent
impl RefUnwindSafe for InboundChannelEvent
impl Send for InboundChannelEvent
impl Sync for InboundChannelEvent
impl Unpin for InboundChannelEvent
impl UnsafeUnpin for InboundChannelEvent
impl UnwindSafe for InboundChannelEvent
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request