docs/references/chat/README.md
The chat domain spans reusable renderer modules, page-owned adapters, composer UI,
and the main-process message tree. There is no root
@renderer/components/chat barrel or generic components/chat/adapters/
directory; consumers import from the module that owns the capability.
| Path | Responsibility |
|---|---|
src/renderer/components/chat/messages/ | Shared message-list contracts, rendering, actions, tools, markdown, streaming, and list behavior |
src/renderer/components/chat/actions/ | Generic action descriptors/registry plus current topic and session action sets |
src/renderer/components/chat/{resourceList,shell,panes,flow}/ | Shared resource navigation, conversation shell, auxiliary panes, and topic-tree visualization |
src/renderer/components/composer/ | Shared composer surface and its Chat/Agent variants |
src/renderer/pages/{home,agents}/messages/ | Page-owned projections from business state into the shared message-list contract |
src/main/data/services/MessageService.ts | SQLite-backed topic-message tree operations and invariants |
The repository previously carried target-architecture documents for a generic adapter layer and root package barrel. Those APIs did not land; the current reference set documents implemented behavior only.
| Document | What it covers |
|---|---|
| Composer Rich Clipboard | Private clipboard format that preserves composer tokens across copy/paste, its restore rules, and ownership boundaries |
| Message Tree | The topic message-tree model: adjacency list, virtual root, sibling groups, invariants, delete semantics, consumer contract |