#!/usr/bin/env bash
set -euo pipefail

source_path="${BASH_SOURCE[0]}"
while [[ -L "$source_path" ]]; do
  source_dir="$(cd -P "$(dirname "$source_path")" && pwd)"
  linked_path="$(readlink "$source_path")"
  if [[ "$linked_path" == /* ]]; then
    source_path="$linked_path"
  else
    source_path="${source_dir}/${linked_path}"
  fi
done

script_dir="$(cd -P "$(dirname "$source_path")" && pwd)"
repo_dir="$(cd "${script_dir}/.." && pwd)"
if [[ -f "${repo_dir}/.agentrail/source/package.json" ]]; then
  repo_dir="$(cd "${repo_dir}/.agentrail/source" && pwd)"
fi

export PYTHONPATH="${repo_dir}${PYTHONPATH:+:${PYTHONPATH}}"
if command -v python3 >/dev/null 2>&1; then
  exec python3 -m agentrail.cli.main "$@"
elif [[ -x /usr/bin/python3 ]]; then
  exec /usr/bin/python3 -m agentrail.cli.main "$@"
else
  exec python -m agentrail.cli.main "$@"
fi
