syntax = "proto3";


message ExpertUID {
  string uid = 1;
}

message ExpertInfo {
  bytes serialized_info = 1;
}

message ExpertRequest {
  string uid = 1;
  repeated Tensor tensors = 2;
  bytes metadata = 3;
}

message ExpertResponse {
  repeated Tensor tensors = 2;
  bytes metadata = 3;
}

enum CompressionType{
  NONE = 0;
  MEANSTD_16BIT = 1;
  FLOAT16 = 2;
  QUANTILE_8BIT = 3;
  UNIFORM_8BIT = 4;
  BLOCKWISE_8BIT = 5;
}

message Tensor {
  bytes buffer = 1;
  repeated uint32 size = 2;
  bool requires_grad = 3;
  string dtype = 4;
  CompressionType compression = 5;
  int32 chunks = 6;
}

