# SPDX-FileCopyrightText: ☭ Emery Hemingway # SPDX-License-Identifier: Unlicense import std/[json, os, osproc] import preserves # , preserves/jsonhooks, import syndicate from preserves/jsonhooks import toPreserveHook import ./schema/config, ./json_messages proc runChild: string = let params = commandLineParams() if params.len < 1: stderr.writeLine "not enough parameters" quit 1 let cmd = params[0] args = params[1..params.high] try: result = execProcess(command=cmd, args=args, options={poUsePath}) except CatchableError as err: quit("execProcess failed: " & err.msg) if result == "": stderr.writeLine "no ouput" quit 1 runActor("main") do (root: Cap; turn: var Turn): connectStdio(root, turn) during(turn, root, ?JsonTranslatorArguments) do (ds: Cap): message(turn, ds, RecvJson(data: runChild().parseJson()))