pub struct ActionDeclaration {
pub id: ActionId,
pub description: String,
pub request_schema: SchemaSource,
pub response_schema: SchemaSource,
pub requirements: Vec<Capability>,
}Expand description
One declared component action.
Declared inside ComponentMeta::actions and validated at registration:
nonempty id, description, and schema sources; no duplicate local ids; no
duplicate requirements; every requirement covered by a declared need (an
action requiring an undeclarable capability would be a permanently dead
tool — refused at the door, F-6a R1’s tear condition).
Fields§
§id: ActionIdComponent-local identity.
description: StringHuman-readable description; carried into generated tool descriptions verbatim (mandatory readable identity, F-6a R2’s naming decision).
request_schema: SchemaSourceThe typed request message this action validates against (S3).
response_schema: SchemaSourceThe typed response message this action replies with (S3).
requirements: Vec<Capability>Capability requirements checked, in this exact order, by the shared dispatch entry point’s consuming act — never authority mutation.
Trait Implementations§
Source§impl Clone for ActionDeclaration
impl Clone for ActionDeclaration
Source§fn clone(&self) -> ActionDeclaration
fn clone(&self) -> ActionDeclaration
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 ActionDeclaration
impl Debug for ActionDeclaration
Source§impl<'de> Deserialize<'de> for ActionDeclaration
impl<'de> Deserialize<'de> for ActionDeclaration
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 ActionDeclaration
Source§impl PartialEq for ActionDeclaration
impl PartialEq for ActionDeclaration
Source§impl Serialize for ActionDeclaration
impl Serialize for ActionDeclaration
impl StructuralPartialEq for ActionDeclaration
Auto Trait Implementations§
impl Freeze for ActionDeclaration
impl RefUnwindSafe for ActionDeclaration
impl Send for ActionDeclaration
impl Sync for ActionDeclaration
impl Unpin for ActionDeclaration
impl UnsafeUnpin for ActionDeclaration
impl UnwindSafe for ActionDeclaration
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
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.