#5112

WIP: feat(webui): expose Dream runs as read-only sessions

Draftchengyongruwants to merge intofrom

Summary

  • expose Dream runs in the WebUI as a separate, localized, read-only, collapsible session group with date/time labels
  • record and replay Dream reasoning, tool calls, file edits, streaming output, and file previews through the same thread UI as regular sessions
  • render user messages as Markdown and preserve complete Dream history prompts without per-entry truncation
  • allow Dream's restricted write_file tool to update only the canonical memory files when patch-based edits cannot apply

Testing

  • python -m pytest tests/agent/test_dream.py tests/agent/test_turn_hooks.py tests/utils/test_webui_transcript.py -q
  • python -m pytest tests/command/test_builtin_dream.py -q
  • python -m pytest nanobot/channels/websocket/tests/test_websocket_channel.py::test_handle_file_preview_returns_workspace_file nanobot/channels/websocket/tests/test_websocket_channel.py::test_handle_file_preview_returns_workspace_file_for_dream_session -q
  • npm run test -- --run src/tests/i18n.test.tsx src/tests/chat-list.test.tsx
  • focused Ruff checks on the changed Python surfaces

Notes

  • Browser verification is intentionally left for manual validation while this PR is in draft.

Activity

2

This pull request is a draft

Merging is unavailable until it is marked ready for review.