Add image preview support: Krea-tag parsing with modal, file-explorer preview, skill output endpoint, increase execute timeout to 180s

- SkillEndpoint: GET /api/skills/{slug}/output/{filename} for skill output files
- WorkspaceEndpoint: GET /api/workspace/raw for raw file serving (images)
- File-Explorer: Image preview for png/jpg/gif/webp/svg/bmp/ico
- Chat UI: Parse [Krea: filename] tags into clickable chips with image modal
- ToolService: Increase execute timeout from 30s to 180s for long-running skills
This commit is contained in:
Meleki committed 2026-03-01 20:00:35 +01:00
1 parent cf6caea2dc
commit 9e4ed6dada
7 files changed
+253 -3

No files matched your search

+47
View File
@@ -602,3 +602,50 @@
max-height: 60vh;
overflow: auto;
}
/* Krea Image Refs in Assistant Bubbles */
.krea-ref-chip {
display: inline-flex;
align-items: center;
gap: .3em;
padding: .15em .5em;
background: var(--f2-bg);
border: var(--border-width) solid var(--f2-border);
border-radius: var(--border-radius);
font-size: var(--font-size);
white-space: nowrap;
vertical-align: baseline;
cursor: pointer;
transition: background var(--transition-duration), border-color var(--transition-duration);
}
.krea-ref-chip:hover {
border-color: var(--f3-border);
background: var(--f3-bg);
}
.krea-ref-chip .fa {
color: var(--primary);
}
/* Krea Image Modal */
.krea-modal {
max-width: 90vw;
max-height: 90vh;
}
.krea-modal-body {
display: flex;
align-items: center;
justify-content: center;
padding: var(--box-spacing);
}
.krea-modal-image {
max-width: 100%;
max-height: 75vh;
object-fit: contain;
border-radius: var(--border-radius);
}
+16
View File
@@ -105,6 +105,22 @@
margin: auto;
}
.fe-image-preview {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
padding: 1em;
overflow: auto;
}
.fe-image-preview img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
border-radius: 4px;
}
/* ── CodeMirror / EasyMDE gemeinsame Wrapper-Basis ── */