Add share_file tool and session-lifetime file storage
Session file directories now live until the session is deleted, not
24h TTL. Cleanup loop only removes orphaned dirs (session gone from DB).

New share_file tool: copies any file to the session directory and returns
a clickable download URL. Navi can call this after generating any file
the user will want to keep.

New GET /sessions/{id}/files/{filename} endpoint serves files with
correct Content-Disposition (inline for images/HTML/PDF, attachment
for everything else).

Added PUBLIC_URL config key for building correct download links behind
reverse proxies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 33b2880 commit a8d0b37c65ec04c308f39efe9c3eabb6d1aefe21
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 14 Apr
Showing 8 changed files
View
navi/api/routes/sessions.py
View
navi/config.py
View
navi/core/registry.py
View
navi/profiles/secretary.py
View
navi/profiles/server_admin.py
View
navi/profiles/smart_home.py
View
navi/session_files.py
View
navi/tools/share_file.py 0 → 100644