param(
    [string]$EmmaHome = 'C:\Emma\current',
    [string]$UpdateUrl = $env:EMMA_UPDATE_URL
)

$ErrorActionPreference = 'Stop'
$agentExe = Join-Path $EmmaHome 'runtime\emma-agent.exe'

if (-not $UpdateUrl) {
    $configPath = Join-Path $EmmaHome 'config.json'
    if (Test-Path $configPath) {
        $cfg = Get-Content $configPath -Raw | ConvertFrom-Json
        if ($cfg.updateServerUrl) { $UpdateUrl = $cfg.updateServerUrl }
    }
}

if (-not $UpdateUrl) {
    Write-Warning 'Kein Update-Server konfiguriert (EMMA_UPDATE_URL oder config.json).'
    exit 0
}

if (-not (Test-Path $agentExe)) {
    throw "emma-agent.exe nicht gefunden: $agentExe"
}

$env:EMMA_HOME = $EmmaHome
& $agentExe update --url $UpdateUrl
