Skip to main content

jules_core/response/
mod.rs

1//! Response module.
2
3use crate::message::Message;
4use serde::{Deserialize, Serialize};
5
6/// A response received from a client.
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub struct ClientResponse {
9    /// The generated message.
10    pub message: Message,
11}
12
13impl ClientResponse {
14    /// Creates a new `ClientResponse` with the given message.
15    #[must_use]
16    pub fn new(message: Message) -> Self {
17        Self { message }
18    }
19}
20
21#[cfg(test)]
22mod tests {
23    use super::*;
24    use crate::message::Role;
25
26    #[test]
27    fn test_client_response_new() {
28        let msg = Message::new(Role::Assistant, "Response");
29        let resp = ClientResponse::new(msg.clone());
30        assert_eq!(resp.message, msg);
31    }
32}