mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user