import { runProductManager } from '../agents/productManager';
import { runBackendDeveloper } from '../agents/backendDeveloper';
import { runFrontendDeveloper } from '../agents/frontendDeveloper';
import { runFullstackIntegrator } from '../agents/fullstackIntegrator';
import { runQaEngineer } from '../agents/qaEngineer';
import { runDocumentationAgent } from '../agents/documentationAgent';
import { runInfraEngineer } from '../agents/infraEngineer';
import { runSecurityEngineer } from '../agents/securityEngineer';
import { runUxDesigner } from '../agents/uxDesigner';
import { runCopywriter } from '../agents/copywriter';
import { runReleaseManager } from '../agents/releaseManager';
import { runAiPromptEngineer } from '../agents/aiPromptEngineer';
import { runDataEngineer } from '../agents/dataEngineer';
import { runReviewerAgent } from '../agents/reviewerAgent';
import { runAssumptionChallenger } from '../agents/assumptionChallenger';
import { runUserEmpathyAgent } from '../agents/userEmpathyAgent';

export const fullRoundtrip = async () => {
  await runProductManager();
  await Promise.all([
    runBackendDeveloper(),
    runFrontendDeveloper(),
  ]);
  await runFullstackIntegrator();
  await runQaEngineer();
  await runDocumentationAgent();
  await runInfraEngineer();
  await runSecurityEngineer();
  await runUxDesigner();
  await runCopywriter();
  await runReleaseManager();
  await runAiPromptEngineer();
  await runDataEngineer();
  await runReviewerAgent();
  await runAssumptionChallenger();
  await runUserEmpathyAgent();
};
