feat(inter-agent): surface frontend des annonces live sur les cellules (F1-F3)

Affiche les annonces d'agent en direct au-dessus des cellules, sur la base
develop :

- announcements: nouveau feature module — store réactif, provider
  d'abonnement aux événements, overlay par cible et aperçu, avec tests
  (announcementsStore + provider).
- App.tsx: montage du provider dans l'arbre applicatif.
- domain/index.ts: types partagés de l'événement d'annonce côté front.
- layout: composition de l'overlay dans LayoutGrid + règle d'exclusion
  couverte par overlayExclusion.test.ts.
- AgentsPanel: intègre l'aperçu des annonces dans la surface existante.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 19:50:13 +02:00
parent aa5a4f30ae
commit 50b2adfde3
12 changed files with 1083 additions and 2 deletions

View File

@ -165,6 +165,25 @@ export type DomainEvent =
agentId: string;
version: number;
}
| {
/**
* An intermediate assistant announcement emitted **during** an inter-agent
* structured turn (ticket #4, "annonces inter-agent"). Mirror of the backend
* `DomainEventDto::AgentAnnouncement`. Ephemeral (never persisted): the front
* folds these into a live, bounded, per-`(target, ticketId)` index that feeds
* the target-cell overlay (F3) and the requester-cell preview (F2).
*
* `requester` is `"user"` or the requesting agent's id; `target` is the agent
* being contacted; `text` is the human-readable réflexion/annonce.
*/
type: "agentAnnouncement";
projectId: string;
requester: string;
target: string;
ticketId: string;
text: string;
atMs: number;
}
| { type: "ptyOutput"; sessionId: string; bytes: number[] };
/**