/** * @landvex/infrastructure * * Persistence adapters and infrastructure for LandveX domain. * * Architecture: * - Domain defines interfaces (WHAT) * - Infrastructure implements them (HOW) * - Domain never depends on infrastructure */ // Repository interfaces (defined by domain, exported for convenience) export { Repository, FieldSessionRepository, MissionRepository, DecisionCaseRepository, ArtifactRegistry, EventStore, UnitOfWork, } from './repositories/repository-interfaces'; // In-memory adapters (for testing) export { InMemoryFieldSessionRepository } from './adapters/in-memory-session-repository'; export { InMemoryMissionRepository } from './adapters/in-memory-mission-repository'; export { InMemoryDecisionCaseRepository } from './adapters/in-memory-decision-case-repository'; export { InMemoryArtifactRegistry } from './adapters/in-memory-artifact-registry'; export { InMemoryEventStore } from './adapters/in-memory-event-store'; export { InMemoryUnitOfWork } from './adapters/in-memory-unit-of-work'; // PostgreSQL adapters (for production) export { PostgresFieldSessionRepository, PostgresMissionRepository, PostgresDecisionCaseRepository, PostgresArtifactRegistry, PostgresConfig, } from './adapters/postgresql'; // API Key repositories export { ApiKeyRepository, ApiKeyUsageRepository, } from './repositories/api-key-repository'; export { PostgresApiKeyRepository, PostgresApiKeyUsageRepository, PostgresApiKeyConfig, } from './adapters/postgresql/postgres-api-key-repository'; export { InMemoryApiKeyRepository, InMemoryApiKeyUsageRepository, } from './adapters/in-memory-api-key-repository';