pub struct ExecutionGraph {
pub name: Option<String>,
pub description: Option<String>,
pub steps: HashMap<String, Step>,
pub entry_point: String,
pub execution_plan: Vec<ExecutionPlanEdge>,
pub variables: HashMap<String, Variable>,
pub input_schema: HashMap<String, SchemaField>,
pub output_schema: HashMap<String, SchemaField>,
pub notes: Option<Vec<Note>>,
pub nodes: Option<Value>,
pub edges: Option<Value>,
}Expand description
The execution graph containing all steps and control flow
Fields§
§name: Option<String>Human-readable name for the scenario
description: Option<String>Detailed description of what the scenario does
steps: HashMap<String, Step>Map of step IDs to step definitions
entry_point: StringID of the entry point step (step with no incoming edges)
execution_plan: Vec<ExecutionPlanEdge>Ordered list of step transitions defining control flow
variables: HashMap<String, Variable>Constant variables available as variables.<name> during execution.
These are static values defined at design time, not overridable at runtime.
Keys are variable names, values contain type and value.
input_schema: HashMap<String, SchemaField>Schema defining expected input data structure for this scenario. Keys are field names, values define the field type and constraints.
output_schema: HashMap<String, SchemaField>Schema defining output data structure for this scenario. Keys are field names, values define the field type and constraints.
notes: Option<Vec<Note>>Visual annotations for UI (not used in compilation)
nodes: Option<Value>UI node positions for the visual scenario editor. This is opaque data managed by the UI - the runtime does not interpret this field. Typically contains an array of node objects with position coordinates. Not used in compilation or execution.
edges: Option<Value>UI edge positions for the visual scenario editor. This is opaque data managed by the UI - the runtime does not interpret this field. Typically contains an array of edge objects connecting nodes. Not used in compilation or execution.
Trait Implementations§
Source§impl Clone for ExecutionGraph
impl Clone for ExecutionGraph
Source§fn clone(&self) -> ExecutionGraph
fn clone(&self) -> ExecutionGraph
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExecutionGraph
impl Debug for ExecutionGraph
Source§impl<'de> Deserialize<'de> for ExecutionGraph
impl<'de> Deserialize<'de> for ExecutionGraph
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExecutionGraph, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExecutionGraph, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ExecutionGraph
impl JsonSchema for ExecutionGraph
Source§fn schema_name() -> String
fn schema_name() -> String
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 is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more