pub enum ClientKind {
ClaudeCode,
ClaudeDesktop,
Codex,
OpenCode,
Hermes,
Pi,
Other,
Internal,
Unknown,
}Expand description
The client that produced an AI request.
Other is a real HTTP caller the gateway could not name (a raw SDK, curl,
a chat UI); its evidence row still records what it presented. Internal
is a request the server made for itself with no HTTP ingress. Unknown
exists only for rows written before attribution was recorded and for an
old binary inserting during a deploy window; live code never constructs it.
Variants§
Implementations§
Source§impl ClientKind
impl ClientKind
pub const ALL: [Self; 9]
pub const DECLARABLE: [Self; 7]
pub const fn as_str(self) -> &'static str
pub const fn label(self) -> &'static str
pub fn parse(value: &str) -> Result<Self, OriginParseError>
pub fn from_bridge_host_id(host_id: &str) -> Option<Self>
pub fn from_ua_product(product: &str) -> Option<Self>
pub const fn bridge_host_id(self) -> Option<&'static str>
Trait Implementations§
Source§impl Clone for ClientKind
impl Clone for ClientKind
Source§fn clone(&self) -> ClientKind
fn clone(&self) -> ClientKind
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 moreimpl Copy for ClientKind
Source§impl Debug for ClientKind
impl Debug for ClientKind
Source§impl<'de> Deserialize<'de> for ClientKind
impl<'de> Deserialize<'de> for ClientKind
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
impl Eq for ClientKind
Source§impl From<EvaluatorClient> for ClientKind
impl From<EvaluatorClient> for ClientKind
Source§fn from(client: EvaluatorClient) -> Self
fn from(client: EvaluatorClient) -> Self
Converts to this type from the input type.
Source§impl Hash for ClientKind
impl Hash for ClientKind
Source§impl PartialEq for ClientKind
impl PartialEq for ClientKind
Source§impl Serialize for ClientKind
impl Serialize for ClientKind
impl StructuralPartialEq for ClientKind
Source§impl TryFrom<ClientKind> for EvaluatorClient
impl TryFrom<ClientKind> for EvaluatorClient
Source§type Error = OriginParseError
type Error = OriginParseError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for ClientKind
impl RefUnwindSafe for ClientKind
impl Send for ClientKind
impl Sync for ClientKind
impl Unpin for ClientKind
impl UnsafeUnpin for ClientKind
impl UnwindSafe for ClientKind
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
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§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
Compare self to
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
Converts
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> ⓘ
Converts
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 more