#!/usr/bin/env bash
#
# codex-all — Codex CLI launcher with ClaudeAll superpowers loaded.
#
# What it does:
#   1. Source ~/.codex/.env (and ~/.claude/.env as fallback) so MCP servers
#      see CONTEXT7_API_KEY / EXA_API_KEY / Z_AI_API_KEY / TELEGRAM_* / etc.
#   2. Forward all args to the codex binary further down PATH.
#
# Usage:
#   codex-all                      # interactive session
#   codex-all "your prompt"        # one-shot
#   codex-all exec ...             # subcommands
#
# Override:
#   CODEX_BIN=/path/to/codex codex-all

set -u

# ─── Source env files (most-specific first) ───────────────────────────────
load_env() {
    local f="$1"
    if [ -f "$f" ]; then
        set -a
        # shellcheck disable=SC1090
        . "$f" 2>/dev/null || true
        set +a
    fi
}
load_env "$HOME/.claude/.env"
load_env "$HOME/.codex/.env"

# ─── Locate codex binary ──────────────────────────────────────────────────
CODEX_CMD="${CODEX_BIN:-codex}"
if ! command -v "$CODEX_CMD" &>/dev/null; then
    echo "❌ codex CLI not found in PATH." >&2
    echo "   Install: npm install -g @openai/codex" >&2
    echo "   Or set CODEX_BIN=/path/to/codex" >&2
    exit 127
fi

exec "$CODEX_CMD" "$@"
