#!/bin/bash COREDESKTOP="$HOME/.local/share/coredesktop" run_update() { local status=0 bash "$COREDESKTOP/sandbox/setup.sh" || status=1 # The real command, not the sandboxed one in sandbox/bin: updating Hermes # writes outside what its sandbox allows if [ -x "$HOME/.local/bin/hermes" ]; then echo "Updating Hermes Agent..." "$HOME/.local/bin/hermes" update < /dev/null || status=1 fi # The gateway reads its sandbox rules and loads new dependencies only when it # starts, and Hermes restarts it only for new code if systemctl --user is-active --quiet hermes-gateway.service; then echo "Restarting Hermes' gateway..." systemctl --user restart hermes-gateway.service || status=1 fi return $status }