"""Default built-in datasource definitions."""

DEFAULT_DATASOURCES = {
    "top500": {
        "id": 1,
        "name": "TOP500 Supercomputers",
        "module": "L1",
        "priority": "P0",
        "frequency_minutes": 240,
    },
    "epoch_ai_gpu": {
        "id": 2,
        "name": "Epoch AI GPU Clusters",
        "module": "L1",
        "priority": "P0",
        "frequency_minutes": 360,
    },
    "huggingface_models": {
        "id": 3,
        "name": "HuggingFace Models",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 720,
    },
    "huggingface_datasets": {
        "id": 4,
        "name": "HuggingFace Datasets",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 720,
    },
    "huggingface_spaces": {
        "id": 5,
        "name": "HuggingFace Spaces",
        "module": "L2",
        "priority": "P2",
        "frequency_minutes": 1440,
    },
    "peeringdb_ixp": {
        "id": 6,
        "name": "PeeringDB IXP",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 1440,
    },
    "peeringdb_network": {
        "id": 7,
        "name": "PeeringDB Networks",
        "module": "L2",
        "priority": "P2",
        "frequency_minutes": 2880,
    },
    "peeringdb_facility": {
        "id": 8,
        "name": "PeeringDB Facilities",
        "module": "L2",
        "priority": "P2",
        "frequency_minutes": 2880,
    },
    "telegeography_cables": {
        "id": 9,
        "name": "Submarine Cables",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 10080,
    },
    "telegeography_landing": {
        "id": 10,
        "name": "Cable Landing Points",
        "module": "L2",
        "priority": "P2",
        "frequency_minutes": 10080,
    },
    "telegeography_systems": {
        "id": 11,
        "name": "Cable Systems",
        "module": "L2",
        "priority": "P2",
        "frequency_minutes": 10080,
    },
    "arcgis_cables": {
        "id": 15,
        "name": "ArcGIS Submarine Cables",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 10080,
    },
    "arcgis_landing_points": {
        "id": 16,
        "name": "ArcGIS Landing Points",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 10080,
    },
    "arcgis_cable_landing_relation": {
        "id": 17,
        "name": "ArcGIS Cable-Landing Relations",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 10080,
    },
    "fao_landing_points": {
        "id": 18,
        "name": "FAO Landing Points",
        "module": "L2",
        "priority": "P1",
        "frequency_minutes": 10080,
    },
    "spacetrack_tle": {
        "id": 19,
        "name": "Space-Track TLE",
        "module": "L3",
        "priority": "P2",
        "frequency_minutes": 1440,
    },
    "celestrak_tle": {
        "id": 20,
        "name": "CelesTrak TLE",
        "module": "L3",
        "priority": "P2",
        "frequency_minutes": 1440,
    },
}

ID_TO_COLLECTOR = {info["id"]: name for name, info in DEFAULT_DATASOURCES.items()}
COLLECTOR_TO_ID = {name: info["id"] for name, info in DEFAULT_DATASOURCES.items()}
