#!/usr/bin/env bash
# `care` system shim — installed by care-install/wizard.py.
#
# Reads ~/.config/care-install/state to find out:
#   CARE_WORKSPACE   workspace dir (holds .env)
#   CARE_MODE        "uvx" or "local"
#   CARE_LOCAL_PATH  local clone of the care repo (only when MODE=local)
#
# Then it cd's into the workspace so `care`'s dotenv loader picks up
# `<workspace>/.env`, and dispatches to either `uvx maestro-care` or
# `uv run --project <care-clone> care`.

set -euo pipefail

STATE_FILE="${CARE_INSTALL_STATE:-$HOME/.config/care-install/state}"

if [[ ! -f "$STATE_FILE" ]]; then
  echo "care: $STATE_FILE not found — run the wizard:" >&2
  echo "  uv run /path/to/care-install/wizard.py" >&2
  exit 1
fi

# shellcheck disable=SC1090
source "$STATE_FILE"

: "${CARE_WORKSPACE:?CARE_WORKSPACE missing from $STATE_FILE}"
: "${CARE_MODE:?CARE_MODE missing from $STATE_FILE}"

cd "$CARE_WORKSPACE"

case "$CARE_MODE" in
  uvx)
    exec uvx --from maestro-care care "$@"
    ;;
  local)
    : "${CARE_LOCAL_PATH:?CARE_LOCAL_PATH missing from $STATE_FILE}"
    exec uv run --project "$CARE_LOCAL_PATH" care "$@"
    ;;
  *)
    echo "care: unknown CARE_MODE='$CARE_MODE' in $STATE_FILE" >&2
    exit 1
    ;;
esac
