feat(frontend): queue custom CLI messages while agent is busy and add Final/latest-message navigation — #352 (QA verte)
Custom CLI composer stays active during busy turns: submitting while the agent works enqueues the message instead of sending it. Local FIFO queue scoped per cell (projectId+agentId+layoutId+nodeId), entries carry id, text, attachments snapshot and createdAtMs; single in-flight transmission, entry removed at send time, auto-drain only on final chunk, queue preserved on error/Stop with 'Relancer l'agent' action on stopped cells. 'En attente · N' panel anchored above the composer: order, 2-line preview, per-entry edit/delete with transient undo, clear all with confirmation; main button switches Send / 'Mettre en attente' with live announcement; layout contract updated (CLI visible while busy, textarea enabled, Stop available). Chat navigation: round up-arrow under the agent bar jumps to previous Final, round down-arrow above the composer appears when not at bottom to jump to latest message, auto-scroll suspended while reading history, prefers-reduced-motion and 44px a11y targets respected. Ports unchanged (AgentGateway send/cancel/reattach, restartCellAgentRuntime). QA verte reconfirmée par Git: targeted suites 115/115 (CustomAgentChatView/LayoutGrid/LayoutGrid.chat), git diff --check; QA: npm run typecheck OK, npm run build OK. Réserves documentées: queue renderer-local (non persistée après restart complet), validation visuelle cellules très étroites restante. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -204,6 +204,14 @@
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.stopped-agent-cell__queued {
|
||||
margin: 0 0 8px;
|
||||
color: var(--color-warning);
|
||||
font-size: 12px;
|
||||
font-weight: 650;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.stopped-agent-cell__help {
|
||||
margin: 4px 0 0;
|
||||
color: var(--color-muted);
|
||||
@ -249,6 +257,10 @@
|
||||
background: var(--color-primary-hover);
|
||||
}
|
||||
|
||||
.stopped-agent-cell__button--queued {
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.stopped-agent-cell {
|
||||
padding: 34px 10px 10px;
|
||||
|
||||
Reference in New Issue
Block a user