fix: resume Ollama chat jobs across sessions

This commit is contained in:
Hermes Agent
2026-08-27 22:37:06 +10:00
parent 505bf9318e
commit 2612e90dbf
6 changed files with 142 additions and 20 deletions
+30
View File
@@ -59,6 +59,36 @@ class ValidationHarnessTests(unittest.TestCase):
self.assertFalse(response["done"])
self.assertEqual(response["mode"], "direct")
def test_job_status_includes_durable_heartbeat_fields(self):
job = {
"request_id": "request",
"conversation_id": "conversation",
"status": "running",
"mode": "direct",
"primary_model": "primary",
"validator_models_json": "[]",
"result_json": "{}",
"error": "",
"attempt": 2,
"started_at": 100.0,
"heartbeat_at": 110.0,
"finished_at": None,
"updated_at": 110.0,
}
with patch.object(api.time, "time", return_value=112.5):
response = api._job_status_response(job)
self.assertFalse(response["done"])
self.assertEqual(response["attempt"], 2)
self.assertEqual(response["heartbeat_at"], 110.0)
self.assertEqual(response["heartbeat_age"], 2.5)
def test_active_jobs_route_returns_server_owned_jobs(self):
active = [{"request_id": "request", "status": "running"}]
with patch.object(api, "_list_chat_jobs", return_value=active) as listed:
response = api.chat_jobs(active=True, conversation_id="conversation", limit=20)
self.assertEqual(response, {"jobs": active})
listed.assert_called_once_with(active_only=True, conversation_id="conversation", limit=20)
def test_primary_draft_validators_and_primary_compilation_produce_one_answer(self):
body = api.ChatRequest(
primary_model="primary",