feat(chat): #155 paste image depuis presse-papier dans le composer custom (QA verte)

- frontend: onPaste sur CustomAgentChatView, détection MIME image, chip/preview d'attachment, envoi via le contrat #154 (adapters/agent, ports)

- backend: import d'image par bytes dans le store attachments (commands, chat_attachments app+infra, dto, ports) + tests
This commit is contained in:
2026-08-06 11:01:50 +02:00
parent 88dfbfe471
commit 790c4755be
15 changed files with 791 additions and 84 deletions

View File

@ -2971,7 +2971,14 @@ impl From<TerminalSession> for TerminalSessionDto {
#[serde(rename_all = "camelCase")]
pub struct ChatAttachmentInputDto {
/// Local source path selected or staged by the driving adapter.
pub path: String,
#[serde(default)]
pub path: Option<String>,
/// Display filename for in-memory content, for example clipboard images.
#[serde(default)]
pub filename: Option<String>,
/// Base64-encoded raw content for in-memory attachment import.
#[serde(default)]
pub content_base64: Option<String>,
/// Optional MIME type known by the frontend/OS picker.
#[serde(default)]
pub mime: Option<String>,