Move src/ → apps/server/ and packages/web/ → apps/web/ to adopt standard monorepo conventions (apps/ for runnable apps, packages/ for reusable libraries). Update all config files, shared package imports, test fixtures, and documentation to reflect new paths. Key fixes: - Update workspace config to ["apps/*", "packages/*"] - Update tsconfig.json rootDir/include for apps/server/ - Add apps/web/** to vitest exclude list - Update drizzle.config.ts schema path - Fix ensure-schema.ts migration path detection (3 levels up in dev, 2 levels up in dist) - Fix tests/integration/cli-server.test.ts import paths - Update packages/shared imports to apps/server/ paths - Update all docs/ files with new paths
73 lines
1.7 KiB
TypeScript
73 lines
1.7 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,
|
|
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();
|
|
}
|