life-manager/codebase/features/notifications/backend/notification.module.ts
2026-03-20 03:02:00 -07:00

83 lines
3.9 KiB
TypeScript

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Reminder } from './entities/reminder.entity';
import { NudgeSession } from './entities/nudge-session.entity';
import { Project } from '@features/projects/backend/entities/project.entity';
import { NotificationController } from './notification.controller';
import { NudgeController } from './nudge.controller';
import { InternalNudgeController } from './internal-nudge.controller';
import { NotificationService } from './notification.service';
import { NudgeService } from './nudge.service';
import { NudgeResponseService } from './nudge-response.service';
import { AssistantChannel } from './channels/assistant.channel';
import { DesktopChannel } from './channels/desktop.channel';
import { AiMessageService } from './messaging-ai/ai-message.service';
import { MessagingLoopService } from './messaging-ai/messaging-loop.service';
import { MessagingConversationService } from './messaging-ai/messaging-conversation.service';
import { NudgeContextService } from './messaging-ai/nudge-context.service';
import { TasksModule } from '@features/tasks/backend/tasks.module';
import { ContactsModule } from '@features/contacts/backend/contacts.module';
import { RoutinesModule } from '@features/routines/backend/routines.module';
import { ConsumablesModule } from '@features/consumables/backend/consumables.module';
import { ProactiveMessageService } from './proactive-message.service';
import { MessageBudgetService } from './message-budget.service';
import { MedicationReminderService } from './medication-reminder.service';
import { WakeBriefingService } from './wake-briefing.service';
import { TaskDeadlineService } from './task-deadline.service';
import { HabitStreakGuardService } from './habit-streak-guard.service';
import { ContactCadenceService } from './contact-cadence.service';
import { AmbientCompanionService } from './ambient-companion.service';
import { AmbientPriorityService } from './ambient-priority.service';
import { UserProfileService } from './user-profile.service';
import { SystemAlertService } from './system-alert.service';
import { WebResearchService } from './messaging-ai/web-research.service';
import { HabitsModule } from '@features/habits/backend/habits.module';
import { TimeBlock } from '@features/scheduling/backend/entities/time-block.entity';
import { SleepSession } from '@features/health/backend/entities/sleep-session.entity';
import { CareInsightModule } from '@features/care-insights/backend/care-insight.module';
import { ResearchModule } from '@features/research/backend/research.module';
import { ClaudeCliModule } from '@lilith/nestjs-claude-cli';
import { LifePlatformApiClient } from '../../../apps/ai-service/src/api-client/life-platform-api.client';
import { SmsModule } from '@features/sms/backend/sms.module';
@Module({
imports: [
TypeOrmModule.forFeature([Reminder, NudgeSession, Project, TimeBlock, SleepSession]),
ClaudeCliModule.forRoot({}),
TasksModule,
ContactsModule,
RoutinesModule,
ConsumablesModule,
HabitsModule,
CareInsightModule,
ResearchModule,
SmsModule,
],
controllers: [NotificationController, NudgeController, InternalNudgeController],
providers: [
NotificationService,
AssistantChannel,
DesktopChannel,
AiMessageService,
MessagingLoopService,
MessagingConversationService,
NudgeContextService,
ProactiveMessageService,
MessageBudgetService,
MedicationReminderService,
WakeBriefingService,
TaskDeadlineService,
HabitStreakGuardService,
ContactCadenceService,
AmbientCompanionService,
AmbientPriorityService,
UserProfileService,
SystemAlertService,
WebResearchService,
NudgeService,
NudgeResponseService,
LifePlatformApiClient,
],
exports: [NotificationService, MessagingLoopService, NudgeService, NudgeResponseService, SystemAlertService, UserProfileService],
})
export class NotificationModule {}