pub struct ScriptWorkflowDefinition {
pub id: String,
pub name: String,
pub description: String,
pub nodes: Vec<ScriptNodeConfig>,
pub edges: Vec<(String, String, Option<String>)>,
pub start_node: String,
pub end_nodes: Vec<String>,
pub global_variables: HashMap<String, Value>,
}Expand description
脚本工作流定义
Fields§
§id: String工作流 ID
name: String工作流名称
description: String工作流描述
nodes: Vec<ScriptNodeConfig>节点配置列表
edges: Vec<(String, String, Option<String>)>边定义:(源节点ID, 目标节点ID, 可选条件)
start_node: String开始节点 ID
end_nodes: Vec<String>结束节点 ID 列表
global_variables: HashMap<String, Value>全局变量
Implementations§
Source§impl ScriptWorkflowDefinition
impl ScriptWorkflowDefinition
pub fn new(id: &str, name: &str) -> ScriptWorkflowDefinition
Sourcepub fn add_node(
&mut self,
config: ScriptNodeConfig,
) -> &mut ScriptWorkflowDefinition
pub fn add_node( &mut self, config: ScriptNodeConfig, ) -> &mut ScriptWorkflowDefinition
添加节点
Sourcepub fn add_edge(
&mut self,
from: &str,
to: &str,
) -> &mut ScriptWorkflowDefinition
pub fn add_edge( &mut self, from: &str, to: &str, ) -> &mut ScriptWorkflowDefinition
添加边
Sourcepub fn add_conditional_edge(
&mut self,
from: &str,
to: &str,
condition: &str,
) -> &mut ScriptWorkflowDefinition
pub fn add_conditional_edge( &mut self, from: &str, to: &str, condition: &str, ) -> &mut ScriptWorkflowDefinition
添加条件边
Sourcepub fn set_start(&mut self, node_id: &str) -> &mut ScriptWorkflowDefinition
pub fn set_start(&mut self, node_id: &str) -> &mut ScriptWorkflowDefinition
设置开始节点
Sourcepub fn add_end(&mut self, node_id: &str) -> &mut ScriptWorkflowDefinition
pub fn add_end(&mut self, node_id: &str) -> &mut ScriptWorkflowDefinition
添加结束节点
Trait Implementations§
Source§impl Clone for ScriptWorkflowDefinition
impl Clone for ScriptWorkflowDefinition
Source§fn clone(&self) -> ScriptWorkflowDefinition
fn clone(&self) -> ScriptWorkflowDefinition
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 ScriptWorkflowDefinition
impl Debug for ScriptWorkflowDefinition
Source§impl<'de> Deserialize<'de> for ScriptWorkflowDefinition
impl<'de> Deserialize<'de> for ScriptWorkflowDefinition
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ScriptWorkflowDefinition, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ScriptWorkflowDefinition, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ScriptWorkflowDefinition
impl Serialize for ScriptWorkflowDefinition
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
Auto Trait Implementations§
impl Freeze for ScriptWorkflowDefinition
impl RefUnwindSafe for ScriptWorkflowDefinition
impl Send for ScriptWorkflowDefinition
impl Sync for ScriptWorkflowDefinition
impl Unpin for ScriptWorkflowDefinition
impl UnsafeUnpin for ScriptWorkflowDefinition
impl UnwindSafe for ScriptWorkflowDefinition
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage