|
Navi Code TUI: fix Phase 4 review critical/medium issues
- PermissionEngine: always-deny returns None via check(); is_always_deny() exposed for explicit rejection; default rules for code_exec/ssh_exec/shell; extract_target() made public. - ShellRunner: set ShellResult.truncated when output is actually truncated. - File refs: restrict paths to base_dir/home, block sensitive files/dirs, skip binary, support glob brackets, shared guess_language. - Permission dialog: deny now renders synthetic tool_call before stopping; shell ! commands require permission with always-allow/deny persistence. - Tests: add permission tests, fix file_refs/shell tests, add __init__.py to fix pytest name collisions, update websocket integration for AgentSessionOrchestrator. 504 passed, 1 skipped. Ruff clean. Signed-off-by: Eugene Sukhodolskiy <eugene.sukhodolskiy@gmail.com> |
|---|
|
|
| clients/terminal/tui/events.py |
|---|
| clients/terminal/tui/file_refs.py |
|---|
| clients/terminal/tui/permissions.py |
|---|
| clients/terminal/tui/renderers/artifact.py |
|---|
| clients/terminal/tui/renderers/language.py 0 → 100644 |
|---|
| clients/terminal/tui/screens/permission_dialog.py |
|---|
| clients/terminal/tui/shell_runner.py |
|---|
| clients/terminal/tui/tui_app.py |
|---|
| tests/__init__.py 0 → 100644 |
|---|
| tests/clients/__init__.py 0 → 100644 |
|---|
| tests/clients/test_file_refs.py |
|---|
| tests/clients/test_permission_dialog.py |
|---|
| tests/clients/test_permissions.py 0 → 100644 |
|---|
| tests/clients/test_shell_runner.py |
|---|
| tests/integration/__init__.py 0 → 100644 |
|---|
| tests/integration/conftest.py |
|---|
| tests/integration/test_websocket.py |
|---|
| tests/unit/__init__.py 0 → 100644 |
|---|
| tests/unit/api/__init__.py 0 → 100644 |
|---|