|
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>
|
|---|
|
|
| navi/api/routes/sessions.py |
|---|
| navi/session_files.py |
|---|
| webclient/src/api/index.js |
|---|
| webclient/src/components/artifacts/ArtifactsPanel.vue |
|---|
| webclient/src/stores/chat.js |
|---|