feat: Ordner erstellen/löschen im File Explorer

Backend (WorkspaceEndpoint.cs):
- POST /api/workspace/mkdir – Ordner im Session-Workspace erstellen
- DELETE /api/workspace/dir – Leeren Ordner im Session-Workspace löschen
- POST /api/workspace/agent/mkdir – Ordner im Agent-Memory erstellen
- DELETE /api/workspace/agent/dir – Leeren Ordner im Agent-Memory löschen
- POST /api/workspace/browse/mkdir – Ordner im Folder-Browser erstellen
- Sicherheit: Path-Traversal-Schutz, Root nicht löschbar, nicht-leer → 409

Frontend (file-explorer.js):
- 📁+ Button im Header für neuen Ordner (File Explorer + Folder Browser)
- 🗑️ Button bei jedem Ordner (erscheint on hover, nur File Explorer)
- Validierung: ungültige Zeichen werden abgelehnt

CSS:
- base.css: Icon-Button mit zwei Icons (folder + plus)
- file-explorer.css: Ordner-Zeile als Flex (Label + Delete-Button)
This commit is contained in:
Meleki committed 2026-03-05 21:01:09 +01:00
1 parent d1355dcb0d
commit 8e7bda50f9
4 files changed
+335 -2

No files matched your search

+27
View File
@@ -92,6 +92,33 @@
.fe-dir {
color: var(--text);
display: flex;
align-items: center;
justify-content: space-between;
}
.fe-dir-label {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.fe-dir-del {
opacity: 0;
color: var(--text) !important;
padding: 2px 6px !important;
font-size: .8em;
transition: opacity .15s;
flex-shrink: 0;
}
.fe-dir:hover .fe-dir-del {
opacity: var(--semi-transparent);
}
.fe-dir-del:hover {
opacity: 1 !important;
color: var(--error) !important;
}
.fe-file {