feat(gateway): generate desktop REST contracts

This commit is contained in:
ethernet 2026-07-23 15:57:45 -04:00
parent a1c30df654
commit 164c9dfe49
5 changed files with 1379 additions and 1003 deletions

View file

@ -8,6 +8,8 @@ from pathlib import Path
from tempfile import NamedTemporaryFile
import ts_type as ts
from hermes_cli.contract_types import DocumentedContractBuilder
from hermes_cli.web_contracts import EXPORTED_CONTRACTS
from tui_gateway.contracts import (
GatewayMcpServerStatus,
GatewayProjectInfo,
@ -27,8 +29,10 @@ def main() -> None:
GatewaySessionRuntimeInfo,
):
ts.generator.add(contract, "gateway", contract.__name__)
for name, contract in EXPORTED_CONTRACTS.items():
ts.generator.add(contract, "gateway", name)
source = ts.generator.render()["gateway"]
source = ts.generator.render(builder_cls=DocumentedContractBuilder)["gateway"]
output = "// Generated by scripts/generate_gateway_types.py. Do not edit.\n\n" + source + "\n"
OUTPUT.parent.mkdir(parents=True, exist_ok=True)