feat(tickets): ajoute les pièces jointes sur tickets (#108)

Stockage flat côté ticket + métadonnées d'attachments, lecture exposée côté
backend/MCP, et UI minimale de liste/ajout dans TicketDetail. Traverse le
domaine (Issue, ports), l'application (usecases + assistant de ticket), les
adaptateurs infra/MCP (issues store, orchestrateur), les DTO backend/web-
server/app-tauri, et le frontend (domain/ports/adapters/hooks/UI).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 11:08:45 +02:00
parent 2692b9cc03
commit 8158057b1d
34 changed files with 1722 additions and 102 deletions

View File

@ -1473,6 +1473,25 @@ export type TicketActor =
| { kind: "agent"; agentId: string }
| { kind: "system" };
/** Metadata for a file attached to a ticket (mirror of `TicketAttachmentDto`). */
export interface TicketAttachment {
id: string;
filename: string;
mime: string;
sizeBytes: number;
addedBy: TicketActor;
addedAt: number;
summarizedInCarnet: boolean;
summarizedBy?: TicketActor | null;
summarizedAt?: number | null;
}
/** Raw ticket attachment content (mirror of `TicketAttachmentContentDto`). */
export interface TicketAttachmentContent {
attachment: TicketAttachment;
contentBase64: string;
}
/** One directed link from a ticket to another (mirror of `TicketLinkDto`). */
export interface TicketLink {
targetRef: TicketRef;
@ -1510,6 +1529,7 @@ export interface Ticket {
carnet?: string;
links: TicketLink[];
assignedAgentIds: string[];
attachments: TicketAttachment[];
createdBy: TicketActor;
updatedBy: TicketActor;
createdAt: number;