Add session file directory listing endpoint and Files tab in ArtifactsPanel
Backend:
- New GET /sessions/{session_id}/files endpoint (recursive, max depth 10)
- Includes hidden files, returns {path, size, is_dir, modified_at}
- Path traversal protection via resolve() + relative_to(base)
- list_session_files() helper in session_files.py

Webclient:
- Third "Files" tab in ArtifactsPanel alongside Artifacts and Links
- Tree display with depth-based indentation
- File type icons by extension (image, video, code, etc.)
- Download and inline-open actions per file
- Fetch on session load/reload via chatStore.fetchFiles()

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 7d92bda commit 1116c0429bb9f36145707e32068a0dd3cfa604e9
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 13 May
Showing 5 changed files
View
navi/api/routes/sessions.py
View
navi/session_files.py
View
webclient/src/api/index.js
View
webclient/src/components/artifacts/ArtifactsPanel.vue
View
webclient/src/stores/chat.js