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,
|
AgentCrashedEvent,
|
||||||
AgentResumedEvent,
|
AgentResumedEvent,
|
||||||
AgentWaitingEvent,
|
AgentWaitingEvent,
|
||||||
|
TaskQueuedEvent,
|
||||||
|
TaskDispatchedEvent,
|
||||||
|
TaskCompletedEvent,
|
||||||
|
TaskBlockedEvent,
|
||||||
DomainEventMap,
|
DomainEventMap,
|
||||||
DomainEventType,
|
DomainEventType,
|
||||||
} from './types.js';
|
} 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
|
* Union of all domain events - enables type-safe event handling
|
||||||
*/
|
*/
|
||||||
@@ -205,7 +246,11 @@ export type DomainEventMap =
|
|||||||
| AgentStoppedEvent
|
| AgentStoppedEvent
|
||||||
| AgentCrashedEvent
|
| AgentCrashedEvent
|
||||||
| AgentResumedEvent
|
| AgentResumedEvent
|
||||||
| AgentWaitingEvent;
|
| AgentWaitingEvent
|
||||||
|
| TaskQueuedEvent
|
||||||
|
| TaskDispatchedEvent
|
||||||
|
| TaskCompletedEvent
|
||||||
|
| TaskBlockedEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event type literal union for type checking
|
* Event type literal union for type checking
|
||||||
|
|||||||
Reference in New Issue
Block a user