"""Registry entries for the Observability layer (L9).

Auto-extracted from the monolithic ``defaults.py``.  Each entry
follows the standard registry schema:

- ``name``: human-readable tool name
- ``level``: 13-layer taxonomy level (1-13)
- ``layer``: this layer name
- ``role``: role within the layer
- ``category``: functional category
- ``installer``: installation method
- ``launcher``: process launcher specification
- ``deps``: list of required tool IDs
- ``description``: short description
- ``flags``: optional boolean flags

This module is consumed by
:mod:`ai_lsc.registry.loader`.
"""

TOOLS: dict[str, dict] = {
    'btop': {
    "name": "Btop",
    "level": 9,
    "layer": "Observability",
    "role": "Dashboard",
    "category": "Metrics",
    "installer": {
        "type": "pacman",
        "pkg": "btop"
    },
    "launcher": {
        "type": "desktop",
        "cmd": "x-terminal-emulator -e btop",
        "default_port": None
    },
    "deps": [],
    "description": "Resource monitor that shows usage and stats.",
    "license": 'Apache-2.0',
    "flags": {
        "has_cli": True,
        "has_gui": False,
        "has_web": False,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'glances': {
    "name": "Glances",
    "level": 9,
    "layer": "Observability",
    "role": "Dashboard",
    "category": "Metrics",
    "installer": {
        "type": "pacman",
        "pkg": "glances"
    },
    "launcher": {
        "type": "tmux",
        "cmd": "glances -w --port {port}",
        "default_port": 61208
    },
    "deps": [],
    "description": "Cross-platform system monitoring tool.",
    "license": 'LGPL-3.0',
    "flags": {
        "has_cli": False,
        "has_gui": False,
        "has_web": True,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'prometheus': {
    "name": "Prometheus",
    "level": 9,
    "layer": "Observability",
    "role": "Metrics Collector",
    "category": "Metrics",
    "installer": {
        "type": "pacman",
        "pkg": "prometheus"
    },
    "launcher": {
        "type": "systemd",
        "cmd": "prometheus",
        "default_port": 9090
    },
    "deps": [],
    "description": "Open-source monitoring and alerting toolkit.",
    "license": 'Apache-2.0',
    "flags": {
        "has_cli": True,
        "has_gui": False,
        "has_web": True,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'grafana': {
    "name": "Grafana",
    "level": 9,
    "layer": "Observability",
    "role": "Dashboard",
    "category": "Visualization",
    "installer": {
        "type": "pacman",
        "pkg": "grafana"
    },
    "launcher": {
        "type": "systemd",
        "cmd": "grafana-server",
        "default_port": 3000
    },
    "deps": [],
    "description": "Multi-source observability dashboards and visualization.",
    "license": 'AGPL-3.0',
    "flags": {
        "has_cli": False,
        "has_gui": False,
        "has_web": True,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'grafana_alloy': {
    "name": "Grafana Alloy",
    "level": 9,
    "layer": "Observability",
    "role": "Collector",
    "category": "Telemetry",
    "installer": {
        "type": "script",
        "cmd": "curl -fsSL https://raw.githubusercontent.com/grafana/alloy/main/install.sh | sh"
    },
    "launcher": {
        "type": "tmux",
        "cmd": "alloy run --server.http.listen-port={port}",
        "default_port": 12345
    },
    "deps": [
        "prometheus"
    ],
    "description": "OpenTelemetry collector with Prometheus integration.",
    "license": 'Apache-2.0',
    "flags": {
        "has_cli": True,
        "has_gui": False,
        "has_web": True,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'opik': {
    "name": "Opik",
    "level": 9,
    "layer": "Observability",
    "role": "LLM Tracing",
    "category": "AI Observability",
    "installer": {
        "type": "uv",
        "pkg": "opik"
    },
    "launcher": {
        "type": "tmux",
        "cmd": "opik serve --port {port}",
        "default_port": 3000
    },
    "deps": [],
    "description": "Open-source LLM observability and tracing platform.",
    "license": 'Proprietary',
    "flags": {
        "has_cli": True,
        "has_gui": False,
        "has_web": True,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
    'wayland': {
    "name": "wayland.ai",
    "level": 9,
    "layer": "Observability",
    "role": "AI Compositor",
    "category": "AI Desktop",
    "installer": {
        "type": "pacman",
        "pkg": "wayland"
    },
    "launcher": {
        "type": "desktop",
        "cmd": "weston",
        "default_port": None
    },
    "deps": [],
    "description": "AI-native Wayland compositor for integrated AI desktop environments.",
    "license": 'Proprietary',
    "flags": {
        "has_cli": True,
        "has_gui": True,
        "has_web": False,
        "is_ollama": False,
        "is_docker": False,
        "is_passive": False,
        "is_mcp": False,
        "is_skills_collection": False
    }
},
}
