SIGN IN SIGN UP

feat(web): a history panel over the agent's transcript

The relay can now answer `get_history` from the transcript the agent writes for itself,
so the panel that was stubbed out has something real to render: turns paged backwards
from the newest, a Load-earlier button driven by `has_more`, the session's own title,
and each of the five `unavailable` reasons rendered as the reason rather than as a flat
"no history for this pane". `file_truncated` says out loud that only the tail of a remote
file was read instead of implying the conversation starts there.

The 768px breakpoint made `.terminal-view` static, which sent the absolutely positioned
panel to the viewport and over the app header; it is positioned against the session view
in both layouts now.

demo-worker answers `get_history` too, so the demo shows the panel instead of an error.
N
Nick007 committed
df524ce09f02ef27c204407fde7d8717c4eaea92
Parent: cf97a72