#!/usr/bin/env bash
# Portable config generator/validator launcher for ai-editor-server.
# Installed into .venv/bin by setuptools script-files (shebang is /usr/bin/env bash).
#
# Subcommands (see also: aiedcfg --help):
#   generate | gen   — build config.json via mcp-proxy-adapter generator + editor sections
#   validate | val   — validate config.json (adapter validator + editor extensions)
#
# Author: Vasiliy Zdanovskiy
# email: vasilyvz@gmail.com

set -euo pipefail

_script="${BASH_SOURCE[0]}"
if command -v readlink >/dev/null 2>&1; then
  _script="$(readlink -f "$_script" 2>/dev/null || readlink "$_script" 2>/dev/null || echo "$_script")"
fi
_bindir="$(cd "$(dirname "$_script")" && pwd)"

if [[ "$_bindir" == */.venv/bin ]] || [[ "$_bindir" == */venv/bin ]]; then
  _root="$(cd "$_bindir/../.." && pwd)"
else
  _root="$(cd "$_bindir/.." && pwd)"
fi

cd "$_root"
export PYTHONPATH="${_root}${PYTHONPATH:+:${PYTHONPATH}}"

_python="${AIEDCFG_PYTHON:-${AIEDMGR_PYTHON:-${CASMGR_PYTHON:-}}}"
if [[ -z "$_python" ]]; then
  for _cand in "$_root/.venv/bin/python" "$_root/venv/bin/python"; do
    if [[ -x "$_cand" ]]; then
      _python="$_cand"
      break
    fi
  done
fi
if [[ -z "$_python" ]]; then
  _python="$(command -v python3 || command -v python)"
fi

exec "$_python" -m ai_editor.cli.config_cli "$@"
