diff --git a/app/dataset/v1/dataset.pb.go b/app/dataset/v1/dataset.pb.go index 0b0c9462a..42fc65f8d 100644 --- a/app/dataset/v1/dataset.pb.go +++ b/app/dataset/v1/dataset.pb.go @@ -82,7 +82,7 @@ const ( SequenceDatasetExportStatus_SEQUENCE_DATASET_EXPORT_STATUS_UNSPECIFIED SequenceDatasetExportStatus = 0 // PENDING — accepted, not yet picked up. SequenceDatasetExportStatus_SEQUENCE_DATASET_EXPORT_STATUS_RUNNING SequenceDatasetExportStatus = 1 - // COMPLETED — Parquet file is uploaded; download_url is set. + // COMPLETED — parquet files are uploaded; files is set. SequenceDatasetExportStatus_SEQUENCE_DATASET_EXPORT_STATUS_COMPLETED SequenceDatasetExportStatus = 2 // FAILED — terminal; error_message describes the cause. SequenceDatasetExportStatus_SEQUENCE_DATASET_EXPORT_STATUS_FAILED SequenceDatasetExportStatus = 3 @@ -131,6 +131,63 @@ func (SequenceDatasetExportStatus) EnumDescriptor() ([]byte, []int) { return file_app_dataset_v1_dataset_proto_rawDescGZIP(), []int{1} } +// SequenceDatasetExportFileKind identifies which of the parquet files an +// exported file is, so clients can select one without matching on file name. +type SequenceDatasetExportFileKind int32 + +const ( + SequenceDatasetExportFileKind_SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED SequenceDatasetExportFileKind = 0 + // One row per sequence: sequence_id, tags, start_at, end_at. + SequenceDatasetExportFileKind_SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES SequenceDatasetExportFileKind = 1 + // Tabular readings for every sequence in the dataset. + SequenceDatasetExportFileKind_SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA SequenceDatasetExportFileKind = 2 + // One row per (sequence, binary record) pair. Metadata and paths only. + SequenceDatasetExportFileKind_SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA SequenceDatasetExportFileKind = 3 +) + +// Enum value maps for SequenceDatasetExportFileKind. +var ( + SequenceDatasetExportFileKind_name = map[int32]string{ + 0: "SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED", + 1: "SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES", + 2: "SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA", + 3: "SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA", + } + SequenceDatasetExportFileKind_value = map[string]int32{ + "SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED": 0, + "SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES": 1, + "SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA": 2, + "SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA": 3, + } +) + +func (x SequenceDatasetExportFileKind) Enum() *SequenceDatasetExportFileKind { + p := new(SequenceDatasetExportFileKind) + *p = x + return p +} + +func (x SequenceDatasetExportFileKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SequenceDatasetExportFileKind) Descriptor() protoreflect.EnumDescriptor { + return file_app_dataset_v1_dataset_proto_enumTypes[2].Descriptor() +} + +func (SequenceDatasetExportFileKind) Type() protoreflect.EnumType { + return &file_app_dataset_v1_dataset_proto_enumTypes[2] +} + +func (x SequenceDatasetExportFileKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SequenceDatasetExportFileKind.Descriptor instead. +func (SequenceDatasetExportFileKind) EnumDescriptor() ([]byte, []int) { + return file_app_dataset_v1_dataset_proto_rawDescGZIP(), []int{2} +} + // Dataset stores the metadata of a dataset. type Dataset struct { state protoimpl.MessageState @@ -933,8 +990,72 @@ func (x *GetSequenceDatasetExportRequest) GetJobId() string { return "" } +// SequenceDatasetExportFile is one parquet file produced by an export job. +type SequenceDatasetExportFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind SequenceDatasetExportFileKind `protobuf:"varint,1,opt,name=kind,proto3,enum=viam.app.dataset.v1.SequenceDatasetExportFileKind" json:"kind,omitempty"` + // Suggested file name, e.g. "sequences.parquet". + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Short-lived signed URL for direct download from backing storage. + DownloadUrl string `protobuf:"bytes,3,opt,name=download_url,json=downloadUrl,proto3" json:"download_url,omitempty"` +} + +func (x *SequenceDatasetExportFile) Reset() { + *x = SequenceDatasetExportFile{} + mi := &file_app_dataset_v1_dataset_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SequenceDatasetExportFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SequenceDatasetExportFile) ProtoMessage() {} + +func (x *SequenceDatasetExportFile) ProtoReflect() protoreflect.Message { + mi := &file_app_dataset_v1_dataset_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SequenceDatasetExportFile.ProtoReflect.Descriptor instead. +func (*SequenceDatasetExportFile) Descriptor() ([]byte, []int) { + return file_app_dataset_v1_dataset_proto_rawDescGZIP(), []int{16} +} + +func (x *SequenceDatasetExportFile) GetKind() SequenceDatasetExportFileKind { + if x != nil { + return x.Kind + } + return SequenceDatasetExportFileKind_SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED +} + +func (x *SequenceDatasetExportFile) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SequenceDatasetExportFile) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + // GetSequenceDatasetExportResponse reports the current status of an export -// job. download_url and expires_at are set only when status is COMPLETED; +// job. files and expires_at are set only when status is COMPLETED; // error_message is set only when status is FAILED. type GetSequenceDatasetExportResponse struct { state protoimpl.MessageState @@ -943,20 +1064,20 @@ type GetSequenceDatasetExportResponse struct { JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` Status SequenceDatasetExportStatus `protobuf:"varint,2,opt,name=status,proto3,enum=viam.app.dataset.v1.SequenceDatasetExportStatus" json:"status,omitempty"` - // Short-lived (e.g. 1h) signed URL for direct download from backing - // storage. Empty unless status is COMPLETED. - DownloadUrl string `protobuf:"bytes,3,opt,name=download_url,json=downloadUrl,proto3" json:"download_url,omitempty"` - // When download_url stops working. Empty unless status is COMPLETED. + // When the URLs in files stop working. Empty unless status is COMPLETED. ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // Human-readable cause; empty unless status is FAILED. ErrorMessage string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` CompletedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + // The parquet files produced by this export, each with its own signed URL. + // All URLs share the expires_at deadline. Empty unless status is COMPLETED. + Files []*SequenceDatasetExportFile `protobuf:"bytes,8,rep,name=files,proto3" json:"files,omitempty"` } func (x *GetSequenceDatasetExportResponse) Reset() { *x = GetSequenceDatasetExportResponse{} - mi := &file_app_dataset_v1_dataset_proto_msgTypes[16] + mi := &file_app_dataset_v1_dataset_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +1089,7 @@ func (x *GetSequenceDatasetExportResponse) String() string { func (*GetSequenceDatasetExportResponse) ProtoMessage() {} func (x *GetSequenceDatasetExportResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_dataset_v1_dataset_proto_msgTypes[16] + mi := &file_app_dataset_v1_dataset_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +1102,7 @@ func (x *GetSequenceDatasetExportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSequenceDatasetExportResponse.ProtoReflect.Descriptor instead. func (*GetSequenceDatasetExportResponse) Descriptor() ([]byte, []int) { - return file_app_dataset_v1_dataset_proto_rawDescGZIP(), []int{16} + return file_app_dataset_v1_dataset_proto_rawDescGZIP(), []int{17} } func (x *GetSequenceDatasetExportResponse) GetJobId() string { @@ -998,13 +1119,6 @@ func (x *GetSequenceDatasetExportResponse) GetStatus() SequenceDatasetExportStat return SequenceDatasetExportStatus_SEQUENCE_DATASET_EXPORT_STATUS_UNSPECIFIED } -func (x *GetSequenceDatasetExportResponse) GetDownloadUrl() string { - if x != nil { - return x.DownloadUrl - } - return "" -} - func (x *GetSequenceDatasetExportResponse) GetExpiresAt() *timestamppb.Timestamp { if x != nil { return x.ExpiresAt @@ -1033,6 +1147,13 @@ func (x *GetSequenceDatasetExportResponse) GetCompletedAt() *timestamppb.Timesta return nil } +func (x *GetSequenceDatasetExportResponse) GetFiles() []*SequenceDatasetExportFile { + if x != nil { + return x.Files + } + return nil +} + var File_app_dataset_v1_dataset_proto protoreflect.FileDescriptor var file_app_dataset_v1_dataset_proto_rawDesc = []byte{ @@ -1122,113 +1243,141 @@ var file_app_dataset_v1_dataset_proto_rawDesc = []byte{ 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x22, 0x80, 0x03, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x76, + 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x46, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x2a, 0x4b, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x00, - 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, - 0x2a, 0xd2, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x2e, 0x0a, 0x2a, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, - 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, - 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, - 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x45, - 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, - 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0xd4, 0x07, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0xb7, 0x03, + 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3d, + 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, + 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x93, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x73, 0x42, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x38, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x2d, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, - 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x69, 0x61, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x4b, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x10, 0x01, 0x2a, 0xd2, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x2a, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x29, + 0x0a, 0x25, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, + 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xea, 0x01, 0x0a, 0x1d, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x2d, 0x53, + 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, + 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2f, + 0x0a, 0x2b, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, + 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4b, + 0x49, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x01, 0x12, + 0x32, 0x0a, 0x2e, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x41, 0x42, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, + 0x49, 0x4c, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x10, 0x03, 0x32, 0xd4, 0x07, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, 0x49, - 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x76, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x52, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x42, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x38, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, + 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x2d, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, + 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x36, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x42, 0x79, + 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x34, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, - 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x70, 0x70, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x74, 0x12, 0x36, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x34, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, + 0x1e, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1243,62 +1392,66 @@ func file_app_dataset_v1_dataset_proto_rawDescGZIP() []byte { return file_app_dataset_v1_dataset_proto_rawDescData } -var file_app_dataset_v1_dataset_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_app_dataset_v1_dataset_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_app_dataset_v1_dataset_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_app_dataset_v1_dataset_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_app_dataset_v1_dataset_proto_goTypes = []any{ (DatasetType)(0), // 0: viam.app.dataset.v1.DatasetType (SequenceDatasetExportStatus)(0), // 1: viam.app.dataset.v1.SequenceDatasetExportStatus - (*Dataset)(nil), // 2: viam.app.dataset.v1.Dataset - (*CreateDatasetRequest)(nil), // 3: viam.app.dataset.v1.CreateDatasetRequest - (*CreateDatasetResponse)(nil), // 4: viam.app.dataset.v1.CreateDatasetResponse - (*DeleteDatasetRequest)(nil), // 5: viam.app.dataset.v1.DeleteDatasetRequest - (*DeleteDatasetResponse)(nil), // 6: viam.app.dataset.v1.DeleteDatasetResponse - (*RenameDatasetRequest)(nil), // 7: viam.app.dataset.v1.RenameDatasetRequest - (*RenameDatasetResponse)(nil), // 8: viam.app.dataset.v1.RenameDatasetResponse - (*ListDatasetsByOrganizationIDRequest)(nil), // 9: viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest - (*ListDatasetsByOrganizationIDResponse)(nil), // 10: viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse - (*ListDatasetsByIDsRequest)(nil), // 11: viam.app.dataset.v1.ListDatasetsByIDsRequest - (*ListDatasetsByIDsResponse)(nil), // 12: viam.app.dataset.v1.ListDatasetsByIDsResponse - (*MergeDatasetsRequest)(nil), // 13: viam.app.dataset.v1.MergeDatasetsRequest - (*MergeDatasetsResponse)(nil), // 14: viam.app.dataset.v1.MergeDatasetsResponse - (*StartSequenceDatasetExportRequest)(nil), // 15: viam.app.dataset.v1.StartSequenceDatasetExportRequest - (*StartSequenceDatasetExportResponse)(nil), // 16: viam.app.dataset.v1.StartSequenceDatasetExportResponse - (*GetSequenceDatasetExportRequest)(nil), // 17: viam.app.dataset.v1.GetSequenceDatasetExportRequest - (*GetSequenceDatasetExportResponse)(nil), // 18: viam.app.dataset.v1.GetSequenceDatasetExportResponse - (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp + (SequenceDatasetExportFileKind)(0), // 2: viam.app.dataset.v1.SequenceDatasetExportFileKind + (*Dataset)(nil), // 3: viam.app.dataset.v1.Dataset + (*CreateDatasetRequest)(nil), // 4: viam.app.dataset.v1.CreateDatasetRequest + (*CreateDatasetResponse)(nil), // 5: viam.app.dataset.v1.CreateDatasetResponse + (*DeleteDatasetRequest)(nil), // 6: viam.app.dataset.v1.DeleteDatasetRequest + (*DeleteDatasetResponse)(nil), // 7: viam.app.dataset.v1.DeleteDatasetResponse + (*RenameDatasetRequest)(nil), // 8: viam.app.dataset.v1.RenameDatasetRequest + (*RenameDatasetResponse)(nil), // 9: viam.app.dataset.v1.RenameDatasetResponse + (*ListDatasetsByOrganizationIDRequest)(nil), // 10: viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest + (*ListDatasetsByOrganizationIDResponse)(nil), // 11: viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse + (*ListDatasetsByIDsRequest)(nil), // 12: viam.app.dataset.v1.ListDatasetsByIDsRequest + (*ListDatasetsByIDsResponse)(nil), // 13: viam.app.dataset.v1.ListDatasetsByIDsResponse + (*MergeDatasetsRequest)(nil), // 14: viam.app.dataset.v1.MergeDatasetsRequest + (*MergeDatasetsResponse)(nil), // 15: viam.app.dataset.v1.MergeDatasetsResponse + (*StartSequenceDatasetExportRequest)(nil), // 16: viam.app.dataset.v1.StartSequenceDatasetExportRequest + (*StartSequenceDatasetExportResponse)(nil), // 17: viam.app.dataset.v1.StartSequenceDatasetExportResponse + (*GetSequenceDatasetExportRequest)(nil), // 18: viam.app.dataset.v1.GetSequenceDatasetExportRequest + (*SequenceDatasetExportFile)(nil), // 19: viam.app.dataset.v1.SequenceDatasetExportFile + (*GetSequenceDatasetExportResponse)(nil), // 20: viam.app.dataset.v1.GetSequenceDatasetExportResponse + (*timestamppb.Timestamp)(nil), // 21: google.protobuf.Timestamp } var file_app_dataset_v1_dataset_proto_depIdxs = []int32{ - 19, // 0: viam.app.dataset.v1.Dataset.time_created:type_name -> google.protobuf.Timestamp + 21, // 0: viam.app.dataset.v1.Dataset.time_created:type_name -> google.protobuf.Timestamp 0, // 1: viam.app.dataset.v1.Dataset.type:type_name -> viam.app.dataset.v1.DatasetType 0, // 2: viam.app.dataset.v1.CreateDatasetRequest.type:type_name -> viam.app.dataset.v1.DatasetType 0, // 3: viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest.type:type_name -> viam.app.dataset.v1.DatasetType - 2, // 4: viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse.datasets:type_name -> viam.app.dataset.v1.Dataset - 2, // 5: viam.app.dataset.v1.ListDatasetsByIDsResponse.datasets:type_name -> viam.app.dataset.v1.Dataset - 1, // 6: viam.app.dataset.v1.GetSequenceDatasetExportResponse.status:type_name -> viam.app.dataset.v1.SequenceDatasetExportStatus - 19, // 7: viam.app.dataset.v1.GetSequenceDatasetExportResponse.expires_at:type_name -> google.protobuf.Timestamp - 19, // 8: viam.app.dataset.v1.GetSequenceDatasetExportResponse.created_at:type_name -> google.protobuf.Timestamp - 19, // 9: viam.app.dataset.v1.GetSequenceDatasetExportResponse.completed_at:type_name -> google.protobuf.Timestamp - 3, // 10: viam.app.dataset.v1.DatasetService.CreateDataset:input_type -> viam.app.dataset.v1.CreateDatasetRequest - 5, // 11: viam.app.dataset.v1.DatasetService.DeleteDataset:input_type -> viam.app.dataset.v1.DeleteDatasetRequest - 7, // 12: viam.app.dataset.v1.DatasetService.RenameDataset:input_type -> viam.app.dataset.v1.RenameDatasetRequest - 9, // 13: viam.app.dataset.v1.DatasetService.ListDatasetsByOrganizationID:input_type -> viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest - 11, // 14: viam.app.dataset.v1.DatasetService.ListDatasetsByIDs:input_type -> viam.app.dataset.v1.ListDatasetsByIDsRequest - 13, // 15: viam.app.dataset.v1.DatasetService.MergeDatasets:input_type -> viam.app.dataset.v1.MergeDatasetsRequest - 15, // 16: viam.app.dataset.v1.DatasetService.StartSequenceDatasetExport:input_type -> viam.app.dataset.v1.StartSequenceDatasetExportRequest - 17, // 17: viam.app.dataset.v1.DatasetService.GetSequenceDatasetExport:input_type -> viam.app.dataset.v1.GetSequenceDatasetExportRequest - 4, // 18: viam.app.dataset.v1.DatasetService.CreateDataset:output_type -> viam.app.dataset.v1.CreateDatasetResponse - 6, // 19: viam.app.dataset.v1.DatasetService.DeleteDataset:output_type -> viam.app.dataset.v1.DeleteDatasetResponse - 8, // 20: viam.app.dataset.v1.DatasetService.RenameDataset:output_type -> viam.app.dataset.v1.RenameDatasetResponse - 10, // 21: viam.app.dataset.v1.DatasetService.ListDatasetsByOrganizationID:output_type -> viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse - 12, // 22: viam.app.dataset.v1.DatasetService.ListDatasetsByIDs:output_type -> viam.app.dataset.v1.ListDatasetsByIDsResponse - 14, // 23: viam.app.dataset.v1.DatasetService.MergeDatasets:output_type -> viam.app.dataset.v1.MergeDatasetsResponse - 16, // 24: viam.app.dataset.v1.DatasetService.StartSequenceDatasetExport:output_type -> viam.app.dataset.v1.StartSequenceDatasetExportResponse - 18, // 25: viam.app.dataset.v1.DatasetService.GetSequenceDatasetExport:output_type -> viam.app.dataset.v1.GetSequenceDatasetExportResponse - 18, // [18:26] is the sub-list for method output_type - 10, // [10:18] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 3, // 4: viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse.datasets:type_name -> viam.app.dataset.v1.Dataset + 3, // 5: viam.app.dataset.v1.ListDatasetsByIDsResponse.datasets:type_name -> viam.app.dataset.v1.Dataset + 2, // 6: viam.app.dataset.v1.SequenceDatasetExportFile.kind:type_name -> viam.app.dataset.v1.SequenceDatasetExportFileKind + 1, // 7: viam.app.dataset.v1.GetSequenceDatasetExportResponse.status:type_name -> viam.app.dataset.v1.SequenceDatasetExportStatus + 21, // 8: viam.app.dataset.v1.GetSequenceDatasetExportResponse.expires_at:type_name -> google.protobuf.Timestamp + 21, // 9: viam.app.dataset.v1.GetSequenceDatasetExportResponse.created_at:type_name -> google.protobuf.Timestamp + 21, // 10: viam.app.dataset.v1.GetSequenceDatasetExportResponse.completed_at:type_name -> google.protobuf.Timestamp + 19, // 11: viam.app.dataset.v1.GetSequenceDatasetExportResponse.files:type_name -> viam.app.dataset.v1.SequenceDatasetExportFile + 4, // 12: viam.app.dataset.v1.DatasetService.CreateDataset:input_type -> viam.app.dataset.v1.CreateDatasetRequest + 6, // 13: viam.app.dataset.v1.DatasetService.DeleteDataset:input_type -> viam.app.dataset.v1.DeleteDatasetRequest + 8, // 14: viam.app.dataset.v1.DatasetService.RenameDataset:input_type -> viam.app.dataset.v1.RenameDatasetRequest + 10, // 15: viam.app.dataset.v1.DatasetService.ListDatasetsByOrganizationID:input_type -> viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest + 12, // 16: viam.app.dataset.v1.DatasetService.ListDatasetsByIDs:input_type -> viam.app.dataset.v1.ListDatasetsByIDsRequest + 14, // 17: viam.app.dataset.v1.DatasetService.MergeDatasets:input_type -> viam.app.dataset.v1.MergeDatasetsRequest + 16, // 18: viam.app.dataset.v1.DatasetService.StartSequenceDatasetExport:input_type -> viam.app.dataset.v1.StartSequenceDatasetExportRequest + 18, // 19: viam.app.dataset.v1.DatasetService.GetSequenceDatasetExport:input_type -> viam.app.dataset.v1.GetSequenceDatasetExportRequest + 5, // 20: viam.app.dataset.v1.DatasetService.CreateDataset:output_type -> viam.app.dataset.v1.CreateDatasetResponse + 7, // 21: viam.app.dataset.v1.DatasetService.DeleteDataset:output_type -> viam.app.dataset.v1.DeleteDatasetResponse + 9, // 22: viam.app.dataset.v1.DatasetService.RenameDataset:output_type -> viam.app.dataset.v1.RenameDatasetResponse + 11, // 23: viam.app.dataset.v1.DatasetService.ListDatasetsByOrganizationID:output_type -> viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse + 13, // 24: viam.app.dataset.v1.DatasetService.ListDatasetsByIDs:output_type -> viam.app.dataset.v1.ListDatasetsByIDsResponse + 15, // 25: viam.app.dataset.v1.DatasetService.MergeDatasets:output_type -> viam.app.dataset.v1.MergeDatasetsResponse + 17, // 26: viam.app.dataset.v1.DatasetService.StartSequenceDatasetExport:output_type -> viam.app.dataset.v1.StartSequenceDatasetExportResponse + 20, // 27: viam.app.dataset.v1.DatasetService.GetSequenceDatasetExport:output_type -> viam.app.dataset.v1.GetSequenceDatasetExportResponse + 20, // [20:28] is the sub-list for method output_type + 12, // [12:20] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_app_dataset_v1_dataset_proto_init() } @@ -1313,8 +1466,8 @@ func file_app_dataset_v1_dataset_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_dataset_v1_dataset_proto_rawDesc, - NumEnums: 2, - NumMessages: 17, + NumEnums: 3, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/js/app/dataset/v1/dataset_pb.d.ts b/gen/js/app/dataset/v1/dataset_pb.d.ts index 2c42e1bc0..49838642b 100644 --- a/gen/js/app/dataset/v1/dataset_pb.d.ts +++ b/gen/js/app/dataset/v1/dataset_pb.d.ts @@ -370,6 +370,34 @@ export namespace GetSequenceDatasetExportRequest { } } +export class SequenceDatasetExportFile extends jspb.Message { + getKind(): SequenceDatasetExportFileKindMap[keyof SequenceDatasetExportFileKindMap]; + setKind(value: SequenceDatasetExportFileKindMap[keyof SequenceDatasetExportFileKindMap]): void; + + getName(): string; + setName(value: string): void; + + getDownloadUrl(): string; + setDownloadUrl(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SequenceDatasetExportFile.AsObject; + static toObject(includeInstance: boolean, msg: SequenceDatasetExportFile): SequenceDatasetExportFile.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SequenceDatasetExportFile, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SequenceDatasetExportFile; + static deserializeBinaryFromReader(message: SequenceDatasetExportFile, reader: jspb.BinaryReader): SequenceDatasetExportFile; +} + +export namespace SequenceDatasetExportFile { + export type AsObject = { + kind: SequenceDatasetExportFileKindMap[keyof SequenceDatasetExportFileKindMap], + name: string, + downloadUrl: string, + } +} + export class GetSequenceDatasetExportResponse extends jspb.Message { getJobId(): string; setJobId(value: string): void; @@ -377,9 +405,6 @@ export class GetSequenceDatasetExportResponse extends jspb.Message { getStatus(): SequenceDatasetExportStatusMap[keyof SequenceDatasetExportStatusMap]; setStatus(value: SequenceDatasetExportStatusMap[keyof SequenceDatasetExportStatusMap]): void; - getDownloadUrl(): string; - setDownloadUrl(value: string): void; - hasExpiresAt(): boolean; clearExpiresAt(): void; getExpiresAt(): google_protobuf_timestamp_pb.Timestamp | undefined; @@ -398,6 +423,11 @@ export class GetSequenceDatasetExportResponse extends jspb.Message { getCompletedAt(): google_protobuf_timestamp_pb.Timestamp | undefined; setCompletedAt(value?: google_protobuf_timestamp_pb.Timestamp): void; + clearFilesList(): void; + getFilesList(): Array; + setFilesList(value: Array): void; + addFiles(value?: SequenceDatasetExportFile, index?: number): SequenceDatasetExportFile; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetSequenceDatasetExportResponse.AsObject; static toObject(includeInstance: boolean, msg: GetSequenceDatasetExportResponse): GetSequenceDatasetExportResponse.AsObject; @@ -412,11 +442,11 @@ export namespace GetSequenceDatasetExportResponse { export type AsObject = { jobId: string, status: SequenceDatasetExportStatusMap[keyof SequenceDatasetExportStatusMap], - downloadUrl: string, expiresAt?: google_protobuf_timestamp_pb.Timestamp.AsObject, errorMessage: string, createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject, completedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject, + filesList: Array, } } @@ -436,3 +466,12 @@ export interface SequenceDatasetExportStatusMap { export const SequenceDatasetExportStatus: SequenceDatasetExportStatusMap; +export interface SequenceDatasetExportFileKindMap { + SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED: 0; + SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES: 1; + SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA: 2; + SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA: 3; +} + +export const SequenceDatasetExportFileKind: SequenceDatasetExportFileKindMap; + diff --git a/gen/js/app/dataset/v1/dataset_pb.js b/gen/js/app/dataset/v1/dataset_pb.js index 364c1321a..6e1a99e76 100644 --- a/gen/js/app/dataset/v1/dataset_pb.js +++ b/gen/js/app/dataset/v1/dataset_pb.js @@ -33,6 +33,8 @@ goog.exportSymbol('proto.viam.app.dataset.v1.MergeDatasetsRequest', null, global goog.exportSymbol('proto.viam.app.dataset.v1.MergeDatasetsResponse', null, global); goog.exportSymbol('proto.viam.app.dataset.v1.RenameDatasetRequest', null, global); goog.exportSymbol('proto.viam.app.dataset.v1.RenameDatasetResponse', null, global); +goog.exportSymbol('proto.viam.app.dataset.v1.SequenceDatasetExportFile', null, global); +goog.exportSymbol('proto.viam.app.dataset.v1.SequenceDatasetExportFileKind', null, global); goog.exportSymbol('proto.viam.app.dataset.v1.SequenceDatasetExportStatus', null, global); goog.exportSymbol('proto.viam.app.dataset.v1.StartSequenceDatasetExportRequest', null, global); goog.exportSymbol('proto.viam.app.dataset.v1.StartSequenceDatasetExportResponse', null, global); @@ -382,9 +384,30 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse = function(opt_data) { +proto.viam.app.dataset.v1.SequenceDatasetExportFile = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; +goog.inherits(proto.viam.app.dataset.v1.SequenceDatasetExportFile, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.dataset.v1.SequenceDatasetExportFile.displayName = 'proto.viam.app.dataset.v1.SequenceDatasetExportFile'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.repeatedFields_, null); +}; goog.inherits(proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** @@ -2887,6 +2910,203 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportRequest.prototype.setJobId = f +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.dataset.v1.SequenceDatasetExportFile.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.toObject = function(includeInstance, msg) { + var f, obj = { + kind: jspb.Message.getFieldWithDefault(msg, 1, 0), + name: jspb.Message.getFieldWithDefault(msg, 2, ""), + downloadUrl: jspb.Message.getFieldWithDefault(msg, 3, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.dataset.v1.SequenceDatasetExportFile; + return proto.viam.app.dataset.v1.SequenceDatasetExportFile.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!proto.viam.app.dataset.v1.SequenceDatasetExportFileKind} */ (reader.readEnum()); + msg.setKind(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDownloadUrl(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.dataset.v1.SequenceDatasetExportFile.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKind(); + if (f !== 0.0) { + writer.writeEnum( + 1, + f + ); + } + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDownloadUrl(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } +}; + + +/** + * optional SequenceDatasetExportFileKind kind = 1; + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFileKind} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.getKind = function() { + return /** @type {!proto.viam.app.dataset.v1.SequenceDatasetExportFileKind} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {!proto.viam.app.dataset.v1.SequenceDatasetExportFileKind} value + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} returns this + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.setKind = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional string name = 2; + * @return {string} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} returns this + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string download_url = 3; + * @return {string} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.getDownloadUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} returns this + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFile.prototype.setDownloadUrl = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.repeatedFields_ = [8]; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2918,11 +3138,12 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.toObject = function(i var f, obj = { jobId: jspb.Message.getFieldWithDefault(msg, 1, ""), status: jspb.Message.getFieldWithDefault(msg, 2, 0), - downloadUrl: jspb.Message.getFieldWithDefault(msg, 3, ""), expiresAt: (f = msg.getExpiresAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), errorMessage: jspb.Message.getFieldWithDefault(msg, 5, ""), createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), - completedAt: (f = msg.getCompletedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + completedAt: (f = msg.getCompletedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f), + filesList: jspb.Message.toObjectList(msg.getFilesList(), + proto.viam.app.dataset.v1.SequenceDatasetExportFile.toObject, includeInstance) }; if (includeInstance) { @@ -2967,10 +3188,6 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.deserializeBinaryFrom var value = /** @type {!proto.viam.app.dataset.v1.SequenceDatasetExportStatus} */ (reader.readEnum()); msg.setStatus(value); break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setDownloadUrl(value); - break; case 4: var value = new google_protobuf_timestamp_pb.Timestamp; reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); @@ -2990,6 +3207,11 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.deserializeBinaryFrom reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); msg.setCompletedAt(value); break; + case 8: + var value = new proto.viam.app.dataset.v1.SequenceDatasetExportFile; + reader.readMessage(value,proto.viam.app.dataset.v1.SequenceDatasetExportFile.deserializeBinaryFromReader); + msg.addFiles(value); + break; default: reader.skipField(); break; @@ -3033,13 +3255,6 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.serializeBinaryToWrit f ); } - f = message.getDownloadUrl(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } f = message.getExpiresAt(); if (f != null) { writer.writeMessage( @@ -3071,6 +3286,14 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.serializeBinaryToWrit google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter ); } + f = message.getFilesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 8, + f, + proto.viam.app.dataset.v1.SequenceDatasetExportFile.serializeBinaryToWriter + ); + } }; @@ -3110,24 +3333,6 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.setStatus = }; -/** - * optional string download_url = 3; - * @return {string} - */ -proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.getDownloadUrl = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse} returns this - */ -proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.setDownloadUrl = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - /** * optional google.protobuf.Timestamp expires_at = 4; * @return {?proto.google.protobuf.Timestamp} @@ -3257,6 +3462,44 @@ proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.hasComplete }; +/** + * repeated SequenceDatasetExportFile files = 8; + * @return {!Array} + */ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.getFilesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.viam.app.dataset.v1.SequenceDatasetExportFile, 8)); +}; + + +/** + * @param {!Array} value + * @return {!proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse} returns this +*/ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.setFilesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 8, value); +}; + + +/** + * @param {!proto.viam.app.dataset.v1.SequenceDatasetExportFile=} opt_value + * @param {number=} opt_index + * @return {!proto.viam.app.dataset.v1.SequenceDatasetExportFile} + */ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.addFiles = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.viam.app.dataset.v1.SequenceDatasetExportFile, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse} returns this + */ +proto.viam.app.dataset.v1.GetSequenceDatasetExportResponse.prototype.clearFilesList = function() { + return this.setFilesList([]); +}; + + /** * @enum {number} */ @@ -3275,4 +3518,14 @@ proto.viam.app.dataset.v1.SequenceDatasetExportStatus = { SEQUENCE_DATASET_EXPORT_STATUS_FAILED: 3 }; +/** + * @enum {number} + */ +proto.viam.app.dataset.v1.SequenceDatasetExportFileKind = { + SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED: 0, + SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES: 1, + SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA: 2, + SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA: 3 +}; + goog.object.extend(exports, proto.viam.app.dataset.v1); diff --git a/proto/viam/app/dataset/v1/dataset.proto b/proto/viam/app/dataset/v1/dataset.proto index 1cba600e2..45e618b90 100644 --- a/proto/viam/app/dataset/v1/dataset.proto +++ b/proto/viam/app/dataset/v1/dataset.proto @@ -51,7 +51,7 @@ enum SequenceDatasetExportStatus { SEQUENCE_DATASET_EXPORT_STATUS_UNSPECIFIED = 0; // PENDING — accepted, not yet picked up. SEQUENCE_DATASET_EXPORT_STATUS_RUNNING = 1; - // COMPLETED — Parquet file is uploaded; download_url is set. + // COMPLETED — parquet files are uploaded; files is set. SEQUENCE_DATASET_EXPORT_STATUS_COMPLETED = 2; // FAILED — terminal; error_message describes the cause. SEQUENCE_DATASET_EXPORT_STATUS_FAILED = 3; @@ -147,19 +147,43 @@ message GetSequenceDatasetExportRequest { string job_id = 1; } +// SequenceDatasetExportFileKind identifies which of the parquet files an +// exported file is, so clients can select one without matching on file name. +enum SequenceDatasetExportFileKind { + SEQUENCE_DATASET_EXPORT_FILE_KIND_UNSPECIFIED = 0; + // One row per sequence: sequence_id, tags, start_at, end_at. + SEQUENCE_DATASET_EXPORT_FILE_KIND_SEQUENCES = 1; + // Tabular readings for every sequence in the dataset. + SEQUENCE_DATASET_EXPORT_FILE_KIND_TABULAR_DATA = 2; + // One row per (sequence, binary record) pair. Metadata and paths only. + SEQUENCE_DATASET_EXPORT_FILE_KIND_BINARY_DATA = 3; +} + +// SequenceDatasetExportFile is one parquet file produced by an export job. +message SequenceDatasetExportFile { + SequenceDatasetExportFileKind kind = 1; + // Suggested file name, e.g. "sequences.parquet". + string name = 2; + // Short-lived signed URL for direct download from backing storage. + string download_url = 3; +} + // GetSequenceDatasetExportResponse reports the current status of an export -// job. download_url and expires_at are set only when status is COMPLETED; +// job. files and expires_at are set only when status is COMPLETED; // error_message is set only when status is FAILED. message GetSequenceDatasetExportResponse { string job_id = 1; SequenceDatasetExportStatus status = 2; - // Short-lived (e.g. 1h) signed URL for direct download from backing - // storage. Empty unless status is COMPLETED. - string download_url = 3; - // When download_url stops working. Empty unless status is COMPLETED. + // When the URLs in files stop working. Empty unless status is COMPLETED. google.protobuf.Timestamp expires_at = 4; // Human-readable cause; empty unless status is FAILED. string error_message = 5; google.protobuf.Timestamp created_at = 6; google.protobuf.Timestamp completed_at = 7; + // The parquet files produced by this export, each with its own signed URL. + // All URLs share the expires_at deadline. Empty unless status is COMPLETED. + repeated SequenceDatasetExportFile files = 8; + + reserved 3; + reserved "download_url"; }