astro-run-protocol 1.0.0

AstroRun is a highly customizable workflow orchestrator that allows users to define their own core runners. Whether it's Docker or other platforms, AstroRun empowers users to run workflows with ease and flexibility.
use proto::proto;

fn main() {
  let remote_runner_service = proto! {
    package remote_runner;
    codec crate::common::JsonCodec;

    service RemoteRunner {
      rpc GetRunnerMetadata(crate::Empty) returns (astro_run_scheduler::RunnerMetadata) {}
      rpc Run(astro_run::Context) returns (stream crate::RunResponse) {}
      rpc SendEvent(crate::ProtocolEvent) returns (crate::Empty) {}
      rpc CallBeforeRunStepHook(astro_run::Command) returns (astro_run::Command) {}
    }
  };

  tonic_build::manual::Builder::new()
    .out_dir("./src/proto")
    .compile(&[remote_runner_service])
}