pub struct InteractionDescriptor {
pub interaction_id: InteractionId,
pub kind: InteractionKind,
pub label: String,
pub required_permission: Option<String>,
pub input_schema: Option<SchemaContract>,
pub result_schema: Option<SchemaContract>,
pub sensitive_fields: Vec<String>,
pub timeout_seconds: Option<u16>,
pub confirmation: Option<InteractionConfirmation>,
pub transport: InteractionTransport,
pub workflow_steps: Vec<WorkflowStepDescriptor>,
pub form_ui: Option<FormUiDescriptor>,
}Fields§
§interaction_id: InteractionId§kind: InteractionKind§label: String§required_permission: Option<String>§input_schema: Option<SchemaContract>§result_schema: Option<SchemaContract>§sensitive_fields: Vec<String>§timeout_seconds: Option<u16>§confirmation: Option<InteractionConfirmation>§transport: InteractionTransport§workflow_steps: Vec<WorkflowStepDescriptor>§form_ui: Option<FormUiDescriptor>Implementations§
Source§impl InteractionDescriptor
impl InteractionDescriptor
Sourcepub fn validate_for_provider(
&self,
provider_kind: ProviderKind,
) -> Result<(), InteractionValidationError>
pub fn validate_for_provider( &self, provider_kind: ProviderKind, ) -> Result<(), InteractionValidationError>
Validates provider-specific interaction contract rules.
§Errors
Returns
InteractionValidationError::DirectBuiltInApiForbiddenForProvider
when a non-built-in provider uses direct_built_in_api transport.
Returns InteractionValidationError::TimeoutOutOfRange when
timeout_seconds falls outside
MIN_INTERACTION_TIMEOUT_SECONDS..=MAX_INTERACTION_TIMEOUT_SECONDS.
Returns InteractionValidationError::WorkflowMissingSteps when
a workflow interaction declares no steps.
Returns
InteractionValidationError::ConfirmableActionMissingConfirmation
when a confirmable interaction omits confirmation metadata.
Trait Implementations§
Source§impl Clone for InteractionDescriptor
impl Clone for InteractionDescriptor
Source§fn clone(&self) -> InteractionDescriptor
fn clone(&self) -> InteractionDescriptor
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 InteractionDescriptor
impl Debug for InteractionDescriptor
Source§impl<'de> Deserialize<'de> for InteractionDescriptor
impl<'de> Deserialize<'de> for InteractionDescriptor
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<InteractionDescriptor, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<InteractionDescriptor, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for InteractionDescriptor
impl PartialEq for InteractionDescriptor
Source§impl Serialize for InteractionDescriptor
impl Serialize for InteractionDescriptor
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for InteractionDescriptor
impl StructuralPartialEq for InteractionDescriptor
Auto Trait Implementations§
impl Freeze for InteractionDescriptor
impl RefUnwindSafe for InteractionDescriptor
impl Send for InteractionDescriptor
impl Sync for InteractionDescriptor
impl Unpin for InteractionDescriptor
impl UnsafeUnpin for InteractionDescriptor
impl UnwindSafe for InteractionDescriptor
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