diff --git a/bt-daemon/tests/support/agents/claude.rs b/bt-daemon/tests/support/agents/claude.rs index 15594f0f..101c102b 100644 --- a/bt-daemon/tests/support/agents/claude.rs +++ b/bt-daemon/tests/support/agents/claude.rs @@ -78,7 +78,8 @@ impl ClaudeAgent { ]) .arg(plugin) .current_dir(world.workspace()) - .env("ANTHROPIC_MAX_RETRIES", "0") + .env("CLAUDE_CODE_MAX_RETRIES", "0") + .env("ENABLE_TOOL_SEARCH", "false") .env("DISABLE_AUTOUPDATER", "1") .env("DISABLE_TELEMETRY", "1") .env("CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC", "1"); diff --git a/bt-daemon/tests/support/inference/anthropic.rs b/bt-daemon/tests/support/inference/anthropic.rs index 59662b1c..730a2b65 100644 --- a/bt-daemon/tests/support/inference/anthropic.rs +++ b/bt-daemon/tests/support/inference/anthropic.rs @@ -1,4 +1,4 @@ -use super::{decode_json_body, json_response, raw_response, sse, MockReply, RequestContext}; +use super::{decode_json_body, error_response, raw_response, sse, MockReply, RequestContext}; use axum::body::Bytes; use axum::extract::State; use axum::http::{HeaderMap, StatusCode}; @@ -228,7 +228,7 @@ async fn messages( ) -> axum::response::Response { let body = match decode_json_body(&headers, &body) { Ok(body) => body, - Err(error) => return json_response(StatusCode::BAD_REQUEST, json!({"error": error})), + Err(error) => return error_response(StatusCode::BAD_REQUEST, json!({"error": error})), }; let request = AnthropicRequest { body }; state @@ -248,7 +248,7 @@ async fn messages( "text/event-stream", sse(&turn.events(index)), ), - MockReply::HttpError { status, body } => json_response(status, body), + MockReply::HttpError { status, body } => error_response(status, body), MockReply::Raw { status, content_type, diff --git a/bt-daemon/tests/support/inference/mod.rs b/bt-daemon/tests/support/inference/mod.rs index 43390366..051c4950 100644 --- a/bt-daemon/tests/support/inference/mod.rs +++ b/bt-daemon/tests/support/inference/mod.rs @@ -67,6 +67,11 @@ fn json_response(status: StatusCode, body: Value) -> axum::response::Response { (status, axum::Json(body)).into_response() } +fn error_response(status: StatusCode, body: Value) -> axum::response::Response { + use axum::response::IntoResponse; + (status, [("x-should-retry", "false")], axum::Json(body)).into_response() +} + fn raw_response( status: StatusCode, content_type: &'static str,