import { Module } from '@nestjs/common';
import { AiModelsModule } from 'src/modules/app-config/ai-models/ai-models.module';
import { AiProviderContractsModule } from '../ai-provider-contracts/ai-provider-contracts.module';
import { FilterSettingModule } from 'src/modules/filter-setting/filter-setting.module';
import { ProviderRegistryService } from './services/provider-registry.service';
import { HandlerRegistryService } from './services/handler-registry.service';
import { AITextOrchestratorService } from './services/ai-text-orchestrator.service';
import { AIImageOrchestratorService } from './services/ai-image-orchestrator.service';
import { AIImageReaderOrchestratorService } from './services/ai-image-reader-orchestrator.service';
import { AIAudioOrchestratorService } from './services/ai-audio-orchestrator.service';

@Module({
	imports: [
		AiModelsModule,
		AiProviderContractsModule,
		FilterSettingModule,
	],
	providers: [
		ProviderRegistryService,
		HandlerRegistryService,
		AITextOrchestratorService,
		AIImageOrchestratorService,
		AIImageReaderOrchestratorService,
		AIAudioOrchestratorService,
	],
	exports: [
		ProviderRegistryService,
		HandlerRegistryService,
		AITextOrchestratorService,
		AIImageOrchestratorService,
		AIImageReaderOrchestratorService,
		AIAudioOrchestratorService,
	],
})
export class AiOrchestrationModule {}

