feat: livrable ticket #91 — notification fin BackgroundTask enrichie
- Backend: enrichissement HeadlessRendezvous avec requester/target/conversationId - Frontend: toast 'Requester -> Target completed/...' explicite - Clic ouvrant viewer de conversation pour visualiser l'échange
This commit is contained in:
@ -180,6 +180,7 @@ describe("ProjectWorkStatePanel", () => {
|
||||
// Mirrors AgentBackgroundTaskStateDto (crates/app-tauri/src/dto.rs): camelCase,
|
||||
// `state` (not `status`), optional exitCode/summary/stdoutTail/stderrTail omitted
|
||||
// when absent, createdAtMs/updatedAtMs present, NO ownerAgentId/projectId/finishedAtMs.
|
||||
// Headless rendezvous tasks may carry requester/target/conversation context.
|
||||
const workState = new MockWorkStateGateway();
|
||||
workState._setProjectWorkState(PROJECT_ID, {
|
||||
agents: [
|
||||
@ -200,6 +201,9 @@ describe("ProjectWorkStatePanel", () => {
|
||||
taskId: "task-queued-1",
|
||||
kind: "headlessRendezvous",
|
||||
state: "queued",
|
||||
requesterAgentId: "agent-main",
|
||||
targetAgentId: "agent-bg",
|
||||
conversationId: "conversation-rdv",
|
||||
createdAtMs: 12,
|
||||
updatedAtMs: 13,
|
||||
},
|
||||
@ -241,6 +245,9 @@ describe("ProjectWorkStatePanel", () => {
|
||||
expect(tasks[2]?.stderrTail).toBe("boom");
|
||||
// `summary` (ticket #5) is carried through when present.
|
||||
expect(tasks[2]?.summary).toBe("process failed");
|
||||
expect(tasks[1]?.requesterAgentId).toBe("agent-main");
|
||||
expect(tasks[1]?.targetAgentId).toBe("agent-bg");
|
||||
expect(tasks[1]?.conversationId).toBe("conversation-rdv");
|
||||
// updatedAtMs (backend-emitted) is carried through for chronological ordering.
|
||||
expect(tasks.map((t) => t.updatedAtMs)).toEqual([11, 13, 15, 17]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user