#!/bin/bash
# Load Manual Invoice's private configuration for the installed O11Y Skills.

_manual_invoice_find_config() {
    if [ -n "${MANUAL_INVOICE_CONFIG:-}" ] && [ -f "$MANUAL_INVOICE_CONFIG" ]; then
        printf '%s\n' "$MANUAL_INVOICE_CONFIG"
        return 0
    fi

    local current="$PWD"
    while [ "$current" != "/" ]; do
        if [ -f "$current/.manual-invoice.env" ]; then
            printf '%s\n' "$current/.manual-invoice.env"
            return 0
        fi
        current="$(dirname "$current")"
    done

    local user_config="${XDG_CONFIG_HOME:-$HOME/.config}/manual-invoice/config.env"
    if [ -f "$user_config" ]; then
        printf '%s\n' "$user_config"
        return 0
    fi
    return 1
}

MANUAL_INVOICE_CONFIG="$(_manual_invoice_find_config)" || {
    echo "ERROR: Manual Invoice configuration not found. Run \$manual-invoice configure." >&2
    return 1 2>/dev/null || exit 1
}

umask 077
set -a
source "$MANUAL_INVOICE_CONFIG"
set +a

export ENV_FILE="$MANUAL_INVOICE_CONFIG"
if [ -n "${GITHUB_PAT:-}" ]; then
    export GITHUB_TOKEN="${GITHUB_TOKEN:-$GITHUB_PAT}"
    export GH_TOKEN="${GH_TOKEN:-$GITHUB_PAT}"
fi
export O11Y_SKILLS_ROOT="${CODEX_HOME:-$HOME/.codex}/skills"
