pub struct BackendCapabilities {
pub v2: bool,
pub vision: bool,
pub audio: bool,
pub video: bool,
pub tools: bool,
pub thinking: bool,
pub embed: bool,
pub accelerator: AcceleratorInfo,
}Expand description
Per-backend capability advertisement. The daemon consults this on boot to decide whether v2 multimodal / tool-use requests can be dispatched, and reports the advertised set on the admin status surface so middleware authors can introspect what the running daemon can do without trial-and-error.
Per the v0.2 plan: until cloud adapters land, the only adapters
shipped are mock and llamacpp. Both opt-in selectively —
mock for tests, llamacpp once Phase 3+ wires mtmd / tool
parsing.
Fields§
§v2: booltrue if the backend implements generate_v2 (typed
content blocks, tool definitions). When false the daemon’s
v2 dispatch falls back to Error{Internal, "v2 not supported by this backend"}.
vision: booltrue if the backend can ingest image attachments. Reported
to consumers; requests with image content blocks against a
non-image backend get Error{AttachmentUnsupported,...}.
audio: booltrue if the backend can ingest audio attachments.
video: booltrue if the backend can ingest video attachments. (Reserved.)
tools: booltrue if the backend natively supports tool-use round-tripping
(parses <|tool_call> from token stream, accepts tool_result
blocks in the next request, etc.).
thinking: booltrue if the backend separates <|think|> reasoning trace
from user-visible output.
embed: booltrue if the backend implements embed (per ADR 0017). When
false the daemon does not bind the embed socket; if it
somehow gets bound and a request arrives, dispatch returns
Error{EmbedUnsupported}.
accelerator: AcceleratorInfoHardware-acceleration snapshot. Cpu / 0 for the default
trait impl; mock keeps the default; llamacpp reports the
compile-time GGML backend + the configured n_gpu_layers.
Reported on admin status: capabilities frames and in
inferdctl doctor (#77).
Trait Implementations§
Source§impl Clone for BackendCapabilities
impl Clone for BackendCapabilities
Source§fn clone(&self) -> BackendCapabilities
fn clone(&self) -> BackendCapabilities
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 BackendCapabilities
impl Debug for BackendCapabilities
Source§impl Default for BackendCapabilities
impl Default for BackendCapabilities
Source§fn default() -> BackendCapabilities
fn default() -> BackendCapabilities
Source§impl PartialEq for BackendCapabilities
impl PartialEq for BackendCapabilities
Source§fn eq(&self, other: &BackendCapabilities) -> bool
fn eq(&self, other: &BackendCapabilities) -> bool
self and other values to be equal, and is used by ==.