vtcode_core/compaction/
summarizer.rs1use crate::llm::provider::{LLMProvider, LLMRequest, Message};
2use anyhow::{Context, Result};
3
4pub async fn summarize_text(
6 provider: &dyn LLMProvider,
7 model: &str,
8 prompt: &str,
9) -> Result<String> {
10 let request = LLMRequest {
11 messages: vec![Message::user(prompt.to_string())],
12 model: model.to_string(),
13 ..Default::default()
14 };
15
16 let response = provider
17 .generate(request)
18 .await
19 .context("Failed to generate summary")?;
20 Ok(response.content.unwrap_or_default())
21}