feat: add ChatMessage::user_with_source and Session::create_user_message_with_source
This commit is contained in:
parent
4e5f412c2d
commit
eccae20a0a
@ -195,6 +195,20 @@ impl ChatMessage {
|
||||
source: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn user_with_source(content: impl Into<String>, source: MessageSource) -> Self {
|
||||
Self {
|
||||
id: uuid::Uuid::new_v4().to_string(),
|
||||
role: "user".to_string(),
|
||||
content: content.into(),
|
||||
media_refs: Vec::new(),
|
||||
timestamp: current_timestamp(),
|
||||
tool_call_id: None,
|
||||
tool_name: None,
|
||||
tool_calls: None,
|
||||
source: Some(source),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
|
||||
@ -251,6 +251,19 @@ impl Session {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn create_user_message_with_source(
|
||||
&self,
|
||||
content: &str,
|
||||
media_refs: Vec<String>,
|
||||
source: MessageSource,
|
||||
) -> ChatMessage {
|
||||
if media_refs.is_empty() {
|
||||
ChatMessage::user_with_source(content, source)
|
||||
} else {
|
||||
ChatMessage::user_with_source(content, source)
|
||||
}
|
||||
}
|
||||
|
||||
/// 将 session 元数据写回 Storage
|
||||
pub async fn persist_session_meta(&self) -> Result<(), StorageError> {
|
||||
if let Some(ref storage) = self.storage {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user