diff --git a/src/events/types.ts b/src/events/types.ts index 9f568c7..1364480 100644 --- a/src/events/types.ts +++ b/src/events/types.ts @@ -240,6 +240,45 @@ export interface TaskBlockedEvent extends DomainEvent { }; } +/** + * Phase Events + */ + +export interface PhaseQueuedEvent extends DomainEvent { + type: 'phase:queued'; + payload: { + phaseId: string; + initiativeId: string; + dependsOn: string[]; + }; +} + +export interface PhaseStartedEvent extends DomainEvent { + type: 'phase:started'; + payload: { + phaseId: string; + initiativeId: string; + }; +} + +export interface PhaseCompletedEvent extends DomainEvent { + type: 'phase:completed'; + payload: { + phaseId: string; + initiativeId: string; + success: boolean; + message?: string; + }; +} + +export interface PhaseBlockedEvent extends DomainEvent { + type: 'phase:blocked'; + payload: { + phaseId: string; + reason: string; + }; +} + /** * Merge Coordination Events */ @@ -308,6 +347,10 @@ export type DomainEventMap = | TaskDispatchedEvent | TaskCompletedEvent | TaskBlockedEvent + | PhaseQueuedEvent + | PhaseStartedEvent + | PhaseCompletedEvent + | PhaseBlockedEvent | MergeQueuedEvent | MergeStartedEvent | MergeCompletedEvent