vapi_client/models/
analysis_cost.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AnalysisCost {
16 #[serde(rename = "type")]
18 pub r#type: TypeTrue,
19 #[serde(rename = "analysisType")]
21 pub analysis_type: AnalysisTypeTrue,
22 #[serde(rename = "model")]
24 pub model: serde_json::Value,
25 #[serde(rename = "promptTokens")]
27 pub prompt_tokens: f64,
28 #[serde(rename = "completionTokens")]
30 pub completion_tokens: f64,
31 #[serde(rename = "cost")]
33 pub cost: f64,
34}
35
36impl AnalysisCost {
37 pub fn new(
38 r#type: TypeTrue,
39 analysis_type: AnalysisTypeTrue,
40 model: serde_json::Value,
41 prompt_tokens: f64,
42 completion_tokens: f64,
43 cost: f64,
44 ) -> AnalysisCost {
45 AnalysisCost {
46 r#type,
47 analysis_type,
48 model,
49 prompt_tokens,
50 completion_tokens,
51 cost,
52 }
53 }
54}
55#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
57pub enum TypeTrue {
58 #[serde(rename = "analysis")]
59 Analysis,
60}
61
62impl Default for TypeTrue {
63 fn default() -> TypeTrue {
64 Self::Analysis
65 }
66}
67#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
69pub enum AnalysisTypeTrue {
70 #[serde(rename = "summary")]
71 Summary,
72 #[serde(rename = "structuredData")]
73 StructuredData,
74 #[serde(rename = "successEvaluation")]
75 SuccessEvaluation,
76}
77
78impl Default for AnalysisTypeTrue {
79 fn default() -> AnalysisTypeTrue {
80 Self::Summary
81 }
82}