pub enum ModuleControlRequest {
RouteBind {
route_channel: u16,
epoch: u32,
target: RouteTarget,
identity: BindIdentity,
principal: Option<Principal>,
consumer_capabilities: Option<Vec<String>>,
admission_facts: Option<Value>,
},
HealthCheck {},
}Expand description
subc-to-module channel-0 control RPC body.
Variants§
RouteBind
Fields
target: RouteTargetidentity: BindIdentityprincipal: Option<Principal>The daemon’s attestation of the consumer, and the only field here a provider may grant privilege on.
Reserved is minted at exactly one place in the daemon, on the branch
where the consumer’s launch nonce matched a supervised spawn — the
function that checks is the function that mints, so the value cannot
exist without the check having run. That property is what a provider is
relying on, and it is the reason to key authority on this rather than on
identity, which is client-supplied and unattested (see BindIdentity).
Absent means the daemon made no attestation, which is not the same as a denial: it is the shape a pre-attestation peer sends. Treat it as unattested rather than as trusted-by-default.
consumer_capabilities: Option<Vec<String>>Consumer-declared reverse-request capabilities for the route. This is an unverified declaration, not a privilege grant; if a consumer over-declares, providers may still send reverse requests that later time out or deny. Providers must treat an absent field as no reverse-request capability. The vocabulary is open strings; known MCP method-family values today are “elicitation”, “sampling”, and “roots”.
HealthCheck
Trait Implementations§
Source§impl Clone for ModuleControlRequest
impl Clone for ModuleControlRequest
Source§fn clone(&self) -> ModuleControlRequest
fn clone(&self) -> ModuleControlRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more