diff --git a/crates/ai/src/templates/file_context.rs b/crates/ai/src/templates/file_context.rs index 94b194d9bf..e28f9ccded 100644 --- a/crates/ai/src/templates/file_context.rs +++ b/crates/ai/src/templates/file_context.rs @@ -1,3 +1,4 @@ +use anyhow::anyhow; use language::ToOffset; use crate::templates::base::PromptArguments; @@ -12,6 +13,12 @@ impl PromptTemplate for FileContext { args: &PromptArguments, max_token_length: Option, ) -> anyhow::Result<(String, usize)> { + if max_token_length.is_some() { + return Err(anyhow!( + "no truncation strategy established for file_context template" + )); + } + let mut prompt = String::new(); // Add Initial Preamble diff --git a/crates/ai/src/templates/generate.rs b/crates/ai/src/templates/generate.rs index d8a1ff6cf1..053398e873 100644 --- a/crates/ai/src/templates/generate.rs +++ b/crates/ai/src/templates/generate.rs @@ -18,6 +18,12 @@ impl PromptTemplate for GenerateInlineContent { args: &PromptArguments, max_token_length: Option, ) -> anyhow::Result<(String, usize)> { + if max_token_length.is_some() { + return Err(anyhow!( + "no truncation strategy established for generating inline content template" + )); + } + let Some(user_prompt) = &args.user_prompt else { return Err(anyhow!("user prompt not provided")); }; @@ -83,6 +89,7 @@ impl PromptTemplate for GenerateInlineContent { } let token_count = args.model.count_tokens(&prompt)?; + anyhow::Ok((prompt, token_count)) } }