main
1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize)]
4#[serde(tag = "type")]
5pub enum Event {
6 #[serde(rename = "say")]
7 Say {
8 text: String,
9 #[serde(rename = "as")]
10 _as: Option<String>,
11 },
12 #[serde(rename = "print")]
13 Print { text: String },
14 #[serde(rename = "thinking")]
15 Thinking { text: String },
16 #[serde(rename = "doing")]
17 Doing { header: String },
18 #[serde(rename = "waiting")]
19 Waiting,
20 #[serde(rename = "oops")]
21 Oops { message: String },
22 #[serde(rename = "display_file")]
23 DisplayFile {
24 path: String,
25 fallback: Option<String>,
26 },
27 #[serde(rename = "ask")]
28 Ask { prompt: String },
29}
30
31#[derive(Debug, Serialize)]
32pub struct Line {
33 pub line: Option<String>,
34}