HermesAgent / hermes_cli /space_update_wrapper.py
Hermes Space Updater
Add HF Space-safe Hermes update flow
a74a718
from __future__ import annotations
import os
import sys
from hermes_cli.hf_space_update import is_hf_space_runtime, run_update_cli
DEFAULT_UPSTREAM_BIN = "/opt/hermes/.venv/bin/hermes-upstream"
def dispatch_or_exec(argv=None, env=None, execv=os.execv, upstream_bin: str | None = None):
env = env or os.environ
argv = list(sys.argv[1:] if argv is None else argv)
upstream_bin = upstream_bin or env.get("HERMES_UPSTREAM_BIN", DEFAULT_UPSTREAM_BIN)
if argv and argv[0] == "update" and is_hf_space_runtime(env):
return run_update_cli(argv[1:])
return execv(upstream_bin, [upstream_bin, *argv])
def main() -> int:
result = dispatch_or_exec()
if result is None:
return 0
return int(result)
if __name__ == "__main__":
raise SystemExit(main())