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
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
/**
|
|
* Coordination Module - Public API
|
|
*
|
|
* Exports the CoordinationManager port interface and related types.
|
|
* All modules should import from this index file.
|
|
*
|
|
* Port-Adapter Pattern:
|
|
* - CoordinationManager is the PORT (interface contract)
|
|
* - Implementations (e.g., InMemoryCoordinationManager) are ADAPTERS
|
|
* - Consumers depend only on the port interface
|
|
* - Adapters can be swapped without changing consumer code
|
|
*
|
|
* This enables:
|
|
* - Testing with mock/in-memory implementations
|
|
* - Future swapping to persistent/distributed implementations
|
|
* - Clean separation between domain logic and infrastructure
|
|
*/
|
|
|
|
// Port interfaces (what consumers depend on)
|
|
export type { CoordinationManager } from './types.js';
|
|
export type { ConflictResolutionService } from './conflict-resolution-service.js';
|
|
|
|
// Domain types
|
|
export type { MergeQueueItem, MergeStatus, MergeResult } from './types.js';
|
|
|
|
// Adapters
|
|
export { DefaultCoordinationManager } from './manager.js';
|
|
export { DefaultConflictResolutionService } from './conflict-resolution-service.js';
|