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}