knot0_types/
process.rs

1//! Auto-generated from JSON Schema
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct Process {
8    pub kind: serde_json::Value,
9    pub schema_version: String,
10    pub metadata: serde_json::Value,
11    pub contract: Option<serde_json::Value>,
12    pub tests: Option<Vec<serde_json::Value>>,
13    pub body: serde_json::Value,
14    pub on_failure: Option<serde_json::Value>,
15    pub on_success: Option<Vec<serde_json::Value>>,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct Action {
20    pub name: Option<String>,
21    pub uses: serde_json::Value,
22    pub with: Option<serde_json::Value>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
26pub struct Reliability {
27    pub retries: Option<i64>,
28    pub backoff_strategy: Option<serde_json::Value>,
29    pub base_delay_ms: Option<i64>,
30    pub max_delay_ms: Option<i64>,
31    pub dead_letter_queue: Option<bool>,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
35pub struct Transition {
36    pub target: String,
37    pub guard: Option<String>,
38    pub actions: Option<Vec<serde_json::Value>>,
39    pub inputs: Option<serde_json::Value>,
40    pub environment: Option<serde_json::Value>,
41    pub reliability: Option<Reliability>,
42    pub schema: Option<String>,
43    pub schema_ref: Option<String>,
44    pub produces_event: Option<String>,
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize)]
48pub struct State {
49    pub states: Option<serde_json::Value>,
50    pub initial: Option<String>,
51    #[serde(rename = "type")]
52    pub r#type: Option<serde_json::Value>,
53    pub on: Option<serde_json::Value>,
54    pub after: Option<serde_json::Value>,
55    pub invoke: Option<serde_json::Value>,
56    pub on_entry: Option<Vec<serde_json::Value>>,
57    pub on_exit: Option<Vec<serde_json::Value>>,
58    pub on_failure: Option<serde_json::Value>,
59}