Task-level approval (requiresApproval, mergeRequiresApproval, pending_approval status) was redundant with executionMode (yolo vs review_per_phase) and blocked the orchestrator's phase completion flow. Tasks now complete directly; phase-level review via executionMode is the right granularity. Removed: schema columns (left in DB, removed from Drizzle), TaskPendingApprovalEvent, approveTask/listPendingApprovals procedures, findPendingApproval repository method, and all frontend approval UI.
75 lines
1.8 KiB
TypeScript
75 lines
1.8 KiB
TypeScript
/**
|
|
* Events Module - Public API
|
|
*
|
|
* Exports the EventBus port interface and EventEmitter adapter.
|
|
* All modules should import from this index file.
|
|
*/
|
|
|
|
// Port interface (what consumers depend on)
|
|
export type { EventBus, DomainEvent } from './types.js';
|
|
|
|
// Domain event types
|
|
export type {
|
|
ProcessSpawnedEvent,
|
|
ProcessStoppedEvent,
|
|
ProcessCrashedEvent,
|
|
ServerStartedEvent,
|
|
ServerStoppedEvent,
|
|
LogEntryEvent,
|
|
WorktreeCreatedEvent,
|
|
WorktreeRemovedEvent,
|
|
WorktreeMergedEvent,
|
|
WorktreeConflictEvent,
|
|
AgentSpawnedEvent,
|
|
AgentStoppedEvent,
|
|
AgentCrashedEvent,
|
|
AgentResumedEvent,
|
|
AgentAccountSwitchedEvent,
|
|
AgentDeletedEvent,
|
|
AgentWaitingEvent,
|
|
AgentOutputEvent,
|
|
TaskQueuedEvent,
|
|
TaskDispatchedEvent,
|
|
TaskCompletedEvent,
|
|
TaskBlockedEvent,
|
|
PhaseQueuedEvent,
|
|
PhaseStartedEvent,
|
|
PhaseCompletedEvent,
|
|
PhaseBlockedEvent,
|
|
PhasePendingReviewEvent,
|
|
PhaseChangesRequestedEvent,
|
|
PhaseMergedEvent,
|
|
TaskMergedEvent,
|
|
MergeQueuedEvent,
|
|
MergeStartedEvent,
|
|
MergeCompletedEvent,
|
|
MergeConflictedEvent,
|
|
PageCreatedEvent,
|
|
PageUpdatedEvent,
|
|
PageDeletedEvent,
|
|
AccountCredentialsRefreshedEvent,
|
|
AccountCredentialsExpiredEvent,
|
|
AccountCredentialsValidatedEvent,
|
|
InitiativePendingReviewEvent,
|
|
InitiativeReviewApprovedEvent,
|
|
DomainEventMap,
|
|
DomainEventType,
|
|
} from './types.js';
|
|
|
|
// Adapter implementation
|
|
export { EventEmitterBus } from './bus.js';
|
|
|
|
// Factory function for creating event bus instances
|
|
import { EventEmitterBus } from './bus.js';
|
|
import type { EventBus } from './types.js';
|
|
|
|
/**
|
|
* Create a new EventBus instance.
|
|
*
|
|
* Returns the default in-process EventEmitter adapter.
|
|
* This factory allows swapping implementations without changing call sites.
|
|
*/
|
|
export function createEventBus(): EventBus {
|
|
return new EventEmitterBus();
|
|
}
|