Skip to main content

jules_core/client/
mod.rs

1//! Client module.
2
3use crate::conversation::Conversation;
4
5/// A request to be sent by a client.
6#[derive(Debug, Clone, Default, PartialEq, Eq)]
7pub struct ClientRequest {
8    /// The conversation containing messages to send.
9    pub conversation: Conversation,
10}
11
12impl ClientRequest {
13    /// Creates a new `ClientRequest` with the given conversation.
14    #[must_use]
15    pub fn new(conversation: Conversation) -> Self {
16        Self { conversation }
17    }
18}
19
20#[cfg(test)]
21mod tests {
22    use super::*;
23
24    #[test]
25    fn test_client_request_new() {
26        let conv = Conversation::new();
27        let req = ClientRequest::new(conv.clone());
28        assert_eq!(req.conversation, conv);
29    }
30}