pub enum ClientFilter {
Show 41 variants
Opencode,
Claude,
Codex,
Cursor,
Gemini,
Amp,
Droid,
Openclaw,
Pi,
Kimi,
Qwen,
Roocode,
Kilocode,
Mux,
Kilo,
Crush,
Hermes,
Copilot,
Goose,
Codebuff,
Antigravity,
Zed,
Kiro,
Trae,
Warp,
Cline,
NineRouter,
Gjc,
Grok,
Jcode,
Commandcode,
Micode,
AntigravityCli,
Junie,
Zcode,
Opencodereview,
Codebuddy,
Workbuddy,
DevinCli,
DevinDesktop,
Synthetic,
}Expand description
Client identifiers exposed via --client.
Mirrors tokmesh_core::ClientId plus the Synthetic meta-client. We
duplicate the variant set on the CLI side so tokmesh-core stays free of
CLI-parsing dependencies and so Synthetic (which has no scan path of its
own) can be treated as a first-class filter value without changing core
invariants.
Variant order intentionally mirrors ClientId::ALL declaration order so
the TUI source picker, --help’s [possible values: ...] listing, and
any future iteration over ClientFilter::value_variants() agree on a
single chronological ordering. Synthetic is appended at the end since
it has no ClientId counterpart.
Variants§
Opencode
Claude
Codex
Cursor
Gemini
Amp
Droid
Openclaw
Pi
Kimi
Qwen
Roocode
Kilocode
Mux
Kilo
Crush
Hermes
Copilot
Goose
Codebuff
Antigravity
Zed
Kiro
Trae
Warp
Cline
NineRouter
Gjc
Grok
Jcode
Commandcode
Micode
AntigravityCli
Junie
Zcode
Opencodereview
Codebuddy
Workbuddy
DevinCli
DevinDesktop
Synthetic
Implementations§
Source§impl ClientFilter
impl ClientFilter
Sourcepub fn as_filter_str(&self) -> &'static str
pub fn as_filter_str(&self) -> &'static str
Returns the canonical lowercase identifier consumed by
tokmesh_core filter lists. Must match ClientId::as_str for every
variant that has a corresponding ClientId.
Sourcepub fn to_client_id(self) -> Option<ClientId>
pub fn to_client_id(self) -> Option<ClientId>
Convert to the corresponding ClientId, or None for the
Synthetic meta-client which has no scan path of its own.
Used at boundaries where TUI state (HashSet<ClientFilter>) needs
to feed core APIs that still consume Vec<ClientId>.
Sourcepub fn from_client_id(client: ClientId) -> Self
pub fn from_client_id(client: ClientId) -> Self
Lift a ClientId back into a ClientFilter. Total inverse of
to_client_id for non-Synthetic variants.
Sourcepub fn from_filter_str(s: &str) -> Option<Self>
pub fn from_filter_str(s: &str) -> Option<Self>
Parse a canonical lowercase identifier (the same form
as_filter_str returns) into a ClientFilter. Returns None for
any unknown id so callers can drop unrecognized settings entries
without erroring.
Sourcepub fn default_set() -> HashSet<Self>
pub fn default_set() -> HashSet<Self>
The “no filter” default set: every real client, with Synthetic
excluded. Matches the pre-refactor behavior where a missing
filter scanned every ClientId but did NOT post-process synthetic
(synthetic detection has always been opt-in because it
re-attributes messages from other clients to a different bucket).
Single source of truth: every code path that needs a default
filter (TUI launch, submit warm cache, etc.) must consult this
so the cache key, the in-app state, and the loader filter all
agree. Drift between them produces stale-cache misses on every
launch.
Trait Implementations§
Source§impl Clone for ClientFilter
impl Clone for ClientFilter
Source§fn clone(&self) -> ClientFilter
fn clone(&self) -> ClientFilter
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 ClientFilter
Source§impl Debug for ClientFilter
impl Debug for ClientFilter
impl Eq for ClientFilter
Source§impl Hash for ClientFilter
impl Hash for ClientFilter
Source§impl PartialEq for ClientFilter
impl PartialEq for ClientFilter
impl StructuralPartialEq for ClientFilter
Source§impl ValueEnum for ClientFilter
impl ValueEnum for ClientFilter
Auto Trait Implementations§
impl Freeze for ClientFilter
impl RefUnwindSafe for ClientFilter
impl Send for ClientFilter
impl Sync for ClientFilter
impl Unpin for ClientFilter
impl UnsafeUnpin for ClientFilter
impl UnwindSafe for ClientFilter
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,
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
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.