vapi_client/models/
chunk_plan.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ChunkPlan {
16 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
18 pub enabled: Option<bool>,
19 #[serde(rename = "minCharacters", skip_serializing_if = "Option::is_none")]
21 pub min_characters: Option<f64>,
22 #[serde(
24 rename = "punctuationBoundaries",
25 skip_serializing_if = "Option::is_none"
26 )]
27 pub punctuation_boundaries: Option<Vec<PunctuationBoundary>>,
28 #[serde(rename = "formatPlan", skip_serializing_if = "Option::is_none")]
30 pub format_plan: Option<models::FormatPlan>,
31}
32
33impl ChunkPlan {
34 pub fn new() -> ChunkPlan {
35 ChunkPlan {
36 enabled: None,
37 min_characters: None,
38 punctuation_boundaries: None,
39 format_plan: None,
40 }
41 }
42}
43
44#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum PunctuationBoundary {
47 #[serde(rename = "。")]
48 ChinesePeriod,
49 #[serde(rename = ",")]
50 ChineseComma,
51 #[serde(rename = ".")]
52 Period,
53 #[serde(rename = "!")]
54 Exclamation,
55 #[serde(rename = "?")]
56 QuestionMark,
57 #[serde(rename = ";")]
58 Semicolon,
59 #[serde(rename = ")")]
60 RightParenthesis,
61 #[serde(rename = "،")]
62 ArabicComma,
63 #[serde(rename = "۔")]
64 UrduPeriod,
65 #[serde(rename = "।")]
66 DevanagariDanda,
67 #[serde(rename = "॥")]
68 DevanagariDoubleDanda,
69 #[serde(rename = "|")]
70 Pipe,
71 #[serde(rename = "||")]
72 DoublePipe,
73 #[serde(rename = ",")]
74 Comma,
75 #[serde(rename = ":")]
76 Colon,
77}
78
79impl Default for PunctuationBoundary {
80 fn default() -> PunctuationBoundary {
81 Self::Period
82 }
83}