stasis/ports/outbound/runtime/
workflow_engine.rs1use async_trait::async_trait;
2use serde_json::Value;
3
4use crate::domain::errors::Result;
5
6#[derive(Clone, Debug)]
7pub struct WorkflowExecutionOutput {
8 pub run_id: String,
9 pub execution: Value,
10 pub final_state: Value,
11 pub lint_warnings: Value,
12}
13
14#[async_trait]
15pub trait WorkflowEngine: Send + Sync {
16 async fn execute_grapheme_source(
17 &self,
18 source: &str,
19 state_current: Option<&Value>,
20 ) -> Result<WorkflowExecutionOutput>;
21}