smol_workflow_engine/durable/
json.rs1use crate::metadata::WorkflowMetadata;
7use serde::{Deserialize, Serialize};
8use serde_json::Value;
9use std::path::PathBuf;
10
11#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
12#[serde(rename_all = "camelCase")]
13pub struct LocalTaskParamsJSON {
14 pub mode: DurableRunMode,
15 pub script_path: PathBuf,
16 pub args: Value,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub budget_total: Option<u64>,
19}
20
21#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
22#[serde(rename_all = "camelCase")]
23pub struct WorkflowRunJSON {
24 pub mode: DurableRunMode,
25 pub script_path: PathBuf,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub metadata: Option<WorkflowMetadata>,
28}
29
30#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Eq)]
31#[serde(rename_all = "kebab-case")]
32pub enum DurableRunMode {
33 Local,
34}
35
36#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)]
37#[serde(rename_all = "camelCase")]
38pub struct FailureReasonJSON {
39 pub message: String,
40}