# shellcheck shell=bash

_okstra_ctl_reconcile() {
  # `okstra-ctl reconcile [--project <id|all>]`. dispatcher 가 이미 호출한
  # _okstra_ctl_prepare 의 reconcile 은 unscoped 이므로, 여기서는 사용자
  # --project 필터를 적용해 한 번 더 호출한다.
  local project="all"
  while [[ $# -gt 0 ]]; do
    case "$1" in
      --project) project="$2"; shift 2 ;;
      *) printf 'reconcile: unknown option: %s\n' "$1" >&2; exit 2 ;;
    esac
  done
  OKSTRA_HOME_RESOLVED="$(okstra_central_home)" \
  OKSTRA_CTL_LIB_DIR="$SCRIPT_DIR" \
  OK_PROJECT="$project" \
  python3 - <<'PY'
import os, sys
sys.path.insert(0, os.environ["OKSTRA_CTL_LIB_DIR"])
from pathlib import Path
from okstra_ctl import reconcile_active, reconcile_recent
target = os.environ["OK_PROJECT"]
home = Path(os.environ["OKSTRA_HOME_RESOLVED"])
scope = None if target == "all" else target
reconcile_active(home, project=scope)
reconcile_recent(home, project=scope)
PY
  printf 'reconcile complete\n'
}
