systemprompt_models/artifacts/
types.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
5#[serde(rename_all = "lowercase")]
6pub enum ArtifactType {
7 Text,
8 Table,
9 Chart,
10 Form,
11 Dashboard,
12 #[serde(rename = "presentation_card")]
13 PresentationCard,
14 List,
15 #[serde(rename = "copy_paste_text")]
16 CopyPasteText,
17 Image,
18 Video,
19 Audio,
20 #[serde(untagged)]
23 Custom(String),
24}
25
26impl std::fmt::Display for ArtifactType {
27 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
28 match self {
29 Self::Text => write!(f, "text"),
30 Self::Table => write!(f, "table"),
31 Self::Chart => write!(f, "chart"),
32 Self::Form => write!(f, "form"),
33 Self::Dashboard => write!(f, "dashboard"),
34 Self::PresentationCard => write!(f, "presentation_card"),
35 Self::List => write!(f, "list"),
36 Self::CopyPasteText => write!(f, "copy_paste_text"),
37 Self::Image => write!(f, "image"),
38 Self::Video => write!(f, "video"),
39 Self::Audio => write!(f, "audio"),
40 Self::Custom(s) => write!(f, "{}", s),
41 }
42 }
43}
44
45#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
46#[serde(rename_all = "lowercase")]
47pub enum ColumnType {
48 String,
49 Integer,
50 Number,
51 Currency,
52 Percentage,
53 Date,
54 Boolean,
55 Link,
56}
57
58#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
59#[serde(rename_all = "lowercase")]
60pub enum ChartType {
61 #[default]
62 Line,
63 Bar,
64 Pie,
65 Doughnut,
66 Area,
67}
68
69#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
70#[serde(rename_all = "lowercase")]
71pub enum AxisType {
72 Category,
73 #[default]
74 Linear,
75 Logarithmic,
76 Time,
77}
78
79#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
80#[serde(rename_all = "lowercase")]
81pub enum SortOrder {
82 Asc,
83 Desc,
84}
85
86#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
87#[serde(rename_all = "lowercase")]
88pub enum Alignment {
89 Left,
90 Center,
91 Right,
92}