feat(workstate): UI des résumés de conversation (Lot C frontend)

Affiche les résumés de conversation dans ProjectWorkStatePanel à partir du
DTO camelCase : type de domaine et adaptateur mock alignés, panneau enrichi.

Tests verts : workstate.test.tsx + projects.test.tsx (2 fichiers / 19),
tsc --noEmit OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 19:29:01 +02:00
parent e9edadca50
commit c50622e944
4 changed files with 292 additions and 32 deletions

View File

@ -169,6 +169,33 @@ export interface AgentTicketState {
taskLen: number;
}
/** Availability of a compact conversation summary in the work-state read-model. */
export type ConversationPreviewStatus =
| "ready"
| "missing"
| "partial"
| "unavailable";
/** Recent turn preview attached to a conversation summary. */
export interface ConversationTurnWorkPreview {
role: "prompt" | "response" | "toolActivity";
source: TicketWorkSource;
atMs: number;
textPreview: string;
textLen: number;
}
/** Compact thread context joined to tickets by conversation id. */
export interface ConversationWorkSummary {
conversationId: string;
status: ConversationPreviewStatus;
objectivePreview: string | null;
summaryPreview: string | null;
summaryLen: number;
upTo: string | null;
recentTurns: ConversationTurnWorkPreview[];
}
/** One agent row in the project work-state read-model. */
export interface AgentWorkState {
agentId: string;
@ -182,6 +209,7 @@ export interface AgentWorkState {
/** Minimal read-only live-state surface for a project. */
export interface ProjectWorkState {
agents: AgentWorkState[];
conversations: ConversationWorkSummary[];
}
// ---------------------------------------------------------------------------