#!/usr/bin/env bash
# Invoke claude with the oreillyit-minimax provider environment.
# Replicates what claude-profile does in Phase 3 for non-interactive (-p) use.
# Used by the /ask-minimax skill.
set -euo pipefail

MINIMAX_DIR="${HOME}/.claude-oreillyit-minimax"
PROVIDER_ENV="${MINIMAX_DIR}/provider.env"

[[ -f "$PROVIDER_ENV" ]] || { echo "error: $PROVIDER_ENV not found" >&2; exit 1; }

# Parse provider.env — handle ANTHROPIC_API_KEY_FILE specially; export the rest
while IFS='=' read -r key value; do
    [[ -z "$key" || "$key" =~ ^[[:space:]]*# ]] && continue
    if [[ "$key" == "ANTHROPIC_API_KEY_FILE" ]]; then
        expanded="${value/#\~/$HOME}"
        [[ -f "$expanded" ]] || { echo "error: API key file '$expanded' not found" >&2; exit 1; }
        ANTHROPIC_API_KEY=$(cat "$expanded")
        export ANTHROPIC_API_KEY
    else
        export "$key=$value"
    fi
done < "$PROVIDER_ENV"

export CLAUDE_CONFIG_DIR="$MINIMAX_DIR"
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export COLORTERM=truecolor

# MINIMAX_EFFORT (provider.env) applies to Flash models only, unless the caller passed --effort.
model="${ANTHROPIC_MODEL:-}"; has_effort=0; prev=""
for a in "$@"; do
    [[ "$prev" == "--model" ]] && model="$a"
    [[ "$a" == "--effort" ]] && has_effort=1
    prev="$a"
done
if [[ -n "${MINIMAX_EFFORT:-}" && $has_effort -eq 0 && "$model" == *Flash* ]]; then
    set -- --effort "$MINIMAX_EFFORT" "$@"
fi

exec claude "$@"
