#!/bin/bash
# CodeFusion app launcher.
# Starts the CodeFusion binary inside this app bundle (CodeFusion.app/Contents/MacOS/CodeFusion) in Web UI mode.
# Named codefusion-launcher because macOS disks ignore case, so "codefusion" would clash with "CodeFusion".

set -euo pipefail

# When started from Finder there is no terminal, so send all output to a log file
if [ ! -t 1 ]; then
	LOG_FILE="$HOME/Library/Logs/CodeFusion.log"
	mkdir -p "$(dirname "$LOG_FILE")"
	exec >>"$LOG_FILE" 2>&1
	echo
	echo "=== $(date) | $(uname -m) | macOS $(sw_vers -productVersion) ==="
fi

echo "Starting CodeFusion Web UI..."
echo
echo "The web interface will open in your default browser."
echo "Press Ctrl+C to stop the server."
echo

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CODEFUSION_BIN="$SCRIPT_DIR/CodeFusion"
echo "Binary: $CODEFUSION_BIN"

if [ ! -x "$CODEFUSION_BIN" ]; then
	echo "Error: expected executable not found at: $CODEFUSION_BIN" >&2
	exit 1
fi

exec "$CODEFUSION_BIN" --ui "$@"
