diff --git a/crates/assistant_context/src/assistant_context.rs b/crates/assistant_context/src/assistant_context.rs index a692502a9c390ec168aad2a6448c020428c0f5b1..cef9d2f0fd60c842883fcff80766416ca3db66de 100644 --- a/crates/assistant_context/src/assistant_context.rs +++ b/crates/assistant_context/src/assistant_context.rs @@ -2523,6 +2523,12 @@ impl AssistantContext { } let message = start_message; + let at_end = range.end >= message.offset_range.end.saturating_sub(1); + let role_after = if range.start == range.end || at_end { + Role::User + } else { + message.role + }; let role = message.role; let mut edited_buffer = false; @@ -2557,7 +2563,7 @@ impl AssistantContext { }; let suffix_metadata = MessageMetadata { - role, + role: role_after, status: MessageStatus::Done, timestamp: suffix.id.0, cache: None,