Files
iAs/ias-common/src/queue.rs
T
wunianxiao 640ba9e7d2 feat: add React UI and AI page sharing tools
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.
2026-07-07 22:27:14 +08:00

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,
}