Skip to content

feat(mongo-file): add file download cards and preview functionality#269

Open
JegernOUTT wants to merge 5 commits intomainfrom
download-card
Open

feat(mongo-file): add file download cards and preview functionality#269
JegernOUTT wants to merge 5 commits intomainfrom
download-card

Conversation

@JegernOUTT
Copy link
Copy Markdown
Member

  • Add render operation to mongo_store tool for generating download cards
  • Implement backend support for dynamic Content-Disposition (inline/attachment)
  • Create FileDownloadCard and FilePreviewDialog Vue components
  • Add frontend parsing for 📎DOWNLOAD: protocol in tool responses
  • Support preview for images, PDF, HTML, SVG, text/JSON/YAML files (5MB limit)
  • Enhance MIME type detection with SVG, MD, YAML, XML support
  • Add i18n support for download/preview UI (en/es/pt)
  • Auto-generate download cards in Python executor artifacts

Implement complete bot test workflow:
- Install bot dependencies and run install scripts
- Support both script-based and manifest-based bots
- Auto-create test persona in marketplace dev group
- Frontend test run UI with progress tracking and persistence
- "Talk to bot" and "Analyze by Bob" session navigation
- Improved bot status detection and resource cleanup
Add comprehensive bot publishing workflow to marketplace with GitHub auth
and Docker image building. Introduce avatar generation from style refs
using xAI Grok Imagine.

Key changes:
- `publish_marketplace` tool with build/submit_to_review modes
- `generate_avatar` tool with style bank seeding and idea-based generation
- Backend GraphQL mutations: `botwiz_marketplace_action`, avatar RPCs
- Frontend marketplace action menu and OAuth popup handling
- Improved expert reuse by fexp_id and provenance tracking
- Style bank manifest and default assets in flexus-client-kit
Introduce _FULLSIZE_TARGET (1024x1536) and resize logic that:
- Scales images proportionally to fit within target dimensions
- Centers the scaled image on a transparent canvas
- Applies to both WebP conversion and direct file saving

Ensures consistent output dimensions while preserving aspect ratio.
Introduce _encode_webp_within_limit() to progressively reduce quality
from 100 down to 40 until image fits within 250KB limit, preventing
upload failures due to oversized files.

Replace direct WebP saves with this function in fullsize and 256px
avatar generation.
- Add `render` operation to mongo_store tool for generating download cards
- Implement backend support for dynamic Content-Disposition (inline/attachment)
- Create FileDownloadCard and FilePreviewDialog Vue components
- Add frontend parsing for 📎DOWNLOAD: protocol in tool responses
- Support preview for images, PDF, HTML, SVG, text/JSON/YAML files (5MB limit)
- Enhance MIME type detection with SVG, MD, YAML, XML support
- Add i18n support for download/preview UI (en/es/pt)
- Auto-generate download cards in Python executor artifacts
if path_error:
return f"Error: {path_error}"
document = await ckit_mongo.mongo_retrieve_file(mongo_collection, path)
if not document:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check (md5?) don't download

@JegernOUTT JegernOUTT force-pushed the botwiz-debug-fixes-4 branch from b388274 to 7c2bd3b Compare March 27, 2026 09:51
Base automatically changed from botwiz-debug-fixes-4 to main March 27, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants