rust_agent/models/
message.rs1use serde::Deserialize;
3use std::collections::HashMap;
4use serde_json::Value;
5
6#[derive(Clone, Debug)]
8pub struct ChatMessageContent {
9 pub content: String,
10 pub name: Option<String>,
11 pub additional_kwargs: HashMap<String, Value>,
13}
14
15#[derive(Clone, Debug)]
17pub enum ChatMessage {
18 System(ChatMessageContent),
19 Human(ChatMessageContent),
20 AIMessage(ChatMessageContent),
21 ToolMessage(ChatMessageContent),
22}
23
24#[derive(Deserialize)]
26pub struct TokenUsage {
27 pub prompt_tokens: usize,
28 pub completion_tokens: usize,
29 pub total_tokens: usize,
30}