- wake_mapping table; triage onDuty (auto-added member) / custom listeners - per-recipient wakeup metadata on message.created (one message-id; added only at push). Rules: author=false; triage/custom=wake_mapping only; general=all; report=none - discuss/work rotation: channel_turn_state (order/currentSpeaker/round events/cross-round no-reply streak); null activation, queue-jump, /no-reply pass, all-/no-reply pause, end-of-round shuffle (trailing no-reply run to tail, head shuffled, first != last normal speaker) - slash-command registry (/no-reply, /force-proceed); registered commands intercepted and never delivered; guild-authored /ack persisted - POST /channels/:id/join|leave; leave cleans channel_members, wake_mapping and turn-state order Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { buildTypeOrmConfig } from './database.config';
|
|
import { HealthController } from './common/health.controller';
|
|
import { MetricsController } from './common/metrics.controller';
|
|
import { MetricsService } from './common/metrics.service';
|
|
import { ApiKeyGuard } from './common/api-key.guard';
|
|
import { GuildsModule } from './guilds/guilds.module';
|
|
import { ChannelsModule } from './channels/channels.module';
|
|
import { TurnModule } from './channels/turn.module';
|
|
import { MessagingModule } from './messaging/messaging.module';
|
|
import { EventsModule } from './events/events.module';
|
|
import { RealtimeModule } from './realtime/realtime.module';
|
|
import { MembersModule } from './members/members.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forRoot(buildTypeOrmConfig()),
|
|
EventsModule,
|
|
RealtimeModule,
|
|
GuildsModule,
|
|
TurnModule,
|
|
ChannelsModule,
|
|
MembersModule,
|
|
MessagingModule,
|
|
],
|
|
controllers: [HealthController, MetricsController],
|
|
providers: [
|
|
MetricsService,
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: ApiKeyGuard,
|
|
},
|
|
],
|
|
})
|
|
export class AppModule {}
|