feat: add session config sidebar with override level, tools, and permissions

Implements issue #13 — right sidebar for session configuration with
override level selection, disabled tools checkboxes, and granted
permissions input. Integrates config into chat page header with toggle
button and non-default indicator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shahondin1624
2026-03-12 12:03:40 +01:00
parent 1e62f7d1c1
commit 7b81de9ffd
4 changed files with 243 additions and 2 deletions

View File

@@ -14,3 +14,4 @@
| #10 | Final result rendering with artifacts | COMPLETED | [issue-010.md](issue-010.md) |
| #11 | Session creation and ID management | COMPLETED | [issue-011.md](issue-011.md) |
| #12 | Session history sidebar | COMPLETED | [issue-012.md](issue-012.md) |
| #13 | Session config sidebar component | COMPLETED | [issue-013.md](issue-013.md) |

View File

@@ -0,0 +1,30 @@
---
---
# Issue #13: Session config sidebar component
**Status:** COMPLETED
**Issue:** https://git.shahondin1624.de/llm-multiverse/llm-multiverse-ui/issues/13
**Branch:** `feature/issue-13-config-sidebar`
## Acceptance Criteria
- [x] Right sidebar component for session configuration
- [x] Override level selection (None / Relax / All) with radio-style buttons
- [x] Disabled tools toggle checkboxes using ToolType enum values
- [x] Granted permissions free-text input with add/remove
- [x] Toggle button in header with non-default config indicator dot
- [x] Reset button to restore defaults
- [x] Config passed to processRequest on send
## Implementation
### Components
- `ConfigSidebar.svelte` — right sidebar with override level, disabled tools, and granted permissions sections
- Updated `+page.svelte` — added config toggle button in header, sessionConfig state, and ConfigSidebar integration
### Key Decisions
- Used `@bufbuild/protobuf` `create()` with `SessionConfigSchema` for immutable config updates
- Config state lives in `+page.svelte` and is passed down as prop
- Non-default config indicator (amber dot) shown in both the header toggle button and sidebar header
- Disabled tools stored as string labels matching ToolType enum display names