feat(05-03): add dispatch domain events
- TaskQueuedEvent for task queue operations - TaskDispatchedEvent when task assigned to agent - TaskCompletedEvent for task completion with success/failure - TaskBlockedEvent for blocked tasks with reason
This commit is contained in:
@@ -25,6 +25,10 @@ export type {
|
||||
AgentCrashedEvent,
|
||||
AgentResumedEvent,
|
||||
AgentWaitingEvent,
|
||||
TaskQueuedEvent,
|
||||
TaskDispatchedEvent,
|
||||
TaskCompletedEvent,
|
||||
TaskBlockedEvent,
|
||||
DomainEventMap,
|
||||
DomainEventType,
|
||||
} from './types.js';
|
||||
|
||||
@@ -187,6 +187,47 @@ export interface AgentWaitingEvent extends DomainEvent {
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Task Dispatch Events
|
||||
*/
|
||||
|
||||
export interface TaskQueuedEvent extends DomainEvent {
|
||||
type: 'task:queued';
|
||||
payload: {
|
||||
taskId: string;
|
||||
priority: string;
|
||||
dependsOn: string[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface TaskDispatchedEvent extends DomainEvent {
|
||||
type: 'task:dispatched';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
agentName: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface TaskCompletedEvent extends DomainEvent {
|
||||
type: 'task:completed';
|
||||
payload: {
|
||||
taskId: string;
|
||||
agentId: string;
|
||||
success: boolean;
|
||||
message: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface TaskBlockedEvent extends DomainEvent {
|
||||
type: 'task:blocked';
|
||||
payload: {
|
||||
taskId: string;
|
||||
reason: string;
|
||||
blockedBy?: string[];
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Union of all domain events - enables type-safe event handling
|
||||
*/
|
||||
@@ -205,7 +246,11 @@ export type DomainEventMap =
|
||||
| AgentStoppedEvent
|
||||
| AgentCrashedEvent
|
||||
| AgentResumedEvent
|
||||
| AgentWaitingEvent;
|
||||
| AgentWaitingEvent
|
||||
| TaskQueuedEvent
|
||||
| TaskDispatchedEvent
|
||||
| TaskCompletedEvent
|
||||
| TaskBlockedEvent;
|
||||
|
||||
/**
|
||||
* Event type literal union for type checking
|
||||
|
||||
Reference in New Issue
Block a user