import type { Command } from "commander"; import { callGateway } from "../gateway/call.js"; export type GatewayRpcOpts = { url?: string; token?: string; timeout?: string; expectFinal?: boolean; }; export function addGatewayClientOptions(cmd: Command) { return cmd .option("--url ", "Gateway WebSocket URL", "ws://127.0.0.1:18789") .option("--token ", "Gateway token (if required)") .option("--timeout ", "Timeout in ms", "10000") .option("--expect-final", "Wait for final response (agent)", false); } export async function callGatewayFromCli( method: string, opts: GatewayRpcOpts, params?: unknown, extra?: { expectFinal?: boolean }, ) { return await callGateway({ url: opts.url, token: opts.token, method, params, expectFinal: extra?.expectFinal ?? Boolean(opts.expectFinal), timeoutMs: Number(opts.timeout ?? 10_000), clientName: "cli", mode: "cli", }); }