"""
AI-Parrot Tools & Toolkits package.

TOOL_REGISTRY maps tool names to their dotted import paths.
This enables lazy discovery without importing any tool modules at startup.

Auto-generated by: scripts/generate_tool_registry.py
Manual additions are also supported — the script preserves manual entries.
"""
from .version import __version__, __title__, __description__

TOOL_REGISTRY: dict[str, str] = {
    # --- Toolkits (Batch 1 — simple tools) ---
    "zipcode": "parrot_tools.zipcode.ZipcodeAPIToolkit",
    "ddgo": "parrot_tools.ddgo.DuckDuckGoToolkit",
    "reddit": "parrot_tools.reddit.RedditToolkit",
    "msteams": "parrot_tools.msteams.MSTeamsToolkit",
    "zoom": "parrot_tools.zoomtoolkit.ZoomUsToolkit",
    "company_info": "parrot_tools.company_info.tool.CompanyInfoToolkit",
    "troc": "parrot_tools.troc.tool.TROCOperationsToolkit",
    "bestbuy": "parrot_tools.retail.bby.BestBuyToolkit",
    "massive": "parrot_tools.massive.toolkit.MassiveToolkit",
    "workday": "parrot_tools.workday.tool.WorkdayToolkit",

    # --- Individual Tools (Batch 1 — simple tools) ---
    "ddg_search": "parrot_tools.ddgsearch.DdgSearchTool",
    "google_voice": "parrot_tools.gvoice.GoogleVoiceTool",
    "bing_search": "parrot_tools.bingsearch.BingSearchTool",
    "serpapi": "parrot_tools.serpapi.SerpApiSearchTool",
    "arxiv": "parrot_tools.arxiv_tool.ArxivTool",
    "openweather": "parrot_tools.openweather.OpenWeatherTool",
    "think": "parrot_tools.think.ThinkTool",
    "math": "parrot_tools.math.MathTool",
    "textfile": "parrot_tools.textfile.TextFileTool",
    "file_reader": "parrot_tools.file_reader.FileReaderTool",
    "chart": "parrot_tools.chart.ChartTool",
    "dftohtml": "parrot_tools.dftohtml.DfToHtmlTool",
    "notification": "parrot_tools.notification.NotificationTool",
    "metadata": "parrot_tools.metadata.MetadataTool",
    "doc_converter": "parrot_tools.doc_converter.DocumentConverterTool",
    "webapp_generator": "parrot_tools.webapp_tool.WebAppGeneratorTool",
    "employees": "parrot_tools.employees.EmployeesTool",
    "powerbi_query": "parrot_tools.powerbi.PowerBIQueryTool",
    "powerbi_table_info": "parrot_tools.powerbi.PowerBITableInfoTool",
    "pdf_print": "parrot_tools.pdfprint.PDFPrintTool",
    "sandbox": "parrot_tools.sandboxtool.SandboxTool",
    "quick_eda": "parrot_tools.quickeda.QuickEdaTool",
    "eda_report": "parrot_tools.edareport.EdaReportTool",
    "calculator": "parrot_tools.calculator.tool.CalculatorTool",
    "file_manager": "parrot.tools.filemanager.FileManagerTool",
    "shell": "parrot_tools.shell_tool.tool.ShellTool",
    "system_health": "parrot_tools.system_health.tool.SystemHealthTool",
    # --- Toolkits (Batch 2 — toolkit-based tools) ---
    "jira": "parrot_tools.jiratoolkit.JiraToolkit",
    "git": "parrot_tools.gittoolkit.GitToolkit",
    "docker": "parrot_tools.docker.toolkit.DockerToolkit",
    "pulumi": "parrot_tools.pulumi.toolkit.PulumiToolkit",
    "sitesearch": "parrot_tools.sitesearch.toolkit.SiteSearchToolkit",
    "web_scraping": "parrot_tools.scraping.toolkit.WebScrapingToolkit",
    "cloudsploit": "parrot_tools.cloudsploit.toolkit.CloudSploitToolkit",
    "cloud_posture": "parrot_tools.security.cloud_posture_toolkit.CloudPostureToolkit",
    "container_security": "parrot_tools.security.container_security_toolkit.ContainerSecurityToolkit",
    "secrets_iac": "parrot_tools.security.secrets_iac_toolkit.SecretsIaCToolkit",
    "compliance_report": "parrot_tools.security.compliance_report_toolkit.ComplianceReportToolkit",
    "ibkr": "parrot_tools.ibkr.IBKRToolkit",
    "quant": "parrot_tools.quant.toolkit.QuantToolkit",
    # AWS toolkits
    "aws_cloudwatch": "parrot_tools.aws.cloudwatch.CloudWatchToolkit",
    "aws_documentdb": "parrot_tools.aws.documentdb.DocumentDBToolkit",
    "aws_ec2": "parrot_tools.aws.ec2.EC2Toolkit",
    "aws_ecr": "parrot_tools.aws.ecr.ECRToolkit",
    "aws_ecs": "parrot_tools.aws.ecs.ECSToolkit",
    "aws_eks": "parrot_tools.aws.eks.EKSToolkit",
    "aws_guardduty": "parrot_tools.aws.guardduty.GuardDutyToolkit",
    "aws_iam": "parrot_tools.aws.iam.IAMToolkit",
    "aws_lambda": "parrot_tools.aws.lambda_func.LambdaToolkit",
    "aws_rds": "parrot_tools.aws.rds.RDSToolkit",
    "aws_route53": "parrot_tools.aws.route53.Route53Toolkit",
    "aws_s3": "parrot_tools.aws.s3.S3Toolkit",
    "aws_securityhub": "parrot_tools.aws.securityhub.SecurityHubToolkit",

    # --- Individual Tools (Batch 2) ---
    "google_search": "parrot_tools.google.tools.GoogleSearchTool",
    "google_location": "parrot_tools.google.tools.GoogleLocationTool",
    "google_routes": "parrot_tools.google.tools.GoogleRoutesTool",
    "code_interpreter": "parrot_tools.codeinterpreter.tool.CodeInterpreterTool",
    "web_scraping_tool": "parrot_tools.scraping.tool.WebScrapingTool",
    "whatsapp": "parrot_tools.messaging.whatsapp.WhatsAppTool",

    "csv_export": "parrot_tools.csv_export.CSVExportTool",
    "excel": "parrot_tools.excel.ExcelTool",
    "msword": "parrot_tools.msword.MSWordTool",
    "word_to_markdown": "parrot_tools.msword.WordToMarkdownTool",
    "powerpoint": "parrot_tools.powerpoint.PowerPointTool",
    "python_pandas": "parrot.tools.pythonpandas.PythonPandasTool",

    # --- Toolkits (Batch 3 — complex/heavy tools) ---
    "dataset_manager": "parrot.tools.dataset_manager.DatasetManager",
    "flowtask": "parrot_tools.flowtask.tool.FlowtaskToolkit",
    "nextstop": "parrot_tools.nextstop.base.BaseNextStop",
    "query": "parrot_tools.querytoolkit.QueryToolkit",

    # --- Individual Tools (Batch 3 — DB / finance / analysis) ---
    "arangodb_search": "parrot_tools.arangodbsearch.ArangoDBSearchTool",
    "bloomberg": "parrot_tools.bloomberg.BloombergTool",
    "composite_score": "parrot_tools.composite_score.CompositeScoreTool",
    "correlation_analysis": "parrot_tools.correlationanalysis.CorrelationAnalysisTool",
    "database_query": "parrot_tools.databasequery.DatabaseQueryTool",
    "database": "parrot_tools.db.DatabaseTool",
    "elasticsearch": "parrot_tools.elasticsearch.ElasticsearchTool",
    "fred_api": "parrot_tools.fred_api.FredAPITool",
    "enhanced_database": "parrot_tools.multidb.EnhancedDatabaseTool",
    "product_info": "parrot_tools.products.ProductInfoTool",
    "product_list": "parrot_tools.products.ProductListTool",
    "prophet_forecast": "parrot_tools.prophetforecast.ProphetForecastTool",
    "qsource": "parrot_tools.qsource.QSourceTool",
    "seasonal_detection": "parrot_tools.seasonaldetection.SeasonalDetectionTool",
    "technical_analysis": "parrot_tools.technical_analysis.TechnicalAnalysisTool",
    "whatif": "parrot_tools.whatif.WhatIfTool",
    "yfinance": "parrot_tools.yfinance.YFinanceTool",
}

__all__ = ["__version__", "TOOL_REGISTRY"]