thread.rs

 1use gpui::{ModelContext, Task};
 2use language_model::Role;
 3
 4/// A message in a [`Thread`].
 5pub struct Message {
 6    pub role: Role,
 7    pub text: String,
 8}
 9
10/// A thread of conversation with the LLM.
11pub struct Thread {
12    pub messages: Vec<Message>,
13    pub pending_completion_tasks: Vec<Task<()>>,
14}
15
16impl Thread {
17    pub fn new(_cx: &mut ModelContext<Self>) -> Self {
18        Self {
19            messages: Vec::new(),
20            pending_completion_tasks: Vec::new(),
21        }
22    }
23}