#!/usr/bin/env bash
set -Eeuo pipefail

if (($# != 2)); then
  echo "usage: $0 <cp9-session> <tilt-ui-resource>" >&2
  exit 64
fi

session=$1
resource=$2
repo_root="${CP9_REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)}"
state_dir="${CP9_STATE_DIR:-$repo_root/.cp9/$session}"
tilt_status="$state_dir/tilt/reports/tilt-status.json"

[[ -f "$tilt_status" ]] || {
  echo "cp9 Tilt state is missing: $tilt_status" >&2
  exit 1
}
[[ "$(jq -er '.controller' "$tilt_status")" == "remote" ]] || {
  echo "remote Tilt controller state is required: $tilt_status" >&2
  exit 1
}

api_port=$(jq -er '.api_port' "$tilt_status")
exec "$repo_root/skills/get-started/scripts/session-ssh.sh" "$session" \
  tilt get uiresource "$resource" -o json --host 127.0.0.1 --port "$api_port"
