#!python
"""Bootstrap CLI entrypoint for local and packaged installs."""

from __future__ import annotations

import importlib.metadata as metadata
import json
import sys
from pathlib import Path
from urllib.parse import urlparse


def _load_main():
    try:
        from autodiag.cli import main

        return main
    except ModuleNotFoundError:
        dist = metadata.distribution("autodiag")
        direct_url_text = dist.read_text("direct_url.json")
        if direct_url_text:
            url = json.loads(direct_url_text).get("url", "")
            parsed = urlparse(url)
            if parsed.scheme == "file":
                root = Path(parsed.path)
                src = root / "src"
                if src.exists():
                    sys.path.insert(0, str(src))
                elif root.exists():
                    sys.path.insert(0, str(root))

        from autodiag.cli import main

        return main


def main() -> int:
    return _load_main()()


if __name__ == "__main__":
    raise SystemExit(main())
