add clippy warning for string_slice (#5422)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Zane
2025-11-04 14:46:25 -08:00
committed by GitHub
parent 687a007d26
commit 89f7384d57
22 changed files with 130 additions and 147 deletions
+2 -25
View File
@@ -9,7 +9,7 @@ use tokio::process::Command;
use super::base::{ConfigKey, Provider, ProviderMetadata, ProviderUsage, Usage};
use super::errors::ProviderError;
use super::utils::RequestLog;
use super::utils::{filter_extensions_from_system_prompt, RequestLog};
use crate::config::{Config, GooseMode};
use crate::conversation::message::{Message, MessageContent};
use crate::model::ModelConfig;
@@ -103,28 +103,6 @@ impl ClaudeCodeProvider {
None
}
/// Filter out the Extensions section from the system prompt
fn filter_extensions_from_system_prompt(&self, system: &str) -> String {
// Find the Extensions section and remove it
if let Some(extensions_start) = system.find("# Extensions") {
// Look for the next major section that starts with #
let after_extensions = &system[extensions_start..];
if let Some(next_section_pos) = after_extensions[1..].find("\n# ") {
// Found next section, keep everything before Extensions and after the next section
let before_extensions = &system[..extensions_start];
let next_section_start = extensions_start + next_section_pos + 1;
let after_next_section = &system[next_section_start..];
format!("{}{}", before_extensions.trim_end(), after_next_section)
} else {
// No next section found, just remove everything from Extensions onward
system[..extensions_start].trim_end().to_string()
}
} else {
// No Extensions section found, return original
system.to_string()
}
}
/// Convert goose messages to the format expected by claude CLI
fn messages_to_claude_format(&self, _system: &str, messages: &[Message]) -> Result<Value> {
let mut claude_messages = Vec::new();
@@ -303,8 +281,7 @@ impl ClaudeCodeProvider {
ProviderError::RequestFailed(format!("Failed to format messages: {}", e))
})?;
// Create a filtered system prompt without Extensions section
let filtered_system = self.filter_extensions_from_system_prompt(system);
let filtered_system = filter_extensions_from_system_prompt(system);
if std::env::var("GOOSE_CLAUDE_CODE_DEBUG").is_ok() {
println!("=== CLAUDE CODE PROVIDER DEBUG ===");