|
|
|
@@ -134,6 +134,11 @@ model_reasoning_effort = "minimal"
|
|
|
|
|
role_name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn set_turn_config(turn: &mut TurnContext, config: crate::config::Config) {
|
|
|
|
|
turn.multi_agent_version = config.multi_agent_version_from_features();
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn expect_text_output<T>(output: T) -> (String, Option<bool>)
|
|
|
|
|
where
|
|
|
|
|
T: ToolOutput,
|
|
|
|
@@ -382,6 +387,7 @@ async fn multi_agent_v2_spawn_fork_turns_all_rejects_agent_type_override() {
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
let turn = TurnContext {
|
|
|
|
|
config: Arc::new(config),
|
|
|
|
|
multi_agent_version: codex_protocol::protocol::MultiAgentVersion::V2,
|
|
|
|
|
..turn
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@@ -424,7 +430,7 @@ async fn multi_agent_v2_spawn_defaults_to_full_fork_and_rejects_child_model_over
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let err = SpawnAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -891,7 +897,7 @@ async fn multi_agent_v2_full_history_fork_accepts_explicit_service_tier() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let manager = thread_manager();
|
|
|
|
|
let root = manager
|
|
|
|
|
.start_thread((*turn.config).clone())
|
|
|
|
@@ -959,6 +965,7 @@ async fn multi_agent_v2_spawn_partial_fork_turns_allows_agent_type_override() {
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
let turn = TurnContext {
|
|
|
|
|
config: Arc::new(config),
|
|
|
|
|
multi_agent_version: codex_protocol::protocol::MultiAgentVersion::V2,
|
|
|
|
|
..turn
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@@ -1040,7 +1047,7 @@ async fn multi_agent_v2_spawn_requires_task_name() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let invocation = invocation(
|
|
|
|
|
Arc::new(session),
|
|
|
|
@@ -1074,7 +1081,7 @@ async fn multi_agent_v2_spawn_rejects_legacy_items_field() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let invocation = invocation(
|
|
|
|
|
Arc::new(session),
|
|
|
|
@@ -1134,7 +1141,7 @@ async fn multi_agent_v2_spawn_returns_path_and_send_message_accepts_relative_pat
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -1231,7 +1238,7 @@ async fn multi_agent_v2_spawn_rejects_legacy_fork_context() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let err = SpawnAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -1271,7 +1278,7 @@ async fn multi_agent_v2_spawn_rejects_invalid_fork_turns_string() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let err = SpawnAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -1311,7 +1318,7 @@ async fn multi_agent_v2_spawn_rejects_zero_fork_turns() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let err = SpawnAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -1340,18 +1347,18 @@ async fn multi_agent_v2_spawn_rejects_zero_fork_turns() {
|
|
|
|
|
async fn multi_agent_v2_send_message_accepts_root_target_from_child() {
|
|
|
|
|
let (mut session, mut turn) = make_session_and_context().await;
|
|
|
|
|
let manager = thread_manager();
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
config
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let root = manager
|
|
|
|
|
.start_thread((*turn.config).clone())
|
|
|
|
|
.await
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
config
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
|
|
|
|
|
let child_path = AgentPath::try_from("/root/worker").expect("agent path");
|
|
|
|
|
let child_thread_id = session
|
|
|
|
@@ -1416,18 +1423,18 @@ async fn multi_agent_v2_send_message_accepts_root_target_from_child() {
|
|
|
|
|
async fn multi_agent_v2_followup_task_rejects_root_target_from_child() {
|
|
|
|
|
let (mut session, mut turn) = make_session_and_context().await;
|
|
|
|
|
let manager = thread_manager();
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
config
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let root = manager
|
|
|
|
|
.start_thread((*turn.config).clone())
|
|
|
|
|
.await
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
config
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
|
|
|
|
|
let child_path = AgentPath::try_from("/root/worker").expect("agent path");
|
|
|
|
|
let child_thread_id = session
|
|
|
|
@@ -1507,7 +1514,7 @@ async fn multi_agent_v2_list_agents_returns_completed_status_and_last_task_messa
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -1593,15 +1600,15 @@ async fn multi_agent_v2_list_agents_returns_completed_status_and_last_task_messa
|
|
|
|
|
async fn multi_agent_v2_list_agents_filters_by_relative_path_prefix() {
|
|
|
|
|
let (mut session, mut turn) = make_session_and_context().await;
|
|
|
|
|
let manager = thread_manager();
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
set_turn_config(&mut turn, config.clone());
|
|
|
|
|
let root = manager
|
|
|
|
|
.start_thread((*turn.config).clone())
|
|
|
|
|
.await
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config.clone());
|
|
|
|
|
|
|
|
|
|
let researcher_path = AgentPath::from_string("/root/researcher".to_string()).expect("path");
|
|
|
|
|
let worker_path = AgentPath::from_string("/root/researcher/worker".to_string()).expect("path");
|
|
|
|
@@ -1688,7 +1695,7 @@ async fn multi_agent_v2_list_agents_omits_closed_agents() {
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -1752,7 +1759,7 @@ async fn multi_agent_v2_send_message_rejects_legacy_items_field() {
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -1808,7 +1815,7 @@ async fn multi_agent_v2_send_message_rejects_interrupt_parameter() {
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -1873,15 +1880,15 @@ async fn multi_agent_v2_send_message_rejects_interrupt_parameter() {
|
|
|
|
|
async fn multi_agent_v2_followup_task_completion_notifies_parent_on_every_turn() {
|
|
|
|
|
let (mut session, mut turn) = make_session_and_context().await;
|
|
|
|
|
let manager = thread_manager();
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let root = manager
|
|
|
|
|
.start_thread((*turn.config).clone())
|
|
|
|
|
.await
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -2016,7 +2023,7 @@ async fn multi_agent_v2_followup_task_rejects_legacy_items_field() {
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -2069,7 +2076,7 @@ async fn multi_agent_v2_interrupted_turn_does_not_notify_parent() {
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
let mut config = turn.config.as_ref().clone();
|
|
|
|
|
let _ = config.features.enable(Feature::MultiAgentV2);
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -2149,7 +2156,7 @@ async fn multi_agent_v2_spawn_omits_agent_id_when_named() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let output = SpawnAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -2188,7 +2195,7 @@ async fn multi_agent_v2_spawn_surfaces_task_name_validation_errors() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let invocation = invocation(
|
|
|
|
|
Arc::new(session),
|
|
|
|
@@ -2398,7 +2405,7 @@ async fn multi_agent_v2_spawn_agent_ignores_configured_max_depth() {
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let parent_path = AgentPath::try_from("/root/parent").expect("agent path");
|
|
|
|
|
turn.session_source = SessionSource::SubAgent(SubAgentSource::ThreadSpawn {
|
|
|
|
|
parent_thread_id: root.thread_id,
|
|
|
|
@@ -2871,7 +2878,7 @@ async fn multi_agent_v2_wait_agent_accepts_timeout_only_argument() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -2956,7 +2963,7 @@ async fn multi_agent_v2_wait_agent_rejects_timeout_below_configured_min() {
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 50;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 1_000;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 50;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let Err(err) = WaitAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -2986,7 +2993,7 @@ async fn multi_agent_v2_wait_agent_accepts_explicit_timeout_at_configured_min()
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 1;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 1_000;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 50;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let output = WaitAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -3021,7 +3028,7 @@ async fn multi_agent_v2_wait_agent_uses_configured_default_timeout() {
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 1;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 1_000;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 50;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -3076,7 +3083,7 @@ async fn multi_agent_v2_wait_agent_allows_zero_configured_timeout() {
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 0;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 0;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 0;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -3116,7 +3123,7 @@ async fn multi_agent_v2_wait_agent_rejects_timeout_above_configured_max() {
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 1;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 50;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 1;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let Err(err) = WaitAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -3146,7 +3153,7 @@ async fn multi_agent_v2_wait_agent_accepts_explicit_timeout_at_configured_max()
|
|
|
|
|
config.multi_agent_v2.min_wait_timeout_ms = 1;
|
|
|
|
|
config.multi_agent_v2.max_wait_timeout_ms = 1;
|
|
|
|
|
config.multi_agent_v2.default_wait_timeout_ms = 1;
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let output = WaitAgentHandlerV2::default()
|
|
|
|
|
.handle(invocation(
|
|
|
|
@@ -3354,7 +3361,7 @@ async fn multi_agent_v2_wait_agent_returns_summary_for_mailbox_activity() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -3448,7 +3455,7 @@ async fn multi_agent_v2_wait_agent_returns_for_already_queued_mail() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -3529,7 +3536,7 @@ async fn multi_agent_v2_wait_agent_wakes_on_any_mailbox_notification() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -3620,7 +3627,7 @@ async fn multi_agent_v2_wait_agent_does_not_return_completed_content() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
|
|
|
|
|
@@ -3709,7 +3716,7 @@ async fn multi_agent_v2_close_agent_accepts_task_name_target() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -3757,7 +3764,7 @@ async fn multi_agent_v2_close_agent_accepts_task_name_target() {
|
|
|
|
|
async fn multi_agent_v2_close_agent_reaps_stale_task_name_target() {
|
|
|
|
|
let (mut session, mut turn) = make_session_and_context().await;
|
|
|
|
|
let mut config = (*turn.config).clone();
|
|
|
|
|
config.agent_max_threads = Some(1);
|
|
|
|
|
config.multi_agent_v2.max_concurrent_threads_per_session = 2;
|
|
|
|
|
config
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
@@ -3782,7 +3789,7 @@ async fn multi_agent_v2_close_agent_reaps_stale_task_name_target() {
|
|
|
|
|
.expect("root thread should start");
|
|
|
|
|
session.services.agent_control = manager.agent_control();
|
|
|
|
|
session.conversation_id = root.thread_id;
|
|
|
|
|
turn.config = Arc::new(config.clone());
|
|
|
|
|
set_turn_config(&mut turn, config.clone());
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -3888,7 +3895,7 @@ async fn multi_agent_v2_close_agent_rejects_root_target_and_id() {
|
|
|
|
|
.features
|
|
|
|
|
.enable(Feature::MultiAgentV2)
|
|
|
|
|
.expect("test config should allow feature update");
|
|
|
|
|
turn.config = Arc::new(config);
|
|
|
|
|
set_turn_config(&mut turn, config);
|
|
|
|
|
|
|
|
|
|
let session = Arc::new(session);
|
|
|
|
|
let turn = Arc::new(turn);
|
|
|
|
@@ -4283,7 +4290,7 @@ async fn build_agent_resume_config_clears_base_instructions() {
|
|
|
|
|
.set(AskForApproval::OnRequest)
|
|
|
|
|
.expect("approval policy set");
|
|
|
|
|
|
|
|
|
|
let config = build_agent_resume_config(&turn, /*child_depth*/ 0).expect("resume config");
|
|
|
|
|
let config = build_agent_resume_config(&turn).expect("resume config");
|
|
|
|
|
|
|
|
|
|
let mut expected = (*turn.config).clone();
|
|
|
|
|
expected.base_instructions = None;
|
|
|
|
|