syntax = "proto3";

package executor.v1;

// import "buf/validate/validate.proto";
// import "google/api/field_behavior.proto";
// import "google/protobuf/timestamp.proto";

option go_package = "v1";

message ActionArg {
  oneof arg {
    string action_arg_string = 1;
    int64 action_arg_int = 2;
  }
}

message ExecutorTask {
  string root_name = 1;
  string exec_id = 2;
  map<string, ActionArg> args = 3;
}

message ExecTaskStatusEx {
  string state = 1;
  ExecutorTask exec_task = 2;
}

// MatchArgValues is a list of acceptable values for a single match key.
// When filtering, the task's arg value (or any of its comma-separated parts)
// must match one of the values in this list.
message MatchArgValues {
  repeated string values = 1;
}
