use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize, Default)] pub struct FlowContext { #[serde(default)] pub data: serde_json::Value, } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] pub enum ExecutionMode { #[serde(rename = "sync")] Sync, #[serde(rename = "async")] AsyncFireAndForget, } impl Default for ExecutionMode { fn default() -> Self { ExecutionMode::Sync } } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct DriveOptions { #[serde(default)] pub max_steps: usize, #[serde(default)] pub execution_mode: ExecutionMode, } impl Default for DriveOptions { fn default() -> Self { Self { max_steps: 10_000, execution_mode: ExecutionMode::Sync } } }