pub struct ProductProvider {
pub id: String,
pub title: String,
pub bootstraps: Vec<ProviderBootstrap>,
pub client_config: Option<String>,
pub hooks: Vec<String>,
pub scratch_roots: Vec<String>,
pub offers: ProviderOffers,
}Expand description
One provider the tool has an adapter for, discovered from the templates the distribution ships and decorated with what this repository does with it.
Fields§
§id: StringThe provider id: the template’s file stem.
title: StringThe name a person knows it by.
bootstraps: Vec<ProviderBootstrap>The bootstraps this repository’s policy renders through it: target, mode, whether every worker loads it.
client_config: Option<String>The client configuration at the repository root that starts the shared MCP server for this provider, when the repository carries it.
hooks: Vec<String>The enforcement entries of the policy wired by this provider’s hooks.
scratch_roots: Vec<String>The scratch roots this provider creates checkouts of its own under, as declared: the worktree topology reports a checkout there as a session’s scratch checkout and never moves it (ADR 0024).
offers: ProviderOffersWhat it can do about the session lifecycle, and where each answer was verified
(share/providers.yaml, ADR 0103). The capability, never the wiring: hooks says
the vendor fires session events, not that this repository has installed anything to
receive them. The other half — what is wired here, and whether driving it produced
anything — is majordomus capture status, which reads this same declaration and
joins it with the tree. It is not restated here because only the shell tool holds
the adapter table and can run a shim, and a second account it could not compute
correctly is worse than one reader more.
Trait Implementations§
Source§impl Clone for ProductProvider
impl Clone for ProductProvider
Source§fn clone(&self) -> ProductProvider
fn clone(&self) -> ProductProvider
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 ProductProvider
impl Debug for ProductProvider
Source§impl<'de> Deserialize<'de> for ProductProvider
impl<'de> Deserialize<'de> for ProductProvider
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>,
impl Eq for ProductProvider
Source§impl JsonSchema for ProductProvider
impl JsonSchema for ProductProvider
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Ordered for ProductProvider
A provider is presented by its id — the directory its bootstrap is written under and the
name every other projection of the product matrix refers to it by.
impl Ordered for ProductProvider
A provider is presented by its id — the directory its bootstrap is written under and the name every other projection of the product matrix refers to it by.
Source§impl PartialEq for ProductProvider
impl PartialEq for ProductProvider
Source§fn eq(&self, other: &ProductProvider) -> bool
fn eq(&self, other: &ProductProvider) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProductProvider
impl Serialize for ProductProvider
impl StructuralPartialEq for ProductProvider
Auto Trait Implementations§
impl Freeze for ProductProvider
impl RefUnwindSafe for ProductProvider
impl Send for ProductProvider
impl Sync for ProductProvider
impl Unpin for ProductProvider
impl UnsafeUnpin for ProductProvider
impl UnwindSafe for ProductProvider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.