supercode_harness/
workflow_doors.rs1use std::path::Path;
5
6use serde::{Deserialize, Serialize};
7use supercode_interchange::workflow::Workflow;
8
9use crate::Result;
10
11#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
13#[serde(rename_all = "lowercase")]
14pub enum WorkflowHarness {
15 Hermes,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct WorkflowRead {
22 pub workflow: Workflow,
24}
25
26pub fn load(from: WorkflowHarness, home: &Path) -> Result<WorkflowRead> {
28 let workflow = match from {
29 WorkflowHarness::Hermes => {
30 supercode_interchange::workflow::codec::hermes::from_hermes(home)?
31 }
32 };
33 Ok(WorkflowRead { workflow })
34}