feat(ui): interactive graph, strip context menus, days by activity, message times, limit status words

This commit is contained in:
hh committed 2026-09-02 04:24:15 +02:00
1 parent 025f2dbc3f
commit c6401f1114
27 files changed
+1619 -381

No files matched your search

+15 -3
View File
@@ -161,7 +161,10 @@ def build_entries(
return entries
def messages_from_entries(entries: Iterable[Mapping[str, Any]]) -> list[dict[str, Any]]:
def messages_from_entries(
entries: Iterable[Mapping[str, Any]], *, with_ts: bool = False
) -> list[dict[str, Any]]:
"""Messages as the model saw them; ``with_ts`` adds when each one was written."""
out: list[dict[str, Any]] = []
last_message_id: str | None = None
for entry in entries:
@@ -180,7 +183,13 @@ def messages_from_entries(entries: Iterable[Mapping[str, Any]]) -> list[dict[str
):
out[-1]["content"].extend(results)
else:
out.append({"role": "user", "content": _user_content(content)})
message_out: dict[str, Any] = {
"role": "user",
"content": _user_content(content),
}
if with_ts:
message_out["ts"] = entry.get("timestamp")
out.append(message_out)
last_message_id = None
continue
blocks = _assistant_blocks(content)
@@ -193,7 +202,10 @@ def messages_from_entries(entries: Iterable[Mapping[str, Any]]) -> list[dict[str
):
out[-1]["content"].extend(blocks)
else:
out.append({"role": "assistant", "content": blocks})
message_out: dict[str, Any] = {"role": "assistant", "content": blocks}
if with_ts:
message_out["ts"] = entry.get("timestamp")
out.append(message_out)
last_message_id = message_id
return out