#!/bin/bash
#
# Rosetta Check - Intel App Inventory Script
# Designed to run as root via MDM (Intune, Jamf, Kandji, etc.)
# Outputs Intel app names and versions from the console user's export file.
#

# Determine the currently logged-in console user
console_user=$(/usr/bin/stat -f%Su /dev/console 2>/dev/null)

if [[ -z "$console_user" || "$console_user" == "root" || "$console_user" == "loginwindow" ]]; then
    echo "No console user logged in"
    exit 0
fi

# Resolve the console user's home directory
user_home=$(/usr/bin/dscl . -read "/Users/$console_user" NFSHomeDirectory 2>/dev/null | awk '{print $2}')

if [[ -z "$user_home" ]]; then
    echo "Unable to resolve home directory for $console_user"
    exit 0
fi

# Path to the Rosetta Check auto-export file
export_file="${user_home}/Library/Containers/com.neiljohn.rosettacheck/Data/Library/Application Support/RosettaCheck/exports/rosetta-check-latest.csv"

if [[ ! -f "$export_file" ]]; then
    echo "No Rosetta Check export found"
    exit 0
fi

# Extract Intel app names and versions
intel=$(grep ",Intel," "$export_file" | awk -F',' '{print $1" ("$3")"}')

if [[ -n "$intel" ]]; then
    echo "$intel"
else
    echo "No Intel apps found"
fi
