--- issueRef: "#188" version: 5 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1786620908011 --- 2026-08-13 — implémentation backend + frontend Backend - `ReplyChunk::UserPrompt` conserve `attachments: string[]` pour compatibilité. - Ajout de `attachmentRefs: ChatPromptAttachmentDto[]` avec `reference`, `filename`, `mime`, `sizeBytes`, `readablePath`. - `agent_send` génère ces refs après import effectif dans l'ordre canonique backend : `[image N]` pour les images, `[file N]` pour les autres fichiers. - Le prompt modèle inclut les mêmes refs ; l'UI n'invente plus la numérotation. Frontend - `UserPrompt` consomme `attachmentRefs` avec fallback legacy depuis `attachments: string[]`. - Les attachments s'affichent comme appendice compact du message utilisateur (`[image 1] screenshot.png`, etc.). - Ajout d'une poignée de resize locale par cellule pour la zone chat custom, avec bornes, persistance localStorage et reset à la valeur par défaut. - Aucun changement du layout métier. Fichiers modifiés - crates/backend/src/dto.rs - crates/app-tauri/src/commands.rs - crates/app-tauri/src/chat.rs - crates/app-tauri/tests/chat_bridge.rs - crates/app-tauri/tests/dto_chat.rs - frontend/src/domain/index.ts - frontend/src/features/agents/CustomAgentChatView.tsx - frontend/src/features/agents/CustomAgentChatView.test.tsx - frontend/src/features/layout/LayoutGrid.tsx - frontend/src/features/layout/LayoutGrid.chat.test.tsx Tests verts déclarés - Backend: dto_chat, chat_bridge, chat_prompt_attachment_projection_tests - Frontend: CustomAgentChatView.test.tsx, LayoutGrid.chat.test.tsx, LayoutGrid.cellControlsLayering.test.tsx, typecheck, diff --check Point résiduel - Fallback frontend legacy sans `attachmentRefs` déduit image/fichier depuis l'extension du filename ; la projection backend reste la source canonique.