// R-P8b (RA-C2) — pure shared contract for the live pipeline-board SSE stream. // No server imports (no emitter/config), so it is safe to import from the client // board hook as well as the server publish/subscribe helper. Keeps the SSE event // name and change-payload shape in one place for both sides of the wire. /** SSE event name the board stream sends and the client hook listens for. */ export const PROJECT_BOARD_SSE_EVENT = "projects.board.changed"; export type ProjectBoardChangeType = "created" | "stage_changed" | "updated" | "stage_change_undone" | "archived"; export interface ProjectBoardChange { readonly type: ProjectBoardChangeType; readonly pipelineId: string; readonly projectId?: string; readonly at: string; }