#!/usr/bin/env sh
set -eu

version="${FIERRO_HARNESS_VERSION:-latest}"
index_url="${FIERRO_HARNESS_INDEX_URL:-https://devpi.fierro.com.ar/root/fierro/+simple/}"

command -v curl >/dev/null 2>&1 || { printf '%s\n' 'curl es requerido.' >&2; exit 1; }
uv_cmd="$(command -v uv || true)"
if [ -z "$uv_cmd" ]; then
  curl -LsSf https://astral.sh/uv/install.sh | sh
  export PATH="${HOME}/.local/bin:${PATH}"
  uv_cmd="$(command -v uv || true)"
fi
[ -n "$uv_cmd" ] || { printf '%s\n' 'No se pudo instalar uv.' >&2; exit 1; }

package="fierro-harness"
if [ "$version" != latest ]; then
  package="fierro-harness==${version#v}"
fi
run_harness() {
  "$uv_cmd" run --default-index "$index_url" --python 3.14 --with "$package" fierro-harness "$@"
}

run_harness install
if ! command -v gcloud >/dev/null 2>&1; then
  run_harness setup --install gcloud --yes
fi
export PATH="${HOME}/.local/google-cloud-sdk/bin:${PATH}"
if ! run_harness secret auth-status >/dev/null 2>&1; then
  run_harness secret login --project fierro-175522
fi
if ! run_harness secret sync-opencode --project fierro-175522; then
  printf '%s\n' 'No se pudo sincronizar la credencial opcional de OpenCode; se continúa sin ella.' >&2
fi
