#!/bin/bash
# 平台自适应入口脚本，Agent 统一通过此脚本调用，无需关心平台差异
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
OS=$(uname -s)
ARCH=$(uname -m)
BOS_BASE_URL="https://morpho.bj.bcebos.com/soqa"
# BOS_BASE_URL="https://morpho.bj.bcebos.com/soqa-debug"

if [ "$OS" = "Linux" ]; then
  BINARY="$SCRIPT_DIR/ku-linux-amd64"
  BINARY_URL="$BOS_BASE_URL/ku-linux-amd64"
elif [ "$OS" = "Darwin" ] && [ "$ARCH" = "arm64" ]; then
  BINARY="$SCRIPT_DIR/ku-darwin-arm64"
  BINARY_URL="$BOS_BASE_URL/ku-darwin-arm64"
elif [ "$OS" = "Darwin" ]; then
  BINARY="$SCRIPT_DIR/ku-darwin-amd64"
  BINARY_URL="$BOS_BASE_URL/ku-darwin-amd64"
elif [[ "$OS" =~ MINGW64|MSYS_NT|CYGWIN_NT ]]; then
  BINARY="$SCRIPT_DIR/ku-windows-amd64.exe"
  BINARY_URL="$BOS_BASE_URL/ku-windows-amd64.exe"
else
  echo "Unsupported platform: $OS $ARCH" >&2
  exit 1
fi

# 若 binary 不存在，从 BOS 下载
if [ ! -f "$BINARY" ]; then
  echo "Binary not found, downloading from $BINARY_URL..."
  if curl --fail --silent --location --output "$BINARY" "$BINARY_URL"; then
    echo "Download complete."
    chmod +x "$BINARY"
  else
    echo "Failed to download binary from $BINARY_URL" >&2
    exit 1
  fi
fi

# 确保有执行权限（git clone 等操作可能丢失权限位）
[ -x "$BINARY" ] || chmod +x "$BINARY"

exec "$BINARY" "$@"