Commit graph

402 commits

Author SHA1 Message Date
sudipnext
b20199a4e3 feat: Integrate Vertex AI and Azure OpenAI support
- Added environment variables for Vertex AI and Azure OpenAI configurations in docker-compose and user configuration models.
- Updated the application logic to handle Vertex and Azure as new LLM providers, including validation and API key management.
- Enhanced the UI components to support model selection and API key input for Vertex and Azure.
- Updated relevant utility functions and constants to accommodate the new providers.
- Ensured proper error handling for configuration requirements specific to Vertex and Azure.
2026-04-30 06:03:39 +05:45
sudipnext
8c3bc13542 Merge branch 'main' into refactor/presenton-chat-stream 2026-04-27 19:54:01 +05:45
sudipnext
c314dd6199 feat: Add WebSearchTool to the chat service tools 2026-04-27 19:47:45 +05:45
sudipnext
64cdac963b chore: Update llmai dependency to version 0.2.2 and enhance chat prompt clarity
- Updated the llmai dependency from version 0.2.1 to 0.2.2 for improved functionality.
- Revised the system prompt in the chat service to clarify the use of context and tools, emphasizing the importance of accurate responses based on live data.
- Enhanced the chat UI to better reflect tool usage and assistant activities, improving user experience.
2026-04-27 17:21:25 +05:45
sudipnext
46d2f02da4 feat: update presentation export version and enhance export functionality with cookie handling
Co-authored-by: Copilot <copilot@github.com>
2026-04-27 12:01:54 +05:45
sudipnext
d1aeff6f82 feat: Revise prompt and tool descriptions for clarity and accuracy
- Updated the system prompt to provide clearer guidance on the use of deck memory and tools, emphasizing the distinction between historical context and current slide data.
- Enhanced tool descriptions in the ChatTools class to clarify their intended use cases, focusing on live slide data and the importance of using tools for current content.
- Improved instructions on handling slide indices and the retrieval of slide information, ensuring users understand the differences between memory and live data.
2026-04-26 18:28:27 +05:45
sudipnext
35f784379b feat: Enhance LiteParse runner and document processing
- Updated the LiteParse runner to support two output formats: raw text and JSON, improving compatibility and flexibility.
- Introduced error handling for missing file arguments and file existence checks, enhancing robustness.
- Added functions to clean and extract text from LiteParse JSON outputs, handling malformed JSON gracefully.
- Updated the DocumentsLoader to utilize the new text cleaning functionality, ensuring cleaner document outputs.
- Implemented tests for the new text extraction and cleaning features, ensuring reliability and correctness.
2026-04-26 18:10:49 +05:45
sudipnext
4c271170b5 feat: Add chat history management and asset generation features
- Introduced a new `ChatHistoryMessageModel` to persist chat messages in the database.
- Implemented a migration script to create the `chat_history_messages` table.
- Enhanced chat services to support storing and retrieving chat history.
- Added functionality for generating multiple media assets in a single API call.
- Updated the chat UI to display assistant activities and tool usage more effectively.
- Refactored API calls to use absolute URLs for better reliability.
2026-04-26 13:12:50 +05:45
sudipnext
4e87dc8b70 refactor: Update database session management and enhance chat memory services
- Replaced `get_container_db_async_session` with `async_session_maker` for improved session handling in background tasks.
- Refactored chat memory services to utilize a shared `mem0` client for better memory management.
- Introduced new methods for retrieving and storing chat history, integrating with SQL and memory layers.
- Enhanced error handling and response management in chat-related services.
- Cleaned up unused code and improved overall structure for maintainability.
2026-04-25 19:10:39 +05:45
sudipnext
17ea7d9f95 feat: Implement streaming chat functionality in FastAPI and update UI
- Added a new endpoint for streaming chat messages in FastAPI, allowing real-time interaction.
- Enhanced the `PresentationChatService` to support streaming replies with event types for chunked responses, status updates, and tool tracing.
- Updated the chat UI to handle and display assistant activities, including loading states and tool usage.
- Introduced new models for SSE responses and integrated them into the chat service.
- Improved error handling and response management in the chat API.
2026-04-25 15:49:39 +05:45
sudipnext
ebf3f05d6e fix: Update llmai dependency version to 0.2.1 2026-04-25 14:21:09 +05:45
sudipnext
7084c5f962 fix: Update OpenAI API type to use completions for stability 2026-04-25 14:20:56 +05:45
sudipnext
2e7e31db8c feat: implement PDF/PPTX export functionality with dedicated routes and components
- Added new middleware to handle session authentication for presentation retrieval.
- Introduced new layout and page components for PDF export, ensuring no loading state is shown during headless rendering.
- Enhanced ConfigurationInitializer to manage loading state based on route.
- Updated DashboardApi to include credentials in requests for presentation data.
- Refactored hasValidLLMConfig function for cleaner validation logic.
2026-04-24 10:30:51 +05:45
sauravniraula
11904c6cb0
refactor: cleans old unused export files from both docker and electron and uses package for export 2026-04-24 10:12:23 +05:45
sudipnext
7b1c3c6e70 Refactor chat memory layer and tools for improved slide handling
- Updated `RUNTIME_CONTENT_FIELDS` to retain only necessary fields during validation.
- Enhanced `PresentationChatMemoryLayer` to prioritize live slide data from the database.
- Modified `search` method to clarify that it retrieves snippets from SQL-backed slides.
- Updated `get_slide_at_index` to include an option for full content retrieval.
- Adjusted tool descriptions to emphasize compact outputs and proper index handling.
- Improved handling of slide indices to accommodate user-friendly 1-based references.
2026-04-24 09:51:21 +05:45
sudipnext
efd69cc134 Add chat functionality to FastAPI presentation service
- Introduced a new chat endpoint for handling user messages and generating responses.
- Added models for chat message requests and responses.
- Implemented a conversation store to manage chat history.
- Integrated memory layer for retrieving presentation context.
- Created tools for accessing presentation outlines and searching slides.
- Updated dependencies to include jsonschema for validation.
- Enhanced the API router to include the new chat functionality.
2026-04-24 09:34:56 +05:45
Sudip Parajuli
fe1e7480f6
Merge pull request #534 from presenton/auth-setup
Auth setup
2026-04-23 17:45:41 +05:45
sudipnext
f8da1802fd Enhance authentication handling in FastAPI by adding basic authentication support and improving session token management. Introduced new utility functions for retrieving configured usernames and basic auth credentials, and updated middleware to utilize these enhancements for better session management. 2026-04-23 17:00:17 +05:45
sauravniraula
1030f07ec7
chore: fixes chatgpt none content issue 2026-04-23 13:33:35 +05:45
sauravniraula
98d7405777
chore: version bump of llmai to 0.1.9 2026-04-23 13:20:18 +05:45
sauravniraula
f76d17314a
feat: integrates llmai instead of using old llm client and tool call handlers 2026-04-23 11:42:15 +05:45
sudipnext
ad3b31a359 Enhance Docker configuration by adding new environment variables for image generation and updating dependencies in Dockerfile and FastAPI. This includes support for image providers and quality settings, improving flexibility in deployment configurations. 2026-04-22 17:32:13 +05:45
Sudip Parajuli
4e96a652e9
Merge pull request #531 from presenton/fix/reduce-docker-image-size
Fix/reduce docker image size
2026-04-22 16:54:48 +05:45
sudipnext
7552be0bf2 fix: update authentication response handling in FastAPI and Next.js to reflect account setup status 2026-04-22 13:00:45 +05:45
sudipnext
d07f8f05f6 fix: update placeholder image paths to use a consistent placeholder.jpg across image generation service and tests 2026-04-22 12:50:21 +05:45
sauravniraula
501a155ad0
refactor: reduces images size to around 2.5gb 2026-04-21 17:43:07 +05:45
sudipnext
effa9ad026 feat: implement single-user authentication with environment variable support and update FastAPI middleware for session management 2026-04-21 17:41:37 +05:45
Sudip Parajuli
7f4d6acdd8
Merge branch 'main' into feat/docker-release-electron-sync 2026-04-20 20:56:20 +05:45
sudipnext
e0a66c8963 Refactor code structure for improved readability and maintainability 2026-04-20 19:47:59 +05:45
sudipnext
9d5bdae20c feat: update DEFAULT_CODEX_MODEL to gpt-5.2 across relevant files 2026-04-20 14:13:09 +05:45
sudipnext
3d06644914 feat: update placeholder image references and improve asset handling
- Replaced all instances of the placeholder image path from "/static/images/placeholder.jpg" to "/static/images/replaceable_template_image.png".
- Added a new Nginx location block for serving app data with a long cache expiration.
- Enhanced the image generation service to return the new template image when generation fails.
- Updated various services and endpoints to ensure consistent handling of asset paths, including resolving backend asset URLs.
- Removed Electron-specific checks from several components to streamline API calls and improve compatibility with web deployments.
- Improved error handling and logging in the PDF export process.
- Adjusted Next.js configuration for API routing to ensure proper asset serving in Docker environments.
2026-04-18 20:56:37 +05:45
sudipnext
5e4ee9e039 Refactor presentation export runtime handling
- Update sync-presentation-export script to read version from package.json instead of export-version.json.
- Change entrypoint from index.js to index.cjs for CommonJS compatibility.
- Implement logic to ensure CommonJS entrypoint is created if missing.
- Modify ExportTaskService to resolve entrypoint path dynamically.
- Remove inline Puppeteer PDF export logic in favor of bundled export package.
- Add runtime availability checks and sync script execution in start.js.
- Introduce helper functions for output path normalization and entrypoint resolution.
2026-04-18 16:49:42 +05:45
sudipnext
040c619889 fix: refine web search handling in LLM client and presentation outline generation
- Updated LLMClient to include CODEX in web search checks.
- Simplified web search logic in generate_ppt_outline to improve clarity and efficiency.
- Ensured consistent usage of web search settings across methods.
2026-04-16 20:11:25 +05:45
sudipnext
a3a6a1acd2 Refactor code structure and remove redundant changes in multiple sections 2026-04-16 13:33:21 +05:45
shiva raj badu
4af3534c6d
feat: new templates & update template preview, template selection, custom template 2026-04-15 21:52:55 +05:45
Saurav Niraula
6522299f25
Merge pull request #456 from voidborne-d/fix/db-connection-pool-config
fix: configure SQLAlchemy connection pool and dispose engines on shutdown
2026-04-15 18:35:31 +05:45
Saurav Niraula
8b63e407e1
Merge pull request #497 from hilotechinc/main
feat: add Open WebUI as image generation provider
2026-04-15 18:34:09 +05:45
sudipnext
c7860127f2 feat: add support for optional embedded Ollama and enhance database migration handling
- Updated docker-compose.yml to allow disabling embedded Ollama via environment variable.
- Refactored Dockerfile and Dockerfile.dev for improved dependency management and installation process.
- Enhanced FastAPI migration scripts to handle orphaned Alembic revisions and added new database migration logic.
- Improved error handling in background tasks and Codex authentication endpoints.
- Added support for font file uploads with better validation and extraction of font names.
- Introduced new image search functionality with support for Pexels and Pixabay APIs.
2026-04-15 15:39:35 +05:45
shiva raj badu
24177d3961
fix: ComfyUI generation issue 2026-04-11 22:02:42 +05:45
Christopher Quenneville
f2703ec003 feat: add Open WebUI as image generation provider
Add native support for Open WebUI's image generation API as a new
image provider option. Open WebUI exposes an OpenAI-like
/v1/images/generations endpoint but with key differences that
require special handling:

- Response is a bare JSON array instead of {"data": [...]}
- Image URLs are relative paths (e.g. /api/v1/files/.../content)
- File downloads require the same Bearer auth token

The implementation uses raw HTTP calls via aiohttp rather than the
OpenAI SDK to handle these differences. No model parameter is sent
since Open WebUI manages the image model in its own admin settings.

Backend changes:
- New OPEN_WEBUI enum value in ImageProvider
- generate_image_open_webui() method in ImageGenerationService
- Environment getters/setters for OPEN_WEBUI_IMAGE_URL and
  OPEN_WEBUI_IMAGE_API_KEY
- UserConfig model and config loading/saving pipeline updated

Frontend changes:
- New "Open WebUI" option in image provider dropdown
- Settings UI with URL and optional API key fields
- Validation, field mappings, and config persistence

Docker:
- OPEN_WEBUI_IMAGE_URL and OPEN_WEBUI_IMAGE_API_KEY added to all
  docker-compose service definitions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 12:27:45 -05:00
sudipnext
69baa06c81 feat: update Codex model versions and enhance content length limits 2026-03-27 18:30:03 +05:45
sudipnext
d347786aaa feat: improve handling of Anthropic responses and add retry logic for content retrieval 2026-03-27 16:45:31 +05:45
sudipnext
f050064771 feat: add legacy database migration support and new database schema
- Introduced functions to handle legacy database stamping and migration.
- Added a new Alembic migration script for initializing the database schema.
- Enhanced the migration process to check for unversioned databases and apply necessary stamps before upgrades.
- Created new migration files for adding a theme column to presentations.
2026-03-26 15:33:49 +05:45
voidborne-d
f8156df6f5 fix: configure SQLAlchemy connection pool and dispose engines on shutdown
- Add configurable pool settings via environment variables:
  DB_POOL_SIZE, DB_MAX_OVERFLOW, DB_POOL_TIMEOUT, DB_POOL_RECYCLE,
  DB_POOL_PRE_PING (defaults: 5, 10, 30s, 1800s, true)
- Enable pool_pre_ping by default to detect and recycle stale connections
- Add dispose_engines() called during FastAPI lifespan shutdown to
  release all connections back to the database
- Skip pool configuration for SQLite (uses file-lock, not connection pools)
- Apply changes to both servers/ and electron/ FastAPI instances

Fixes #453 (stale connections exhausting pool)
Fixes #454 (missing pool configuration)
2026-03-20 06:08:54 +00:00
sudipnext
7660379b7d feat: enhance image handling in FastAPI and Next.js with web-safe URLs 2026-03-13 13:34:25 +05:45
sudipnext
bed2d56074 refactor: streamline image path resolution in FastAPI endpoints and PPTX presentation creator using new utility function 2026-03-08 21:08:27 +05:45
sudipnext
2d462d8df4 feat: implement database migration on startup and update dependencies for FastAPI 2026-03-08 20:05:44 +05:45
shiva raj badu
28f2b18e06
feat: completed theme & custom theme UI 2026-03-03 10:50:11 +05:45
shiva raj badu
ef078d57d2
feat: add theme management endpoints, integrate color palette generation and UI implementation 2026-03-02 23:15:15 +05:45
sudipnext
1523511e97 feat: optimize asset fetching by starting tasks immediately for parallel processing 2026-03-02 17:17:46 +05:45