pub struct FlowSchema {
pub defs: HashMap<String, SchemaRef>,
pub input: Option<SchemaRef>,
pub output: Option<SchemaRef>,
pub variables: Option<SchemaRef>,
pub steps: IndexMap<String, SchemaRef>,
}Expand description
Consolidated schema information for a flow.
This struct contains all schema/type information for the flow in a single location,
allowing shared $defs across all schemas and avoiding duplication.
Serializes as a valid JSON Schema with type: "object" and flow-specific
properties (input, output, variables, steps) under the properties key.
Fields§
§defs: HashMap<String, SchemaRef>Shared type definitions that can be referenced by other schemas.
References use the format #/schemas/$defs/TypeName.
input: Option<SchemaRef>The input schema for the flow.
output: Option<SchemaRef>The output schema for the flow.
variables: Option<SchemaRef>Schema for workflow variables. This is a JSON Schema object where properties define the available variables and their types.
steps: IndexMap<String, SchemaRef>Output schemas for each step, keyed by step ID. Note: Step input schemas are not included here as they are component metadata, not flow-specific schemas. Uses IndexMap to preserve insertion order for deterministic serialization.
Implementations§
Trait Implementations§
Source§impl Clone for FlowSchema
impl Clone for FlowSchema
Source§fn clone(&self) -> FlowSchema
fn clone(&self) -> FlowSchema
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlowSchema
impl Debug for FlowSchema
Source§impl Default for FlowSchema
impl Default for FlowSchema
Source§fn default() -> FlowSchema
fn default() -> FlowSchema
Source§impl<'de> Deserialize<'de> for FlowSchema
impl<'de> Deserialize<'de> for FlowSchema
Source§fn deserialize<D>(
deserializer: D,
) -> Result<FlowSchema, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<FlowSchema, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl JsonSchema for FlowSchema
impl JsonSchema for FlowSchema
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 FlowSchema
impl PartialEq for FlowSchema
Source§impl Serialize for FlowSchema
impl Serialize for FlowSchema
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,
impl StructuralPartialEq for FlowSchema
Auto Trait Implementations§
impl Freeze for FlowSchema
impl RefUnwindSafe for FlowSchema
impl Send for FlowSchema
impl Sync for FlowSchema
impl Unpin for FlowSchema
impl UnsafeUnpin for FlowSchema
impl UnwindSafe for FlowSchema
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,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request