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

SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)"

SOURCE_CONFIG="${E2E_WORKSPACE_TIMELINE_CONFIG_SOURCE:-}"
[[ -n "${SOURCE_CONFIG}" ]] || {
  printf '[ticket-manager-workspace-timeline-e2e] ERROR: E2E_WORKSPACE_TIMELINE_CONFIG_SOURCE is required\n' >&2
  printf '[ticket-manager-workspace-timeline-e2e] Example: E2E_WORKSPACE_TIMELINE_CONFIG_SOURCE=services/ticket-manager/config.local.yaml %s\n' "$0" >&2
  exit 1
}
if [[ "${SOURCE_CONFIG}" != /* ]]; then
  SOURCE_CONFIG="${REPO_ROOT}/${SOURCE_CONFIG}"
fi
[[ -f "${SOURCE_CONFIG}" ]] || {
  printf '[ticket-manager-workspace-timeline-e2e] ERROR: config source not found: %s\n' "${SOURCE_CONFIG}" >&2
  exit 1
}

CONFIG_COPY_DIR="${REPO_ROOT}/.tmp/ticket-manager-workspace-timeline-e2e"
mkdir -p "${CONFIG_COPY_DIR}"
CONFIG_COPY="${CONFIG_COPY_DIR}/config.local.yaml"
cp "${SOURCE_CONFIG}" "${CONFIG_COPY}"
chmod 600 "${CONFIG_COPY}" || true

export E2E_WORKSPACE_TIMELINE_SYNC_INTERVAL="${E2E_WORKSPACE_TIMELINE_SYNC_INTERVAL:-2s}"
export E2E_FAKE_AGENT_GATEWAY="${E2E_FAKE_AGENT_GATEWAY:-1}"

exec bash "${SCRIPT_DIR}/ticket-manager-e2e.sh" \
  --config-file "${CONFIG_COPY}" \
  "$@" \
  workspace-timeline
