fix(cli): z-order Cancel #151 + projection live événements avant Final #167 (+ alignement fixture plugin #165/#166) — QA verte

This commit is contained in:
2026-08-06 19:09:07 +02:00
parent 3d4ea6859e
commit b45deabe6d
4 changed files with 133 additions and 24 deletions

View File

@ -299,6 +299,14 @@ function foldChunk(turns: ChatTurn[], raw: unknown): ChatTurn[] {
if (!isReplyRecord(raw)) {
return [...turns, { role: "unknown", text: unknownChunkLabel(raw) }];
}
const last = turns[turns.length - 1];
if (
(last?.role === "final" || last?.role === "error") &&
raw.kind !== "userPrompt" &&
raw.kind !== "UserPrompt"
) {
return turns;
}
switch (raw.kind) {
case "textDelta":
return appendAgentDelta(turns, String(raw.text ?? ""));
@ -946,7 +954,7 @@ export function CustomAgentChatView({
<div
role="toolbar"
aria-label="custom agent chat actions"
className="flex shrink-0 items-center gap-2 overflow-hidden border-b border-border px-3 py-2"
className="relative z-20 flex shrink-0 items-center gap-2 overflow-hidden border-b border-border px-3 py-2"
>
<div className="min-w-0 flex-1 overflow-hidden">
<div className="truncate text-sm font-medium">{agentName}</div>
@ -959,7 +967,7 @@ export function CustomAgentChatView({
<Button
size="sm"
variant="danger"
className="shrink-0 whitespace-nowrap"
className="relative z-30 shrink-0 whitespace-nowrap shadow-sm"
onClick={() => void cancel()}
>
Cancel