Name sessions with the model and keep the rail list live

Sessions no longer take their title from the first message: once the first exchange is sent, the text model writes the title and summary, which the rail and sessions list show. The summary records how many messages it covers so a stale one is rewritten before it is carried into the next session.

The sessions hook now reloads on live message and session events, so a session started by the first message, a rollover or another tab appears without a reload. New sessions are pushed as server:bot-session, both from the process that changed them and through the live relay.
This commit is contained in:
2026-10-19 18:05:57 +01:00
parent 9293a55032
commit 4d5195447b
19 changed files with 420 additions and 38 deletions
@@ -71,7 +71,7 @@ export default function ComposerTools({ bot, workspace_id, initial }: Props) {
/>
) : null}
{has_tools ? (
{has_tools && computers.length ? (
<Span className="-mr-2 opacity-40">
<Dot size={20} />
</Span>