v1.44.1: log per-completion tool census (sent, mcp, core, lazy, names)

This commit is contained in:
2026-10-18 22:13:56 +02:00
parent 67d4806d82
commit bbb35c21cd
3 changed files with 62 additions and 29 deletions
+8 -1
View File
@@ -17068,8 +17068,10 @@ class LoggerTests(unittest.TestCase):
cand = {"provider": "p", "model": "m"}
messages = [{"role": "system", "content": "sys"}, {"role": "user", "content": "hi"}]
reply = {"role": "assistant", "content": "yo", "reasoning": "", "tool_calls": [], "backend": "p"}
schemas = [tai.tool_schema("shell", "d", {}, []), tai.tool_schema("record_search", "d", {}, []),
{"type": "function", "function": {"name": "mcp_srv_echo"}}]
with mock.patch.object(tai.ChatClient, "call_candidate", return_value=reply):
self.assertEqual(chat.try_candidate(cand, messages, None, {"model": "x"}, None, False, []), reply)
self.assertEqual(chat.try_candidate(cand, messages, schemas, {"model": "x"}, None, False, []), reply)
tai.LOG.db.commit()
rows = self.store.log_query(component="llm", event="completion")
self.assertEqual(len(rows), 1)
@@ -17078,6 +17080,11 @@ class LoggerTests(unittest.TestCase):
self.assertEqual(meta["assistant_text"], "yo")
self.assertEqual(meta["tokens_total"], meta["tokens_in"] + meta["tokens_out"])
self.assertIsNone(meta["cost_usd"])
self.assertEqual(meta["tools_sent"], 3)
self.assertEqual(meta["tools_core"], 1)
self.assertEqual(meta["tools_lazy"], 1)
self.assertEqual(meta["tools_mcp"], 1)
self.assertEqual(meta["tool_names"], ["mcp_srv_echo", "record_search", "shell"])
with mock.patch.object(tai.ChatClient, "call_candidate", side_effect=tai.BackendError("boom")):
self.assertIsNone(chat.try_candidate(cand, messages, None, {"model": "x"}, None, False, []))
tai.LOG.db.commit()