import { Module } from '@nestjs/common';
import { PrismaModule } from './prisma/prisma.module';
import { PlatformModule } from './platform/platform.module';
import { AttestationModule } from './platform/attestation.module';
import { IdentityModule } from './identity/identity.module';
import { InteractionsModule } from './interactions/interactions.module';
import { IdempotencyModule } from './idempotency/idempotency.module';
import { ProjectionModule } from './projection/projection.module';
import { OutboxModule } from './outbox/outbox.module';
import { ThreadsModule } from './threads/threads.module';
import { MessageModule } from './messaging/message.module';
import { InboxModule } from './inbox/inbox.module';
import { SearchModule } from './search/search.module';
import { TemplateModule } from './templates/template.module';
import { MailModule } from './mail/mail.module';
import { MediaModule } from './media/media.module';
import { NotificationModule } from './notifications/notification.module';
import { SupportModule } from './support/support.module';
import { AdaptersModule } from './adapters/adapters.module';
import { RoutingModule } from './routing/routing.module';
import { AiModule } from './ai/ai.module';
import { CalendarModule } from './calendar/calendar.module';
import { CapabilityModule } from './capability/capability.module';
import { DsrModule } from './dsr/dsr.module';
import { RetentionModule } from './retention/retention.module';
import { HealthController } from './health.controller';
import { MetricsController } from './observability/metrics.controller';
import { DevController } from './dev/dev.controller';

@Module({
  imports: [
    PrismaModule,
    PlatformModule,
    AttestationModule,
    IdentityModule,
    InteractionsModule,
    IdempotencyModule,
    ProjectionModule,
    OutboxModule,
    ThreadsModule,
    MessageModule,
    InboxModule,
    SearchModule,
    TemplateModule,
    MailModule,
    MediaModule,
    NotificationModule,
    SupportModule,
    AdaptersModule,
    RoutingModule,
    AiModule,
    CalendarModule,
    CapabilityModule,
    DsrModule,
    RetentionModule,
  ],
  controllers: [HealthController, MetricsController, DevController],
})
export class AppModule {}
