fix(wakeup): key stale pause to failed lane

This commit is contained in:
Frank Song committed 2026-07-07 13:08:27 +08:00
1 parent 46e788797e
commit a61381ee7e
2 files changed
+12 -6

No files matched your search

+6 -6
View File
@@ -8738,8 +8738,8 @@ def _run_agent_streaming(
record_process_wakeup_provider_unavailable_pause(
s,
classification=_err_type,
model=getattr(s, 'model', None) or resolved_model or model,
provider=getattr(s, 'model_provider', None) or resolved_provider,
model=resolved_model or model,
provider=resolved_provider or provider_context or model_provider,
)
_materialize_pending_user_turn_before_error(s)
s.active_stream_id = None
@@ -9839,8 +9839,8 @@ def _run_agent_streaming(
_pause = record_process_wakeup_provider_unavailable_pause(
s,
classification=_exc_type,
model=getattr(s, 'model', None) or resolved_model or model,
provider=getattr(s, 'model_provider', None) or resolved_provider,
model=resolved_model or model,
provider=resolved_provider or provider_context or model_provider,
)
if _pause is not None:
try:
@@ -9864,8 +9864,8 @@ def _run_agent_streaming(
record_process_wakeup_provider_unavailable_pause(
s,
classification=_exc_type,
model=getattr(s, 'model', None) or resolved_model or model,
provider=getattr(s, 'model_provider', None) or resolved_provider,
model=resolved_model or model,
provider=resolved_provider or provider_context or model_provider,
)
_materialize_pending_user_turn_before_error(s)
s.active_stream_id = None
@@ -115,6 +115,8 @@ class _StaleCredentialPoolEmptyAgent(_MockAgent):
def run_conversation(self, **_kwargs):
session = models.SESSIONS[self.session_id]
session.active_stream_id = "stream-newer-run"
session.model = "newer-model"
session.model_provider = "newer-provider"
session.pending_user_source = "webui"
session.save(touch_updated_at=False)
raise RuntimeError("All 0 credential(s) exhausted for test-provider")
@@ -297,9 +299,13 @@ def test_stale_credential_empty_process_wakeup_still_records_pause(tmp_path):
saved = Session.load(session.session_id)
assert saved is not None
assert saved.active_stream_id == "stream-newer-run"
assert saved.model == "newer-model"
assert saved.model_provider == "newer-provider"
assert saved.pending_user_source == "webui"
assert saved.process_wakeup_pause["paused"] is True
assert saved.process_wakeup_pause["classification"] == "credential_pool_empty"
assert saved.process_wakeup_pause["model"] == "test-model"
assert saved.process_wakeup_pause["provider"] == "test-provider"
assert saved.process_wakeup_pause["suppressed_count"] == 0
assert not any(message.get("_error") for message in saved.messages)