AUDIT / src /lib /agentSSETypes.ts
Arypulka98's picture
feat(audit): deploy full backend cluster node (part 3)
95eb75a verified
Raw
History Blame Contribute Delete
1.82 kB
/**
* agentSSETypes.ts — S549: tipi SSE puri estratti da agentSSE.ts
*
* Contiene solo TypeScript types/interfaces senza dipendenze runtime.
* Permette import type-only senza pull-in di agentSSE.ts
* (StreamWorker, backoff, TTFT tracking, action parsing, ecc.).
*
* Consumato da agentSSE.ts (re-esporta per backward compat) e
* da componenti che ricevono/gestiscono eventi SSE senza importare il client.
*/
export type SSEEventType =
| "task_start"
| "task_done"
| "task_error"
| "task_cancelled"
| "step_start"
| "step_done"
| "step_error"
| "action"
| "tool_use" // S758-P4.1: pre-execution notification (fires BEFORE tool runs)
| "task_thinking" // S758-P4.1: LLM generating, no step received yet
| "text_chunk" // S420: streaming token-by-token
| "vfs_update" // S723-GAP3.2: VFS write/delete event from backend
| "task_aborted" // ABORT: task fermato via POST /api/agent/abort — alias di task_cancelled con cleanup
| "vfs_sync_complete" // P34: manifesto atomico VFS — tutti i file del task sono stati inviati
| "connector_needed" // P39-UX: agente richiede OAuth connector per continuare (Tocco Finale Manus)
| "persona_classified" // P17-F5: server ha classificato la persona (auto-detection)
| "thought" // SYNC-2: goal esplicito dopo planning
| "plan_update" // SYNC-2: subtask list dal backend
| "subtask_done" // SYNC-2: singolo subtask completato
| "task_interrupted" // SYNC-2: backend riavviato durante esecuzione
| "partial_output"; // S-PARTIAL: output parziale da delegate timeout — backend si riprende
export interface SSEEvent {
event: SSEEventType;
taskId: string;
[key: string]: unknown;
}
export interface SSEHandle {
taskId: string;
cancel: () => void;
rejected?: true;
}