pub enum ProviderRole {
ToolProvider {
tools: Vec<Tool>,
identity_scope: Vec<IdentityScope>,
concurrency: Concurrency,
emits_push: bool,
sub_supervises: bool,
},
PipelineStage {
stage: PipelineStageKind,
applies_to: PipelineAppliesTo,
interface: String,
declares_frozen_floor: bool,
needs_signals: Vec<String>,
conformance_class: String,
},
ManagementSurface {
operations: Vec<ManagementOperation>,
config_schema: Value,
observability: Vec<ObservabilitySurface>,
identity_scope: Vec<IdentityScope>,
concurrency: Concurrency,
},
InternalService {
service_id: String,
transport: InternalTransport,
agent_facing: bool,
operations: Vec<String>,
},
}Expand description
Provider capabilities exposed by a module.
The role set is closed for protocol v1; unknown role tags fail serde decode.
Variants§
ToolProvider
Fields
§
identity_scope: Vec<IdentityScope>Which BindIdentity keys PARTITION this provider’s state or
answers: a module whose reply to a call depends on the caller’s
project declares Project; one that threads per session declares
Session; one that answers identically to every caller declares
[]. It states what the module does with the keys it is handed,
not which keys it will accept — every bind carries all of them.
Not read on any daemon path; relayed verbatim for consumers.
§
concurrency: ConcurrencyPipelineStage
ManagementSurface
Fields
§
operations: Vec<ManagementOperation>§
observability: Vec<ObservabilitySurface>§
identity_scope: Vec<IdentityScope>Same meaning as on ToolProvider: the keys that partition this
surface’s state or answers; [] for a surface that serves the
same answer to every caller.
§
concurrency: ConcurrencyInternalService
Trait Implementations§
Source§impl Clone for ProviderRole
impl Clone for ProviderRole
Source§fn clone(&self) -> ProviderRole
fn clone(&self) -> ProviderRole
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProviderRole
impl Debug for ProviderRole
Source§impl<'de> Deserialize<'de> for ProviderRole
impl<'de> Deserialize<'de> for ProviderRole
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ProviderRole
impl PartialEq for ProviderRole
Source§impl Serialize for ProviderRole
impl Serialize for ProviderRole
impl StructuralPartialEq for ProviderRole
Auto Trait Implementations§
impl Freeze for ProviderRole
impl RefUnwindSafe for ProviderRole
impl Send for ProviderRole
impl Sync for ProviderRole
impl Unpin for ProviderRole
impl UnsafeUnpin for ProviderRole
impl UnwindSafe for ProviderRole
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
Mutably borrows from an owned value. Read more