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

ROOT_DIR="${VOICE_AGENT_ROOT:-$HOME/repos/exult-agent/tools/voice-agent}"
ENV_FILE="${VOICE_AGENT_ENV_FILE:-$HOME/.config/voice-agent.env}"
LOG_FILE="${VOICE_AGENT_LOG_FILE:-/tmp/exult-voice-agent.log}"

log_msg() { echo "[$(date '+%Y-%m-%dT%H:%M:%S%z')] $1" | tee -a "$LOG_FILE"; }

if [ -f "$ENV_FILE" ]; then
  set -a
  # shellcheck disable=SC1090
  source "$ENV_FILE"
  set +a
else
  log_msg "ERROR: env file missing: $ENV_FILE"
  exit 1
fi

cd "$ROOT_DIR"

log_msg "running live preflight"
if ! bun run preflight:live >>"$LOG_FILE" 2>&1; then
  log_msg "preflight failed; refusing to start live voice agent"
  exit 1
fi

log_msg "starting live voice agent"
exec bun run start:live >>"$LOG_FILE" 2>&1
