Preserve running session replay state

This commit is contained in:
武阳
2026-05-07 16:49:42 +08:00
parent 2ba67ead00
commit 61a0a0a648
5 changed files with 213 additions and 31 deletions
+19
View File
@@ -238,6 +238,25 @@ class GuiServerTests(unittest.TestCase):
self.assertEqual(latest.status_code, 200)
self.assertEqual(latest.json()['status'], 'cancelled')
def test_latest_run_prefers_running_over_queued_for_session(self) -> None:
with tempfile.TemporaryDirectory() as d:
client, state = _build_client(Path(d))
first = state.run_manager.start('alice', 'thread-1')
state.run_manager.update(first.run_id, status='running', stage='first stage')
second = state.run_manager.start('alice', 'thread-1')
self.assertEqual(second.status, 'queued')
latest = client.get(
'/api/runs/latest',
params={'account_id': 'alice', 'session_id': 'thread-1'},
)
self.assertEqual(latest.status_code, 200)
payload = latest.json()
self.assertEqual(payload['run_id'], first.run_id)
self.assertEqual(payload['status'], 'running')
self.assertEqual(payload['current_stage'], 'first stage')
def test_chat_uses_account_scoped_model_config(self) -> None:
with tempfile.TemporaryDirectory() as d:
client, _ = _build_client(Path(d))