fix(claude-code): remove incorrect agent_visible filter on user message (#7931)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
Co-authored-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Rizel Scarlett
2026-03-16 19:11:12 -04:00
committed by GitHub
parent a79cf7e1ef
commit 707dc5fecc
+7 -2
View File
@@ -275,7 +275,7 @@ pub struct ClaudeCodeProvider {
}
impl ClaudeCodeProvider {
/// Build content blocks from the last user message only — the CLI maintains
/// Build content blocks from the last user message only. The CLI maintains
/// conversation context internally per session_id.
fn last_user_content_blocks(&self, messages: &[Message]) -> Vec<Value> {
let msgs = match messages.iter().rev().find(|m| m.role == Role::User) {
@@ -283,7 +283,7 @@ impl ClaudeCodeProvider {
None => messages,
};
let mut blocks: Vec<Value> = Vec::new();
for message in msgs.iter().filter(|m| m.is_agent_visible()) {
for message in msgs {
let prefix = match message.role {
Role::User => "Human: ",
Role::Assistant => "Assistant: ",
@@ -1049,6 +1049,11 @@ mod tests {
&[json!({"type":"text","text":"Human: [tool_result id=call_123] file1.txt\nfile2.txt"})]
; "tool_response"
)]
#[test_case(
vec![Message::new(Role::User, 0, vec![MessageContent::text("hidden input")]).user_only()],
&[json!({"type":"text","text":"Human: hidden input"})]
; "user_only_message_not_dropped"
)]
fn test_last_user_content_blocks(messages: Vec<Message>, expected: &[Value]) {
let provider = make_provider();
let blocks = provider.last_user_content_blocks(&messages);