syntax = "proto3";
package ar.v1;

import "ar/v1/property.proto";
import "buf/validate/validate.proto";
import "validation/v1/predefined_string_rules.proto";

option csharp_namespace = "Messages.AR.V1";
option go_package = "github.com/cobotar/protocol/messages/ar/v1";

enum ActionType {
  ACTION_TYPE_UNSPECIFIED = 0;
  ACTION_TYPE_TASK_COMPLETE = 10;
  ACTION_TYPE_TASK_UNDO = 11;
  ACTION_TYPE_TASK_ASSIGN = 12;
  ACTION_TYPE_TASK_HIGHLIGHT = 13;
  ACTION_TYPE_TASK_HELP = 14;
  ACTION_TYPE_ROBOT_PLAY_PAUSE = 50;
  ACTION_TYPE_ROBOT_ACKNOWLEDGE = 51;
  // ACTION_TYPE_ROBOT_FREE_DRIVE = 52;
}

message ActionMessage {
  string id = 1;
  string name = 2 [(buf.validate.field).string.(validation.v1.name_component) = true];
  string icon = 3;
  string description = 4;
  ActionType type = 5 [
    (buf.validate.field).required = true,
    (buf.validate.field).enum.defined_only = true
  ];
  repeated ar.v1.Property properties = 6;
  repeated ar.v1.Property output_properties = 7;
}

message ActionMessages {
  repeated ActionMessage actions = 1;
}
