feat(FN-2999): harden research lifecycle with idempotent cancel/retry, SSE
Merges FN-2999 research hardening (idempotent cancel/retry routes, aligned SSE event wiring, and cleaned status handling in the core research store and orchestrator) plus UI improvements to AgentDetailView header actions and planning disclosure UX in the modal, with a CSS token fallback fix in Scrip Fusion-Task-Id: FN-2999
This commit is contained in:
@@ -36,9 +36,14 @@ class MockResponse extends EventEmitter {
|
||||
}
|
||||
|
||||
function createMockStore(): TaskStore {
|
||||
const researchStore = {
|
||||
on: vi.fn(),
|
||||
off: vi.fn(),
|
||||
};
|
||||
return {
|
||||
on: vi.fn(),
|
||||
off: vi.fn(),
|
||||
getResearchStore: vi.fn(() => researchStore),
|
||||
} as unknown as TaskStore;
|
||||
}
|
||||
|
||||
@@ -284,6 +289,7 @@ describe("createSSE client cleanup", () => {
|
||||
if (event === "task:created") onCreated = handler;
|
||||
}),
|
||||
off: vi.fn(),
|
||||
getResearchStore: vi.fn(() => ({ on: vi.fn(), off: vi.fn() })),
|
||||
} as unknown as TaskStore;
|
||||
|
||||
const baseline = getActiveSSEConnections();
|
||||
|
||||
Reference in New Issue
Block a user