This commit is contained in:
Ahmed Ibrahim
2025-10-29 20:51:16 -07:00
parent c9686130ce
commit 91efb4efc3
2 changed files with 9 additions and 3 deletions

View File

@@ -1798,7 +1798,12 @@ pub(crate) async fn run_task(
break;
}
auto_compact_recently_attempted = true;
compact::run_inline_auto_compact_task(sess.clone(), turn_context.clone()).await;
compact::run_inline_auto_compact_task(
sess.clone(),
turn_context.clone(),
cancellation_token.child_token(),
)
.await;
continue;
}

View File

@@ -11,6 +11,7 @@ use codex_protocol::models::ContentItem;
use codex_protocol::models::ResponseItem;
use codex_protocol::protocol::RolloutItem;
use codex_protocol::user_input::UserInput;
use tokio_util::sync::CancellationToken;
pub const SUMMARIZATION_PROMPT: &str = include_str!("../../templates/compact/prompt.md");
const COMPACT_USER_MESSAGE_MAX_TOKENS: usize = 20_000;
@@ -25,6 +26,7 @@ struct HistoryBridgeTemplate<'a> {
pub(crate) async fn run_inline_auto_compact_task(
sess: Arc<Session>,
turn_context: Arc<TurnContext>,
cancellation_token: CancellationToken,
) {
persist_turn_context_rollout(&sess, &turn_context).await;
@@ -42,7 +44,6 @@ pub(crate) async fn run_inline_auto_compact_task(
// Launch sub-agent one-shot; drain to completion and capture summary.
let config = turn_context.client.config().as_ref().clone();
let cancel = tokio_util::sync::CancellationToken::new();
if let Ok(io) = crate::codex_delegate::run_codex_conversation_one_shot(
crate::codex_delegate::SubAgentRunParams {
config,
@@ -51,7 +52,7 @@ pub(crate) async fn run_inline_auto_compact_task(
sub_source: codex_protocol::protocol::SubAgentSource::Compact,
parent_session: Arc::clone(&sess),
parent_ctx: Arc::clone(&turn_context),
cancel_token: cancel,
cancel_token: cancellation_token.child_token(),
},
input,
)