hermes-agent/tui_gateway/entry.py
2026-04-06 18:38:13 -05:00

36 lines
874 B
Python

import json
import signal
import sys
from tui_gateway.server import handle_request, resolve_skin, write_json
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
def main():
if not write_json({
"jsonrpc": "2.0",
"method": "event",
"params": {"type": "gateway.ready", "payload": {"skin": resolve_skin()}},
}):
sys.exit(0)
for raw in sys.stdin:
line = raw.strip()
if not line:
continue
try:
req = json.loads(line)
except json.JSONDecodeError:
if not write_json({"jsonrpc": "2.0", "error": {"code": -32700, "message": "parse error"}, "id": None}):
sys.exit(0)
continue
resp = handle_request(req)
if resp is not None:
if not write_json(resp):
sys.exit(0)
if __name__ == "__main__":
main()