Commit graph

362 commits

Author SHA1 Message Date
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
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
sudipnext
34eed2413f feat: update version to 0.6.1-beta and ensure array schemas have items in JSON responses 2026-03-02 17:11:25 +05:45
sudipnext
2eff131f6b feat: enhance LLMClient with new Codex generation method and refactor tool handling
- Added a new method `_generate_codex` to LLMClient for generating responses using the Codex Responses API.
- Refactored tool handling to support structured tool calls and improved error handling during Codex interactions.
- Updated the client initialization for Codex to streamline the generation process.
- Enhanced message processing to accommodate new input formats and recursion for tool calls.
2026-02-27 18:38:52 +05:45
sudipnext
d2e3ab9d15 feat: add CodexLLMAdapter for structured LLM calls and integrate with LLMClient
- Introduced CodexLLMAdapter to handle structured and unstructured LLM calls via the Codex Responses API.
- Implemented methods for converting tool formats and building request bodies for Codex.
- Refactored LLMClient to utilize CodexLLMAdapter, enhancing tool call handling and response processing.
- Updated LLMToolCallsHandler to support Codex as a valid LLM provider.
- Enhanced schema utilities for better JSON schema handling.
2026-02-26 12:38:58 +05:45
sudipnext
5f5482cfd5 feat: enhance LLMClient with Codex integration and error handling
- Implemented a new method to create an AsyncOpenAI client specifically for Codex.
- Added functionality to convert Codex event responses into a dictionary format for easier consumption.
- Updated the streaming methods to utilize the new Codex client and handle API errors gracefully.
- Improved logging for debugging purposes during Codex interactions.
- Refactored message handling in the slide content generation function for clarity and efficiency.
2026-02-25 17:56:39 +05:45
sudipnext
d2e85a8ffa feat: implement Codex OAuth flow and integrate into application
- Added Codex authentication endpoints and logic for OAuth flow.
- Updated Docker configuration to expose port 1455 for Codex callback.
- Enhanced user configuration model to include Codex-related fields.
- Integrated Codex selection into the LLM provider UI.
- Implemented token management and refresh logic for Codex.
- Added utility functions for handling Codex OAuth tokens and state management.
2026-02-24 18:51:35 +05:45
sudipnext
50570516cd feat: enhance fastapi server.spec to conditionally include fastembed_cache and update pyproject.toml for package discovery 2026-02-21 13:43:03 +05:45
sudipnext
7759936d44 chore: clean up test workflow by removing redundant dependencies and test steps 2026-02-21 13:23:47 +05:45
sudipnext
d623fa6670 fix: add fallback to placeholder icon when no icon is found in slide processing 2026-01-04 17:49:22 +05:45
sudipnext
c5e36ab565 fix: rename 'prompt' to 'content' in presentation generation API and update tests accordingly 2026-01-04 17:33:05 +05:45
sauravniraula
908bea18b5
feat: adds gpt image 1.5 2025-12-21 01:14:31 +05:45
shiva raj badu
f421260bfc
feat: nano banana image generation model integration 2025-12-19 00:41:55 +05:45
shiva raj badu
ea8db1bfdd
feat: replace local image provider with ComfyUI configuration in environment variables and user settings 2025-12-18 22:42:53 +05:45
shiva raj badu
e72cea3655
feat: integrate ComfyUI workflow for local image generation 2025-12-17 21:04:32 +05:45
shiva raj badu
0a70f3c4e3
refactor: image generation service handle multiple response formats 2025-12-16 19:29:23 +05:45
shiva raj badu
c34fb75302
feat: local image provider 2025-12-15 19:12:34 +05:45
sauravniraula
c9b60d5f51
fix: default ollama url 2025-11-28 02:56:33 +05:45
sauravniraula
939ebf87af
fix: issue where shadow was causing issue on powerpoint and keynote 2025-11-28 00:54:38 +05:45
sauravniraula
bcf8dabbed
feat: adds option to disable image generation for slides 2025-11-28 00:27:54 +05:45
sauravniraula
dc17336508
fix: changes host to localhost for everything except nginx 2025-11-27 23:11:34 +05:45
sauravniraula
1e7950670f
fix: issue with document loader in API endpoints 2025-11-13 03:35:42 +05:45
sauravniraula
aa610d5c86
fix: adds checks for empty openai choices 2025-11-13 03:25:18 +05:45
sauravniraula
f773e0a66d
feat(fastapi): adds trigger_webhook option in generate request 2025-09-17 14:54:12 +05:45
sauravniraula
60f030abf7
chore(fastapi): refactor webhook id to use different format 2025-09-16 18:06:59 +05:45
sauravniraula
c143fdf964
fix: list new tables for creation 2025-09-16 17:49:52 +05:45
sauravniraula
f13c58e805
fix(fastapi): issue on check if request is valid method response 2025-09-16 17:46:53 +05:45
Saurav Niraula
527d3eb890
Merge branch 'main' into feat/mock-endpoints 2025-09-16 17:36:07 +05:45
Saurav Niraula
e8af94d4a5
Merge pull request #293 from presenton/feat/webhook-support
feat(fastapi): adds webhook support which lets you listen to events
2025-09-16 17:34:55 +05:45
sauravniraula
8ba149c6f0
feat(fastapi): adds mock endpoints for webhook events 2025-09-16 17:33:34 +05:45
sauravniraula
b964e2d9e1
feat(fastapi): adds webhook support which lets you listen to events 2025-09-16 17:31:22 +05:45
sauravniraula
32e91732ad
feat(fastapi): adds async endpoint for presentation generation and status check 2025-09-16 17:27:04 +05:45
sauravniraula
c6ca4fe8a7
fix(fastapi): yield SSEErrorResponse on outline parse instead of raising 2025-09-15 22:08:17 +05:45
sauravniraula
7e4cf73f68
chore: adds exception traceback.print in outlines 2025-09-12 02:47:50 +05:45
sauravniraula
cc78faea73
fix(fastapi): /edit, /derive and /export endpoints 2025-09-12 02:27:59 +05:45
sauravniraula
3c5ba63309
feat(fastapi): uses better json loader that parses dirty json 2025-09-12 01:28:59 +05:45
sauravniraula
d344721708
fix: placeholder icon 2025-09-11 22:37:21 +05:45
sauravniraula
4a7f23adcc
Merge branch 'development' of github.com:presenton/presenton into development 2025-09-11 22:11:35 +05:45
sauravniraula
e28825d36b
refactor: use pdfplumber for pdf to images 2025-09-11 22:08:24 +05:45
shiva raj badu
3254db8808
fix: update presentation reference in summary 2025-09-11 16:57:31 +05:45
shiva raj badu
ed154269d8
feat: Svg Icons & Icon Editor for svg 2025-09-11 16:02:03 +05:45
sauravniraula
762ac9e8b1
fix(fastapi): llm client issue where tool call arguments is None while streaming (openai) 2025-09-08 00:30:16 +05:45