import { Module } from '@nestjs/common';
import { PlanController } from './plan.controller';
import { PlanService } from './plan.service';
import { ExecutionService } from './execution.service';
import { ExecutionCallbackService } from './execution-callback.service';
import { RecycleSchedulerService } from './recycle-scheduler.service';
import { PlanEngineService } from './engine/plan-engine.service';
import { ChainComposerService } from './engine/chain-composer.service';
import { TreatmentInitiationRecallScenario } from './engine/scenarios/treatment-initiation-recall.scenario';
import { RecallDebugController } from './recall-debug/recall-debug.controller';
import { RecallDebugService } from './recall-debug/recall-debug.service';

/**
 * v2.1:plan 一期只跑潜在治疗新链召回(treatment_initiation_recall)。
 * 链已完成召回(aftercare)留后续,文件已删。
 */
@Module({
  controllers: [PlanController, RecallDebugController],
  providers: [
    PlanService,
    ExecutionService,
    ExecutionCallbackService,
    RecycleSchedulerService,
    PlanEngineService,
    ChainComposerService,
    TreatmentInitiationRecallScenario,
    RecallDebugService,
  ],
  exports: [PlanService, ExecutionService, ExecutionCallbackService, PlanEngineService, ChainComposerService],
})
export class PlanModule {}
