[PR #5278] [MERGED] Powerpoint File Creation #5387

Closed
opened 2026-06-05 15:21:11 -04:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Mintplex-Labs/anything-llm/pull/5278
Author: @timothycarambat
Created: 3/27/2026
Status: Merged
Merged: 3/27/2026
Merged by: @timothycarambat

Base: file-creationHead: pptx-creation


📝 Commits (10+)

📊 Changes

38 files changed (+3113 additions, -1070 deletions)

View changed files

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/FileDownloadCard/index.jsx (+126 -0)
frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/HistoricalOutputs/index.jsx (+28 -0)
📝 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx (+3 -0)
📝 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx (+4 -0)
📝 frontend/src/locales/en/common.js (+20 -3)
frontend/src/models/files.js (+26 -0)
📝 frontend/src/models/system.js (+15 -0)
frontend/src/pages/Admin/Agents/CreateFileSkillPanel/index.jsx (+223 -0)
📝 frontend/src/pages/Admin/Agents/FileSystemSkillPanel/index.jsx (+5 -3)
📝 frontend/src/pages/Admin/Agents/index.jsx (+22 -12)
📝 frontend/src/pages/Admin/Agents/skills.js (+13 -10)
📝 frontend/src/utils/chat/agent.js (+19 -5)
📝 server/.gitignore (+2 -0)
📝 server/endpoints/admin.js (+3 -0)
server/endpoints/agentFileServer.js (+142 -0)
📝 server/endpoints/agentSkillWhitelist.js (+18 -0)
📝 server/index.js (+2 -0)
server/jobs/cleanup-generated-files.js (+108 -0)
📝 server/models/systemSettings.js (+11 -0)
📝 server/package.json (+1 -0)

...and 18 more files

📄 Description

Pull Request Type

  • feat (New feature)
  • 🐛 fix (Bug fix)
  • ♻️ refactor (Code refactoring without changing behavior)
  • 💄 style (UI style changes)
  • 🔨 chore (Build, CI, maintenance)
  • 📝 docs (Documentation updates)

Relevant Issues

Description

  • Adds ability to create Powerpoint documents via agent
  • Agents can now create PowerPoint presentations with slides, themes, titles, bullet points, tables, and speaker notes
  • 9 built-in themes: default, corporate, modern, minimal, vibrant, dark, nature, ocean, sunset
  • Files are stored server-side and served via authenticated download endpoint
  • Download cards appear in chat with file info and download button
  • Historical messages re-render file download cards when viewing past conversations

Visuals (if applicable)

Additional Information

  • New background job cleans up orphaned generated files (runs every 8 hours)
  • Generated files stored in storage/generated-files/ with UUID-based naming
  • File access validated against workspace permissions (multi-user) or all workspaces (single-user)
  • write-filewrite-text-file (clarifies it's for text content only, not binary formats)
  • New inverted logo asset for dark-background branding in presentations
  • OpenAPI spec cleanup (removed redundant Authorization header params)

Note

This removes the generate and save to browser skill

Developer Validations

  • I ran yarn lint from the root of the repo & committed changes
  • Relevant documentation has been updated (if applicable)
  • I have tested my code functionality
  • Docker build succeeds locally

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Mintplex-Labs/anything-llm/pull/5278 **Author:** [@timothycarambat](https://github.com/timothycarambat) **Created:** 3/27/2026 **Status:** ✅ Merged **Merged:** 3/27/2026 **Merged by:** [@timothycarambat](https://github.com/timothycarambat) **Base:** `file-creation` ← **Head:** `pptx-creation` --- ### 📝 Commits (10+) - [`890493f`](https://github.com/Mintplex-Labs/anything-llm/commit/890493fffc3ac4c9485a5940e689cd02d6ae2036) wip - [`6b5c879`](https://github.com/Mintplex-Labs/anything-llm/commit/6b5c879991e9c24ca7eca4742c055129478cb1dd) download card - [`16e02ac`](https://github.com/Mintplex-Labs/anything-llm/commit/16e02ac0f3036906c47a3d82b61790cd7c378a8f) UI for downloading - [`365cfe1`](https://github.com/Mintplex-Labs/anything-llm/commit/365cfe1bc24d42922c2dc726f93d559ffef9a2d9) move to fs system with endpoint to pull files - [`2e88350`](https://github.com/Mintplex-Labs/anything-llm/commit/2e883508fd48ed1ba39722b5dc70ba35c96778a5) refactor UI - [`0ccc80f`](https://github.com/Mintplex-Labs/anything-llm/commit/0ccc80f962c095cbfe00f8bf19de4d5d3f5f29e9) final-pass - [`703e12f`](https://github.com/Mintplex-Labs/anything-llm/commit/703e12f72876de95167905b2dd2b058250f88d4e) remove save-file-browser skill and refactor - [`c6f83ae`](https://github.com/Mintplex-Labs/anything-llm/commit/c6f83ae30f37b2e9d9e4b0db54617265cd06b66b) remove fileDownload event - [`d0b258d`](https://github.com/Mintplex-Labs/anything-llm/commit/d0b258d05e4052b3035e8a86faccae35d505be8b) reset - [`33a27e5`](https://github.com/Mintplex-Labs/anything-llm/commit/33a27e5014d725767a2fcfa793201c96ebc85394) reset file ### 📊 Changes **38 files changed** (+3113 additions, -1070 deletions) <details> <summary>View changed files</summary> ➕ `frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/FileDownloadCard/index.jsx` (+126 -0) ➕ `frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/HistoricalOutputs/index.jsx` (+28 -0) 📝 `frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx` (+3 -0) 📝 `frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx` (+4 -0) 📝 `frontend/src/locales/en/common.js` (+20 -3) ➕ `frontend/src/models/files.js` (+26 -0) 📝 `frontend/src/models/system.js` (+15 -0) ➕ `frontend/src/pages/Admin/Agents/CreateFileSkillPanel/index.jsx` (+223 -0) 📝 `frontend/src/pages/Admin/Agents/FileSystemSkillPanel/index.jsx` (+5 -3) 📝 `frontend/src/pages/Admin/Agents/index.jsx` (+22 -12) 📝 `frontend/src/pages/Admin/Agents/skills.js` (+13 -10) 📝 `frontend/src/utils/chat/agent.js` (+19 -5) 📝 `server/.gitignore` (+2 -0) 📝 `server/endpoints/admin.js` (+3 -0) ➕ `server/endpoints/agentFileServer.js` (+142 -0) 📝 `server/endpoints/agentSkillWhitelist.js` (+18 -0) 📝 `server/index.js` (+2 -0) ➕ `server/jobs/cleanup-generated-files.js` (+108 -0) 📝 `server/models/systemSettings.js` (+11 -0) 📝 `server/package.json` (+1 -0) _...and 18 more files_ </details> ### 📄 Description ### Pull Request Type <!-- For change type, change [ ] to [x]. --> - [ ] ✨ feat (New feature) - [ ] 🐛 fix (Bug fix) - [ ] ♻️ refactor (Code refactoring without changing behavior) - [ ] 💄 style (UI style changes) - [ ] 🔨 chore (Build, CI, maintenance) - [ ] 📝 docs (Documentation updates) ### Relevant Issues ### Description - Adds ability to create `Powerpoint` documents via agent - Agents can now create PowerPoint presentations with slides, themes, titles, bullet points, tables, and speaker notes - 9 built-in themes: default, corporate, modern, minimal, vibrant, dark, nature, ocean, sunset - Files are stored server-side and served via authenticated download endpoint - Download cards appear in chat with file info and download button - Historical messages re-render file download cards when viewing past conversations <!-- Describe the changes in this PR that are impactful to the repo. What problem does it solve? --> ### Visuals (if applicable) <!-- Add screenshots or screen recordings to demonstrate the changes, especially for UI updates. --> ### Additional Information - New background job cleans up orphaned generated files (runs every 8 hours) - Generated files stored in storage/generated-files/ with UUID-based naming - File access validated against workspace permissions (multi-user) or all workspaces (single-user) - `write-file` → `write-text-file` (clarifies it's for text content only, not binary formats) - New inverted logo asset for dark-background branding in presentations - OpenAPI spec cleanup (removed redundant Authorization header params) <!-- Add any other context about the Pull Request here that was not captured above. --> > [!NOTE] > This removes the generate and save to browser skill ### Developer Validations <!-- All of the applicable items should be checked. --> - [ ] I ran `yarn lint` from the root of the repo & committed changes - [ ] Relevant documentation has been updated (if applicable) - [ ] I have tested my code functionality - [ ] Docker build succeeds locally --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-06-05 15:21:11 -04:00
yindo closed this issue 2026-06-05 15:21:12 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Mintplex-Labs/anything-llm#5387