|
Navi Code: Phase 3 — Textual TUI skeleton (OpenCode-style)
- Add clients/terminal/tui package with micro-architecture:
- events, context, chat_model, ws_bridge, permissions engine.
- widgets: ChatPanel, StatusPanel, InputBox.
- renderers: user/assistant messages, thinking, tool calls, errors,
markdown, plain — registry-based and extensible.
- slash commands: /help, /new, /sessions, /switch, /profile, /thinking,
/compact, /quit — registry-based and extensible.
- Wire navi-code to launch TUI by default; keep click-CLI via --raw.
- Add textual>=0.70 dependency.
- Add TUI smoke tests via Textual Pilot.
- Add docs/plan_navi_code_tui.md with full Phase 4/5 roadmap.
Tests: 463 passed, 1 skipped (excluded unrelated websocket test).
Co-Authored-By: Claude <noreply@anthropic.com>
|
|---|
|
|
| clients/terminal/cli.py |
|---|
| clients/terminal/tui/chat_model.py 0 → 100644 |
|---|
| clients/terminal/tui/commands/__init__.py 0 → 100644 |
|---|
| clients/terminal/tui/commands/base.py 0 → 100644 |
|---|
| clients/terminal/tui/commands/builtin.py 0 → 100644 |
|---|
| clients/terminal/tui/commands/registry.py 0 → 100644 |
|---|
| clients/terminal/tui/context.py 0 → 100644 |
|---|
| clients/terminal/tui/events.py 0 → 100644 |
|---|
| clients/terminal/tui/permissions.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/__init__.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/base.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/error.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/markdown_content.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/message.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/plain.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/registry.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/thinking.py 0 → 100644 |
|---|
| clients/terminal/tui/renderers/tool.py 0 → 100644 |
|---|
| clients/terminal/tui/tui_app.py 0 → 100644 |
|---|
| clients/terminal/tui/widgets/__init__.py 0 → 100644 |
|---|
| clients/terminal/tui/widgets/chat_panel.py 0 → 100644 |
|---|
| clients/terminal/tui/widgets/input_box.py 0 → 100644 |
|---|
| clients/terminal/tui/widgets/status_panel.py 0 → 100644 |
|---|
| clients/terminal/tui/ws_bridge.py 0 → 100644 |
|---|
| docs/plan_navi_code_tui.md 0 → 100644 |
|---|
| pyproject.toml |
|---|
| tests/clients/test_tui_app.py 0 → 100644 |
|---|