feat(cli): add interactive TUI chat

Add a Textual chat interface with threaded SSE streaming, slash commands, interrupt handling, and bare nexus dispatch. Package it behind the tui extra, document usage, and cover command routing, dependencies, and headless interaction with tests.
This commit is contained in:
Athena Kaminsky
2026-08-21 15:39:28 -05:00
parent 6e8067fe7d
commit 27f222dbcd
8 changed files with 586 additions and 18 deletions
+2
View File
@@ -42,6 +42,7 @@ mail = ["imap-tools>=1.7,<2"]
# synapse/search.py imports this lazily behind a bare except, so without it
# declared the chat web-search path silently returns nothing.
search = ["duckduckgo-search>=6,<9"]
tui = ["textual>=1.0,<3"]
desktop = [
"psutil>=5.9,<8",
"pywebview>=5,<7; platform_system == 'Windows'",
@@ -64,6 +65,7 @@ all = [
"faster-whisper>=1.1,<2",
"imap-tools>=1.7,<2",
"duckduckgo-search>=6,<9",
"textual>=1.0,<3",
"pywebview>=5,<7; platform_system == 'Windows'",
]
dev = [