mirror of
https://github.com/openai/codex.git
synced 2026-10-30 19:18:49 +00:00
fix
This commit is contained in:
@@ -4035,6 +4035,9 @@ impl Session {
|
||||
let mut active = self.active_turn.lock().await;
|
||||
match active.as_mut() {
|
||||
Some(at) => {
|
||||
if at.tasks.is_empty() {
|
||||
return Err(input);
|
||||
}
|
||||
let mut ts = at.turn_state.lock().await;
|
||||
for item in input {
|
||||
ts.push_pending_input(item);
|
||||
|
||||
@@ -4783,6 +4783,25 @@ async fn queued_response_items_for_next_turn_move_into_next_active_turn() {
|
||||
assert_eq!(sess.get_pending_input().await, vec![queued_item]);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn inject_response_items_rejects_pending_turn_start_reservation() {
|
||||
let (sess, _tc, _rx) = make_session_and_context_with_rx().await;
|
||||
*sess.active_turn.lock().await = Some(ActiveTurn::default());
|
||||
let pending_item = ResponseInputItem::Message {
|
||||
role: "user".to_string(),
|
||||
content: vec![ContentItem::InputText {
|
||||
text: "queued during turn-complete".to_string(),
|
||||
}],
|
||||
};
|
||||
|
||||
let err = sess
|
||||
.inject_response_items(vec![pending_item.clone()])
|
||||
.await
|
||||
.expect_err("empty active turn reservation should reject injected items");
|
||||
|
||||
assert_eq!(err, vec![pending_item]);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn on_task_finished_records_queue_only_mailbox_mail_without_restart() {
|
||||
let (sess, tc, _rx) = make_session_and_context_with_rx().await;
|
||||
|
||||
Reference in New Issue
Block a user