Skip to main content

runkon_flow/
output_schema.rs

1use std::collections::HashMap;
2
3#[derive(Debug, Clone)]
4pub struct OutputSchema {
5    pub name: String,
6    pub fields: Vec<FieldDef>,
7    pub markers: Option<HashMap<String, String>>,
8}
9
10#[derive(Debug, Clone)]
11pub struct FieldDef {
12    pub name: String,
13    pub required: bool,
14    pub field_type: FieldType,
15    pub desc: Option<String>,
16    pub examples: Option<Vec<String>>,
17}
18
19#[derive(Debug, Clone)]
20pub enum FieldType {
21    String,
22    Number,
23    Boolean,
24    Enum(Vec<String>),
25    Array { items: ArrayItems },
26    Object { fields: Vec<FieldDef> },
27}
28
29#[derive(Debug, Clone)]
30pub enum ArrayItems {
31    Scalar(Box<FieldType>),
32    Object(Vec<FieldDef>),
33    Untyped,
34}