Add quick actions to sessions

Rename, AI retitle, pin and archive, reached from the "..." button on
every session row and in the chat header. Sessions carry one lifecycle
state (normal, pinned, archived) rather than independent flags, so the
sidebar groups them without an unrepresentable pinned-and-archived case.

The AI retitle runs as a one-shot against the transient KV cache through
a new CheckpointTarget::OneShot, leaving no session or checkpoint behind
while still reporting as local work in the metrics.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Georg Bauer
2026-07-25 12:15:58 +02:00
parent cc9e09ff1d
commit 35087580d5
12 changed files with 687 additions and 45 deletions

View File

@@ -0,0 +1 @@
ALTER TABLE sessions DROP COLUMN state;

View File

@@ -0,0 +1,2 @@
ALTER TABLE sessions ADD COLUMN state TEXT NOT NULL DEFAULT 'normal'
CHECK (state IN ('normal', 'pinned', 'archived'));