summaryrefslogtreecommitdiffstats
path: root/src/config/role.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-17 13:19:00 +0800
committerGitHub <noreply@github.com>2024-06-17 13:19:00 +0800
commitba884c9fc65d820f8603859acafd055b98897b56 (patch)
tree3b319a01322ed7a74822634f775c0e0cadfe3753 /src/config/role.rs
parentbbdd866eb325fde60241f33eeb8770b1180abd96 (diff)
downloadaichat-ba884c9fc65d820f8603859acafd055b98897b56.tar.gz
feat: add `.continue` repl command (#608)
Diffstat (limited to 'src/config/role.rs')
-rw-r--r--src/config/role.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/config/role.rs b/src/config/role.rs
index 5b52587..4ff05b4 100644
--- a/src/config/role.rs
+++ b/src/config/role.rs
@@ -185,7 +185,7 @@ async function timeout(ms) {
pub fn build_messages(&self, input: &Input) -> Vec<Message> {
let mut content = input.message_content();
- if self.is_empty_prompt() {
+ let mut messages = if self.is_empty_prompt() {
vec![Message::new(MessageRole::User, content)]
} else if self.is_embedded_prompt() {
content.merge_prompt(|v: &str| self.prompt.replace(INPUT_PLACEHOLDER, v));
@@ -209,7 +209,14 @@ async function timeout(ms) {
}
messages.push(Message::new(MessageRole::User, content));
messages
+ };
+ if let Some(text) = input.continue_output() {
+ messages.push(Message::new(
+ MessageRole::Assistant,
+ MessageContent::Text(text.into()),
+ ));
}
+ messages
}
}