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

resolve_script_path() {
  local src="${BASH_SOURCE[0]}"
  while [[ -L "$src" ]]; do
    local dir
    dir="$(cd "$(dirname "$src")" && pwd)"
    src="$(readlink "$src")"
    [[ "$src" != /* ]] && src="$dir/$src"
  done
  printf '%s' "$src"
}

ROOT_DIR="$(cd "$(dirname "$(resolve_script_path)")/.." && pwd)"
cd "$ROOT_DIR"

if ! command -v bun >/dev/null 2>&1; then
  echo "rios-cli 需要 Bun >= 1.2。安装: curl -fsSL https://bun.sh/install | bash" >&2
  exit 1
fi

BUN_ARGS=()
if [[ -f "$ROOT_DIR/.env" ]]; then
  BUN_ARGS+=(--env-file=.env)
fi

run_bun() {
  if [[ ${#BUN_ARGS[@]} -gt 0 ]]; then
    exec bun "${BUN_ARGS[@]}" "$@"
  fi
  exec bun "$@"
}

if [[ "${CLAUDE_CODE_FORCE_RECOVERY_CLI:-0}" == "1" ]]; then
  run_bun ./src/localRecoveryCli.ts "$@"
fi

run_bun ./src/entrypoints/cli.tsx "$@"
