import { Module } from '@nestjs/common';
import { OutboxModule } from '../outbox/outbox.module';
import { AdaptersModule } from '../adapters/adapters.module';
import { AiModule } from '../ai/ai.module';
import { CalendarService } from './calendar.service';
import { CalendarProjector } from './calendar.projector';
import { CalendarAdapter } from './calendar-adapter';
import { CalendarController } from './calendar.controller';

/**
 * Calendar & Meeting SDK (P8). Imports OutboxModule (projector/events),
 * AdaptersModule (sandbox reminders via OutboundService) and AiModule (summary +
 * action-item extraction reuse the P7 proposal layer).
 */
@Module({
  imports: [OutboxModule, AdaptersModule, AiModule],
  controllers: [CalendarController],
  providers: [CalendarService, CalendarProjector, CalendarAdapter],
  exports: [CalendarService, CalendarAdapter],
})
export class CalendarModule {}
