pub struct Capabilities {
pub schema_version: String,
pub tier: String,
pub version: String,
pub features: CapabilityFeatures,
pub models: CapabilityModels,
pub permissions: CapabilityPermissions,
pub hooks: CapabilityHooks,
pub compaction: CapabilityCompaction,
pub approval: CapabilityApproval,
pub transcripts: CapabilityTranscripts,
pub hnsw: CapabilityHnsw,
}Expand description
Top-level capabilities report for a running instance.
Schema versions:
- v1 (legacy, pre-v0.6.3.1):
tier,version,features,models. Reachable viaAccept-Capabilities: v1(HTTP) or the MCPacceptargument set to"v1". SeeCapabilitiesV1. - v2 (v0.6.3.1 honesty patch):
schema_version="2"plus thepermissions,hooks,compaction,approval,transcriptsblocks. v1 fields preserved at the same top-level paths — old clients that read v2 by name continue to work for the un-dropped fields. Default response shape.
v2 honesty patch (P1, v0.6.3.1):
features.recall_mode_activeandfeatures.reranker_activeare runtime state, not config-derived flags.features.memory_reflectionis now a{planned, version, enabled}object, not abool.compactionandtranscriptscarry the same planned-feature shape so operators can distinguish “disabled but built” from “not in this build.”permissions.mode = "advisory"until the enforcement gate ships in P4. Was"ask", which implied an active interactive loop.- The following fields were removed because no backing
implementation exists:
permissions.rule_summary,hooks.by_event,approval.subscribers,approval.default_timeout_seconds.
Fields§
§schema_version: StringSchema-version discriminator. Always "2" since v0.6.3.
tier: String§version: String§features: CapabilityFeatures§models: CapabilityModels§permissions: CapabilityPermissionsActive permission/governance rules. Pre-P4 reports the count of
namespaces that have a metadata.governance policy attached to
their standard memory; the underlying permission system itself
is P4 work.
hooks: CapabilityHooksRegistered hooks. Pre-v0.7 reports webhook subscriptions as a proxy (hook system itself is v0.7 Bucket 0).
compaction: CapabilityCompactionCompaction state. v0.8 work — reports {planned, version, enabled} until the subsystem ships.
approval: CapabilityApprovalApproval API state. Reports the live count of pending actions
from the existing pending_actions table.
transcripts: CapabilityTranscriptsSidechain-transcript state. v0.7 Bucket 1.7 work — reports
{planned, version, enabled} until the subsystem ships.
hnsw: CapabilityHnswv0.6.3.1 (P3, G2): HNSW vector-index health. Defaults to a quiet zero-state report; the MCP/HTTP capabilities wrapper overwrites with live process counters when the index module has run an eviction.
Implementations§
Source§impl Capabilities
impl Capabilities
Sourcepub fn to_v1(&self) -> CapabilitiesV1
pub fn to_v1(&self) -> CapabilitiesV1
Project the v2 report down to the legacy v1 shape. Used to
honour Accept-Capabilities: v1 from older clients.
memory_reflection collapses from {planned, enabled} to a
single bool (enabled value). All v2-only fields
(recall_mode_active, reranker_active, permissions,
hooks, compaction, approval, transcripts) are dropped.
Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Capabilities
impl Debug for Capabilities
Source§impl<'de> Deserialize<'de> for Capabilities
impl<'de> Deserialize<'de> for Capabilities
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>,
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnsafeUnpin for Capabilities
impl UnwindSafe for Capabilities
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<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 more