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:
@ -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[];
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user