#!/usr/bin/env bash
# elevens CLI ラッパー (c11-native multi-agent orchestration)
# bun で skills/cmux-team/manager/main.ts を exec 起動する（node 親を介さない）
# (skills/cmux-team/ ディレクトリ名は Phase 3 まで継承。docs/seed.md 参照)

set -euo pipefail

# bun 存在確認
if ! command -v bun >/dev/null 2>&1; then
  echo "エラー: bun がインストールされていません。" >&2
  echo "インストール: https://bun.sh/docs/installation" >&2
  exit 1
fi

# このスクリプト本体の絶対ディレクトリを解決（npm 経由のシンボリックリンクに対応）
SOURCE="${BASH_SOURCE[0]}"
while [ -L "$SOURCE" ]; do
  DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
  SOURCE="$( readlink "$SOURCE" )"
  [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE"
done
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
# 注意: ここで `PROJECT_ROOT=...` と代入しないこと。Master プロセスが
# `PROJECT_ROOT=<repo cwd>` を export 済みで来る場合があり、上書きすると
# `exec` で子プロセス（bun → main.ts:findProjectRoot）にインストール先が
# 伝播してしまい、別 repo の `.team/` を破壊する。別名を使う。
INSTALL_ROOT="$( cd -P "$SCRIPT_DIR/.." >/dev/null 2>&1 && pwd )"

MAIN_TS="$INSTALL_ROOT/skills/cmux-team/manager/main.ts"

# bun に exec で置き換える（bash 自体を bun プロセスに replace、親 PID を増やさない）
exec bun run "$MAIN_TS" "$@"
