$ErrorActionPreference = 'Stop' $StateDir = if ($env:COPILOT_RESOURCES_STATE_DIR) { $env:COPILOT_RESOURCES_STATE_DIR } else { Join-Path $HOME '.copilot-resources-state' } New-Item -ItemType Directory -Path $StateDir -Force | Out-Null $Payload = [Console]::In.ReadToEnd() $Payload | Add-Content -LiteralPath (Join-Path $StateDir 'hook-events.log') $PortRegistryScript = Join-Path $PSScriptRoot 'update-port-registry.mjs' $NodeCommand = Get-Command node -ErrorAction SilentlyContinue if ($NodeCommand -and (Test-Path -LiteralPath $PortRegistryScript)) { try { $Payload | & $NodeCommand.Source $PortRegistryScript | Out-Null } catch { "$(Get-Date -AsUTC -Format o) update-port-registry failed" | Add-Content -LiteralPath (Join-Path $StateDir 'project-ports-errors.log') } } '{"continue": true}'