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