runkon_flow/
output_schema.rs1use 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}