Add content hosting system with inline viewers
Backend:
- Add navi/content/ directory for published files
- Add content_store.py with publish/list/delete/cleanup functions
- Add content_publish tool for publishing files as viewable content
- Add /content static file mount in main.py
- Add /content-viewers mount for viewer pages
- Extend ToolEvent with metadata field
- Forward metadata through websocket tool_call events
- Update Agent to include metadata in ToolEvent

Frontend:
- Add ContentCard.vue component for displaying published content
- Add viewer pages: stl.html (Three.js), svg.html, html.html, pdf.html
- Update AssistantMessage.vue to render ContentCard for content_publish
- Update chat store to preserve metadata in tool cards
- Update websocket protocol docs with metadata field

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent dba307e commit b88b7c088ca915378d7adb0a751e1a154b281623
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 28 Apr
Showing 24 changed files
View
navi/api/websocket.py
View
navi/content/.gitignore 0 → 100644
View
navi/content_store.py 0 → 100644
View
navi/core/agent.py
View
navi/core/events.py
View
navi/core/registry.py
View
navi/main.py
View
navi/tools/content_publish.py 0 → 100644
View
webclient/dist/assets/index-3TDsxezf.js 100644 → 0
Not supported
View
webclient/dist/assets/index-CBVdrFtz.css 0 → 100644
View
webclient/dist/assets/index-DSatphWI.js 0 → 100644
Not supported
View
webclient/dist/assets/index-EQZcrWhg.css 100644 → 0
View
webclient/dist/content-viewers/html.html 0 → 100644
View
webclient/dist/content-viewers/pdf.html 0 → 100644
View
webclient/dist/content-viewers/stl.html 0 → 100644
View
webclient/dist/content-viewers/svg.html 0 → 100644
View
webclient/dist/index.html
View
webclient/public/content-viewers/html.html 0 → 100644
View
webclient/public/content-viewers/pdf.html 0 → 100644
View
webclient/public/content-viewers/stl.html 0 → 100644
View
webclient/public/content-viewers/svg.html 0 → 100644
View
webclient/src/components/messages/AssistantMessage.vue
View
webclient/src/components/messages/ContentCard.vue 0 → 100644
View
webclient/src/stores/chat.js