Commit Graph

200 Commits

Author SHA1 Message Date
Aleksander Grygier 3527446892 refactor: Remove unused code 2026-02-13 13:36:55 +01:00
Aleksander Grygier 374523be3d refactor: Cleanup 2026-02-13 13:36:55 +01:00
Aleksander Grygier b0b7b3c42f refactor: Constants 2026-02-13 13:36:55 +01:00
Aleksander Grygier 69efb479a3 refactor: Cleanup 2026-02-13 13:36:55 +01:00
Aleksander Grygier 12d94f0857 feat: MCP Prompts implementation improvements 2026-02-13 13:36:55 +01:00
Aleksander Grygier fa36a54a1e refactor: Message Height CSS Variable 2026-02-13 13:36:55 +01:00
Aleksander Grygier 2869241790 refactor: Enums 2026-02-13 13:36:55 +01:00
Pascal 670a922786 fix: resolve TypeScript error in tool response content 2026-02-13 13:35:58 +01:00
Pascal 60027a53db webui: enable vision in agentic tool responses
- Include images from all message roles (not just user)
- Add multipart content support for tool responses
- Images from MCP tools now accessible in same agentic turn
2026-02-13 13:35:58 +01:00
Aleksander Grygier dd1fe96e18 feat: Improve formatting performance time 2026-02-13 13:35:58 +01:00
Aleksander Grygier eed0c5ae48 fix: System prompt sorting 2026-02-13 13:35:58 +01:00
Aleksander Grygier 16aa6fae0a fix: Save draft message in Chat Form when adding System Prompt from new chat view 2026-02-13 13:33:06 +01:00
Aleksander Grygier 0fe25847ff fix: Chat Form submission 2026-02-13 13:33:06 +01:00
Aleksander Grygier 141540ccbb feat: MCP Prompts WIP 2026-02-13 13:33:05 +01:00
Aleksander Grygier 43da6b8676 feat: UI improvements 2026-02-13 13:32:47 +01:00
Aleksander Grygier aaeea933b7 feat: Architectural improvements 2026-02-13 13:30:16 +01:00
Aleksander Grygier da252e3425 feat: Per-conversation agentic loop state 2026-02-13 13:28:24 +01:00
Aleksander Grygier a8c2e66e92 feat: Improve MCP Server selection UI + lazy load health checks 2026-02-13 13:28:24 +01:00
Aleksander Grygier f8d6d16df1 feat: UI improvements 2026-02-13 13:21:35 +01:00
Aleksander Grygier 690dd09b5f feat: Simplify MCP server enabling logic per chat
Refactors MCP server enabling logic to remove the dependency on global settings.

This simplifies the logic by directly checking the per-chat override status, and removes the need to pass the global enabled state as a parameter.

Additionally:
- Only shows MCP servers that are enabled in settings in the selector.
- Sorts the servers by whether they are enabled for the current chat.
2026-02-13 13:21:35 +01:00
Aleksander Grygier 52f21b4ca4 fix: Missing onModelChange callback running assistant message re-generation 2026-02-13 13:21:35 +01:00
Pascal a2cce59d69 fix: acurate tool_response display 2026-02-13 13:21:35 +01:00
Pascal fdd67f45e6 fix: unify MCP server label logic with simplified fallback 2026-02-13 13:21:35 +01:00
Pascal a515179730 refactor: remove multimodal validation from model selector
Remove all frontend validation logic that prevented users from selecting
models based on multimodal capabilities. This refactoring removes
restrictive UI code while maintaining full functionality

- Vision models can describe images as text
- That text remains useful for non-vision models
- Chaining vision -> non-vision is a valid workflow
- Users know their use case better than the UI
- Users can return to vision models when needed
2026-02-13 13:21:35 +01:00
Pascal 37c084873c fix: ignore assistant attachments (MCP) for modality detection 2026-02-13 13:21:35 +01:00
Pascal 6d41f74031 refactor: eliminate MCP circular dependency
- Change architecture from mcpStore <-> mcpClient to mcpClient -> mcpStore
- Remove bidirectional callback pattern (set*Callback, notify* methods)
- Add updateState/updateHealthCheck public methods in mcpStore
- Replace callback calls with direct mcpStore method calls
- Remove unused imports (browser, HealthCheckState) and constructor
- Fixes CI: ReferenceError Cannot access mcpClient before initialization
2026-02-13 13:21:35 +01:00
Pascal 23741b3c6a fix: strip reasoning content and UI proprietary tags from prompts
TODO: add toggle and ensure backend API compliance for reasoning format
2026-02-13 13:21:34 +01:00
Pascal fb1ec29898 refactor: remove reasoning after first turn filter 2026-02-13 13:21:34 +01:00
Pascal fc5d9f587f refactor: inline reasoning with tags, remove fixed thinking field 2026-02-13 13:21:34 +01:00
Pascal c73baed7e3 feat: resolve MCP attachment images via rehype plugin
LLM can reference tool-generated images using markdown links like,
plugin resolves attachment names to base64 from message.extra when present,
regular HTTP/data URLs pass through unchanged (no regression)

- rehypeResolveAttachmentImages plugin in markdown pipeline
- Pass message prop to MarkdownContent and AgenticContent
- Force processor reactivity on message.extra changes
- Filter assistant images from API context (display-only)
2026-02-13 13:21:34 +01:00
Pascal 09381a59fd feat: persist base64 attachments from tool results 2026-02-13 13:21:34 +01:00
Pascal f16457551e webui: fix custom headers persistence in UI (derived) 2026-02-13 13:21:34 +01:00
Pascal f42e5f114e webui: fix custom headers persistence in UI 2026-02-13 13:21:34 +01:00
Aleksander Grygier 162bd976ed fix: Word wrapping 2026-02-13 13:21:34 +01:00
Aleksander Grygier 008463149b feat: UI improvements 2026-02-13 13:21:34 +01:00
Aleksander Grygier 805c171825 feat: UI improvement 2026-02-13 13:21:34 +01:00
Aleksander Grygier cad9ca1208 feat: MCP Server Details 2026-02-13 13:21:34 +01:00
Aleksander Grygier 825d2ea9a9 feat: MCP connection details WIP 2026-02-13 13:21:34 +01:00
Aleksander Grygier 2b37f70c37 refactor: MCP types and health check 2026-02-13 13:21:34 +01:00
Aleksander Grygier 38ba6d8372 refactor: KeyValuePairs component 2026-02-13 13:21:34 +01:00
Aleksander Grygier 57089370e4 refactor: DRY 2026-02-13 13:21:34 +01:00
Aleksander Grygier e1da51335c refactor: Architecture improvements 2026-02-13 13:21:34 +01:00
Aleksander Grygier 48b2b1b2f0 refactor: MCP state management + stores/clients relationship 2026-02-13 13:21:34 +01:00
Aleksander Grygier da8baaa9b8 fix: Distinguish streaming vs incomplete tool calls in UI 2026-02-13 13:21:34 +01:00
Aleksander Grygier 9471729162 fix: Restore live reactive UI progress for tool calls 2026-02-13 13:21:34 +01:00
Pascal 179477b4ed fix: reset tool call state between turns 2026-02-13 13:21:34 +01:00
Pascal 38244a1bfa webui: enable streaming of tool call arguments 2026-02-13 13:21:34 +01:00
Aleksander Grygier 5ffb6aba3a refactor: Cleanup 2026-02-13 13:21:34 +01:00
Pascal 96e51e2a41 webui: prevent mobile dropdown immediate close on synthetic click 2026-02-13 13:20:42 +01:00
Pascal 8916698294 webui: fix redirect to root ignoring base path 2026-02-13 13:20:42 +01:00