pub enum Capability {
Show 33 variants
TextGeneration,
Reasoning,
CodeGeneration,
MultilingualText,
WebSearch,
ImageUnderstanding,
StructuredOutput,
ToolUse,
Streaming,
AccessControl,
ComplianceCheck,
AuditTrail,
RuleEvaluation,
ConstraintSolving,
ResourceAllocation,
Scheduling,
MathematicalProgramming,
Embedding,
Reranking,
VectorSearch,
Clustering,
Regression,
Classification,
AnomalyDetection,
FullTextSearch,
GraphTraversal,
SemanticSearch,
KeyValue,
DocumentStore,
EventSourcing,
Replay,
Offline,
Other(String),
}Expand description
A capability that a backend declares it supports.
Organized by domain but not restricted to any single backend kind. A backend of any kind can declare any capability it genuinely supports.
§Extensibility
The Other(String) variant allows declaring capabilities not yet
enumerated. Use it for experimental or domain-specific capabilities.
Variants§
TextGeneration
Generate natural language text.
Reasoning
Multi-step reasoning and chain-of-thought.
CodeGeneration
Generate or analyze source code.
MultilingualText
Understand and generate text in multiple languages.
WebSearch
Search the web for current information.
ImageUnderstanding
Understand images, screenshots, diagrams.
StructuredOutput
Generate structured output (JSON, schemas).
ToolUse
Use external tools / function calling.
Streaming
Stream partial results as they are generated.
AccessControl
Evaluate access control rules (who can do what).
ComplianceCheck
Check regulatory compliance (GDPR, HIPAA, SOC2).
AuditTrail
Generate audit trail entries.
RuleEvaluation
Evaluate business rules and constraints.
ConstraintSolving
Solve constraint satisfaction problems.
ResourceAllocation
Allocate resources under constraints.
Scheduling
Schedule tasks/events with dependencies.
MathematicalProgramming
Linear/integer programming.
Embedding
Generate vector embeddings from text/images.
Reranking
Rerank candidates by relevance.
VectorSearch
Find similar vectors (nearest neighbor search).
Clustering
Group data points by similarity.
Regression
Predict continuous values.
Classification
Assign categories to data.
AnomalyDetection
Detect anomalies in data patterns.
FullTextSearch
Full-text document search.
GraphTraversal
Graph traversal and relationship queries.
SemanticSearch
Semantic search using embeddings.
KeyValue
Key-value storage.
DocumentStore
Document storage (JSON, BSON).
EventSourcing
Append-only event sourcing.
Replay
Deterministic replay of operations.
Offline
Operate without network access.
Other(String)
Extension point for capabilities not yet enumerated.
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Capability
impl Debug for Capability
Source§impl<'de> Deserialize<'de> for Capability
impl<'de> Deserialize<'de> for Capability
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 Capability
impl Display for Capability
Source§impl Hash for Capability
impl Hash for Capability
Source§impl PartialEq for Capability
impl PartialEq for Capability
Source§fn eq(&self, other: &Capability) -> bool
fn eq(&self, other: &Capability) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for Capability
impl Serialize for Capability
impl Eq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
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
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.