diff --git a/src/agent/loop_.rs b/src/agent/loop_.rs index e486d3136..ff76498d7 100644 --- a/src/agent/loop_.rs +++ b/src/agent/loop_.rs @@ -2208,6 +2208,7 @@ mod tests { .map(|text| ChatResponse { text: Some(text.to_string()), tool_calls: Vec::new(), + usage: None, }) .collect(); Self { diff --git a/src/tools/delegate.rs b/src/tools/delegate.rs index 94793e1f8..4c5a8c23a 100644 --- a/src/tools/delegate.rs +++ b/src/tools/delegate.rs @@ -598,6 +598,7 @@ mod tests { Ok(ChatResponse { text: Some("done".to_string()), tool_calls: Vec::new(), + usage: None, }) } else { Ok(ChatResponse { @@ -607,6 +608,7 @@ mod tests { name: "echo_tool".to_string(), arguments: "{\"value\":\"ping\"}".to_string(), }], + usage: None, }) } } @@ -639,6 +641,7 @@ mod tests { name: "echo_tool".to_string(), arguments: "{\"value\":\"x\"}".to_string(), }], + usage: None, }) } } diff --git a/tests/agent_e2e.rs b/tests/agent_e2e.rs index 6bdfb36d5..f7d1b10e0 100644 --- a/tests/agent_e2e.rs +++ b/tests/agent_e2e.rs @@ -64,6 +64,7 @@ impl Provider for MockProvider { return Ok(ChatResponse { text: Some("done".into()), tool_calls: vec![], + usage: None, }); } Ok(guard.remove(0)) @@ -188,6 +189,7 @@ impl Provider for RecordingProvider { return Ok(ChatResponse { text: Some("done".into()), tool_calls: vec![], + usage: None, }); } Ok(guard.remove(0)) @@ -235,6 +237,7 @@ fn text_response(text: &str) -> ChatResponse { ChatResponse { text: Some(text.into()), tool_calls: vec![], + usage: None, } } @@ -242,6 +245,7 @@ fn tool_response(calls: Vec) -> ChatResponse { ChatResponse { text: Some(String::new()), tool_calls: calls, + usage: None, } } @@ -365,6 +369,7 @@ async fn e2e_xml_dispatcher_tool_call() { .into(), ), tool_calls: vec![], + usage: None, }, text_response("XML tool executed"), ])); diff --git a/tests/agent_loop_robustness.rs b/tests/agent_loop_robustness.rs index fadcd9f3b..aa642bbdd 100644 --- a/tests/agent_loop_robustness.rs +++ b/tests/agent_loop_robustness.rs @@ -59,6 +59,7 @@ impl Provider for MockProvider { return Ok(ChatResponse { text: Some("done".into()), tool_calls: vec![], + usage: None, }); } Ok(guard.remove(0)) @@ -179,6 +180,7 @@ fn text_response(text: &str) -> ChatResponse { ChatResponse { text: Some(text.into()), tool_calls: vec![], + usage: None, } } @@ -186,6 +188,7 @@ fn tool_response(calls: Vec) -> ChatResponse { ChatResponse { text: Some(String::new()), tool_calls: calls, + usage: None, } } @@ -353,6 +356,7 @@ async fn agent_handles_empty_provider_response() { let provider = Box::new(MockProvider::new(vec![ChatResponse { text: Some(String::new()), tool_calls: vec![], + usage: None, }])); let mut agent = build_agent(provider, vec![Box::new(EchoTool)]); @@ -366,6 +370,7 @@ async fn agent_handles_none_text_response() { let provider = Box::new(MockProvider::new(vec![ChatResponse { text: None, tool_calls: vec![], + usage: None, }])); let mut agent = build_agent(provider, vec![Box::new(EchoTool)]); diff --git a/tests/provider_schema.rs b/tests/provider_schema.rs index 84e2c841f..30beb2447 100644 --- a/tests/provider_schema.rs +++ b/tests/provider_schema.rs @@ -153,6 +153,7 @@ fn chat_response_text_only() { let resp = ChatResponse { text: Some("Hello world".into()), tool_calls: vec![], + usage: None, }; assert_eq!(resp.text_or_empty(), "Hello world"); @@ -168,6 +169,7 @@ fn chat_response_with_tool_calls() { name: "echo".into(), arguments: "{}".into(), }], + usage: None, }; assert!(resp.has_tool_calls()); @@ -180,6 +182,7 @@ fn chat_response_text_or_empty_handles_none() { let resp = ChatResponse { text: None, tool_calls: vec![], + usage: None, }; assert_eq!(resp.text_or_empty(), ""); @@ -201,6 +204,7 @@ fn chat_response_multiple_tool_calls() { arguments: r#"{"path": "test.txt"}"#.into(), }, ], + usage: None, }; assert!(resp.has_tool_calls());