Complete local CLI process lifecycle boundary.
Summary
Callbacks
@callback cancel(CliSubprocessCore.RuntimeGateway.Session.t(), term()) :: :ok | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback end_input(CliSubprocessCore.RuntimeGateway.Session.t()) :: :ok | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback info(CliSubprocessCore.RuntimeGateway.Session.t()) :: {:ok, CliSubprocessCore.RuntimeGateway.Status.t()} | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback send_input(CliSubprocessCore.RuntimeGateway.Session.t(), iodata()) :: :ok | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback start_session(CliSubprocessCore.RuntimeGateway.StartRequest.t()) :: {:ok, CliSubprocessCore.RuntimeGateway.Session.t()} | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback subscribe(CliSubprocessCore.RuntimeGateway.Session.t(), pid()) :: :ok | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}
@callback terminate(CliSubprocessCore.RuntimeGateway.Session.t(), term()) :: :ok | {:error, CliSubprocessCore.RuntimeGateway.Error.t()}