feat(06-01): add coordination domain events for merge lifecycle
- MergeQueuedEvent: completed task queued for merge - MergeStartedEvent: merge attempt begins - MergeCompletedEvent: merge succeeds - MergeConflictedEvent: merge has conflicts (triggers bounce-back)
This commit is contained in:
@@ -29,6 +29,10 @@ export type {
|
||||
TaskDispatchedEvent,
|
||||
TaskCompletedEvent,
|
||||
TaskBlockedEvent,
|
||||
MergeQueuedEvent,
|
||||
MergeStartedEvent,
|
||||
MergeCompletedEvent,
|
||||
MergeConflictedEvent,
|
||||
DomainEventMap,
|
||||
DomainEventType,
|
||||
} from './types.js';
|
||||
|
||||
@@ -228,6 +228,51 @@ export interface TaskBlockedEvent extends DomainEvent {
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge Coordination Events
|
||||
*/
|
||||
|
||||
export interface MergeQueuedEvent extends DomainEvent {
|
||||
type: 'merge:queued';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
worktreeId: string;
|
||||
priority: 'low' | 'medium' | 'high';
|
||||
};
|
||||
}
|
||||
|
||||
export interface MergeStartedEvent extends DomainEvent {
|
||||
type: 'merge:started';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
worktreeId: string;
|
||||
targetBranch: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface MergeCompletedEvent extends DomainEvent {
|
||||
type: 'merge:completed';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
worktreeId: string;
|
||||
targetBranch: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface MergeConflictedEvent extends DomainEvent {
|
||||
type: 'merge:conflicted';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
worktreeId: string;
|
||||
targetBranch: string;
|
||||
conflictingFiles: string[];
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Union of all domain events - enables type-safe event handling
|
||||
*/
|
||||
@@ -250,7 +295,11 @@ export type DomainEventMap =
|
||||
| TaskQueuedEvent
|
||||
| TaskDispatchedEvent
|
||||
| TaskCompletedEvent
|
||||
| TaskBlockedEvent;
|
||||
| TaskBlockedEvent
|
||||
| MergeQueuedEvent
|
||||
| MergeStartedEvent
|
||||
| MergeCompletedEvent
|
||||
| MergeConflictedEvent;
|
||||
|
||||
/**
|
||||
* Event type literal union for type checking
|
||||
|
||||
Reference in New Issue
Block a user