Skip to content
20 changes: 8 additions & 12 deletions src/agents/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -797,12 +797,12 @@ def _with_reasoning_item_id_policy(result: RunResult) -> RunResult:
max_turns=max_turns,
)
result._current_turn = current_turn
result._model_input_items = list(generated_items)
result._model_input_items = generated_items[:]
# Keep normalized replay aligned with the model-facing
# continuation whenever session history preserved extra items.
result._replay_from_model_input_items = list(
generated_items
) != list(session_items)
result._replay_from_model_input_items = (
generated_items != session_items
)
if run_state is not None:
result._trace_state = run_state._trace_state
if session_persistence_enabled:
Expand Down Expand Up @@ -936,10 +936,8 @@ def _with_reasoning_item_id_policy(result: RunResult) -> RunResult:
max_turns=max_turns,
)
result._current_turn = max_turns
result._model_input_items = list(generated_items)
result._replay_from_model_input_items = list(generated_items) != list(
session_items
)
result._model_input_items = generated_items[:]
result._replay_from_model_input_items = generated_items != session_items
if run_state is not None:
result._trace_state = run_state._trace_state
if session_persistence_enabled and include_in_history:
Expand Down Expand Up @@ -1207,10 +1205,8 @@ def _with_reasoning_item_id_policy(result: RunResult) -> RunResult:
max_turns=max_turns,
)
result._current_turn = current_turn
result._model_input_items = list(generated_items)
result._replay_from_model_input_items = list(generated_items) != list(
session_items
)
result._model_input_items = generated_items[:]
result._replay_from_model_input_items = generated_items != session_items
if run_state is not None:
result._current_turn_persisted_item_count = (
run_state._current_turn_persisted_item_count
Expand Down
2 changes: 1 addition & 1 deletion src/agents/run_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
_MISSING_CONTEXT_SENTINEL = object()


@dataclass
@dataclass(slots=True)
class RunState(Generic[TContext, TAgent]):
"""Serializable snapshot of an agent run, including context, usage, and interruptions.
Expand Down