All files / src/events index.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73                                                                                                                                            9x    
/**
 * 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,
  TaskPendingApprovalEvent,
  PhaseQueuedEvent,
  PhaseStartedEvent,
  PhaseCompletedEvent,
  PhaseBlockedEvent,
  PhasePendingReviewEvent,
  PhaseMergedEvent,
  TaskMergedEvent,
  MergeQueuedEvent,
  MergeStartedEvent,
  MergeCompletedEvent,
  MergeConflictedEvent,
  PageCreatedEvent,
  PageUpdatedEvent,
  PageDeletedEvent,
  AccountCredentialsRefreshedEvent,
  AccountCredentialsExpiredEvent,
  AccountCredentialsValidatedEvent,
  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();
}