pub struct ExternalActor {
pub actor_id: String,
pub actor_name: Option<String>,
pub source: String,
pub metadata: Option<HashMap<String, String>>,
}Expand description
External actor identity for messages originating from external channels (Slack, Discord, Teams, etc.).
Channel adapters populate this to identify the sender without coupling core logic to any specific channel. The ReasonAtom uses this to prefix user messages so the LLM knows who is speaking.
Fields§
§actor_id: StringOpaque actor identifier from the source channel (e.g. Slack user ID “U0123456789”)
actor_name: Option<String>Resolved display name (e.g. “Alice”). Falls back to actor_id if absent.
source: StringSource channel identifier (e.g. “slack”, “discord”)
metadata: Option<HashMap<String, String>>Channel-specific metadata (e.g. team_id, channel_id)
Implementations§
Source§impl ExternalActor
impl ExternalActor
Sourcepub fn display_label(&self) -> &str
pub fn display_label(&self) -> &str
Human-readable label: display name if available, otherwise actor_id.
Trait Implementations§
Source§impl Clone for ExternalActor
impl Clone for ExternalActor
Source§fn clone(&self) -> ExternalActor
fn clone(&self) -> ExternalActor
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 moreSource§impl Debug for ExternalActor
impl Debug for ExternalActor
Source§impl<'de> Deserialize<'de> for ExternalActor
impl<'de> Deserialize<'de> for ExternalActor
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ExternalActor
impl PartialEq for ExternalActor
Source§fn eq(&self, other: &ExternalActor) -> bool
fn eq(&self, other: &ExternalActor) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ExternalActor
impl Serialize for ExternalActor
impl StructuralPartialEq for ExternalActor
Auto Trait Implementations§
impl Freeze for ExternalActor
impl RefUnwindSafe for ExternalActor
impl Send for ExternalActor
impl Sync for ExternalActor
impl Unpin for ExternalActor
impl UnsafeUnpin for ExternalActor
impl UnwindSafe for ExternalActor
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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