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

# 测试包：勿使用「VAR=value curl ... | bash」——VAR 只作用于 curl，右侧 bash 无此变量。
# 正确示例：curl ... | SKILL_ATLAS_INSTALL_CHANNEL=test bash

TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT

# 默认线上安装包；设置 SKILL_ATLAS_INSTALL_CHANNEL=test 时使用测试包
INSTALL_BASE="https://maas-skill-hub-cli.oss-cn-hangzhou.aliyuncs.com"
if [[ "${SKILL_ATLAS_INSTALL_CHANNEL:-}" == "test" ]]; then
  INSTALL_ARCHIVE_URL="${INSTALL_BASE}/install_test.tar.gz"
  INSTALL_ARCHIVE_LABEL="install_test.tar.gz"
else
  INSTALL_ARCHIVE_URL="${INSTALL_BASE}/install.tar.gz"
  INSTALL_ARCHIVE_LABEL="install.tar.gz"
fi

LOCAL_ARCHIVE="$TMP_DIR/install.tar.gz"
curl -sSL "$INSTALL_ARCHIVE_URL" -o "$LOCAL_ARCHIVE"
tar -xzf "$LOCAL_ARCHIVE" -C "$TMP_DIR"

# 解压后执行 setup.sh 安装脚本
INSTALLER="$TMP_DIR/setup.sh"
if [[ ! -f "$INSTALLER" ]]; then
  echo "Error: setup.sh not found after extracting ${INSTALL_ARCHIVE_LABEL}" >&2
  find "$TMP_DIR" -maxdepth 3 -print >&2
  exit 1
fi

bash "$INSTALLER" "$@"
