import { types as T } from "@start9labs/start-sdk" import { JsonPath } from "../Models/JsonPath" import { RpcResult } from "../Adapters/RpcListener" import { hostSystemStartOs } from "../Adapters/HostSystemStartOs" export type ExecuteResult = | { ok: unknown } | { err: { code: number; message: string } } export type System = { // init(effects: Effects): Promise // exit(effects: Effects): Promise // start(effects: Effects): Promise // stop(effects: Effects, options: { timeout: number, signal?: number }): Promise execute( effectCreator: ReturnType, options: { id: string procedure: JsonPath input: unknown timeout?: number }, ): Promise // sandbox( // effects: Effects, // options: { // procedure: JsonPath // input: unknown // timeout?: number // }, // ): Promise exit(effects: T.Effects): Promise }