640ba9e7d2
Move HTTP page rendering to the React app, fix multi-tool-call message handling, add API docs lookup, web page lookup, and Markdown preview page sharing.
36 lines
938 B
Rust
36 lines
938 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::model::ai::ChatCompletionToolCall;
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub enum QueueMessage {
|
|
Channel(ChannelMessage),
|
|
Notice(ChannelMessage, String),
|
|
Aissitant(ChannelMessage, AssistantMessage),
|
|
Tool(ChannelMessage, String, String, String),
|
|
Tools(ChannelMessage, Vec<ToolMessage>),
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct ChannelMessage {
|
|
pub channel: String,
|
|
pub account_id: String,
|
|
pub from_user_id: String,
|
|
pub content: String,
|
|
pub context: Option<String>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct AssistantMessage {
|
|
pub reasoning: Option<String>,
|
|
pub content: String,
|
|
pub tool_calls: Option<Vec<ChatCompletionToolCall>>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct ToolMessage {
|
|
pub tool_call_id: String,
|
|
pub name: String,
|
|
pub result: String,
|
|
}
|