diff --git a/features/conversation-assistant/backend-api/src/modules/processing/processing.module.ts b/features/conversation-assistant/backend-api/src/modules/processing/processing.module.ts index 8ce9737d1..33da7d90e 100755 --- a/features/conversation-assistant/backend-api/src/modules/processing/processing.module.ts +++ b/features/conversation-assistant/backend-api/src/modules/processing/processing.module.ts @@ -6,6 +6,7 @@ import { ProcessingController } from './processing.controller'; import { ProcessingService } from './processing.service'; import { MessageEntity } from '@/entities'; +import { ResponsesModule } from '@/modules/responses'; import { ScreeningModule } from '@/modules/screening'; @Module({ @@ -16,6 +17,7 @@ import { ScreeningModule } from '@/modules/screening'; maxRedirects: 0, }), ScreeningModule, + ResponsesModule, ], controllers: [ProcessingController], providers: [ProcessingService], diff --git a/features/conversation-assistant/backend-api/src/modules/processing/processing.service.ts b/features/conversation-assistant/backend-api/src/modules/processing/processing.service.ts index 38ef9bf81..1586d69d8 100755 --- a/features/conversation-assistant/backend-api/src/modules/processing/processing.service.ts +++ b/features/conversation-assistant/backend-api/src/modules/processing/processing.service.ts @@ -10,6 +10,7 @@ import { Repository, IsNull } from 'typeorm'; import { MessageEntity, MessageType, RawMessageData } from '@/entities'; import { ScreeningService } from '@/modules/screening/screening.service'; +import { ResponsesService } from '@/modules/responses/responses.service'; /** Base directory for attachment storage */ const ATTACHMENTS_DIR = process.env.ATTACHMENTS_DIR || '/mnt/bigdisk/_/lilith-platform/features/conversation-assistant/attachments'; @@ -66,6 +67,8 @@ export class ProcessingService { private readonly httpService: HttpService, @Optional() @Inject(ScreeningService) private readonly screeningService?: ScreeningService, + @Optional() @Inject(ResponsesService) + private readonly responsesService?: ResponsesService, ) {} /** @@ -187,6 +190,14 @@ export class ProcessingService { this.logger.warn(`Screening failed for message ${message.id}: ${err instanceof Error ? err.message : 'Unknown'}`); }); } + + // Auto-generate response drafts for incoming messages from known contacts (non-blocking) + if (text && text.length > 0 && message.direction === 'incoming' && message.senderId && this.responsesService) { + this.responsesService.generateSuggestions(message.id, message.senderId) + .catch((err) => { + this.logger.warn(`Auto-draft failed for message ${message.id}: ${err instanceof Error ? err.message : 'Unknown'}`); + }); + } } /**