// @genex/common - Shared library for all NestJS microservices

// Decorators
export * from './decorators/current-user.decorator';
export * from './decorators/roles.decorator';

// Guards
export * from './guards/jwt-auth.guard';
export * from './guards/roles.guard';

// Interceptors
export * from './interceptors/logging.interceptor';
export * from './interceptors/transform.interceptor';

// Filters
export * from './filters/http-exception.filter';

// DTOs
export * from './dto/pagination.dto';
export * from './dto/api-response.dto';

// Interfaces
export * from './interfaces/jwt-payload.interface';

// Outbox (Transactional Outbox Pattern)
export * from './outbox/outbox.entity';
export * from './outbox/outbox.service';
export * from './outbox/outbox.module';
export * from './outbox/outbox-relay.service';
export * from './outbox/processed-event.entity';
export * from './outbox/idempotency.service';

// AI Client (external agent cluster)
export * from './ai-client/ai-client.service';
export * from './ai-client/ai-client.module';

// Health + Graceful Shutdown
export * from './health/health.controller';
export * from './health/graceful-shutdown.service';
export * from './health/health.module';

// Database utilities (Optimistic Lock, Base Entity, Redis Lock)
export * from './database/base.entity';
export * from './database/optimistic-lock';
export * from './database/redis-lock.service';
