edition = "2023";

package uhmm;

import "google/protobuf/any.proto";
import "google/protobuf/timestamp.proto";

// Message to represent UHM-M derived data that is stored on local disk so that
// services can access model data without network access.
message OfflineData {
  enum Generator {
    // Unspecified generator, should not be used.
    GENERATOR_UNSPECIFIED = 0;
    // The offline data was generated manually.
    GENERATOR_MANUAL = 1;
    // The offline data was generated by UHM-M MSV remote trigger.
    GENERATOR_UHM_M_MSV_REMOTE_TRIGGER = 2;
  }

  // The generator of the offline data.
  Generator generator = 1;

  // Version information about the offline data.
  OfflineDataVersion version = 2;

  // The UHM-M derived data; typically RPC responses.
  //
  // If there may be multiple instances of the same message type, the message
  // must include fields to disambiguate it from other instances of the same
  // type. If the response itself doesn't have this, it must be wrapped in a
  // message that does (e.g. by including the request proto as well).
  //
  // Readers should skip past any proto message types they do not understand.
  repeated google.protobuf.Any data = 3;
}

message OfflineDataVersion {
  // The timestamp when the offline data was generated.
  google.protobuf.Timestamp generation_timestamp = 1;
}
