import {Global, Module} from '@nestjs/common';
import {AIService} from "../../shared/ai.service";
import {ContentWriterProcessor} from "./content.writer.processor";
import {PgPostService} from "../../shared/pg.post.service";
import {BullModule} from "@nestjs/bullmq";
import {PublishPageService} from "../social-api/publish.page.service";
import {SocialModule} from "../social-api/social.module";
import {ContentWriterController} from "./content-writer.controller";
import {AIProviderFactory} from "./providers/ai-provider.factory";
import {ContentWriterService} from "./content-writer.service";
import {StyleDetectorService} from "./services/style-detector.service";
import {PromptBuilderService} from "./services/prompt-builder.service";
import {ReviewerService} from "./services/reviewer.service";
import {OpenAIProvider} from "./providers/openai.provider";
import {DeepSeekProvider} from "./providers/deepseek.provider";
import {CommentWriterService} from "./services/comment-writer.service";
import {GrokProvider} from "./providers/grok.provider";
import {ProviderRouterService} from "./services/provider-router.service";
import {CommentWriterProcessor} from "./comment-writer.processor";
import {XReaderService} from "../x-reader/x-reader.service";
import {LengthStrategyService} from "./services/length-strategy.service";
import {QuoteWriterService} from "./services/quote-writer.service";
import {SqsPostService} from "../sqs-module/sqs.post.service";

@Module({
    imports: [
        BullModule.registerQueue(
            {name: 'content_writer_completed_queue'},// Hàng đợi cho AI-C
        ),
        SocialModule
    ],
    controllers: [ContentWriterController],
    providers: [
        AIService,
        PgPostService,
        ContentWriterProcessor,
        ContentWriterService,
        CommentWriterService,
        StyleDetectorService,
        PromptBuilderService,
        ReviewerService,
        OpenAIProvider,
        DeepSeekProvider,
        GrokProvider,
        AIProviderFactory,
        ProviderRouterService,
        CommentWriterProcessor,
        XReaderService,
        LengthStrategyService,
        QuoteWriterService,
        SqsPostService
],
    exports: [GrokProvider, ContentWriterService],

})
export class ContentWriterModule {
}
