pub struct ProviderDeclaration {
pub id: String,
pub title: String,
pub client_config: Option<String>,
pub scratch_roots: Vec<String>,
pub lifecycle: Vec<String>,
pub prompt_capture: bool,
pub offers: ProviderOffers,
pub template: bool,
pub declared: bool,
}Expand description
One provider: the template’s file stem, and what the declaration adds to it.
Fields§
§id: StringThe id: the template’s file stem, and the key in the declarations.
title: StringThe name a person knows it by; the id when nothing is declared.
client_config: Option<String>The file it reads a project-scoped MCP client configuration from, when it has one.
scratch_roots: Vec<String>The scratch roots it creates checkouts under, unexpanded.
lifecycle: Vec<String>The lifecycle events the tool’s adapter for it declares, in the provider’s own
vocabulary (SessionStart, SessionEnd, PreCompact). Empty means the tool ships
no lifecycle adapter for it, which costs a worker the automation and none of the
model. Declared, because the two other ways to answer this question are both wrong:
reading .claude/hooks/ reports an installation as a capability, and a list written
into a page is a second source of truth that goes stale the day an adapter changes.
prompt_capture: boolWhether the tool’s adapter for it can archive the worker’s prompts.
offers: ProviderOffersWhat the provider itself can do about the session lifecycle, and where each answer
was verified: the vendor’s capability, where lifecycle is this tool’s adapter. A
provider with no offers: block declares nothing, which reads as none with no
evidence — the state the capability rule refuses, so that the gap is a finding
rather than a silent “unsupported”.
template: boolThe distribution ships a template for it.
declared: boolThe distribution declares it.
Trait Implementations§
Source§impl Clone for ProviderDeclaration
impl Clone for ProviderDeclaration
Source§fn clone(&self) -> ProviderDeclaration
fn clone(&self) -> ProviderDeclaration
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 ProviderDeclaration
impl Debug for ProviderDeclaration
Source§impl Default for ProviderDeclaration
impl Default for ProviderDeclaration
Source§fn default() -> ProviderDeclaration
fn default() -> ProviderDeclaration
Source§impl<'de> Deserialize<'de> for ProviderDeclaration
impl<'de> Deserialize<'de> for ProviderDeclaration
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 ProviderDeclaration
Source§impl JsonSchema for ProviderDeclaration
impl JsonSchema for ProviderDeclaration
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 PartialEq for ProviderDeclaration
impl PartialEq for ProviderDeclaration
Source§fn eq(&self, other: &ProviderDeclaration) -> bool
fn eq(&self, other: &ProviderDeclaration) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProviderDeclaration
impl Serialize for ProviderDeclaration
impl StructuralPartialEq for ProviderDeclaration
Auto Trait Implementations§
impl Freeze for ProviderDeclaration
impl RefUnwindSafe for ProviderDeclaration
impl Send for ProviderDeclaration
impl Sync for ProviderDeclaration
impl Unpin for ProviderDeclaration
impl UnsafeUnpin for ProviderDeclaration
impl UnwindSafe for ProviderDeclaration
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.