pub enum SessionSource {
Chat,
Api,
Slack,
AgUi,
Fcp,
Schedule,
Webhook,
A2a,
Eval,
Subagent,
Unknown,
}Expand description
How a session came into existence.
Closed set: the sessions facet rail enumerates every variant, so the value
is typed rather than a free-form string. Ingress paths set it server-side —
clients may only declare the two variants they can legitimately be
(Chat and Api), which keeps a facet like “started by a schedule”
trustworthy. Rows that predate the column, or whose origin could not be
inferred at backfill time, carry Unknown.
Variants§
Chat
Interactive chat thread (UI chat surface, global chat, public chat).
Api
Direct POST /v1/sessions from the API, CLI, or an SDK.
Slack
Slack channel ingress.
AgUi
AG-UI channel ingress.
Fcp
FCP channel ingress.
Schedule
Fired by a schedule (app schedule channel or agent trigger).
Webhook
Inbound webhook or app API endpoint.
A2a
Inbound A2A request.
Eval
Created by an eval run.
Subagent
Spawned as a subagent / delegated peer of another session.
Unknown
Origin not recorded (pre-migration rows that could not be inferred).
Implementations§
Source§impl SessionSource
impl SessionSource
Trait Implementations§
Source§impl Clone for SessionSource
impl Clone for SessionSource
Source§fn clone(&self) -> SessionSource
fn clone(&self) -> SessionSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SessionSource
Source§impl Debug for SessionSource
impl Debug for SessionSource
Source§impl Default for SessionSource
impl Default for SessionSource
Source§fn default() -> SessionSource
fn default() -> SessionSource
Source§impl<'de> Deserialize<'de> for SessionSource
impl<'de> Deserialize<'de> for SessionSource
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>,
Source§impl Display for SessionSource
impl Display for SessionSource
impl Eq for SessionSource
Source§impl From<&str> for SessionSource
impl From<&str> for SessionSource
Source§impl Hash for SessionSource
impl Hash for SessionSource
Source§impl PartialEq for SessionSource
impl PartialEq for SessionSource
Source§impl Serialize for SessionSource
impl Serialize for SessionSource
impl StructuralPartialEq for SessionSource
Auto Trait Implementations§
impl Freeze for SessionSource
impl RefUnwindSafe for SessionSource
impl Send for SessionSource
impl Sync for SessionSource
impl Unpin for SessionSource
impl UnsafeUnpin for SessionSource
impl UnwindSafe for SessionSource
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<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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
T in a tonic::Request