| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
                        - #!/usr/bin/env python3
 - 
 - import shutil
 - import sys
 - from pathlib import Path
 - 
 - from common import Logger
 - 
 - 
 - def cleanup() -> None:
 -     """Clean up all configuration files and reports created during setup and stress testing."""
 - 
 -     log = Logger("Cleanup")
 -     log.header("Stress Test Cleanup")
 - 
 -     config_dir = Path(__file__).parent / "setup" / "config"
 -     reports_dir = Path(__file__).parent / "reports"
 - 
 -     dirs_to_clean = []
 -     if config_dir.exists():
 -         dirs_to_clean.append(config_dir)
 -     if reports_dir.exists():
 -         dirs_to_clean.append(reports_dir)
 - 
 -     if not dirs_to_clean:
 -         log.success("No directories to clean. Everything is already clean.")
 -         return
 - 
 -     log.info("Cleaning up stress test data...")
 -     log.info("This will remove:")
 -     for dir_path in dirs_to_clean:
 -         log.list_item(str(dir_path))
 - 
 -     # List files that will be deleted
 -     log.separator()
 -     if config_dir.exists():
 -         config_files = list(config_dir.glob("*.json"))
 -         if config_files:
 -             log.info("Config files to be removed:")
 -             for file in config_files:
 -                 log.list_item(file.name)
 - 
 -     if reports_dir.exists():
 -         report_files = list(reports_dir.glob("*"))
 -         if report_files:
 -             log.info("Report files to be removed:")
 -             for file in report_files:
 -                 log.list_item(file.name)
 - 
 -     # Ask for confirmation if running interactively
 -     if sys.stdin.isatty():
 -         log.separator()
 -         log.warning("This action cannot be undone!")
 -         confirmation = input(
 -             "Are you sure you want to remove all config and report files? (yes/no): "
 -         )
 - 
 -         if confirmation.lower() not in ["yes", "y"]:
 -             log.error("Cleanup cancelled.")
 -             return
 - 
 -     try:
 -         # Remove directories and all their contents
 -         for dir_path in dirs_to_clean:
 -             shutil.rmtree(dir_path)
 -             log.success(f"{dir_path.name} directory removed successfully!")
 - 
 -         log.separator()
 -         log.info("To run the setup again, execute:")
 -         log.list_item("python setup_all.py")
 -         log.info("Or run scripts individually in this order:")
 -         log.list_item("python setup/mock_openai_server.py (in a separate terminal)")
 -         log.list_item("python setup/setup_admin.py")
 -         log.list_item("python setup/login_admin.py")
 -         log.list_item("python setup/install_openai_plugin.py")
 -         log.list_item("python setup/configure_openai_plugin.py")
 -         log.list_item("python setup/import_workflow_app.py")
 -         log.list_item("python setup/create_api_key.py")
 -         log.list_item("python setup/publish_workflow.py")
 -         log.list_item("python setup/run_workflow.py")
 - 
 -     except PermissionError as e:
 -         log.error(f"Permission denied: {e}")
 -         log.info("Try running with appropriate permissions.")
 -     except Exception as e:
 -         log.error(f"An error occurred during cleanup: {e}")
 - 
 - 
 - if __name__ == "__main__":
 -     cleanup()
 
 
  |