Change summary
crates/agent/src/message_editor.rs | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
Detailed changes
@@ -2,7 +2,7 @@ use std::collections::BTreeMap;
use std::sync::Arc;
use crate::assistant_model_selector::ModelType;
-use crate::context::format_context_as_string;
+use crate::context::{AssistantContext, format_context_as_string};
use crate::tool_compatibility::{IncompatibleToolsState, IncompatibleToolsTooltip};
use buffer_diff::BufferDiff;
use collections::HashSet;
@@ -293,6 +293,21 @@ impl MessageEditor {
})
.log_err();
+ context_store
+ .update(cx, |context_store, cx| {
+ let excerpt_ids = context_store
+ .context()
+ .iter()
+ .filter(|ctx| matches!(ctx, AssistantContext::Excerpt(_)))
+ .map(|ctx| ctx.id())
+ .collect::<Vec<_>>();
+
+ for id in excerpt_ids {
+ context_store.remove_context(id, cx);
+ }
+ })
+ .log_err();
+
if let Some(wait_for_summaries) = context_store
.update(cx, |context_store, cx| context_store.wait_for_summaries(cx))
.log_err()