Problem
Currently, while an EXTRA agent is processing a request, the user has very limited control over the conversation:
The prompt textarea is disabled while the agent is running.
The user cannot cancel or interrupt the current execution.
The user must wait until the current run finishes before typing another prompt.
This creates a poor UX, especially when a run is taking a long time or the user realizes they want to change the request.
Expected Behavior
While an agent is running:
Keep the prompt textarea enabled, so the user can continue typing.
Add a Cancel / Stop action that allows the user to interrupt the currently running execution.
After cancellation:
The current run should stop cleanly.
The conversation should remain usable.
The user should immediately be able to submit another prompt.
Cancellation should propagate to the backend/orchestrator so we do not only stop the UI while the agent continues executing in the background.
Acceptance Criteria
Textarea remains editable while an agent is running.
A Stop/Cancel button is displayed during an active run.
Clicking Stop interrupts the active run.
Backend execution is actually cancelled/interrupted.
The UI clearly reflects that the run was cancelled.
The user can immediately submit another prompt after cancellation.
Cancellation does not corrupt conversation/run state.
Existing HITM/approval and resumable-run flows continue to work correctly.
Problem
Currently, while an EXTRA agent is processing a request, the user has very limited control over the conversation:
The prompt textarea is disabled while the agent is running.
The user cannot cancel or interrupt the current execution.
The user must wait until the current run finishes before typing another prompt.
This creates a poor UX, especially when a run is taking a long time or the user realizes they want to change the request.
Expected Behavior
While an agent is running:
Keep the prompt textarea enabled, so the user can continue typing.
Add a Cancel / Stop action that allows the user to interrupt the currently running execution.
After cancellation:
The current run should stop cleanly.
The conversation should remain usable.
The user should immediately be able to submit another prompt.
Cancellation should propagate to the backend/orchestrator so we do not only stop the UI while the agent continues executing in the background.
Acceptance Criteria
Textarea remains editable while an agent is running.
A Stop/Cancel button is displayed during an active run.
Clicking Stop interrupts the active run.
Backend execution is actually cancelled/interrupted.
The UI clearly reflects that the run was cancelled.
The user can immediately submit another prompt after cancellation.
Cancellation does not corrupt conversation/run state.
Existing HITM/approval and resumable-run flows continue to work correctly.