Commit Graph

260 Commits

Author SHA1 Message Date
Aleksander Grygier 5ee232d81c refactor: Use store methods 2026-01-26 08:52:57 +01:00
Aleksander Grygier ee9efae203 refactor: Enums 2026-01-25 13:37:08 +01:00
Aleksander Grygier 7f5284d597 refactor: Cleanup
refactor: Cleanup
refactor: Cleanup
refactor: Cleanup
2026-01-25 13:13:11 +01:00
Aleksander Grygier fc377123b7 refactor: Simplify MCP errors 2026-01-25 02:09:12 +01:00
Aleksander Grygier b58b823b57 refactor: Types 2026-01-25 01:39:49 +01:00
Aleksander Grygier 9bcfdc3483 refactor: DRY 2026-01-25 01:17:59 +01:00
Aleksander Grygier e7ff091881
chore: Add deprecation comment 2026-01-25 01:05:28 +01:00
Aleksander Grygier 5dfc520d67 refactor: Cleanup 2026-01-25 00:48:21 +01:00
Aleksander Grygier 6daa39994c refactor: Naming & Enums 2026-01-25 00:32:37 +01:00
Aleksander Grygier 372202632e refactor: Cleanup 2026-01-25 00:31:49 +01:00
Aleksander Grygier ba230c5cce refactor: Naming + remove redundant component 2026-01-24 23:58:17 +01:00
Aleksander Grygier f7b5f62586 refactor: Remove unused code 2026-01-24 23:45:06 +01:00
Aleksander Grygier d938994395 refactor: Cleanup 2026-01-24 23:38:37 +01:00
Aleksander Grygier 79e606eb99 refactor: Constants 2026-01-24 20:52:19 +01:00
Aleksander Grygier 3d7426cdd4 refactor: Cleanup 2026-01-24 20:47:32 +01:00
Aleksander Grygier 14911e51fc feat: MCP Prompts implementation improvements 2026-01-24 20:30:52 +01:00
Aleksander Grygier 801ef93522 refactor: Message Height CSS Variable 2026-01-24 19:15:38 +01:00
Aleksander Grygier 13f756421c refactor: Enums 2026-01-24 18:37:43 +01:00
Pascal 85b8da45f9 fix: resolve TypeScript error in tool response content 2026-01-24 18:04:01 +01:00
Pascal 9ddc54b668 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-01-24 17:58:20 +01:00
Aleksander Grygier 172e93d494 Merge remote-tracking branch 'ggml-org/master' into allozaur/mcp-mvp 2026-01-24 15:13:58 +01:00
Aleksander Grygier 7c4bedda87 feat: Improve formatting performance time 2026-01-24 13:58:23 +01:00
Aleksander Grygier c39c6ef436 fix: System prompt sorting 2026-01-24 13:44:41 +01:00
Aleksander Grygier 2601bf0f59 fix: Save draft message in Chat Form when adding System Prompt from new chat view 2026-01-24 13:32:49 +01:00
Aleksander Grygier a647edfc0b fix: Chat Form submission 2026-01-24 12:33:24 +01:00
Aleksander Grygier 8428741034 feat: MCP Prompts WIP 2026-01-24 01:26:17 +01:00
Aleksander Grygier 9c391d8e0d feat: UI improvements 2026-01-23 15:21:03 +01:00
Aleksander Grygier 6018f85c65 feat: Architectural improvements 2026-01-22 18:19:37 +01:00
Aleksander Grygier c02e83c32a feat: Per-conversation agentic loop state 2026-01-22 17:38:51 +01:00
Hendrik Erz 3802d3c78f
fix: Use `tabular-nums` for chat message statistics (#18915)
* fix: Use `tabular-nums` for chat message statistics

* fix: Rebuild WebUI
2026-01-21 18:46:01 +01:00
Aleksander Grygier 8a95ec3ea6 feat: Improve MCP Server selection UI + lazy load health checks 2026-01-19 19:01:32 +01:00
Aleksander Grygier cafb9c09d3 feat: UI improvements 2026-01-19 16:56:02 +01:00
Aleksander Grygier 54192b05fb 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-01-19 16:43:53 +01:00
Aleksander Grygier d37683942b fix: Missing onModelChange callback running assistant message re-generation 2026-01-19 16:25:49 +01:00
Pascal 058929d453 fix: acurate tool_response display 2026-01-19 12:11:06 +01:00
Pascal d92b621346 fix: unify MCP server label logic with simplified fallback 2026-01-18 13:10:03 +01:00
Pascal d8af98f1ed 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-01-18 10:42:01 +01:00
Pascal fca7177eae fix: ignore assistant attachments (MCP) for modality detection 2026-01-17 18:36:41 +01:00
Pascal 506da17931 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-01-17 16:30:42 +01:00
Pascal 229aba7c3e fix: strip reasoning content and UI proprietary tags from prompts
TODO: add toggle and ensure backend API compliance for reasoning format
2026-01-16 19:50:36 +01:00
Pascal 78c6380222 refactor: remove reasoning after first turn filter 2026-01-16 15:19:50 +01:00
Pascal 2973c64609 refactor: inline reasoning with tags, remove fixed thinking field 2026-01-16 15:19:42 +01:00
Pascal db37b712b2 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-01-16 10:49:28 +01:00
Pascal a3c2144c1d feat: persist base64 attachments from tool results 2026-01-16 08:07:20 +01:00
Pascal a377605f60 webui: fix custom headers persistence in UI (derived) 2026-01-15 20:36:14 +01:00
Pascal 3360f60b94 webui: fix custom headers persistence in UI 2026-01-15 20:13:01 +01:00
Aleksander Grygier cffc3b46ae fix: Word wrapping 2026-01-15 17:59:57 +01:00
Aleksander Grygier 30a585bb96 feat: UI improvements 2026-01-14 17:32:57 +01:00
Aleksander Grygier 39848ee12f feat: UI improvement 2026-01-14 14:26:41 +01:00
Aleksander Grygier afdae742e3 Merge remote-tracking branch 'ggml-org/master' into allozaur/mcp-mvp 2026-01-14 13:20:25 +01:00
Aleksander Grygier f89bcb90ca feat: MCP Server Details 2026-01-14 11:45:47 +01:00
Aleksander Grygier 5407b2efab feat: MCP connection details WIP 2026-01-12 18:26:48 +01:00
Aleksander Grygier 0009c0c300 refactor: MCP types and health check 2026-01-12 18:12:08 +01:00
Aleksander Grygier 08c1acd1db refactor: KeyValuePairs component 2026-01-12 15:25:43 +01:00
Aleksander Grygier a44332b528 refactor: DRY 2026-01-12 15:10:18 +01:00
Aleksander Grygier 60ef752d0f refactor: Architecture improvements 2026-01-12 14:45:24 +01:00
Aleksander Grygier 58ab834b18 refactor: MCP state management + stores/clients relationship 2026-01-12 14:17:06 +01:00
Aleksander Grygier 528a560a25 fix: Distinguish streaming vs incomplete tool calls in UI 2026-01-12 11:15:58 +01:00
Aleksander Grygier cead02ee58 fix: Restore live reactive UI progress for tool calls 2026-01-12 11:07:56 +01:00
Aleksander Grygier b5226ebd86 Merge origin/allozaur/mcp-mvp: enable streaming of tool call arguments
Resolves conflicts by:
- Keeping clean store architecture (agentic.svelte.ts delegates to client)
- Updating agentic.client.ts to use TOOL_ARGS_START/END format
- Accepting remote AgenticContent.svelte with direct JSON parsing
- Updating ChatMessageAssistant to match new AgenticContent props
2026-01-12 10:55:34 +01:00
Aleksander Grygier 144148125b refactor: Cleanup 2026-01-12 10:28:59 +01:00
Pascal a02acca38d fix: reset tool call state between turns 2026-01-10 19:14:13 +01:00
Pascal b7288a4dd7 webui: enable streaming of tool call arguments 2026-01-10 18:59:57 +01:00
Pascal ec8fd7876b
Webui/file upload (#18694)
* webui: fix restrictive file type validation

* webui: simplify file processing logic

* chore: update webui build output

* webui: remove file picker extension whitelist (1/2)

* webui: remove file picker extension whitelist (2/2)

* chore: update webui build output

* refactor: Cleanup

* chore: update webui build output

* fix: update ChatForm storybook test after removing accept attribute

* chore: update webui build output

* refactor: more cleanup

* chore: update webui build output
2026-01-09 16:45:32 +01:00
Pascal 74b119e81e webui: prevent mobile dropdown immediate close on synthetic click 2026-01-08 22:48:56 +01:00
Pascal d000d84201 webui: fix redirect to root ignoring base path 2026-01-08 15:33:23 +01:00
Aleksander Grygier 2c0add6a90 Merge remote-tracking branch 'origin/allozaur/mcp-mvp' into allozaur/mcp-mvp 2026-01-08 15:02:05 +01:00
Aleksander Grygier 6f7750489e refactor: Types 2026-01-08 14:45:47 +01:00
Aleksander Grygier dfd3031b17 refactor: Componentize McpServerCard 2026-01-08 14:18:30 +01:00
Aleksander Grygier 835c06e0d1 refactor: Cleanup 2026-01-08 14:18:12 +01:00
Aleksander Grygier ddbb7dc2e5 fix: Remove redundant CSS class 2026-01-08 14:11:52 +01:00
Aleksander Grygier bf2a793f42
refactor: Cleanup 2026-01-08 13:49:55 +01:00
Aleksander Grygier 089f38230c feat: Add TruncatedText component 2026-01-08 13:02:46 +01:00
Aleksander Grygier 06febe08b7 fix: Collapsible box trigger 2026-01-08 12:48:15 +01:00
Aleksander Grygier 223c6333e9 refactor: Cleanup 2026-01-08 12:46:10 +01:00
Aleksander Grygier b0ba550928 refactor: Cleanup 2026-01-08 12:03:36 +01:00
Aleksander Grygier 56b34bf63b refactor: Collapsible Content Block & small fixes 2026-01-08 09:17:24 +01:00
Aleksander Grygier 98bce85b1f refactor: Cleanup 2026-01-07 15:44:23 +01:00
Aleksander Grygier 10e5ad1396 feat: UI improvements 2026-01-07 14:01:27 +01:00
Aleksander Grygier bc07e0723d feat: Always show Mcp Selector 2026-01-07 14:01:27 +01:00
Pascal 4c095df509 fix: remove double scrollbar in model selector by using Bits UI content available height 2026-01-07 12:23:03 +01:00
Aleksander Grygier 2d6020b574 feat: Enable adding System Prompt per-chat 2026-01-05 14:30:11 +01:00
Aleksander Grygier 469263668f fix: UI 2026-01-05 11:59:31 +01:00
Aleksander Grygier f3734b5b7c feat: UI improvements 2026-01-05 11:53:53 +01:00
Pascal 653f85fedd webui: raw tool result display, strip only leading/trailing newlines to preserve indentation 2026-01-05 09:01:31 +01:00
Pascal fc7218ae11 webui: split raw output into backend parsing and frontend display options 2026-01-05 09:01:31 +01:00
Pascal 4f9d9d41b9 webui: remove legacy wrapper and restore WebSocket transport 2026-01-05 09:01:31 +01:00
Pascal 183d9eebff webui: remove unused imports 2026-01-05 09:01:31 +01:00
Aleksander Grygier c5d01fbb8f feat: Improve agentic tool call streaming display with 'in progress' state 2026-01-05 09:01:31 +01:00
Aleksander Grygier f755673c6f feat: Enhance MCP server dropdown with search, popularity sorting, and per-chat overrides 2026-01-05 09:01:31 +01:00
Aleksander Grygier 81ad2d5569 feat: Add per-chat MCP server overrides 2026-01-05 09:01:31 +01:00
Aleksander Grygier 2592471d11 feat: Add image load error fallback in MarkdownContent 2026-01-05 09:01:31 +01:00
Aleksander Grygier 069be7b517 feat: Implement lazy MCP client shutdown 2026-01-05 09:01:31 +01:00
Aleksander Grygier 9571e07687 feat: Enhance tool call streaming UI and output format 2026-01-05 09:01:31 +01:00
Aleksander Grygier 260375819d feat: Display and manage servers in ChatForm actions 2026-01-05 09:01:31 +01:00
Aleksander Grygier 74345d8785 feat: Integrate server management dialog into chat settings 2026-01-05 09:01:31 +01:00
Aleksander Grygier dde5e1582c feat: Implement dedicated server management UI components 2026-01-05 09:01:31 +01:00
Aleksander Grygier c24d5e36f0 refactor: Centralize health check logic in store 2026-01-05 09:01:31 +01:00
Aleksander Grygier f87b10ee66 feat: Enhance server config with headers and schema normalization 2026-01-05 09:01:31 +01:00
Aleksander Grygier 778ad550b1 feat: Add McpLogo Svelte component 2026-01-05 09:01:31 +01:00