# Copyright (c) 2026 Storm Dragon # SPDX-License-Identifier: GPL-3.0-or-later import pathlib import sys sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / 'sdk' / 'python')) from cthulhu_tentacle import Command, SessionClient, SessionError, serve client = SessionClient() def request(cancelled, arguments): try: return {'value': client.call(arguments['method'], arguments['params'])} except SessionError as error: return {'code': error.code} def event(cancelled, arguments): return client.next_event() def wait(cancelled, arguments): cancelled.wait() return None try: serve([Command('request', 'Request', '', request), Command('event', 'Event', '', event), Command('wait', 'Wait', '', wait), Command('large', 'Large', '', lambda cancelled, args: 'x' * (48 * 1024))], session_client=client) except Exception: sys.exit(1)