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

@ -1662,7 +1662,9 @@ export class MockWorkStateGateway implements WorkStateGateway {
}
async getProjectWorkState(projectId: string): Promise<ProjectWorkState> {
return structuredClone(this.states.get(projectId) ?? { agents: [] });
return structuredClone(
this.states.get(projectId) ?? { agents: [], conversations: [] },
);
}
}
@ -1670,6 +1672,7 @@ type LegacyProjectWorkState = {
agents: Array<Omit<ProjectWorkState["agents"][number], "tickets"> & {
tickets?: ProjectWorkState["agents"][number]["tickets"];
}>;
conversations?: ProjectWorkState["conversations"];
};
function normalizeProjectWorkState(
@ -1680,6 +1683,7 @@ function normalizeProjectWorkState(
...structuredClone(agent),
tickets: structuredClone(agent.tickets ?? []),
})),
conversations: structuredClone(state.conversations ?? []),
};
}