Architecture cleanup: old_webclient, SSH shutdown, todo decoupling, ContextVar reset
- Remove old_webclient directory and /static mount from main.py
- Add shutdown handler in main.py to close all SSH pooled connections
- Decouple agent.py from todo module internals:
  - Add public API to navi/tools/todo.py: get_task_snapshot, get_failed_steps,
    get_progress_message, set_tasks, render_todo_lines
  - Replace all direct _plans/_STATUS_ICON/_Task imports in agent.py with API calls
- Wrap run_ephemeral in try/finally to restore _sid_var and _model_var after subagent

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent b58c56f commit 6dad458dc948fc07b0e2210973422fc88b77dc30
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 29 Apr
Showing 17 changed files
View
navi/core/agent.py
View
navi/main.py
View
navi/tools/ssh_exec.py
View
navi/tools/todo.py
View
old_webclient/debug.html 100644 → 0
View
old_webclient/images/logo-icon.webp 100644 → 0
View
old_webclient/images/logo.svg 100644 → 0
View
old_webclient/images/navi-avatar.webp 100644 → 0
View
old_webclient/images/navi.png 100644 → 0
View
old_webclient/index.html 100644 → 0
View
old_webclient/js/api.js 100644 → 0
View
old_webclient/js/app.js 100644 → 0
View
old_webclient/js/chat.js 100644 → 0
View
old_webclient/js/sidebar.js 100644 → 0
View
old_webclient/js/utils.js 100644 → 0
View
old_webclient/js/ws.js 100644 → 0
View
old_webclient/style.css 100644 → 0