ResponseExecution Class
Lightweight pipeline state for one response execution.
This type intentionally does not own persisted stream history. Stream replay concerns are modeled separately in StreamReplayState.
Constructor
ResponseExecution(*, response_id: str, mode_flags: ResponseModeFlags, created_at: datetime | None = None, updated_at: datetime | None = None, completed_at: datetime | None = None, status: ResponseStatus = 'in_progress', response: ResponseObject | None = None, execution_task: asyncio.Task[Any] | None = None, cancel_requested: bool = False, client_disconnected: bool = False, response_created_seen: bool = False, subject: _ResponseEventSubject | None = None, cancel_signal: asyncio.Event | None = None, input_items: list[OutputItem] | None = None, previous_response_id: str | None = None, response_context: ResponseContext | None = None, initial_model: str | None = None, initial_agent_reference: AgentReference | dict[str, Any] | None = None, agent_session_id: str | None = None, conversation_id: str | None = None, chat_isolation_key: str | None = None)
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_id
Required
|
|
|
mode_flags
Required
|
|
|
created_at
|
Default value: None
|
|
updated_at
|
Default value: None
|
|
completed_at
|
Default value: None
|
|
status
|
Default value: in_progress
|
|
response
|
Default value: None
|
|
execution_task
|
Default value: None
|
|
cancel_requested
|
Default value: False
|
|
client_disconnected
|
Default value: False
|
|
response_created_seen
|
Default value: False
|
|
subject
|
Default value: None
|
|
cancel_signal
|
Default value: None
|
|
input_items
|
Default value: None
|
|
previous_response_id
|
Default value: None
|
|
response_context
|
Default value: None
|
|
initial_model
|
Default value: None
|
|
initial_agent_reference
|
Default value: None
|
|
agent_session_id
|
Default value: None
|
|
conversation_id
|
Default value: None
|
|
chat_isolation_key
|
Default value: None
|
Methods
| apply_event |
Apply a normalised stream event — updates self.response and self.status. Does nothing if the execution is already |
| set_response_snapshot |
Replace the current response snapshot from handler-emitted events. |
| transition_to |
Transition this execution to a valid lifecycle status. Updates |
apply_event
Apply a normalised stream event — updates self.response and self.status.
Does nothing if the execution is already "cancelled".
apply_event(normalized: ResponseStreamEvent, all_events: list[azure.ai.agentserver.responses.models._generated.sdk.models.models._models.ResponseStreamEvent]) -> None
Parameters
| Name | Description |
|---|---|
|
normalized
Required
|
The normalised event ( |
|
all_events
Required
|
The full ordered list of handler events seen so far (used to extract the latest response snapshot). |
set_response_snapshot
Replace the current response snapshot from handler-emitted events.
set_response_snapshot(response: ResponseObject) -> None
Parameters
| Name | Description |
|---|---|
|
response
Required
|
The latest response snapshot to store. |
transition_to
Transition this execution to a valid lifecycle status.
Updates status, updated_at, and completed_at (for terminal states).
Re-entering the current status is a no-op that only refreshes updated_at.
transition_to(next_status: Literal['queued', 'in_progress', 'completed', 'failed', 'cancelled', 'incomplete']) -> None
Parameters
| Name | Description |
|---|---|
|
next_status
Required
|
<xref:ResponseStatus>
The target lifecycle status. |
Exceptions
| Type | Description |
|---|---|
|
If the requested transition is not allowed. |
Attributes
agent_reference
Extract agent_reference from the stored response snapshot.
Returns
| Type | Description |
|---|---|
|
The agent reference model or dict, or empty dict if no response snapshot is set. |
is_terminal
Return whether the execution has reached a terminal state.
Returns
| Type | Description |
|---|---|
|
True if the status is one of completed, failed, cancelled, or incomplete. |
model
replay_enabled
SSE replay is only available for background+stream+store responses.
Returns
| Type | Description |
|---|---|
|
True if this execution supports SSE replay. |
visible_via_get
Non-streaming stored responses are retrievable via GET after completion.
For background non-stream responses, visibility is deferred until
response.created is processed (FR-001: response not accessible
before the handler emits response.created).
Returns
| Type | Description |
|---|---|
|
True if this execution can be retrieved via GET. |