hermes-hub/scripts/update.ps1
2026-08-20 00:17:11 +07:00

44 lines
2 KiB
PowerShell

# Hermes Hub PowerShell Updater
# Updates application binaries, launcher and plugin files while preserving all user credentials, auth.json, and router_profiles.yaml.
[CmdletBinding()]
param()
$ErrorActionPreference = "Stop"
Write-Host "======================================================================" -ForegroundColor Cyan
Write-Host " HERMES HUB UPDATER (PowerShell) " -ForegroundColor Cyan
Write-Host "======================================================================" -ForegroundColor Cyan
$HermesHome = $env:HERMES_HOME
if ([string]::IsNullOrWhiteSpace($HermesHome)) {
$HermesHome = Join-Path $env:LOCALAPPDATA "hermes"
}
if (-not (Test-Path $HermesHome)) {
Write-Error "Hermes Agent directory not found at $HermesHome. Cannot update."
exit 10
}
$RepoRoot = Split-Path -Parent $PSScriptRoot
$TargetDir = Join-Path $env:LOCALAPPDATA "Programs\HermesHub"
Write-Host "[1/3] Updating application binaries..." -ForegroundColor Yellow
$LauncherExe = Join-Path $RepoRoot "launcher\HermesHub.exe"
if (Test-Path $LauncherExe) {
Copy-Item -Path $LauncherExe -Destination (Join-Path $TargetDir "HermesHub.exe") -Force
Copy-Item -Path $LauncherExe -Destination (Join-Path $HermesHome "HermesHub.exe") -Force
}
Write-Host "[2/3] Updating plugin code..." -ForegroundColor Yellow
$PluginDst = Join-Path $HermesHome "plugins\antigravity-provider\src\antigravity_provider"
$PluginSrc = Join-Path $RepoRoot "src\antigravity_provider"
Copy-Item -Path "$PluginSrc\*" -Destination $PluginDst -Recurse -Force
Write-Host "[3/3] Preserving user credentials and router configuration..." -ForegroundColor Green
Write-Host " Auth files, API keys, and router_profiles.yaml kept untouched."
Write-Host "======================================================================" -ForegroundColor Green
Write-Host " HERMES HUB SUCCESSFULLY UPDATED! " -ForegroundColor Green
Write-Host "======================================================================" -ForegroundColor Green
exit 0