pub enum ExtensionShape {
Tool,
Command,
Provider,
EventHook,
UiComponent,
Configuration,
Multi,
General,
}Expand description
Maps 1:1 to ExtensionCategory but is specialized for harness dispatch.
Each variant knows what registration types to expect and what invocation protocol to use.
Variants§
Implementations§
Source§impl ExtensionShape
impl ExtensionShape
Sourcepub const fn from_category(cat: &ExtensionCategory) -> Self
pub const fn from_category(cat: &ExtensionCategory) -> Self
Convert from the inclusion-list category.
Sourcepub const fn expected_registration_fields(&self) -> &'static [&'static str]
pub const fn expected_registration_fields(&self) -> &'static [&'static str]
Registration fields that MUST be non-empty after loading.
Returns the JSON field names in the RegisterPayload that this shape
is expected to populate. For Multi and General, returns an empty
slice (checked separately).
Sourcepub const fn supports_invocation(&self) -> bool
pub const fn supports_invocation(&self) -> bool
Whether this shape supports runtime invocation (beyond registration).
Sourcepub fn typical_capabilities(&self) -> Vec<HostCapability>
pub fn typical_capabilities(&self) -> Vec<HostCapability>
The HostCapability values typically exercised by this shape.
Trait Implementations§
Source§impl Clone for ExtensionShape
impl Clone for ExtensionShape
Source§fn clone(&self) -> ExtensionShape
fn clone(&self) -> ExtensionShape
Returns a duplicate of the value. Read more
1.0.0 · 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 ExtensionShape
impl Debug for ExtensionShape
Source§impl<'de> Deserialize<'de> for ExtensionShape
impl<'de> Deserialize<'de> for ExtensionShape
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 Display for ExtensionShape
impl Display for ExtensionShape
Source§impl Hash for ExtensionShape
impl Hash for ExtensionShape
Source§impl PartialEq for ExtensionShape
impl PartialEq for ExtensionShape
Source§impl Serialize for ExtensionShape
impl Serialize for ExtensionShape
impl Copy for ExtensionShape
impl Eq for ExtensionShape
impl StructuralPartialEq for ExtensionShape
Auto Trait Implementations§
impl Freeze for ExtensionShape
impl RefUnwindSafe for ExtensionShape
impl Send for ExtensionShape
impl Sync for ExtensionShape
impl Unpin for ExtensionShape
impl UnsafeUnpin for ExtensionShape
impl UnwindSafe for ExtensionShape
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
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>
Converts
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>
Converts
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 moreSource§impl<T> ModelDump for Twhere
T: Serialize,
impl<T> ModelDump for Twhere
T: Serialize,
Source§fn model_dump(&self, options: DumpOptions) -> Result<Value, Error>
fn model_dump(&self, options: DumpOptions) -> Result<Value, Error>
Serialize a model to a JSON value. Read more
Source§fn model_dump_json(&self) -> Result<String, Error>
fn model_dump_json(&self) -> Result<String, Error>
Serialize a model to a JSON string with default options.
Source§fn model_dump_json_pretty(&self) -> Result<String, Error>
fn model_dump_json_pretty(&self) -> Result<String, Error>
Serialize a model to a pretty-printed JSON string.
Source§fn model_dump_json_with_options(
&self,
options: DumpOptions,
) -> Result<String, Error>
fn model_dump_json_with_options( &self, options: DumpOptions, ) -> Result<String, Error>
Serialize a model to a JSON string with full options support. Read more
Source§impl<T> ModelValidate for Twhere
T: DeserializeOwned,
impl<T> ModelValidate for Twhere
T: DeserializeOwned,
Source§fn model_validate(
input: impl Into<ValidateInput>,
options: ValidateOptions,
) -> Result<T, ValidationError>
fn model_validate( input: impl Into<ValidateInput>, options: ValidateOptions, ) -> Result<T, ValidationError>
Create and validate a model from input. Read more
Source§fn model_validate_json(json: &str) -> Result<Self, ValidationError>
fn model_validate_json(json: &str) -> Result<Self, ValidationError>
Create and validate a model from JSON string with default options.
Source§fn model_validate_dict(
dict: HashMap<String, Value>,
) -> Result<Self, ValidationError>
fn model_validate_dict( dict: HashMap<String, Value>, ) -> Result<Self, ValidationError>
Create and validate a model from a HashMap with default options.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more